update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (Vcharset_ucs_ks): New variable.
4         (Qucs_ks): New variable.
5         (syms_of_mule_charset): Add new symbol `ucs-ks'.
6         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
7
8         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
9
10 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
11
12         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
13         (Fdecode_char): Likewise.
14
15         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
16         chartab.h.
17         (Fdefine_char): Modify for Fdecode_char.
18         (Ffind_char): Likewise.
19
20         * mule-charset.c (Fdecode_char): Add new optional argument
21         `defined-only'.
22         (Fdecode_builtin_char): Modify for `Fdecode_char'.
23
24 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
25
26         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
27         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
28         (allocate_coding_system): Initialize initial-charsets of
29         CODESYS_BIG5 in XEmacs UTF-2000.
30         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
31         CODESYS_BIG5 in XEmacs UTF-2000.
32         (decode_coding_big5): Use initial-charset-g0 and -g1 of
33         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
34
35         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
36         variables.
37         (Qideograph_hanziku_{1 .. 12}): Likewise.
38         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
39         .. 12}'.
40         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
41         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
42         `ideograph-hanziku-{1 .. 12}'.
43
44         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
45         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
46         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
47         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
48         (DECODE_DEFINED_CHAR): New inline function.
49         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
50
51 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
52
53         * mule-charset.c (Vcharset_china3_jef): Renamed from
54         `Vcharset_japanese_jef_china3'.
55         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
56         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
57         `{MIN|MAX}_CHAR_JEF_CHINA3'..
58         (syms_of_mule_charset): Rename `china3-jef' from
59         `japanese-jef-china3'.
60         (complex_vars_of_mule_charset): Likewise; rename
61         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
62
63         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
64         `LEADING_BYTE_JEF_CHINA3'.
65         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
66         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
67
68 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
69
70         * mule-charset.c (encode_builtin_char_1): Comment out special code
71         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
72
73         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
74         (MAX_CHAR_MOJIKYO_0): Comment out.
75         (MIN_CHAR_CBETA): Changed to 0x00E20000.
76         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
77         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
78         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
79
80 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
81
82         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
83         (Qideograph_cbeta): New variable.
84         (encode_builtin_char_1): Comment out special code for
85         coded-charset `mojikyo' and `japanese-jef-china3'.
86         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
87         (complex_vars_of_mule_charset): Add new coded-charset
88         `ideograph-cbeta'.
89
90         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
91         (MIN_CHAR_CBETA): New macro.
92         (MAX_CHAR_CBETA): New macro.
93
94 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
95
96         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
97         (LEADING_BYTE_JEF_CHINA3): New macro.
98         (MIN_CHAR_JEF_CHINA3): New macro.
99         (MAX_CHAR_JEF_CHINA3): Likewise.
100         (DECODE_CHAR): Fixed.
101
102 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
103
104         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
105         (Qjapanese_jef_china3): New variable.
106         (encode_builtin_char_1): Support `japanese-jef-china3'.
107         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
108         (complex_vars_of_mule_charset): Add new coded-charset
109         `japanese-jef-china3'.
110
111 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
112
113         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
114         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
115         94^4, 96^3, 96^4, 128^n and 256^n set.
116         (put_char_table): Use `XCHARSET_CELL_RANGE'.
117         (map_char_table): Likewise.
118
119 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
120
121         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
122         UTF-2000.
123
124 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
125
126         * chartab.h (get_char_id_table): New inline function.
127
128         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
129         function.
130
131 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
132
133         * chartab.h (decode_char_table_range): New prototype in XEmacs
134         UTF-2000.
135         (put_char_id_table): New inline function in XEmacs UTF-2000.
136
137         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
138         function.
139         (decode_char_table_range): Delete static declaration in XEmacs
140         UTF-2000.
141
142 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
143
144         * chartab.c (put_char_id_table): Use `put_char_table'.
145
146 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
147
148         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
149         (map_over_uint16_byte_table): Likewise.
150         (map_over_byte_table): Likewise.
151         (map_char_table): Modify for `map_over_uint8_byte_table',
152         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
153         UTF-2000.
154
155 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
156
157         * chartab.c (struct map_char_table_for_charset_arg): New
158         structure.
159         (map_char_table_for_charset_fun): New function.
160         (map_char_table): Use `map_char_table' for encoding_table of
161         `range->charset'.
162
163 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
164
165         * chartab.c (map_char_table): Check a character is found in
166         range->charset instead of non default value is defined in
167         char-table when range is CHARTAB_RANGE_ROW.
168
169 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
170
171         * chartab.c (map_char_id_table): Deleted.
172         (Fmap_char_attribute): Use `map_char_table' instead of
173         `map_char_id_table'.
174
175 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
176
177         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
178         UTF-2000.
179         (update_syntax_table): Deleted in XEmacs UTF-2000.
180
181         * syntax.c (find_defun_start): Use `syntax_table' instead of
182         `mirror_syntax_table' in XEmacs UTF-2000.
183         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
184         UTF-2000.
185         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
186         XEmacs UTF-2000.
187         (Fmatching_paren): Likewise.
188         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
189         in XEmacs UTF-2000.
190         (find_start_of_comment): Likewise.
191         (find_end_of_comment): Likewise.
192         (Fforward_comment): Likewise.
193         (scan_lists): Likewise.
194         (char_quoted): Likewise.
195         (Fbackward_prefix_chars): Likewise.
196         (scan_sexps_forward): Likewise.
197         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
198         (update_syntax_table): Likewise.
199
200         * search.c (skip_chars): Use `syntax_table' instead of
201         `mirror_syntax_table' in XEmacs UTF-2000.
202         (wordify): Likewise.
203         (Freplace_match): Likewise.
204
205         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
206         `mirror_syntax_table' in XEmacs UTF-2000.
207         (WORDCHAR_P_UNSAFE): Likewise.
208         (re_match_2_internal): Likewise.
209
210         * font-lock.c (find_context): Use `buf->syntax_table' instead of
211         `buf->mirror_syntax_table' in XEmacs UTF-2000.
212
213         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
214         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
215
216         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
217         XEmacs UTF-2000.
218
219         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
220         UTF-2000.
221         (print_char_table): Print `default_value' in XEmacs UTF-2000.
222         (char_table_description): Delete `mirror_table' in XEmacs
223         UTF-2000.
224         (fill_char_table): Don't call `update_syntax_table' in XEmacs
225         UTF-2000.
226         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
227         (Fcopy_char_table): Likewise.
228         (put_char_table): Don't call `update_syntax_table' in XEmacs
229         UTF-2000.
230
231         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
232         `buf->mirror_syntax_table' in XEmacs UTF-2000.
233         (casify_region_internal): Likewise.
234
235         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
236
237         * buffer.c (common_init_complex_vars_of_buffer): Don't use
238         `mirror_syntax_table' in XEmacs UTF-2000.
239
240         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
241         `buf->mirror_syntax_table' in XEmacs UTF-2000.
242         (Fexpand_abbrev): Likewise.
243
244 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
245
246         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
247
248 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
249
250         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
251         (map_over_uint16_byte_table): Likewise.
252         (map_over_byte_table): Likewise.
253         (get_char_id_table): Refer `cit->default_value'.
254         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
255         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
256         of character-id ranges.
257         (mark_char_table): Mark `ct->default_value'.
258         (char_table_description): Add `default_value'.
259         (fill_char_table): Use `default_value'.
260         (decode_char_table_range): Decode `nil' as
261         `CHARTAB_RANGE_DEFAULT'.
262         (get_char_id_table): Refer `cit->default_value'.
263         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
264         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
265         temporary hack; check value of char-table is bound or not.
266         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
267
268         * chartab.h (struct Lisp_Char_Table): Add new member
269         `default_value' in XEmacs UTF-2000.
270         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
271         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
272         UTF-2000.
273
274 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
275
276         * chartab.h (Lisp_Char_ID_Table): Deleted.
277
278         * chartab.c (char_table_description): Fix typo.
279         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
280         `Lisp_Char_ID_Table'.
281
282 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
283
284         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
285         `CHAR_ID_TABLE_P'.
286
287         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
288         `CHAR_ID_TABLE_P'.
289
290         * chartab.h (XCHAR_ID_TABLE): Deleted.
291         (XSETCHAR_ID_TABLE): Deleted.
292         (CHAR_ID_TABLE_P): Deleted.
293
294         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
295         `CHAR_ID_TABLE_P'.
296         (Fget_composite_char): Likewise.
297         (put_char_table): Likewise.
298         (add_char_attribute_alist_mapper): Fixed.
299         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
300         `CHAR_ID_TABLE_P'.
301         (Fget_char_attribute): Likewise.
302         (Fget_char_attribute): Likewise.
303         (Fmap_char_attribute): Likewise.
304
305         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
306         `CHAR_ID_TABLE_P'.
307         (encode_char_1): Likewise.
308
309 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
310
311         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
312         `XCHAR_ID_TABLE'.
313
314         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
315         instead of `XCHAR_ID_TABLE'.
316         (remove_char_ccs): Likewise.
317
318         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
319         `XCHAR_ID_TABLE'.
320         (Fget_composite_char): Likewise.
321         (Fchar_variants): Likewise.
322         (put_char_table): Likewise.
323         (add_char_attribute_alist_mapper): Likewise.
324         (Fchar_attribute_alist): Likewise.
325         (Fget_char_attribute): Likewise.
326         (Fput_char_attribute): Likewise.
327         (Fmap_char_attribute): Likewise.
328         (Fmap_char_attribute): Likewise.
329
330         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
331         `XCHAR_ID_TABLE'.
332         (encode_char_1): Likewise.
333
334 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
335
336         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
337         `Lisp_Char_ID_Table'.
338         (mark_char_id_table): Deleted.
339         (print_char_id_table): Likewise.
340         (char_id_table_equal): Likewise.
341         (char_id_table_hash): Likewise.
342         (char_id_table_description): Likewise.
343         (char_id_table): Likewise.
344         (make_char_id_table): Use `Fmake_char_table' and
345         `fill_char_table'.
346         (get_char_id_table): Use `Lisp_Char_Table' instead of
347         `Lisp_Char_ID_Table'.
348         (put_char_id_table): Likewise.
349         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
350         `XCHAR_ID_TABLE'.
351         (Fremove_char_attribute): Likewise.
352         (syms_of_chartab): Don't define type `char-id-table'.
353
354         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
355         (char_id_table): Likewise.
356         (GC_CHAR_ID_TABLE_P): Likewise.
357         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
358         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
359         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
360         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
361         (get_char_id_table): Use `Lisp_Char_Table' instead of
362         `Lisp_Char_ID_Table'.
363         (put_char_id_table_0): Likewise.
364         (put_char_id_table): Likewise.
365
366 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
367
368         * chartab.h: Lisp_Byte_Table related codes are moved from
369         chartab.h.
370
371         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
372
373 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
374
375         * chartab.h: Don't include "chartab.h".
376         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
377         (Lisp_Char_ID_Table): Likewise.
378         (char_id_table): Likewise.
379         (XCHAR_ID_TABLE): Likewise.
380         (XSETCHAR_ID_TABLE): Likewise.
381         (CHAR_ID_TABLE_P): Likewise.
382         (GC_CHAR_ID_TABLE_P): Likewise.
383         (get_char_id_table): Likewise.
384
385         * char-ucs.h: Include "chartab.h".
386         (struct Lisp_Char_ID_Table): Moved to chartab.h.
387         (Lisp_Char_ID_Table): Likewise.
388         (char_id_table): Likewise.
389         (XCHAR_ID_TABLE): Likewise.
390         (XSETCHAR_ID_TABLE): Likewise.
391         (CHAR_ID_TABLE_P): Likewise.
392         (GC_CHAR_ID_TABLE_P): Likewise.
393         (get_char_id_table): Likewise.
394
395 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
396
397         * chartab.c (copy_uint8_byte_table): New function.
398         (copy_uint16_byte_table): New function.
399         (copy_byte_table): New function.
400         (map_over_uint8_byte_table): Modify to avoid huge numbers of
401         characters to call.
402         (map_over_uint16_byte_table): Likewise.
403         (map_over_byte_table): Likewise.
404         (get_byte_table): Move prototype to chartab.h.
405         (put_byte_table): Likewise.
406         (put_char_id_table_0): Moved to chartab.h.
407         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
408         (char_table_entry_equal): Likewise.
409         (char_table_entry_hash): Likewise.
410         (char_table_entry_description): Likewise.
411         (char_table_entry): Likewise.
412         (make_char_table_entry): Likewise.
413         (copy_char_table_entry): Likewise.
414         (get_non_ascii_char_table_value): Likewise.
415         (map_over_charset_ascii): Likewise.
416         (map_over_charset_control_1): Likewise.
417         (map_over_charset_row): Likewise.
418         (map_over_other_charset): Likewise.
419         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
420         (print_char_table): Likewise.
421         (char_table_equal): Likewise.
422         (char_table_hash): Likewise.
423         (char_table_description): Likewise.
424         (fill_char_table): Likewise.
425         (Fcopy_char_table): Likewise.
426         (get_char_table): Likewise.
427         (Fget_range_char_table): Likewise.
428         (put_char_table): Likewise.
429         (map_char_table): Likewise.
430         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
431         UTF-2000.
432
433 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
434
435         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
436         `Vauto_fill_chars' in XEmacs UTF-2000.
437
438         * chartab.h (get_byte_table): New prototype [moved from
439         chartab.c].
440         (put_byte_table): Likewise [moved from chartab.c].
441         (put_char_id_table_0): New inline function [moved from chartab.c].
442         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
443         (Lisp_Char_Table_Entry): Likewise.
444         (char_table_entry): Likewise.
445         (XCHAR_TABLE_ENTRY): Likewise.
446         (XSETCHAR_TABLE_ENTRY): Likewise.
447         (CHAR_TABLE_ENTRYP): Likewise.
448         (CHECK_CHAR_TABLE_ENTRY): Likewise.
449         (NUM_ASCII_CHARS): Likewise.
450         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
451         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
452
453 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
454
455         * chartab.c (get_char_id_table): Change interface.
456         (put_char_id_table_0): New function.
457         (put_char_id_table): Change interface; new implementation.
458         (Fget_composite_char): Modify for interface change of
459         `get_char_id_table'.
460         (Fchar_variants): Likewise.
461         (add_char_attribute_alist_mapper): Likewise.
462         (Fchar_attribute_alist): Likewise.
463         (Fget_char_attribute): Likewise.
464         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
465         as same as character as the first argument like `put-char-table';
466         modify for interface change of `put_char_id_table'.
467         (Fremove_char_attribute): Modify for interface change of
468         `put_char_id_table'.
469
470 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
471
472         * text-coding.c: Sync up with XEmacs 21.2.41.
473         (COMPOSE_ADD_CHAR): Modify for interface change of
474         `get_char_id_table'.
475
476         * mule-charset.c (put_char_ccs_code_point): Modify for interface
477         change of `put_char_id_table'.
478         (remove_char_ccs): Likewise.
479
480         * chartab.h (put_char_id_table): Change interface.
481
482         * char-ucs.h (get_char_id_table): Change interface.
483         (charset_code_point): Modify for interface change of
484         `get_char_id_table'.
485         (encode_char_1): Likewise.
486
487 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
488
489         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
490         argument `ccs'.
491         (map_over_uint16_byte_table): Likewise.
492         (map_over_byte_table): Likewise.
493         (map_char_id_table): Add new argument `range' like
494         `map_char_table'.
495         (Fmap_char_attribute): Add new argument `range' like
496         `Fmap_char_table'.
497
498 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
499
500         * chartab.c (map_over_uint8_byte_table): Change interface of
501         mapping function to use struct chartab_range instead of Emchar.
502         (map_over_uint16_byte_table): Likewise.
503         (map_over_byte_table): Likewise.
504         (map_char_id_table): Likewise.
505         (struct slow_map_char_id_table_arg): Deleted.
506         (slow_map_char_id_table_fun): Deleted.
507         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
508         function `slow_map_char_table_fun' instead of struct
509         `slow_map_char_id_table_arg' and function
510         `slow_map_char_id_table_fun'.
511
512 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
513
514         * mule-charset.c: Move char-it-table related codes to chartab.c.
515         (Vutf_2000_version): Moved to chartab.c.
516         (Fdefine_char): Likewise.
517         (Ffind_char): Likewise.
518         (syms_of_mule_charset): Move types `uint8-byte-table',
519         `uint16-byte-table', `byte-table' and `char-id-table' to
520         chartab.c; move functions `char_attribute_list,
521         `find_char_attribute_table, `char_attribute_alist,
522         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
523         `map_char_attribute, `define_char, `find_char, `char_variants and
524         `get_composite_char to chartab.c; move symbols `=>ucs',
525         `->decomposition', `compat', `isolated', `initial', `medial',
526         `final', `vertical', `noBreak', `fraction', `super', `sub',
527         `circle', `square', `wide', `narrow', `small' and `font' to
528         chartab.c.
529         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
530         setting codes for `Vcharacter_composition_table' and
531         `Vcharacter_variant_table' to chartab.c.
532         (complex_vars_of_mule_charset): Move setting code for
533         `Vchar_attribute_hash_table' to chartab.c.
534
535         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
536         (make_char_id_table): New prototype.
537         (put_char_id_table): Likewise.
538         (Fget_char_attribute): Likewise.
539
540         * chartab.c: Move char-id-table related code from mule-charset.c.
541         (Vutf_2000_version): Moved from mule-charset.c.
542
543         * char-ucs.h (Qucs): New external variable.
544         (put_char_ccs_code_point): New prototype.
545         (remove_char_ccs): Likewise.
546
547 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
548
549         * mule-charset.c (Vcharset_ucs_jis): New variable.
550         (Qucs_jis): Likewise.
551         (syms_of_mule_charset): Add new symbol `ucs-jis'.
552         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
553
554         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
555
556 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
557
558         * mule-charset.c (map_over_uint8_byte_table): New function.
559         (map_over_uint16_byte_table): Likewise.
560         (map_over_byte_table): Likewise.
561         (map_char_id_table): Likewise.
562         (slow_map_char_id_table_fun): Likewise.
563         (Fmap_char_attribute): Likewise.
564         (syms_of_mule_charset): Add new function `map-char-attribute'.
565
566 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
567
568         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
569         (syms_of_mule_charset): Add new function `find-char'.
570
571 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
572
573         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
574         XEmacs UTF-2000.
575         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
576         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
577         XEmacs UTF-2000.
578         (complex_vars_of_mule_charset): Add new coded-charset
579         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
580         `ideograph-gt-pj-*'.
581
582         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
583
584 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
585
586         * mule-charset.c (encode_builtin_char_1): Purge codes about
587         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
588         {MIN|MAX}_CHAR_HEBREW.
589         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
590         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
591
592         * char-ucs.h (MIN_CHAR_GREEK): Purged.
593         (MAX_CHAR_GREEK): Purged.
594         (MIN_CHAR_CYRILLIC): Purged.
595         (MAX_CHAR_CYRILLIC): Purged.
596         (MIN_CHAR_HEBREW): Commented out.
597         (MAX_CHAR_HEBREW): Likewise.
598
599 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
600
601         * mule-charset.c (Qto_ucs): New variable.
602         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
603         (Fdefine_char): Likewise.
604         (syms_of_mule_charset): Add new symbol `=>ucs'.
605
606 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
607
608         * mule-charset.c (Fdecode_char): Fixed.
609
610 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
611
612         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
613         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
614         "tcvn5712-1".
615
616 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
617
618         * mule-charset.c (Vcharset_ucs_big5): New variable.
619         (Qucs_big5): Likewise.
620         (syms_of_mule_charset): Add new symbol `ucs-big5'.
621         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
622
623         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
624
625 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
626
627         * mule-charset.c (decode_builtin_char): Check Big5 code range
628         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
629
630 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
631
632         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
633         (Qchinese_gb12345): Likewise.
634         (Fdecode_builtin_char): Fixed.
635         (syms_of_mule_charset): Add `chinese-gb12345'.
636         (complex_vars_of_mule_charset): Add coded-charset
637         `chinese-gb12345'.
638
639         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
640         (LEADING_BYTE_CHINESE_GB12345): New macro.
641
642 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
643
644         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
645         and `latin-viscii-upper' for `latin-viscii'.
646
647 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
648
649         * mule-charset.c (Fdecode_builtin_char): Comment out
650         regularization code for ISO-IR GR representation.
651
652 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
653
654         * mule-charset.c (decode_builtin_char): New function; renamed from
655         `make_builtin_char'; return -1 instead of signal.
656         (Fdecode_builtin_char): Use `decode_builtin_char'.
657
658         * char-ucs.h (decode_builtin_char): New prototype; renamed from
659         `make_builtin_char'.
660         (DECODE_CHAR): Use `decode_builtin_char' instead of
661         `make_builtin_char'; use mapping table of `chinese-big5' for
662         `chinese-big5-{1,2}'.
663
664 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
665
666         * text-coding.c (char_encode_big5): New function.
667         (char_finish_big5): Likewise.
668         (reset_encoding_stream): Use `char_encode_big5' and
669         `char_finish_big5' for CODESYS_BIG5.
670         (mule_encode): Don't use `encode_coding_big5'.
671         (encode_coding_big5): Deleted.
672
673 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
674
675         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
676         0x81- in XEmacs UTF-2000.
677         (detect_coding_big5): Likewise.
678
679 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
680
681         * mule-charset.c (Fdefine_char): Don't use a CCS property to
682         generate character-id if the CCS property does not have
683         corresponding predefined character.
684         (make_builtin_char): Return -1 if corresponding predefined
685         character is not found.
686         (Fdecode_char): Return nil if corresponding character is not
687         found.
688         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
689         don't map to builtin ucs space.
690
691 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
692
693         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
694         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
695
696 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
697
698         * mule-charset.c (Vcharset_ideograph_gt): New variable.
699         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
700         (Qideograph_gt): Likewise.
701         (Qideograph_gt_pj_{1..11}): Likewise.
702         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
703         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
704         `ideograph-gt-pj-11'.
705         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
706         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
707         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
708
709         * char-ucs.h (LEADING_BYTE_GT): New macro.
710         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
711         (MIN_CHAR_GT): Likewise.
712         (MAX_CHAR_GT): Likewise.
713
714 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
715
716         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
717         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
718
719         * doprnt.c (unsigned_int_converters): Add `c'.
720         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
721
722         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
723         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
724         `MIN_CHAR_MOJIKYO'.
725         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
726         (MAX_CHAR_MOJIKYO_0): New macro.
727         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
728
729 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
730
731         * mule-charset.c (Fdefine_char): Delete cemented out code.
732         (encode_builtin_char_1): Modify for new allocation of builtin
733         Mojikyo characters.
734
735         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
736
737 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
738
739         * mule-charset.c (Vcharset_ucs_cns): New variable.
740         (Qucs_cns): New variable.
741         (syms_of_mule_charset): Add new symbol `ucs-cns'.
742         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
743
744 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
745
746         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
747
748 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
749
750         * search.c (search_buffer): Make `charset_base_code' as
751         character-id >> 6 to eliminate the corresponding last byte in
752         UTF-8 representation [I'm not sure it is right thing].
753         (boyer_moore): Likewise.
754
755 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
756
757         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
758         representation in MULE.
759
760 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
761
762         * text-coding.c (Fmake_coding_system): Use
763         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
764         `EXTERNAL_PROPERTY_LIST_LOOP'.
765
766 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
767
768         * text-coding.c (decode_output_utf8_partial_char): New function.
769         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
770
771 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
772
773         * text-coding.c (decode_coding_utf8): Output original byte
774         sequence if it is broken; change order of conditions.
775
776         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
777         of conditions.
778
779         * mb-multibyte.h (BYTE_ASCII_P):
780         Use bit ops for char-signedness safety.
781         (BYTE_C0_P): Use bit ops for char-signedness safety.
782         (BYTE_C1_P): Use bit ops for char-signedness safety.
783
784         * character.h: (XCHAR_OR_CHAR_INT):
785         Always use inline function.
786         Remove redundant type checking assert() - XINT will abort quite
787         nicely.
788
789 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
790
791         * text-coding.c: (Fencode_shift_jis_char):
792         (Fencode_big5_char):
793         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
794         Replace 0 with '\0' when working with bytes.
795         Replace initial "(" with "\(" in docstrings.
796
797         (Fmake_coding_system):
798         When type is ccl and value is vector, register it with a proper
799         symbol.  And checks whether the given ccl program is valid.
800         (mule_decode): When calling ccl_driver, if src indicates
801         NULL pointer, set an empty string instead.
802         (mule_encode): Likewise.
803
804         (detect_eol_type):
805         (detect_coding_sjis):
806         (decode_coding_sjis):
807         (detect_coding_big5):
808         (decode_coding_big5):
809         (detect_coding_ucs4):
810         (decode_coding_ucs4):
811         (detect_coding_utf8):
812         (decode_coding_utf8):
813         (detect_coding_iso2022):
814         (decode_coding_iso2022):
815         (decode_coding_no_conversion):
816         (mule_decode):
817         Make all detecting and decoding functions take an Extbyte * arg.
818         (text_encode_generic):
819         (encode_coding_big5):
820         (encode_coding_no_conversion):
821         (mule_encode):
822         Make all encoding functions take a Bufbyte * arg.
823         Use size_t instead of unsigned int for memory sizes.
824         Only cast to unsigned char whenever dereferencing Extbyte *.
825
826         (struct lrecord_description fcd_description_1): Use countof.
827         (complex_vars_of_file_coding):
828         Use countof instead of sizeof.
829         Use CHECK_NATNUM instead of CHECK_INT.
830
831 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
832
833         * mule-charset.c (Fget_char_attribute): Add new optional argument
834         `default-value'.
835         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
836         (remove_char_ccs): Likewise.
837
838 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
839
840         * text-coding.c (char_encode_shift_jis): New implementation in
841         UTF-2000.
842         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
843         ...)'.
844
845         * mule-charset.c (Vcharset_chinese_big5): New variable in
846         UTF-2000.
847         (Qchinese_big5): New variable in UTF-2000.
848         (BIG5_SAME_ROW): New macro in UTF-2000.
849         (make_builtin_char): Use builtin characters of
850         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
851         characters of `Vcharset_chinese_big5'.
852         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
853         (complex_vars_of_mule_charset): Add new coded-charset
854         `chinese-big5' in UTF-2000.
855
856         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
857         (Vcharset_chinese_big5): New external variable declaration.
858         (Vcharset_japanese_jisx0208_1990): Likewise.
859
860 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
861
862         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
863         function.
864         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
865
866 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
867
868         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
869         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
870         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
871         `mojikyo-pj-*'.
872
873 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
874
875         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
876
877 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
878
879         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
880         to 0.17.
881
882 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
883
884         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
885         for `CHARSET_BY_ATTRIBUTES'.
886         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
887         `CHARSET_BY_ATTRIBUTES'.
888
889         * text-coding.c (struct decoding_stream): Rename member `CH' to
890         `CPOS'.
891         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
892         (decode_coding_sjis): Likewise.
893         (decode_coding_big5): Likewise.
894         (decode_coding_ucs4): Likewise.
895         (decode_coding_utf8): Likewise.
896         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
897         `CHARSET_BY_ATTRIBUTES'.
898         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
899         `str->counter'; decode 3, 4 bytes sets.
900         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
901         sets.
902         (decode_coding_no_conversion): Use `str->cpos' instead of
903         `str->ch'.
904
905         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
906         (Qmojikyo_2022_1): New variable.
907         (make_charset): Don't use `CHARSET_TYPE_*'.
908         (range_charset_code_point): Support coded-charset
909         `mojikyo-2022-1'.
910         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
911         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
912         `CHARSET_BY_ATTRIBUTES'.
913         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
914         `CHARSET_BY_ATTRIBUTES'.
915         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
916         (complex_vars_of_mule_charset): Add new coded-charset
917         `mojikyo-2022-1'.
918
919         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
920         interface; changed to inline function.
921
922         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
923         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
924         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
925         (CHARSET_TYPE_94): Deleted.
926         (CHARSET_TYPE_94X94): Deleted.
927         (CHARSET_TYPE_96): Deleted.
928         (CHARSET_TYPE_96X96): Deleted.
929         (CHARSET_TYPE_128): Deleted.
930         (CHARSET_TYPE_128X128): Deleted.
931         (CHARSET_TYPE_256): Deleted.
932         (CHARSET_TYPE_256X256): Deleted.
933         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
934         to inline function.
935         (DECODE_MOJIKYO_2022): New inline function.
936         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
937         `Vcharset_mojikyo_2022_1'.
938
939 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
940
941         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
942         instead of `EQ'.
943         (put_byte_table): Likewise.
944         (char_id_table_equal): Use `get_byte_table' [new implementation].
945
946 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
947
948         * mule-charset.c: Include <limits.h> in UTF-2000.
949         (BT_UINT8_MIN): New macro in UTF-2000.
950         (BT_UINT8_MAX): New macro in UTF-2000.
951         (BT_UINT8_t): New macro in UTF-2000.
952         (BT_UINT8_nil): New macro in UTF-2000.
953         (BT_UINT8_unbound): New macro in UTF-2000.
954         (INT_UINT8_P): New inline function in UTF-2000.
955         (UINT8_VALUE_P): New inline function in UTF-2000.
956         (UINT8_ENCODE): New inline function in UTF-2000.
957         (UINT8_DECODE): New inline function in UTF-2000.
958         (mark_uint8_byte_table): New function in UTF-2000.
959         (print_uint8_byte_table): New function in UTF-2000.
960         (uint8_byte_table_equal): New function in UTF-2000.
961         (uint8_byte_table_hash): New function in UTF-2000.
962         (make_uint8_byte_table): New function in UTF-2000.
963         (uint8_byte_table_same_value_p): New function in UTF-2000.
964         (BT_UINT16_MIN): New macro in UTF-2000.
965         (BT_UINT16_MAX): New macro in UTF-2000.
966         (BT_UINT16_t): New macro in UTF-2000.
967         (BT_UINT16_nil): New macro in UTF-2000.
968         (BT_UINT16_unbound): New macro in UTF-2000.
969         (INT_UINT16_P): New inline function in UTF-2000.
970         (UINT16_VALUE_P): New inline function in UTF-2000.
971         (UINT16_ENCODE): New inline function in UTF-2000.
972         (UINT16_DECODE): New inline function in UTF-2000.
973         (UINT8_TO_UINT16): New inline function in UTF-2000.
974         (mark_uint16_byte_table): New function in UTF-2000.
975         (print_uint16_byte_table): New function in UTF-2000.
976         (uint16_byte_table_equal): New function in UTF-2000.
977         (uint16_byte_table_hash): New function in UTF-2000.
978         (make_uint16_byte_table): New function in UTF-2000.
979         (uint16_byte_table_same_value_p): New function in UTF-2000.
980         (print_byte_table): New function in UTF-2000.
981         (byte-table): Use `print_byte_table' as printer.
982         (make_byte_table): Delete second argument `older'.
983         (byte_table_same_value_p): New function in UTF-2000.
984         (copy_byte_table): Deleted.
985         (get_byte_table): New function in UTF-2000.
986         (put_byte_table): New function in UTF-2000.
987         (print_char_id_table): New function in UTF-2000.
988         (char-id-table): Use `print_char_id_table' as printer.
989         (make_char_id_table): Delete second argument `older'.
990         (get_char_id_table): Use `get_byte_table [new implementation].
991         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
992         implementation].
993         (Ffind_char_attribute_table): New function in UTF-2000.
994         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
995         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
996         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
997         (syms_of_mule_charset): Add new function
998         `find-char-attribute-table' in UTF-2000.
999
1000         * lrecord.h (enum lrecord_type): Add
1001         `lrecord_type_uint16_byte_table' and
1002         `lrecord_type_uint8_byte_table'.
1003
1004         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1005         (Lisp_Uint8_Byte_Table): New type.
1006         (XUINT8_BYTE_TABLE): New macro.
1007         (XSETUINT8_BYTE_TABLE): New macro.
1008         (UINT8_BYTE_TABLE_P): New macro.
1009         (GC_UINT8_BYTE_TABLE_P): New macro.
1010         (struct Lisp_Uint16_Byte_Table): New structure.
1011         (Lisp_Uint16_Byte_Table): New type.
1012         (XUINT16_BYTE_TABLE): New macro.
1013         (XSETUINT16_BYTE_TABLE): New macro.
1014         (UINT16_BYTE_TABLE_P): New macro.
1015         (GC_UINT16_BYTE_TABLE_P): New macro.
1016
1017 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1018
1019         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1020         (Vcharacter_ideographic_strokes_table): Deleted.
1021         (Vcharacter_total_strokes_table): Deleted.
1022         (Vcharacter_morohashi_daikanwa_table): Deleted.
1023         (Vcharacter_decomposition_table): Deleted.
1024         (Qname): Deleted because it is duplicated.
1025         (Qideographic_radical): Deleted.
1026         (Qideographic_strokes): Deleted.
1027         (Qtotal_strokes): Deleted.
1028         (Qmorohashi_daikanwa): Deleted.
1029         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1030         `ideographic-radical', `ideographic-strokes', `total-strokes',
1031         `morohashi-daikanwa' and `->decomposition'.
1032         (Fget_char_attribute): Likewise.
1033         (Fput_char_attribute): Likewise; use `make-vector' instead of
1034         `make_older_vector' for `->decomposition' value.
1035         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1036         `ideograph-daikanwa'.
1037         (syms_of_mule_charset): Delete builtin symbols `name',
1038         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1039         `morohashi-daikanwa'.
1040         (vars_of_mule_charset): Don't setup
1041         `Vcharacter_ideographic_radical_table',
1042         `Vcharacter_ideographic_strokes_table',
1043         `Vcharacter_total_strokes_table',
1044         `Vcharacter_morohashi_daikanwa_table' and
1045         `Vcharacter_decomposition_table'.
1046
1047 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1048
1049         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1050         `make_older_vector', `make_vector_newer_1' and
1051         `make_vector_newer'.
1052
1053         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1054         `make_older_vector' and `make_vector_newer'.
1055
1056         * config.h.in (HAVE_GGC): New macro.
1057
1058 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1059
1060         * mule-charset.c (struct char_attribute_list_closure): New
1061         structure in UTF-2000.
1062         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1063         (Fchar_attribute_list): Likewise.
1064         (Fset_charset_mapping_table): Use `make_vector_newer'.
1065         (Fdecode_builtin_char): New function in UTF-2000.
1066         (syms_of_mule_charset): Add new function `char-attribute-list' and
1067         `decode-builtin-char' in UTF-2000.
1068
1069         * lisp.h (make_vector_newer): New prototype.
1070
1071         * alloc.c (make_vector_newer_1): New function.
1072         (make_vector_newer): New function.
1073
1074 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1075
1076         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1077         50100)'.
1078
1079 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1080
1081         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1082         (Vcharacter_attribute_table): Deleted.
1083         (Vcharacter_name_table): Deleted.
1084         (put_char_attribute): Deleted.
1085         (remove_char_attribute): Deleted.
1086         (struct char_attribute_alist_closure): New structure.
1087         (add_char_attribute_alist_mapper): New function.
1088         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1089         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1090         (Fget_char_attribute): Likewise.
1091         (Fput_char_attribute): Likewise.
1092         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1093         of `remove_char_attribute'.
1094         (Fdefine_char): Return character.
1095         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1096         and `Vcharacter_name_table'.
1097         (complex_vars_of_mule_charset): Likewise
1098         `Vchar_attribute_hash_table'.
1099
1100 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1101
1102         * character.h (CHARC_CHARSET): New macro.
1103         (CHARC_CHARSET_ID): New macro.
1104         (CHARC_CODE_POINT): New macro.
1105         (CHARC_COLUMNS): New macro.
1106         (CHARC_TO_CHAR): New inline function.
1107         (CHARC_EQ): New inline function.
1108         (CHARC_ASCII_EQ): New inline function.
1109         (CHARC_IS_SPACE): New inline function.
1110         (ASCII_TO_CHARC): New inline function.
1111
1112         * char-ucs.h (encode_char_2): Deleted.
1113         (ENCODE_CHAR): Use `encode_char_1' again.
1114         (breakup_char_1): Likewise.
1115         (CHAR_TO_CHARC): New inline function.
1116
1117         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1118
1119 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1120
1121         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1122         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1123         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1124         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1125         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1126         `CHARC_IS_SPACE'.
1127         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1128
1129         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1130         `CHARC_CODE_POINT'.
1131         (x_output_display_block): Use `CHARC_CHARSET' and
1132         `CHARC_ASCII_EQ'.
1133
1134         * redisplay-tty.c (tty_output_display_block): Use
1135         `CHARC_ASCII_EQ'.
1136         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1137
1138         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1139
1140         * insdel.c (find_charsets_in_charc_string): Use
1141         `CHARC_CHARSET_ID'.
1142         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1143         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1144         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1145         (convert_charc_string_into_malloced_string): Likewise.
1146
1147 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1148
1149         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1150         instead of <Emchar_dynarr *> for buf; use
1151         `convert_bufbyte_string_into_charc_dynarr' instead of
1152         `convert_bufbyte_string_into_emchar_dynarr'; use
1153         `find_charsets_in_charc_string' instead of
1154         `find_charsets_in_emchar_string'.
1155
1156         * redisplay.h:
1157         - Include "character.h".
1158         (struct rune): New member `cglyph'; delete member `chr'.
1159
1160         * redisplay.c (redisplay_text_width_charc_string): New function;
1161         delete `redisplay_text_width_emchar_string'.
1162         (rtw_charc_dynarr): New variable; renamed from
1163         `rtw_emchar_dynarr'.
1164         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1165         `rtw_emchar_dynarr'; use
1166         `convert_bufbyte_string_into_charc_dynarr' instead of
1167         `convert_bufbyte_string_into_emchar_dynarr'; use
1168         `redisplay_text_width_charc_string' instead of
1169         `redisplay_text_width_emchar_string'.
1170         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1171         instead of `rtw_emchar_dynarr'; use
1172         `convert_bufbyte_string_into_charc_dynarr' instead of
1173         `convert_bufbyte_string_into_emchar_dynarr'.
1174         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1175         `redisplay_text_width_charc_string' instead of
1176         `redisplay_text_width_emchar_string'.
1177         (create_text_block): Modify for <struct rune> change.
1178         (generate_formatted_string_db): Likewise.
1179         (create_string_text_block): Likewise.
1180         (pixel_to_glyph_translation): Likewise.
1181
1182         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1183         instead of <const Emchar *>.
1184         (x_text_width): Likewise.
1185         (x_output_display_block): Use <Charc_dynarr *> instead
1186         <Emchar_dynarr *>; modify for <structure rune> change.
1187         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1188         *>.
1189
1190         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1191         <const Emchar *>; use `charc_string_displayed_columns' instead of
1192         `emchar_string_displayed_columns'.
1193         (tty_output_display_block): Use <Charc_dynarr *> instead of
1194         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1195         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1196         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1197         `tty_output_emchar_dynarr_dynarr'.
1198         (tty_output_charc_dynarr): New function; delete
1199         `tty_output_charc_dynarr'.
1200
1201         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1202         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1203         <Emchar_dynarr *> for buf; use
1204         `convert_bufbyte_string_into_charc_dynarr' instead of
1205         `convert_bufbyte_string_into_emchar_dynarr'.
1206
1207         * frame.c (title_string_charc_dynarr): New variable; renamed from
1208         `title_string_emchar_dynarr'.
1209         (generate_title_string): Use `title_string_charc_dynarr' instead
1210         of `title_string_emchar_dynarr'; use
1211         `convert_charc_string_into_malloced_string' instead of
1212         `convert_emchar_string_into_malloced_string'.
1213         (init_frame): Use `title_string_charc_dynarr' instead of
1214         `title_string_emchar_dynarr'.
1215
1216         * console.h:
1217         - Include "character.h".
1218         (struct console_methods): Use <const Charc *> instead of <const
1219         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1220         <Emchar_dynarr *> in output_string_method.
1221
1222         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1223         <Emchar_dynarr *>.
1224
1225         * console-stream.c (stream_text_width): Use <const Charc *>
1226         instead of <const Emchar *>.
1227
1228         * character.h (Charc_dynarr): New type.
1229
1230         * char-ucs.h (structure Charc): New structure; define new type
1231         `Charc'.
1232
1233         * char-lb.h (DECODE_CHAR): New inline function.
1234         (encode_char_1): New inline function.
1235         (ENCODE_CHAR): New macro.
1236         (structure Charc): New structure; define new type `Charc'.
1237
1238         * char-1byte.h (Vcharset_control_1): New macro.
1239         (Vcharset_latin_iso8859_1): New macro.
1240         (DECODE_CHAR): New inline function.
1241         (encode_char_1): New inline function.
1242         (ENCODE_CHAR): New macro.
1243         (structure Charc): New structure; define new type `Charc'.
1244
1245         * insdel.c (find_charsets_in_charc_string): New function; delete
1246         `find_charsets_in_emchar_string'.
1247         (charc_string_displayed_columns): New function; delete
1248         `emchar_string_displayed_columns'.
1249         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1250         `convert_bufbyte_string_into_emchar_dynarr'.
1251         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1252         `convert_charc_string_into_bufbyte_dynarr'.
1253         (convert_charc_string_into_malloced_string): New function; delete
1254         `convert_charc_string_into_malloced_string'.
1255
1256         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1257         `find_charsets_in_emchar_string'.
1258         (charc_string_displayed_columns): New prototype; delete
1259         `emchar_string_displayed_columns'.
1260         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1261         `convert_charc_string_into_bufbyte_dynarr'.
1262         (convert_charc_string_into_malloced_string): New prototype; delete
1263         `convert_charc_string_into_malloced_string'.
1264
1265 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1266
1267         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1268
1269 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1270
1271         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1272
1273         * char-ucs.h: Use <short> for <Charset_ID>.
1274
1275         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1276         <Charset_ID>.
1277
1278 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1279
1280         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1281         to 0.16.
1282
1283 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1284
1285         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1286         variable.
1287         (Qmorohashi_daikanwa): New variable.
1288         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1289         for `morohashi-daikanwa' attribute.
1290         (Fget_char_attribute): Likewise.
1291         (Fput_char_attribute): Likewise.
1292         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1293         has the same value of `ideograph-daikanwa'.
1294         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1295         (vars_of_mule_charset): Setup
1296         `Vcharacter_morohashi_daikanwa_table'.
1297
1298 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1299
1300         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1301         attributes.
1302         (add_charset_to_list_mapper): Add `key' instead of
1303         `XCHARSET_NAME (value)' to return aliases.
1304
1305 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1306
1307         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1308         variable.
1309         (Vcharacter_ideographic_strokes_table): New variable.
1310         (Qideographic_radical): New variable.
1311         (Qideographic_strokes): New variable.
1312         (Fchar_attribute_alist): Use
1313         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1314         attribute; use `Vcharacter_ideographic_strokes_table' for
1315         `ideographic-strokes' attribute.
1316         (Fget_char_attribute): Likewise.
1317         (Fput_char_attribute): Likewise.
1318         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1319         `ideographic-strokes'.
1320         (vars_of_mule_charset): Setup
1321         `Vcharacter_ideographic_radical_table' and
1322         `Vcharacter_ideographic_strokes_table'.
1323
1324 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1325
1326         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1327         (Qtotal_strokes): New variable.
1328         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1329         `total-strokes' attribute.
1330         (Fget_char_attribute): Likewise.
1331         (Fput_char_attribute): Likewise.
1332         (syms_of_mule_charset): Add new symbol `total-strokes'.
1333         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1334
1335 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1336
1337         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1338         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1339         are found.
1340         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1341         `->decomposition' attribute.
1342         (Fput_char_attribute): Likewise.
1343         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1344
1345 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1346
1347         * mule-charset.c (decoding_table_check_elements): New function.
1348         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1349
1350 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1351
1352         * mule-charset.c (Fset_charset_mapping_table): Use
1353         `put_char_ccs_code_point'.
1354
1355 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1356
1357         * mule-charset.c (decoding_table_put_char): New inline function.
1358         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1359
1360 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1361
1362         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1363         (XCHARSET_BYTE_SIZE): New macro.
1364         (decoding_table_remove_char): New inline function.
1365         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1366         `decoding_table_remove_char'.
1367         (remove_char_ccs): Use `decoding_table_remove_char'.
1368         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1369
1370 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1371
1372         * mule-charset.c (Vcharacter_name_table): New variable.
1373         (Qname): New variable.
1374         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1375         attribute.
1376         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1377         `Vcharacter_name_table' for `name' attribute.
1378         (Fremove_char_attribute): Use function `remove_char_ccs'.
1379         (put_char_ccs_code_point): New function.
1380         (remove_char_ccs): New function.
1381         (syms_of_mule_charset): Add new symbol `name'.
1382         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1383
1384 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1385
1386         * mule-charset.c (make_byte_table): Add new argument `older'.
1387         (make_char_id_table): Likewise.
1388         (copy_char_id_table): Comment out because it is not used.
1389         (put_char_id_table): Modify for `make_byte_table'.
1390         (Fput_char_attribute): Make encoding_table as older object;
1391         inherit older bit of `Vcharacter_composition_table'.
1392         (mark_charset): Don't mark `cs->encoding_table'.
1393         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1394         normal object; make `Vcharacter_composition_table' as an older
1395         object; delete staticpro for `Vcharacter_composition_table'; make
1396         `Vcharacter_variant_table' as a normal object.
1397
1398         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1399         (mark_object): Don't check older object in UTF-2000.
1400
1401         * lrecord.h (struct lrecord_header): Add new member `older' in
1402         UTF-2000.
1403         (set_lheader_implementation): Setup `SLI_header->older' in
1404         UTF-2000.
1405         (set_lheader_older_implementation): New macro in UTF-2000.
1406         (OLDER_RECORD_P): New macro in UTF-2000.
1407         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1408         (alloc_older_lcrecord): New prototype in UTF-2000.
1409         (alloc_older_lcrecord_type): New macro in UTF-2000.
1410
1411 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1412
1413         * mule-charset.c (byte_table_description): Use
1414         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1415         (char_id_table_description): Delete bogus `, 1'.
1416         (Fget_char_attribute): Refer encoding_table of each coded-charset
1417         to get value of coded-charset attribute of a character.
1418         (Fput_char_attribute): Use `make_older_vector' instead of
1419         `make_vector'; use encoding_table of each coded-charset to store
1420         value of coded-charset attribute of a character.
1421         (Fremove_char_attribute): Use encoding_table of each coded-charset
1422         to store value of coded-charset attribute of a character.
1423         (mark_charset): Mark `cs->encoding_table'; don't mark
1424         `cs->decoding_table'.
1425         (charset_description): Add description of new member
1426         `encoding_table'.
1427         (make_charset): Initialize `encoding_table'.
1428
1429         * char-ucs.h (struct Lisp_Charset): Add new member
1430         `encoding_table'.
1431         (CHARSET_ENCODING_TABLE): New macro.
1432         (XCHARSET_ENCODING_TABLE): New macro.
1433         (charset_code_point): New implementation.
1434         (encode_char_1): Likewise.
1435
1436         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1437         (disksave_object_finalization_1): Call finalizers of
1438         `all_older_lcrecords' in UTF-2000.
1439         (make_older_vector): New function in UTF-2000.
1440         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1441         UTF-2000.
1442
1443         * lisp.h (make_older_vector): New prototype in UTF-2000.
1444
1445 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1446
1447         * lrecord.h (enum lrecord_type): Rename
1448         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1449
1450         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1451         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1452         `get_char_code_table'.
1453
1454         * mule-charset.c (mark_char_id_table): Renamed from
1455         `mark_char_code_table'.
1456         (char_id_table_equal): Renamed from `char_code_table_equal'.
1457         (char_id_table_hash): Renamed from `char_code_table_hash'.
1458         (make_char_id_table): Renamed from `make_char_code_table'.
1459         (copy_char_id_table): Renamed from `copy_char_code_table'.
1460         (get_char_id_table): Renamed from `get_char_code_table'.
1461         (put_char_id_table): Renamed from `put_char_code_table'.
1462         (to_char_id): Renamed from `to_char_code'.
1463
1464         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1465         `Lisp_Char_Code_Table'.
1466         (char_id_table): Renamed from `char_code_table'.
1467         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1468         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1469         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1470         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1471         (get_char_id_table): Renamed from `get_char_code_table'.
1472
1473 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1474
1475         * lrecord.h (enum lrecord_type): Rename
1476         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1477
1478         * mule-charset.c (mark_byte_table): Renamed from
1479         `mark_char_byte_table'.
1480         (byte_table_equal): Renamed from `char_byte_table_equal'.
1481         (byte_table_hash): Renamed from `byte_table_hash'.
1482         (make_byte_table): Renamed from `make_byte_table'.
1483         (copy_byte_table): Renamed from `copy_char_byte_table'.
1484
1485         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1486         `Lisp_Char_Byte_Table'.
1487         (byte_table): Renamed from `char_byte_table'.
1488         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1489         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1490         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1491         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1492
1493 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1494
1495         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1496         (dfc_convert_to_internal_format): Likewise.
1497         
1498         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1499         * text-coding.c (Fcoding_system_alias_p): New function.
1500         * text-coding.c (Fcoding_system_aliasee): New function.
1501         * text-coding.c (append_suffix_to_symbol): New function.
1502         * text-coding.c (dangling_coding_system_alias_p): New function.
1503         * text-coding.c (Ffind_coding_system):
1504         * text-coding.c (Fcopy_coding_system):
1505         * text-coding.c (encode_coding_no_conversion):
1506         * text-coding.c (syms_of_file_coding):
1507         * text-coding.c (vars_of_file_coding):
1508         Rewrite coding system alias code.
1509         Allow nested aliases, like symbolic links.
1510         Allow redefinition of coding system aliases.
1511         Prevent existence of dangling coding system aliases.
1512         Eliminate convert_to_external_format.
1513         Eliminate convert_to_internal_format.
1514         
1515         * text-coding.c: Change enum eol_type to eol_type_t.
1516
1517 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1518
1519         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1520         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1521
1522         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1523         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1524
1525 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1526
1527         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1528         `ideograph-daikanwa'.
1529
1530         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1531         (Vcharset_ucs_bmp): Likewise.
1532         (Vcharset_mojikyo): Add new extern variable definition.
1533         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1534         (Vcharset_latin_iso8859_3): Likewise.
1535         (Vcharset_latin_iso8859_4): Likewise.
1536         (Vcharset_latin_iso8859_9): Likewise.
1537         (Vcharset_latin_viscii_lower): Likewise.
1538         (Vcharset_latin_viscii_upper): Likewise.
1539         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1540         `mojikyo' code-point is used to decode.
1541         (encode_char_2): New function [to convert `mojikyo' code-point to
1542         Mojikyo font encoding].
1543         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1544         (breakup_char_1): Likewise.
1545         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1546
1547 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1548
1549         * text-coding.c (Fmake_coding_system): Add document about
1550         `disable-composition' property.
1551
1552 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1553
1554         * text-coding.c (Qdisable_composition): New variable; delete
1555         `Qcomposite'.
1556         (Fmake_coding_system): Add new property `disable-composite';
1557         delete property `composite'.
1558         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1559         instead of `!CODING_SYSTEM_COMPOSITE'.
1560         (syms_of_file_coding): Add new symbol `disable-composition';
1561         delete symbol `composite'.
1562
1563         * file-coding.h (struct Lisp_Coding_System): Add
1564         `disable_composition'; delete `enable_composition'.
1565         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1566         `CODING_SYSTEM_COMPOSITE'.
1567         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1568         `XCODING_SYSTEM_COMPOSITE'.
1569
1570 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1571
1572         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1573         to 0.15.
1574
1575 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1576
1577         * text-coding.c (Qcomposite): New variable.
1578         (Fmake_coding_system): Add new property `composite'.
1579         (struct decoding_stream): Add `combined_char_count',
1580         `combined_chars' and `combining_table' in UTF-2000.
1581         (COMPOSE_FLUSH_CHARS): New macro.
1582         (COMPOSE_ADD_CHAR): New macro.
1583         (reset_decoding_stream): Reset `str->combined_char_count' and
1584         `str->combining_table' in UTF-2000.
1585         (decode_coding_iso2022): Modify for character-decomposition.
1586         (syms_of_file_coding): Add new symbol `composite'.
1587
1588 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1589
1590         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1591         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1592         of `Vcharacter_composition_table' if `->decomposition' property
1593         has only 1 element.
1594         (Qlatin_tcvn5712): New variable.
1595         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1596         (complex_vars_of_mule_charset): Add new coded-charset
1597         `latin-tcvn5712'.
1598
1599         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1600
1601 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1602
1603         * file-coding.h (struct Lisp_Coding_System): Add
1604         `enable_composition'.
1605         (CODING_SYSTEM_COMPOSITE): New macro.
1606         (XCODING_SYSTEM_COMPOSITE): New macro.
1607
1608 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1609
1610         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1611
1612 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1613
1614         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1615         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1616
1617 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1618
1619         * mule-charset.c (Vcharset_mojikyo): New variable.
1620         (Fdefine_char): Don't use coded-charset which does not have
1621         non-builtin character range to allocate character-id.
1622         (Qmojikyo): New variable.
1623         (syms_of_mule_charset): Add new symbol `mojikyo'.
1624         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1625
1626         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1627         (LEADING_BYTE_MOJIKYO): New macro.
1628         (MIN_CHAR_MOJIKYO): New macro.
1629         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1630         (MAX_CHAR_MOJIKYO): New macro.
1631
1632 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1633
1634         * mule-charset.c (remove_char_attribute): Fixed.
1635
1636 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1637
1638         * mule-charset.c (remove_char_attribute): New function.
1639         (Fremove_char_attribute): New function.
1640         (encode_builtin_char_1): Comment out builtin-support for
1641         greek-iso8859-7 and cyrillic-iso8859-5.
1642         (Fdecode_char): Check `code' is an integer.
1643         (syms_of_mule_charset): Add `remove-char-attribute'.
1644         (MIN_CHAR_GREEK): Deleted.
1645         (MAX_CHAR_GREEK): Likewise.
1646         (MIN_CHAR_CYRILLIC): Likewise.
1647         (MAX_CHAR_CYRILLIC): Likewise.
1648         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1649         MAX_CHAR_GREEK for `greek-iso8859-7'.
1650
1651         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1652         (MAX_CHAR_GREEK): Likewise.
1653         (MIN_CHAR_CYRILLIC): Likewise.
1654         (MAX_CHAR_CYRILLIC): Likewise.
1655
1656 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1657
1658         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1659         format is used without `ucs' property.
1660         (Fdecode_char): Fix problem with GR representation.
1661         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1662         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1663
1664 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1665
1666         * mule-charset.c (make_builtin_char): New function.
1667         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1668         (Fset_charset_mapping_table): Modify for new representation of
1669         code-point.
1670         (Fdecode_char): New function.
1671         (syms_of_mule_charset): Add new builtin function `decode-char' in
1672         UTF-2000.
1673
1674         * char-ucs.h (make_builtin_char): New prototype.
1675         (DECODE_CHAR): New inline function.
1676         (MAKE_CHAR): Use `DECODE_CHAR'.
1677
1678 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1679
1680         * text-coding.c (parse_charset_conversion_specs): Use
1681         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1682         `XCHARSET_TYPE'.
1683         (iso2022_designate): Likewise.
1684
1685         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1686         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1687
1688         * mule-charset.c (Vcharset_ucs): New variable.
1689         (print_charset): Change design; use `CHARSET_CHARS' and
1690         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1691         (make_charset): Change signature to specify `chars' and
1692         `dimension' instead of `type'.
1693         (range_charset_code_point): Modify for 256^n-set.
1694         (encode_builtin_char_1): Encode as `ucs' in default.
1695         (Fmake_charset): Modify for `make_charset'.
1696         (Fmake_reverse_direction_charset): Likewise.
1697         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1698         UTF-2000.
1699         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1700         for `make_charset'.
1701
1702         * char-ucs.h (Vcharset_ucs): New variable.
1703         (LEADING_BYTE_UCS): New macro.
1704         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1705         and `chars' to `unsigned short' from `unsigned int'.
1706         (CHARSET_TYPE): Deleted.
1707         (XCHARSET_TYPE): Deleted.
1708
1709 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1710
1711         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1712
1713         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1714         (ENCODE_CHAR): New macro.
1715
1716 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1717
1718         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1719         to 0.14 (Kawachi-Katakami).
1720
1721 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1722
1723         * text-coding.c (char_encode_shift_jis): Modify for
1724         `charset_code_point'.
1725         (char_encode_iso2022): Likewise.
1726
1727         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1728         (integer) instead of list of <Lisp_Object>s (integers) as the
1729         format of code-point of a coded-charset.
1730         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1731         (encode_builtin_char_1): New function; delete
1732         `split_builtin_char'.
1733         (charset_code_point): Return <int> instead of <Lisp_Object>.
1734         (Fsplit_char): Don't use `SPLIT_CHAR'.
1735
1736         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1737         prototype for `split_builtin_char'.
1738         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1739         (charset_code_point): Likewise.
1740         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1741         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1742
1743 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1744
1745         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1746         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1747
1748 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1749
1750         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1751
1752         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1753         (MAX_CHAR_OBS_94x94): Deleted.
1754
1755 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1756
1757         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1758
1759         * char-ucs.h (MAX_CHAR_BMP): New macro.
1760
1761 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1762
1763         * text-coding.c: Sync with r21-2-24.
1764
1765 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1766
1767         * file-coding.c: Modify for UTF-2000.
1768
1769 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1770
1771         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1772         to 0.13 (Takaida).
1773
1774 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1775
1776         * mule-charset.c (split_builtin_char): Delete builtin support for
1777         `katakana-jisx0201'.
1778         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1779         BMP area in builtin representation.
1780
1781         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1782         `Vcharset_katakana_jisx0201'.
1783
1784 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1785
1786         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1787         (Qisolated): New variable.
1788         (Qinitial): New variable.
1789         (Qmedial): New variable.
1790         (Qfinal): New variable.
1791         (Qvertical): New variable.
1792         (Qsmall): New variable.
1793         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1794         `Qvertical' and `Qsmall'.
1795         (Qmojikyo_pj_[1 .. 21]): New variable.
1796         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1797         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1798         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1799         .. 21]'.
1800
1801 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1802
1803         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1804         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1805         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1806
1807 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1808
1809         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1810         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1811         BMP.
1812         (Qjapanese_jisx0208_1990): New variable.
1813         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1814         (complex_vars_of_mule_charset): Add new coded-charset
1815         `japanese-jisx0208-1990'.
1816
1817         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1818         (MIN_CHAR_JIS_X0208_1990): New macro.
1819         (MAX_CHAR_JIS_X0208_1990): New macro.
1820
1821 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1822
1823         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1824         coded-charset is not found.
1825
1826 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1827
1828         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1829         (Fdefine_char): Use `Fmake_char'.
1830
1831 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1832
1833         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1834         (Vcharset_hiragana_jisx0208): Deleted.
1835         (Vcharset_katakana_jisx0208): Deleted.
1836         (Qideograph_daikanwa): New variable.
1837         (Qhiragana_jisx0208): Deleted.
1838         (Qkatakana_jisx0208): Deleted.
1839         (split_builtin_char): Split `ideograph-daikanwa'.
1840         (Fsplit_char): New implementation for UTF-2000.
1841         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1842         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1843         (complex_vars_of_mule_charset): Add new coded-charset
1844         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1845         `katakana-jisx0208'.
1846
1847         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1848         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1849         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1850         (MIN_CHAR_DAIKANWA): New macro.
1851         (MAX_CHAR_DAIKANWA): New macro.
1852
1853 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1854
1855         * data.c (Fstring_to_number): Don't recognize floating point if
1856         base is not 10.
1857
1858 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1859
1860         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1861
1862 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1863
1864         * mule-charset.c (Qsquare): New variable.
1865         (to_char_code): Add `Qsquare'.
1866         (syms_of_mule_charset): Add new symbol `square'.
1867
1868 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1869
1870         * mule-charset.c (Qcircle): New variable.
1871         (to_char_code): Add `Qcircle'.
1872         (syms_of_mule_charset): Add new symbol `circle'.
1873
1874 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1875
1876         * mule-charset.c (Qfont): New variable.
1877         (to_char_code): Add `Qfont'.
1878         (syms_of_mule_charset): Add new symbol `font'.
1879
1880 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1881
1882         * mule-charset.c (Qsub): New variable.
1883         (to_char_code): Add `Qsub'.
1884         (syms_of_mule_charset): Add new symbol `sub'.
1885
1886 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1887
1888         * mule-charset.c (Fput_char_attribute): Convert each element of
1889         VALUE to GL position if ATTRIBUTE is a GR-set,
1890
1891 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1892
1893         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1894         coded-charset is a GR-set.
1895
1896 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1897
1898         * mule-charset.c (Fput_char_attribute): Check each element of
1899         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1900
1901 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1902
1903         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1904         UTF-2000.
1905         (Qethiopic_ucs): New variable in UTF-2000.
1906         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1907         (complex_vars_of_mule_charset): Add new coded-charset
1908         `ethiopic-ucs' in UTF-2000.
1909
1910         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1911         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1912         9)'.
1913         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1914         10)'.
1915         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1916
1917 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1918
1919         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1920         `ascii'.
1921
1922 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1923
1924         * mule-charset.c (Vcharacter_variant_table): New variable.
1925         (Q_ucs): New variable.
1926         (Fchar_variants): New function.
1927         (Fput_char_attribute): Register `->ucs' value to
1928         `Vcharacter_variant_table'.
1929         (syms_of_mule_charset): Add new function `char-variants' and new
1930         symbol `->ucs'.
1931         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
1932
1933 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1934
1935         * mule-charset.c (get_char_code_table): Allow negative character
1936         code.
1937         (put_char_code_table): Likewise.
1938         (Vcharacter_composition_table): New variable.
1939         (Q_decomposition): New variable.
1940         (Qwide): New variable.
1941         (Qnarrow): New variable.
1942         (Qcompat): New variable.
1943         (QnoBreak): New variable.
1944         (Qsuper): New variable.
1945         (Qfraction): New variable.
1946         (to_char_code): New function.
1947         (Fget_composite_char): New function.
1948         (Fput_char_attribute): Register `->decomposition' value to
1949         `Vcharacter_composition_table'.
1950         (syms_of_mule_charset): Add new function `get-composite-char', new
1951         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
1952         `super' and `fraction'.
1953         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
1954
1955 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1956
1957         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
1958         character; copy the return value.
1959
1960 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1961
1962         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
1963
1964         * mule-charset.c (range_charset_code_point): Must use make_int.
1965         (split_builtin_char): New function.
1966
1967 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1968
1969         * mule-charset.c (char_byte_table): Change name from
1970         "char-code-table" to "char-byte-table".
1971         (mark_char_code_table): New function.
1972         (char_code_table_equal): New function.
1973         (char_code_table_hash): New function.
1974         (char_code_table_description): New constant.
1975         (char_code_table): New type.
1976         (make_char_code_table): New function.
1977         (copy_char_code_table): New function.
1978         (get_char_code_table): Modify for `char_code_table' type.
1979         (put_char_code_table): Likewise.
1980         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
1981         (Kashiwara).
1982
1983         * char-ucs.h (char_code_table): New type.
1984         (XCHAR_CODE_TABLE): New macro.
1985         (XSETCHAR_CODE_TABLE): New macro.
1986         (CHAR_CODE_TABLE_P): New macro.
1987         (GC_CHAR_CODE_TABLE_P): New macro.
1988         (struct Lisp_Char_Code_Table): New structure.
1989
1990 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1991
1992         * mule-charset.c (Fmake_charset): Setup byte_offset for
1993         {94|96}^n-set.
1994
1995 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1996
1997         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
1998         character.
1999
2000 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2001
2002         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2003         is found.
2004
2005 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2006
2007         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2008         charset, it is regarded as a charset.
2009         (put_char_attribute): New function in UTF-2000.
2010         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2011         charset, mapping-table of the charset is modified.
2012         (Fdefine_char): New function in UTF-2000.
2013         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2014         `Fput_char_attribute'.
2015         (syms_of_mule_charset): Add new function `define-char' and new
2016         symbol `ucs' in UTF-2000.
2017         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2018
2019 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2020
2021         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2022         non-UTF-2000 configuration.
2023
2024 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2025
2026         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2027         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2028
2029         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2030         deleted.
2031         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2032         (Fset_charset_mapping_table): Likewise.
2033
2034         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2035         (CHARSET_ENCODING_TABLE): Delete.
2036         (XCHARSET_ENCODING_TABLE): Delete.
2037         (charset_code_point): New interface.
2038
2039 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2040
2041         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2042         instead of `charset_get_byte1' and `charset_get_byte2'.
2043
2044         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2045         (charset_get_byte2): Deleted.
2046
2047 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2048
2049         * char-ucs.h (SPLIT_CHAR): New inline function.
2050         (breakup_char_1): Use `SPLIT_CHAR'.
2051
2052         * mule-charset.c (range_charset_code_point): New function.
2053         (charset_code_point): New function.
2054
2055         * char-ucs.h (range_charset_code_point): New interface.
2056         (breakup_char_1): Use `range_charset_code_point'.
2057
2058 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2059
2060         * mule-charset.c (Fmake_charset): Delete unused local variable
2061         `code_offset'.
2062
2063         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2064         (breakup_char_1): Find a charset and code-point in
2065         `Vcharacter_attribute_table'.
2066
2067 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2068
2069         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2070         to 0.10 (Yao).
2071
2072 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2073
2074         * mule-charset.c (Vcharacter_attribute_table): New variable.
2075         (Fchar_attribute_alist): New function.
2076         (Fget_char_attribute): New function.
2077         (Fput_char_attribute): New function.
2078         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2079         too.
2080         (syms_of_mule_charset): Add new function `char-attribute-alist',
2081         `get-char-attribute' and `put-char-attribute'.
2082         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2083
2084 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2085
2086         * mule-charset.c (Fmake_charset): Just use
2087         `get_unallocated_leading_byte'.
2088
2089         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2090         sets; don't use final-byte based number for private sets.
2091
2092 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2093
2094         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2095         integer.
2096
2097 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2098
2099         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2100         to 0.9.
2101
2102 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2103
2104         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2105         of `CHAR_LEADING_BYTE' in UTF-2000.
2106
2107         * insdel.c (find_charsets_in_bufbyte_string): Use
2108         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2109         (find_charsets_in_emchar_string): Likewise.
2110
2111         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2112         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2113
2114         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2115         (CHAR_CHARSET_ID): New macro.
2116
2117 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2118
2119         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2120         charset-id - MIN_LEADING_BYTE.
2121         (put_char_table): Likewise.
2122
2123 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2124
2125         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2126         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2127         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2128         (CHARSET_ID_OFFSET): New macro.
2129         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2130         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2131         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2132         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2133         4).
2134         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2135         5).
2136         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2137         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2138         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2139         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2140         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2141
2142 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2143
2144         * mule-charset.c (next_allocated_leading_byte): New variable in
2145         UTF-2000.
2146         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2147         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2148         (get_unallocated_leading_byte): Simply use
2149         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2150         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2151         UTF-2000.
2152
2153         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2154         (MAX_LEADING_BYTE_PRIVATE): New macro.
2155         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2156         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2157
2158 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2159
2160         * mule-charset.c (Fmake_charset): Allocate final-byte based
2161         charset-id for 94-set, 96-set and 94x94-set.
2162
2163 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2164
2165         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2166         ambiguous `else'.
2167         (Fmake_charset): Likewise.
2168         (complex_vars_of_mule_charset): Modify the font registry of
2169         `ucs-bmp' not to match `Ethiopic-Unicode'.
2170
2171 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2172
2173         * mule-charset.c (complex_vars_of_mule_charset): Add font
2174         registory of `ucs-bmp'.
2175
2176 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2177
2178         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2179         coded-charsets in `default-coded-charset-priority-list' when
2180         breaking up a character.
2181
2182         * mule-charset.c (Vcharset_latin_viscii): New variable.
2183         (Qlatin_viscii): New variable.
2184         (make_charset): Don't use `decoding_table'.
2185         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2186         byte_offset.
2187         (Fset_charset_mapping_table): New implementation.
2188         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2189         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2190         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2191         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2192         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2193         charset `latin_viscii'.
2194
2195         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2196         (CHARSET_TYPE_94X94): Change to 1 from 2.
2197         (CHARSET_TYPE_96): Change to 2 from 1.
2198         (CHARSET_TYPE_128): New macro.
2199         (CHARSET_TYPE_128X128): Change to 5 from 4.
2200         (CHARSET_TYPE_256): New macro.
2201         (CHARSET_TYPE_256X256): Change to 7 from 5.
2202         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2203
2204 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2205
2206         * text-coding.c (char_encode_shift_jis): Refer
2207         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2208         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2209
2210         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2211         (char_byte_table_equal): New function in UTF-2000.
2212         (char_byte_table_hash): New function in UTF-2000.
2213         (char_byte_table_description): New constant in UTF-2000.
2214         (char_byte_table): New type in UTF-2000.
2215         (make_char_byte_table): New function in UTF-2000.
2216         (copy_char_byte_table): New function in UTF-2000.
2217         (make_char_code_table): New macro in UTF-2000.
2218         (get_char_code_table): New function in UTF-2000.
2219         (put_char_code_table): New function in UTF-2000.
2220         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2221         (charset_description): Add setting in UTF-2000.
2222         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2223         `CHARSET_TO_BYTE1_TABLE(cs)'.
2224         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2225         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2226         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2227         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2228         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2229         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2230         `CHARSET_TO_BYTE2_TABLE(cs)'.
2231
2232         * char-ucs.h (char_byte_table): New type.
2233         (XCHAR_BYTE_TABLE): New macro.
2234         (XSETCHAR_BYTE_TABLE): New macro.
2235         (CHAR_BYTE_TABLE_P): New macro.
2236         (GC_CHAR_BYTE_TABLE_P): New macro.
2237         (struct Lisp_Char_Byte_Table): New structure.
2238         (get_char_code_table): New interface.
2239         (Emchar_to_byte_table): Deleted.
2240         (get_byte_from_character_table): Deleted.
2241         (struct Lisp_Charset): Add `encoding_table'; delete
2242         `to_byte1_table' and `to_byte2_table'.
2243         (CHARSET_ENCODING_TABLE): New macro.
2244         (CHARSET_TO_BYTE1_TABLE): Deleted.
2245         (CHARSET_TO_BYTE2_TABLE): Deleted.
2246         (XCHARSET_ENCODING_TABLE): New macro.
2247         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2248         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2249
2250 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2251
2252         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2253         `vietnamese-viscii-*'.
2254
2255 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2256
2257         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2258         (Qvietnamese_viscii_upper): New variable.
2259         (Fdefine_charset_alias): New function.
2260         (syms_of_mule_charset): Add new function `define-charset-alias'.
2261         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2262         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2263         `latin-viscii-*'.
2264
2265 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2266
2267         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2268         (MAX_CHAR_OBS_94x94): New macro.
2269         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2270         for 94x94 sets.
2271
2272         * mule-charset.c (put_byte_from_character_table): Change unit size
2273         from 128 to 256.
2274         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2275         not defined.
2276         (Fmake_reverse_direction_charset): Modify dummy argument of
2277         `make_charset' for non-UTF-2000 environment.
2278
2279 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2280
2281         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2282
2283         * mule-charset.c (destroy_byte_from_character_table): New macro.
2284         (latin_jisx0201_to_ucs): Deleted.
2285         (latin_iso8859_2_to_ucs): Deleted.
2286         (latin_iso8859_3_to_ucs): Deleted.
2287         (latin_iso8859_4_to_ucs): Deleted.
2288         (latin_iso8859_9_to_ucs): Deleted.
2289         (latin_viscii_lower_to_ucs): Deleted.
2290         (latin_viscii_upper_to_ucs): Deleted.
2291         (mark_charset): Mark `cs->decoding_table'.
2292         (Fcharset_mapping_table): Fix DOC-string.
2293         (Fset_charset_mapping_table): New function.
2294         (syms_of_mule_charset): Add nwe function
2295         `set-charset-mapping-table'.
2296         (complex_vars_of_mule_charset): Don't setup and use
2297         `latin_*_to_ucs'.
2298
2299 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2300
2301         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2302         charset.
2303
2304 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2305
2306         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2307         (Vcharset_katakana_jisx0208): New variable.
2308         (Qhiragana_jisx0208): New variable.
2309         (Qkatakana_jisx0208): New variable.
2310         (make_charset): Add new argument `byte_offset'.
2311         (charset_get_byte1): Modify for new coded-charset definition; use
2312         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2313         `XCHARSET_BYTE_OFFSET'.
2314         (Fmake_charset): Modify for `make_charset'.
2315         (Fmake_reverse_direction_charset): Likewise.
2316         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2317         `katakana-jisx0208'.
2318         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2319         `.'  in font registry of charset `katakana-jisx0201',
2320         `latin-jisx0201', `vietnamese-viscii-lower' and
2321         `vietnamese-viscii-upper'; modify DOC-string of charset
2322         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2323         registry of charset `japanese-jisx0208' not to use font for JIS
2324         X0208:1990; add new charset `hiragana-jisx0208' and
2325         `katakana-jisx0208'.
2326
2327         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2328         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2329         (struct Lisp_Charset): Add `byte_offset'.
2330         (CHARSET_BYTE_OFFSET): New macro.
2331         (XCHARSET_UCS_MIN): New macro.
2332         (XCHARSET_UCS_MAX): New macro.
2333         (XCHARSET_CODE_OFFSET): New macro.
2334         (XCHARSET_BYTE_OFFSET): New macro.
2335         (MIN_CHAR_HIRAGANA): New macro.
2336         (MAX_CHAR_HIRAGANA): New macro.
2337         (MIN_CHAR_KATAKANA): New macro.
2338         (MAX_CHAR_KATAKANA): New macro.
2339         (MAKE_CHAR): Modify for new coded-charset definition; use
2340         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2341         `XCHARSET_BYTE_OFFSET'.
2342
2343 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2344
2345         * mule-charset.c (CHAR96): Deleted.
2346         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2347         <Lisp_Object>.
2348         (latin_iso8859_2_to_ucs): Likewise.
2349         (latin_iso8859_3_to_ucs): Likewise.
2350         (latin_iso8859_4_to_ucs): Likewise.
2351         (latin_iso8859_9_to_ucs): Likewise.
2352         (latin_viscii_lower_to_ucs): Likewise.
2353         (latin_viscii_upper_to_ucs): Likewise.
2354         (latin_tcvn5712_to_ucs): Commented out.
2355         (make_charset): Change type of argument `decoding_table' from
2356         <Emchar*> to <Lisp_Object> [vector of characters].
2357         (Fmake_charset): Modify for `make_charset'.
2358         (Fmake_reverse_direction_charset): Likewise.
2359         (Fcharset_mapping_table): New function in UTF-2000.
2360         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2361         UTF-2000.
2362         (complex_vars_of_mule_charset): Modify for type change of
2363         `*_to_ucs'; modify for `make_charset'.
2364
2365         * char-ucs.h (struct Lisp_Charset): Change type of
2366         `decoding_table' from <Emchar*> to <Lisp_Object>.
2367         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2368
2369 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2370
2371         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2372         error with non-UTF-2000-Mule.
2373
2374 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2375
2376         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2377         in lisp again].
2378         (Vcharset_chinese_cns11643_4): Likewise.
2379         (Vcharset_chinese_cns11643_5): Likewise.
2380         (Vcharset_chinese_cns11643_6): Likewise.
2381         (Vcharset_chinese_cns11643_7): Likewise.
2382         (Qchinese_cns11643_3): Likewise.
2383         (Qchinese_cns11643_4): Likewise.
2384         (Qchinese_cns11643_5): Likewise.
2385         (Qchinese_cns11643_6): Likewise.
2386         (Qchinese_cns11643_7): Likewise.
2387         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2388         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2389         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2390         (complex_vars_of_mule_charset): Likewise.
2391
2392 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2393
2394         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2395         96-set.
2396         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2397         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2398
2399 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2400
2401         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2402         0xFF60.
2403         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2404         (breakup_char_1): Likewise.
2405
2406         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2407         one of them includes the specified character.
2408
2409 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2410
2411         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2412
2413 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2414
2415         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2416
2417 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2418
2419         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2420         definition for non-UTF-2000 Mule.
2421         (latin_iso8859_3_to_ucs): Likewise.
2422         (latin_iso8859_4_to_ucs): Likewise.
2423         (latin_iso8859_9_to_ucs): Likewise.
2424         (latin_jisx0201_to_ucs): Likewise.
2425         (MIN_CHAR_THAI): Likewise.
2426         (MAX_CHAR_THAI): Likewise.
2427         (MIN_CHAR_GREEK): Likewise.
2428         (MAX_CHAR_GREEK): Likewise.
2429         (MIN_CHAR_HEBREW): Likewise.
2430         (MAX_CHAR_HEBREW): Likewise.
2431         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2432         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2433         (MIN_CHAR_CYRILLIC): Likewise.
2434         (MAX_CHAR_CYRILLIC): Likewise.
2435
2436 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2437
2438         * char-ucs.h (breakup_char_1): Use
2439         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2440         thai-tis620 and katakana-jisx0201 area.
2441
2442 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2443
2444         * char-ucs.h (breakup_char_1): Use
2445         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2446         area.
2447
2448         * text-coding.c (reset_encoding_stream): Fixed.
2449         (char_encode_ucs4): Delete `& 255'.
2450
2451         * char-ucs.h (breakup_char_1): Use
2452         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2453
2454 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2455
2456         * file-coding.c (Fmake_coding_system): Don't set up
2457         `codesys->fixed.size'.
2458         (encode_coding_no_conversion): Don't refer
2459         `str->codesys->fixed.size'.
2460
2461 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2462
2463         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2464         (latin_a_char_to_byte1): Deleted.
2465         (latin_a_char_to_byte2): Deleted.
2466
2467 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2468
2469         * mule-charset.c (make_charset): Add new argument `ucs_min',
2470         `ucs_max' and `code_offset'.
2471         (charset_get_byte1): New implementation [delete specific charset
2472         depended implementations].
2473         (Fmake_charset): Modify for `make_charset'.
2474         (Fmake_reverse_direction_charset): Likewise.
2475         (complex_vars_of_mule_charset): Likewise.
2476
2477         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2478         `code_offset'.
2479         (CHARSET_UCS_MIN): New macro.
2480         (CHARSET_UCS_MAX): New macro.
2481         (CHARSET_CODE_OFFSET): New macro.
2482         (MAKE_CHAR): Delete charset depended definitions [except
2483         katakana-jisx0201].
2484
2485 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2486
2487         * char-ucs.h (breakup_char_1): Use
2488         `Vdefault_coded_charset_priority_list' for C0-Controls,
2489         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2490
2491 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2492
2493         * char-ucs.h (charset_get_byte1): New function.
2494         (XCHARSET_GET_BYTE1): Deleted.
2495         (charset_get_byte2): New function.
2496         (XCHARSET_GET_BYTE2): Deleted.
2497         (Vdefault_coded_charset_priority_list): New external variable.
2498         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2499         `Vdefault_preferred_coded_charset_list'.
2500
2501         * mule-charset.c (charset_get_byte1): New function.
2502         (charset_get_byte2): New function.
2503         (Vdefault_coded_charset_priority_list): New variable.
2504         (vars_of_mule_charset): Add new variable
2505         `default-coded-charset-priority-list'.
2506
2507 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2508
2509         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2510         (XCHARSET_GET_BYTE2): New inline function.
2511         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2512         `XCHARSET_GET_BYTE2'.
2513
2514 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2515
2516         * mule-charset.c (make_charset): Initialize
2517         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2518         NULL if table is not defined.
2519
2520 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2521
2522         * text-coding.c (char_encode_shift_jis): Use
2523         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2524         `ucs_to_latin_jisx0201'.
2525
2526         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2527         (ucs_to_latin_iso8859_2): Deleted.
2528         (ucs_to_latin_iso8859_3): Deleted.
2529         (ucs_to_latin_iso8859_4): Deleted.
2530         (ucs_to_latin_iso8859_9): Deleted.
2531         (ucs_to_latin_viscii_lower): Deleted.
2532         (ucs_to_latin_viscii_upper): Deleted.
2533         (ucs_to_latin_tcvn5712): Deleted.
2534         (make_charset): Add new argument `decoding_table'; set up
2535         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2536         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2537         `decoding_table' is defined in UTF-2000.
2538         (Fmake_charset): Modify for `make_charset'.
2539         (Fmake_reverse_direction_charset): Likewise.
2540         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2541         and `GENERATE_96_SET'.
2542
2543         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2544         (ucs_to_latin_jisx0201): Deleted.
2545         (latin_iso8859_2_to_ucs): Deleted.
2546         (ucs_to_latin_iso8859_2): Deleted.
2547         (latin_iso8859_3_to_ucs): Deleted.
2548         (ucs_to_latin_iso8859_3): Deleted.
2549         (latin_iso8859_4_to_ucs): Deleted.
2550         (ucs_to_latin_iso8859_4): Deleted.
2551         (latin_iso8859_9_to_ucs): Deleted.
2552         (ucs_to_latin_iso8859_9): Deleted.
2553         (latin_viscii_lower_to_ucs): Deleted.
2554         (ucs_to_latin_viscii_lower): Deleted.
2555         (latin_viscii_upper_to_ucs): Deleted.
2556         (ucs_to_latin_viscii_upper): Deleted.
2557         (struct Lisp_Charset): Renamed `encoding_table' to
2558         `to_byte1_table'; add `to_byte2_table'.
2559         (CHARSET_DECODING_TABLE): New macro.
2560         (CHARSET_TO_BYTE1_TABLE): New macro.
2561         (CHARSET_TO_BYTE2_TABLE): New macro.
2562         (XCHARSET_DECODING_TABLE): New macro.
2563         (XCHARSET_TO_BYTE1_TABLE): New macro.
2564         (XCHARSET_TO_BYTE2_TABLE): New macro.
2565         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2566         tables.
2567         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2568         don't use `ucs_to_*' tables.
2569
2570 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2571
2572         * text-coding.c (Fmake_coding_system): Don't set up
2573         `codesys->fixed.size'.
2574         (encode_coding_no_conversion): Use `if' instead of `switch'.
2575
2576         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2577
2578 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2579
2580         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2581         (Fmake_charset): Modify for `make_charset'.
2582         (Fmake_reverse_direction_charset): Likewise.
2583         (complex_vars_of_mule_charset): Likewise.
2584
2585 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2586
2587         * text-coding.c (char_encode_shift_jis): Use table
2588         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2589
2590 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2591
2592         * text-coding.c (text_encode_generic): Use `if' instead of
2593         `switch'.
2594         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2595         decode JIS-Latin.
2596
2597 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2598
2599         * text-coding.c (encode_coding_sjis): Deleted.
2600         (char_encode_shift_jis): New function.
2601         (char_finish_shift_jis): New function.
2602         (reset_encoding_stream): Set up `encode_char' and `finish' for
2603         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2604         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2605         (char_encode_utf8): Treat `eol_type'.
2606
2607 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2608
2609         * file-coding.c (decode_coding_iso2022): Use
2610         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2611
2612 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2613
2614         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2615         to 0.7 (Hirano).
2616
2617 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2618
2619         * char-lb.h (CHAR_COLUMNS): New macro.
2620
2621 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2622
2623         * text-coding.c (char_encode_ucs4): New function.
2624         (char_finish_ucs4): New function.
2625         (encode_coding_ucs4): Deleted.
2626         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2627         (text_encode_generic): Delete local variable `charset' and `half'.
2628         (ucs_to_mule_table): Deleted.
2629         (mule_to_ucs_table): Deleted.
2630         (Fset_ucs_char): Deleted.
2631         (ucs_to_char): Deleted.
2632         (Fucs_char): Deleted.
2633         (Fset_char_ucs): Deleted.
2634         (Fchar_ucs): Deleted.
2635         (decode_ucs4): Deleted.
2636         (mule_char_to_ucs4): Deleted.
2637         (encode_ucs4): Deleted.
2638         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2639         (decode_coding_utf8): Likewise.
2640         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2641         (char_encode_iso2022): Fixed.
2642         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2643         `Fset_char_ucs' and `Fchar_ucs'.
2644         (complex_vars_of_file_coding): Don't initialize
2645         `ucs_to_mule_table'.
2646
2647         * objects-tty.c (tty_initialize_font_instance): Don't use
2648         `XCHARSET_COLUMNS'.
2649
2650         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2651         UTF-2000.
2652
2653         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2654         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2655
2656         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2657         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2658         (emchar_string_displayed_columns): Likewise.
2659
2660         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2661         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2662         (string_column_at_point): Likewise.
2663         (Fmove_to_column): Likewise.
2664
2665         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2666         `encoding_table' and `decoding_table'.
2667         (CHARSET_REP_BYTES): Deleted.
2668         (XCHARSET_REP_BYTES): Deleted.
2669         (XCHARSET_COLUMNS): Deleted.
2670         (CHAR_COLUMNS): New macro.
2671         (lookup_composite_char): Deleted unconditionally.
2672         (composite_char_string): Likewise.
2673
2674 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2675
2676         * char-ucs.h (Emchar_to_byte_table): New type.
2677         (get_byte_from_character_table): New function interface.
2678         (Vcharset_latin_jisx0201): New variable.
2679         (latin_jisx0201_to_ucs): New variable.
2680         (ucs_to_latin_jisx0201): New variable.
2681         (Vcharset_latin_iso8859_2): New variable.
2682         (latin_iso8859_2_to_ucs): New variable.
2683         (ucs_to_latin_iso8859_2): New variable.
2684         (Vcharset_latin_iso8859_3): New variable.
2685         (latin_iso8859_3_to_ucs): New variable.
2686         (ucs_to_latin_iso8859_3): New variable.
2687         (Vcharset_latin_iso8859_4): New variable.
2688         (latin_iso8859_4_to_ucs): New variable.
2689         (ucs_to_latin_iso8859_4): New variable.
2690         (Vcharset_latin_iso8859_9): New variable.
2691         (latin_iso8859_9_to_ucs): New variable.
2692         (ucs_to_latin_iso8859_9): New variable.
2693         (Vcharset_latin_viscii_lower): New variable.
2694         (latin_viscii_lower_to_ucs): New variable.
2695         (ucs_to_latin_viscii_lower): New variable.
2696         (Vcharset_latin_viscii_upper): New variable.
2697         (latin_viscii_upper_to_ucs): New variable.
2698         (ucs_to_latin_viscii_upper): New variable.
2699         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2700         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2701         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2702         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2703         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2704         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2705         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2706         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2707         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2708         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2709
2710         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2711         (Vcharset_latin_viscii_upper): New variable.
2712         (make_byte_from_character_table): New function.
2713         (put_byte_from_character_table): New function.
2714         (get_byte_from_character_table): New function.
2715         (CHAR96): New macro.
2716         (ucs_to_latin_jisx0201): New variable.
2717         (latin_jisx0201_to_ucs): New variable.
2718         (ucs_to_latin_iso8859_2): New variable.
2719         (latin_iso8859_2_to_ucs): New variable.
2720         (ucs_to_latin_iso8859_3): New variable.
2721         (latin_iso8859_3_to_ucs): New variable.
2722         (ucs_to_latin_iso8859_4): New variable.
2723         (latin_iso8859_4_to_ucs): New variable.
2724         (ucs_to_latin_iso8859_9): New variable.
2725         (latin_iso8859_9_to_ucs): New variable.
2726         (ucs_to_latin_viscii_lower): New variable.
2727         (latin_viscii_lower_to_ucs): New variable.
2728         (ucs_to_latin_viscii_upper): New variable.
2729         (latin_viscii_upper_to_ucs): New variable.
2730         (ucs_to_latin_tcvn5712): New variable.
2731         (latin_tcvn5712_to_ucs): New variable.
2732         (Qlatin_viscii_lower): New variable.
2733         (Qlatin_viscii_upper): New variable.
2734         (syms_of_mule_charset): Set up new symbol
2735         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2736         (complex_vars_of_mule_charset): Set up new charset
2737         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2738         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2739         `ucs_to_<CHARSET>' tables.
2740
2741 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2742
2743         * text-coding.c: New file.
2744
2745 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2746
2747         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2748
2749         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2750         (MAKE_CHAR): Modify for `ucs-bmp'.
2751         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2752         non-MULE characters of BMP.
2753
2754 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2755
2756         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2757         to 0.6.
2758
2759 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2760
2761         * lstream.h:
2762         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2763         - Include character.h for `CHAR_ASCII_P'.
2764
2765         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2766
2767         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2768         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2769
2770         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2771         (BYTE_C0_P): Likewise.
2772         (BYTE_C1_P): Likewise.
2773         (Lstream_get_emchar_1): Likewise.
2774         (Lstream_fput_emchar): Likewise.
2775         (Lstream_funget_emchar): Likewise.
2776         (copy_internal_to_external): Likewise.
2777         (copy_external_to_internal): Likewise.
2778
2779         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2780         (BYTE_C0_P): Likewise.
2781         (BYTE_C1_P): Likewise.
2782         (Lstream_get_emchar_1): Likewise.
2783         (Lstream_fput_emchar): Likewise.
2784         (Lstream_funget_emchar): Likewise.
2785         (copy_internal_to_external): Likewise.
2786         (copy_external_to_internal): Likewise.
2787
2788         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2789         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2790
2791         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2792         (BYTE_ASCII_P): Moved to mb-1byte.h.
2793
2794 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2795
2796         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2797
2798         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2799         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2800         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2801         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2802         (VALIDATE_CHARPTR_FORWARD): Likewise.
2803         (simple_charptr_emchar): Moved to mb-multibyte.h.
2804         (simple_set_charptr_emchar): Likewise.
2805         (simple_charptr_copy_char): Likewise.
2806         (non_ascii_charptr_emchar): Likewise.
2807         (non_ascii_set_charptr_emchar): Likewise.
2808         (non_ascii_charptr_copy_char): Likewise.
2809         (charptr_emchar): Moved to mb-*byte.h.
2810         (set_charptr_emchar): Likewise.
2811         (charptr_copy_char): Likewise.
2812
2813         * mb-1byte.h, mb-multibyte.h: New files.
2814
2815 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2816
2817         * mb-utf-8.h (MULTIBYTE): New macro.
2818         (MAX_EMCHAR_LEN): Moved from buffer.h.
2819         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2820
2821         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2822
2823         * mb-lb.h, multibyte.h: New files.
2824
2825         * char-1byte.h (Charset_ID): Moved from buffer.h.
2826         (MIN_LEADING_BYTE): Likewise.
2827         (LEADING_BYTE_ASCII): Likewise.
2828         (NUM_LEADING_BYTES): Likewise.
2829         (CHARSETP): Likewise.
2830         (CHARSET_BY_LEADING_BYTE): Likewise.
2831         (XCHARSET_LEADING_BYTE): Likewise.
2832         (XCHARSET_GRAPHIC): Likewise.
2833         (XCHARSET_COLUMNS): Likewise.
2834         (XCHARSET_DIMENSION): Likewise.
2835         (CHAR_CHARSET): Likewise.
2836         (CHAR_LEADING_BYTE): Likewise.
2837         (BREAKUP_CHAR): Likewise.
2838         (Vcharset_ascii): Likewise.
2839
2840         * buffer.h: Include multibyte.h unconditionally.
2841         (VALID_CHARPTR_P): Moved to multibyte.h.
2842         (ASSERT_VALID_CHARPTR): Likewise.
2843         (REAL_INC_CHARPTR): Likewise.
2844         (REAL_INC_CHARBYTIND): Likewise.
2845         (REAL_DEC_CHARPTR): Likewise.
2846         (INC_CHARPTR): Likewise.
2847         (INC_CHARBYTIND): Likewise.
2848         (DEC_CHARPTR): Likewise.
2849         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2850         (VALIDATE_CHARPTR_FORWARD): Likewise.
2851         (charptr_n_addr): Likewise.
2852         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2853         (simple_charptr_emchar): Moved to multibyte.h.
2854         (simple_set_charptr_emchar): Likewise.
2855         (simple_charptr_copy_char): Likewise.
2856         (non_ascii_charptr_emchar): Likewise.
2857         (non_ascii_set_charptr_emchar): Likewise.
2858         (non_ascii_charptr_copy_char): Likewise.
2859         (charptr_emchar): Likewise.
2860         (set_charptr_emchar): Likewise.
2861         (charptr_copy_char): Likewise.
2862         (charptr_emchar_n): Likewise.
2863         (Charset_ID): Moved to char-1byte.h.
2864         (Vcharset_ascii): Likewise.
2865         (CHAR_CHARSET): Likewise.
2866         (CHAR_LEADING_BYTE): Likewise.
2867         (LEADING_BYTE_ASCII): Likewise.
2868         (NUM_LEADING_BYTES): Likewise.
2869         (MIN_LEADING_BYTE): Likewise.
2870         (CHARSETP): Likewise.
2871         (CHARSET_BY_LEADING_BYTE): Likewise.
2872         (XCHARSET_LEADING_BYTE): Likewise.
2873         (XCHARSET_GRAPHIC): Likewise.
2874         (XCHARSET_COLUMNS): Likewise.
2875         (XCHARSET_DIMENSION): Likewise.
2876         (BREAKUP_CHAR): Likewise.
2877
2878 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2879
2880         * character.h: Add document about interface for characters.
2881
2882         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2883         (MAKE_CHAR): Delete comment about
2884         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2885         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2886         (BREAKUP_CHAR): Modify name of arguments.
2887         (CHAR_CHARSET): Modify name of argument.
2888
2889         * buffer.h: Delete document about Emchar accessors.
2890
2891 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2892
2893         * character.h (CHAR_INTP): Moved from buffer.h
2894         (CHAR_OR_CHAR_INTP): Likewise.
2895         (XCHAR_OR_CHAR_INT): Likewise.
2896         (CHECK_CHAR_COERCE_INT): Likewise.
2897
2898         * buffer.h (CHAR_INTP): Moved to character.h
2899         (CHAR_OR_CHAR_INTP): Likewise.
2900         (XCHAR_OR_CHAR_INT): Likewise.
2901         (CHECK_CHAR_COERCE_INT): Likewise.
2902
2903 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2904
2905         * character.h:
2906         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2907         - Include char-1byte.h, char-lb.h or char-ucs.h.
2908
2909         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2910
2911         * buffer.h: Include character unconditionally.
2912         (valid_char_p): Moved to char-*.h.
2913         (non_ascii_valid_char_p): Moved to char-lb.h.
2914
2915         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2916
2917 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2918
2919         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2920         in UTF-2000 because it is not ported yet and not to use
2921         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2922         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2923         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2924
2925         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2926         (CHAR_ASCII_P): Moved from character.h.
2927
2928         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
2929         (CHAR_ASCII_P): Likewise.
2930         (CHAR_FIELD1_MASK): Deleted.
2931         (CHAR_FIELD2_MASK): Deleted.
2932         (CHAR_FIELD3_MASK): Deleted.
2933         (MAX_CHAR_BASIC_LATIN): New macro.
2934         (CHAR_FIELD1): Deleted.
2935         (CHAR_FIELD2_INTERNAL): Deleted.
2936         (CHAR_FIELD3_INTERNAL): Deleted.
2937         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
2938         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
2939         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
2940         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
2941         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
2942         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
2943         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
2944         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
2945         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
2946         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
2947         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
2948         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
2949         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
2950         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
2951         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
2952         (MIN_CHAR_COMPOSITION): Deleted.
2953         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
2954         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
2955
2956 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
2957
2958         * buffer.h: Include mb-utf-8.h in UTF-2000.
2959
2960         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
2961
2962         * mb-utf-8.h: New file.
2963
2964 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
2965
2966         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
2967         instead of `int'.
2968
2969         * mule-charset.h, buffer.h (Charset_ID): New type.
2970
2971 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2972
2973         * mule-canna.c (c2mu): Use `MAKE_CHAR',
2974         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
2975         instead of `MULE_CHAR_PRIVATE_OFFSET',
2976         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
2977         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
2978         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
2979
2980         * character.h (Vcharset_japanese_jisx0212): New variable
2981         definition.
2982
2983 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2984
2985         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
2986         (charset_by_attributes): Delete array about direction.
2987         (latin_a_char_to_charset): New variable in UTF-2000.
2988         (latin_a_char_to_byte1): New variable in UTF-2000.
2989         (latin_a_char_to_byte2): New variable in UTF-2000.
2990         (Qucs_bmp): New variable.
2991         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
2992         `Bufbyte'.
2993         (next_allocated_2_byte_leading_byte): Likewise.
2994         (non_ascii_set_charptr_emchar): Likewise.
2995         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
2996         `CHARSET_TYPE_256X256' in UTF-2000; modify for
2997         `charset_by_attributes'.
2998         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
2999         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3000         and `CHARSET_BY_LEADING_BYTE'.
3001         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3002         `utf-2000-version' to `vars_of_mule_charset'.
3003         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3004         define `leading-code-private-11' in UTF-2000; move setting of
3005         `utf-2000-version' from `syms_of_mule_charset'.
3006         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3007         UTF-2000.
3008
3009         * character.h (Charset_ID): New type.
3010         (LEADING_BYTE_UCS_BMP): New macro.
3011         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3012         (CHARSET_ID_OFFSET_94): New macro.
3013         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3014         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3015         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3016         final-byte.
3017         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3018         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3019         (CHARSET_ID_OFFSET_96): New macro.
3020         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3021         CHARSET_ID_OFFSET_96 and final-byte.
3022         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3023         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3024         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3025         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3026         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3027         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3028         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3029         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3030         (LEADING_BYTE_THAI_TIS620): Likewise.
3031         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3032         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3033         (CHARSET_ID_OFFSET_94x94): New macro.
3034         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3035         CHARSET_ID_OFFSET_94x94 and final-byte.
3036         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3037         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3038         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3039         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3040         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3041         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3042         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3043         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3044         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3045         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3046         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3047         (CHARSET_TYPE_128X128): New macro.
3048         (CHARSET_TYPE_256X256): New macro.
3049         (XCHARSET_PRIVATE_P): Delete unconditionally.
3050         (charset_by_attributes): Delete array about direction.
3051         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3052         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3053         (MIN_CHAR_94): New macro.
3054         (MAX_CHAR_94): New macro.
3055         (MIN_CHAR_96): New macro.
3056         (MAX_CHAR_96): New macro.
3057         (MIN_CHAR_94x94): New macro.
3058         (MAX_CHAR_94x94): New macro.
3059         (MIN_CHAR_96x96): New macro.
3060         (MAX_CHAR_96x96): New macro.
3061         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3062         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3063         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3064         - 32)'.
3065         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3066         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3067         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3068         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3069         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3070         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3071         `XCHARSET_LEADING_BYTE' to make code-point.
3072         (latin_a_char_to_charset): New variable.
3073         (latin_a_char_to_byte1): New variable.
3074         (latin_a_char_to_byte2): New variable.
3075         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3076         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3077         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3078
3079         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3080         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3081         (find_charsets_in_emchar_string): Likewise.
3082         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3083
3084         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3085         `int'.
3086         (decode_coding_iso2022): Likewise.
3087
3088         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3089         of `unsigned char'.
3090
3091         * redisplay.c (redisplay_text_width_emchar_string): Use
3092         `Charset_ID' instead of `unsigned char'.
3093         (redisplay_frame_text_width_string): Likewise.
3094
3095         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3096         `unsigned char'.
3097
3098         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3099         instead of `unsigned char'.
3100         (face_cachel_charset_font_metric_info): Likewise.
3101
3102         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3103         (get_non_ascii_char_table_value): Likewise.
3104         (get_char_table): Likewise.
3105         (put_char_table): Likewise.
3106         (map_over_other_charset): Likewise.
3107         (map_char_table): Likewise.
3108
3109         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3110         instead of `unsigned char'.
3111
3112 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3113
3114         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3115         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3116
3117         * mule-charset.c (leading_code_private_11): Don't define in
3118         UTF-2000.
3119
3120         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3121         in UTF-2000 because it is not ported yet and not to use
3122         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3123
3124 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3125
3126         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3127
3128 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3129
3130         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3131         in UTF-2000.
3132
3133         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3134         of unsigned char to store leading-byte.
3135
3136         * chartab.c (get_non_ascii_char_table_value): Don't use
3137         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3138
3139         * file-coding.c (encode_coding_big5): Delete bogus implementation
3140         in UTF2000.
3141
3142         * character.h (LEADING_BYTE_*): Delete definition for
3143         non-UTF-2000.
3144         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3145         (LEADING_BYTE_PREFIX_P): Deleted.
3146         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3147         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3148         (BUFBYTE_LEADING_BYTE_P): Deleted.
3149         (CHARSET_PRIVATE_P): Deleted unconditionally.
3150         (rep_bytes_by_first_byte): Deleted unconditionally.
3151         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3152         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3153         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3154         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3155         (CHAR_FIELD2): Deleted.
3156         (CHAR_FIELD3): Deleted.
3157         (MAKE_CHAR): Delete definition for non-UTF-2000.
3158         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3159         (breakup_char_1): New implementation.
3160         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3161         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3162
3163 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3164
3165         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3166         condition.
3167
3168 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3169
3170         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3171         (CHARSET_PRIVATE_P): Likewise.
3172         (XCHARSET_PRIVATE_P): Likewise.
3173         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3174
3175         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3176         UTF2000.
3177         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3178
3179 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3180
3181         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3182         (NUM_LEADING_BYTES): Changed from 128 to 256.
3183         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3184         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3185         UTF2000.
3186         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3187
3188         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3189         UTF2000.
3190         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3191         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3192         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3193         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3194         (Qchinese_cns11643_3): New variable in UTF2000.
3195         (Qchinese_cns11643_4): New variable in UTF2000.
3196         (Qchinese_cns11643_5): New variable in UTF2000.
3197         (Qchinese_cns11643_6): New variable in UTF2000.
3198         (Qchinese_cns11643_7): New variable in UTF2000.
3199         (syms_of_mule_charset): Define `chinese-cns11643-3',
3200         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3201         and `chinese-cns11643-7' in UTF2000.
3202         (vars_of_mule_charset): Initialize
3203         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3204         + 1 in UTF2000.
3205         (complex_vars_of_mule_charset): Setup charset
3206         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3207         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3208
3209 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3210
3211         * mule-charset.c: Move setting for `leading-code-private-11' from
3212         `syms_of_mule_charset' to `vars_of_mule_charset'.
3213
3214 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3215
3216         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3217         and `NUM_LEADING_BYTES' in assert.
3218
3219 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3220
3221         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3222         instead of 128.
3223         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3224         `NUM_LEADING_BYTES' instead of 128.
3225
3226 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3227
3228         * mule-charset.h (charset_by_leading_byte): Use
3229         `NUM_LEADING_BYTES' instead of 128.
3230         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3231
3232         * mule-charset.c (charset_by_leading_byte): Use
3233         `NUM_LEADING_BYTES' instead of 128.
3234         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3235
3236         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3237         128.
3238
3239 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3240
3241         * mule-charset.c (syms_of_mule_charset): Update to
3242         0.4 (Shin-Imamiya).
3243
3244 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3245
3246         * file-coding.c (encode_coding_sjis): New implementation for
3247         UTF2000.  (decode_coding_sjis): Ditto.
3248
3249 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3250
3251         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3252         Don't define in UTF2000.
3253
3254         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3255         defined.
3256
3257         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3258         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3259         MULE.
3260
3261 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3262
3263         * config.h.in (CHAR_IS_UCS4): New macro.
3264
3265         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3266         conventional MULE representation.
3267         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3268
3269         * mule-charset.h: Reverted to original.
3270
3271         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3272         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3273         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3274
3275         * character.h: New file.
3276
3277         * file-coding.c (Fmake_coding_system): Set 1 to
3278         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3279         defined.
3280         (encode_coding_no_conversion): New implementation for UTF2000.
3281
3282         * file-coding.h (struct Lisp_Coding_System): Add new member
3283         `fixed.size'.
3284
3285 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3286
3287         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3288         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3289         (encode_coding_iso2022): New implementation for UTF2000.
3290
3291 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3292
3293         * mule-canna.c (c2mu): New implementation for UTF2000.
3294         (m2c): Likewise.
3295
3296 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3297
3298         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3299
3300 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3301
3302         * file-coding.c (reset_encoding_stream): Set 0 to
3303         `str->iso2022.current_char_boundary' in UTF2000.
3304         (encode_utf8): Don't define in UTF2000.
3305         (encode_coding_utf8): New implementation for UTF-8 representation
3306         of UTF2000.
3307         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3308
3309 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3310
3311         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3312
3313         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3314         UTF2000.
3315         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3316
3317         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3318
3319         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3320         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3321         as UTF-8 in UTF2000.
3322         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3323         (non_ascii_valid_char_p): Don't define in UTF2000.
3324         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3325         (Lstream_get_emchar_1): Likewise.
3326         (utf-2000-version): New variable in UTF2000.
3327
3328         * lread.c (read_escape): Add new reader `u'.
3329
3330         * insdel.c (three_to_one_table): Don't define in UTF2000.
3331         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3332         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3333         UTF2000.
3334         (bytind_to_bufpos_func): Likewise.
3335         (buffer_mule_signal_inserted_region): Likewise.
3336         (vars_of_insdel): Don't initialize `three_to_one_table'.
3337         (init_buffer_text): Use `buf->text->mule_size' instead of
3338         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3339         UTF2000.
3340
3341         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3342         UTF-8 representation in UTF2000.
3343         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3344         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3345         (decode_coding_iso2022): Don't define local variable `lb' in
3346         UTF2000; don't use LEADING_BYTE in UTF2000; use
3347         `DECODE_ADD_UCS_CHAR' in UTF2000.
3348         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3349
3350         * config.h.in (UTF2000): New macro.
3351
3352         * buffer.h (struct buffer_text): Add new member `mule_size' and
3353         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3354         (valid_char_p): Return always 1 in UTF2000.
3355         (MAX_EMCHAR_LEN): 6 in UTF2000.
3356         (three_to_one_table): Don't define in UTF2000.
3357         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3358         UTF2000.
3359         (real_bytind_to_bufpos): Likewise.
3360
3361         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3362
3363 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3364
3365         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3366         representation change.
3367         (Vutf_2000_version): New variable.
3368         (leading_code_private_11): New variable.
3369         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3370         `leading-code-private-11'.
3371
3372         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3373         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3374         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3375         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3376         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3377         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3378         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3379         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3380         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3381         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3382         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3383         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3384         (MIN_CHAR_GREEK): New macro.
3385         (MAX_CHAR_GREEK): New macro.
3386         (MIN_CHAR_CYRILLIC): New macro.
3387         (MAX_CHAR_CYRILLIC): New macro.
3388         (MIN_CHAR_HEBREW): New macro.
3389         (MAX_CHAR_HEBREW): New macro.
3390         (MIN_CHAR_THAI): New macro.
3391         (MAX_CHAR_THAI): New macro.
3392         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3393         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3394         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3395         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3396         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3397         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3398         (CHAR_FIELD2): New inline function.
3399         (CHAR_FIELD3): New inline function.
3400         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3401         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3402         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3403         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3404         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3405         (MIN_CHAR_COMPOSITION): Likewise.
3406         (CHAR_LEADING_BYTE): Modified for character representation change.
3407         (MAKE_CHAR): Likewise.
3408
3409         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3410         (Vcharset_greek_iso8859_7): Likewise.
3411         (Vcharset_cyrillic_iso8859_5): Likewise.
3412         (Vcharset_hebrew_iso8859_8): Likewise.
3413         (Vcharset_thai_tis620): Likewise.
3414         (Vcharset_katakana_jisx0201): Likewise.
3415
3416 2001-01-17  Martin Buchholz <martin@xemacs.org>
3417
3418         * XEmacs 21.2.41 "Polyhymnia" is released.
3419
3420 2001-01-16  Didier Verna  <didier@xemacs.org>
3421
3422         * glyphs.c (image_instantiate): don't use fallbacks when
3423         instantiating a face's background pixmap by inheritance.
3424
3425 2001-01-14  Mike Sperber <mike@xemacs.org>
3426
3427         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3428         Conditionalize accordingly.
3429
3430 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3431
3432         * dumper.c (pdump_file_get): Fix a compiler warning.
3433
3434 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3435
3436         Make Purify happy when pdumping.
3437         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3438         iniitalizing all bits of new lisp object memory.
3439         * symbols.c (Fmake_local_variable): Likewise.
3440         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3441         * symbols.c (Fdefvaralias): Likewise.
3442         * mule-charset.c (vars_of_mule_charset): Likewise.
3443
3444 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3445         Add the `-nd' flag when running pre-dump operations under the debugger.
3446         * .dbxrc (run-temacs): Add `-nd'.
3447         * .dbxrc (update-elc): Likewise.
3448         * .dbxrc (dump-temacs): Likewise.
3449         * .gdbinit (run-temacs): Likewise.
3450         * .gdbinit (check-temacs): Likewise.
3451         * .gdbinit (update-elc): Likewise.
3452         * .gdbinit (dump-temacs): Likewise.
3453
3454 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3455
3456         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3457         export OBJECT_MODE=64
3458         configure --pdump --use-union-type=no
3459         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3460         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3461
3462         * miscplay.c (sndcnv8U_2mono):
3463         Avoid two uses of `++' in the same expression.
3464         Suppresses a GCC warning.
3465
3466 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3467
3468         Make sure future compilers don't miscompile alloc.c.
3469         * alloc.c:
3470         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3471         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3472
3473 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3474
3475         * dumper.c: A little post-pdump-rename comment fixup.
3476
3477 2001-01-09  Jerry James  <james@eecs.ku.edu>
3478
3479         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3480
3481 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3482
3483         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3484         script:
3485         #!/bin/sh
3486         replace_symbol () {
3487           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3488         }
3489
3490         replace_symbol pdump_wire_lists pdump_weak_object_chains
3491         replace_symbol pdump_wire_list dump_add_weak_object_chain
3492
3493         replace_symbol pdump_wires pdump_root_objects
3494         replace_symbol pdump_wire dump_add_root_object
3495
3496         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3497         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3498
3499         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3500         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3501         replace_symbol dumpstructinfo pdump_root_struct_ptr
3502         replace_symbol dumpstruct dump_add_root_struct_ptr
3503
3504         replace_symbol dumpopaque dump_add_opaque
3505         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3506         replace_symbol dumpopaqueinfos pdump_opaques
3507         replace_symbol dumpopaqueinfo pdump_opaque
3508
3509         replace_symbol nb_structdump nb_root_struct_ptrs
3510         replace_symbol nb_opaquedump nb_opaques
3511
3512         replace_symbol align_table pdump_align_table
3513         replace_symbol dump_header pdump_header
3514
3515         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3516         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3517
3518
3519 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3520
3521         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3522         optimizing bytecount_to_charcount().
3523
3524 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3525
3526         * config.h.in:
3527         (HAVE_DLFCN_H): Removed.
3528         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3529
3530 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3531
3532         Portable dumper maintainability improvements.
3533         * alloc.c (staticpro):
3534         * alloc.c (staticpro_nodump):
3535         * alloc.c (garbage_collect_1):
3536         * alloc.c (reinit_alloc_once_early):
3537         * alloc.c (init_alloc_once_early):
3538         * alloc.c: Move dumper functions to alloc.c.
3539         * dumper.c (pdump_backtrace):
3540         * dumper.c (pdump_dump_structs):
3541         * dumper.c (pdump_dump_opaques):
3542         * dumper.c (pdump_dump_rtables):
3543         * dumper.c (pdump_dump_wired):
3544         * dumper.c (pdump):
3545         * dumper.c (pdump_load_check):
3546         * dumper.c (pdump_load_finish):
3547         * dumper.c (pdump_file_unmap):
3548         * dumper.c (pdump_file_get):
3549         * dumper.c (pdump_resource_free):
3550         * dumper.c (pdump_resource_get):
3551         * dumper.c (pdump_file_free):
3552         * dumper.c (pdump_file_try):
3553         * dumper.c (pdump_load):
3554         Remove fixed size limits on staticpro(), staticpro_nodump(),
3555         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3556         Remove custom code for dumping lrecord_implementations_table - use
3557         dumpopaque instead.
3558         Remove (most of the) custom code for dumping staticpros - dump it
3559         like any other dynarr.
3560
3561         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3562         * dumper.c: Moved functions from alloc.c.
3563         * alloc.c (dumpstruct): Moved to dumper.c.
3564         * alloc.c (dumpopaque): Likewise.
3565         * alloc.c (pdump_wire): Likewise.
3566         * alloc.c (pdump_wire_list): Likewise.
3567
3568         * lisp.h (Dynarr_sizeof): New.
3569         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3570         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3571         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3572
3573         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3574         * lisp.h (dumpopaque): ditto.
3575         * lisp.h (pdump_wire): ditto.
3576         * lisp.h (pdump_wire_list): ditto.
3577
3578 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3579
3580         * make-src-depend (PrintPatternDeps):
3581         Use `sort' to make output independent of perl version.
3582
3583 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3584
3585         Port to Netbsd 1.5.
3586         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3587         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3588
3589 2001-01-03  Didier Verna  <didier@xemacs.org>
3590
3591         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3592         that `focus_frame' is alive before thinking of calling
3593         `redisplay_redraw_cursor' on it.
3594
3595 2001-01-08  Martin Buchholz <martin@xemacs.org>
3596
3597         * XEmacs 21.2.40 is released.
3598
3599 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3600
3601         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3602
3603 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3604
3605         * alloc.c (dbg_valmask): Make const.
3606         * alloc.c (dbg_typemask): Make const.
3607         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3608         * alloc.c (dbg_valbits): Make const.
3609         * alloc.c (dbg_gctypebits): Make const.
3610
3611 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3612
3613         * redisplay-x.c (x_bevel_area):
3614         redisplay.h (struct rune):
3615         Typo fixes in comments.
3616
3617 2001-01-05  Andy Piper  <andy@xemacs.org>
3618
3619         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3620         adjustment.
3621
3622         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3623
3624 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3625
3626         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3627
3628         * mule-ccl.c (stack_idx_of_map_multiple):
3629         Non const global data must not be initialized!
3630         Found by MIYASHITA Hisashi.
3631
3632 2001-01-02  Andy Piper  <andy@xemacs.org>
3633
3634         * frame.c (change_frame_size): make sure frame size is always
3635         marked as changed.
3636
3637         * glyphs.c (image_instance_layout): minor code reuse.
3638
3639         * window.c (Fcurrent_window_configuration): revert previous
3640         change.
3641
3642 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3643
3644         * glyphs.h:
3645         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3646
3647 2000-12-31  Andy Piper  <andy@xemacs.org>
3648
3649         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3650         when widget gets unmapped.
3651
3652         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3653         function. Make sure widgets losing focus don't just drop it.
3654         (handle_focus_event_1): record the widget with focus.
3655
3656 2000-12-31  Andy Piper  <andy@xemacs.org>
3657
3658         * window.c (allocate_window): use
3659         make_image_instance_cache_hash_table.
3660         (make_dummy_parent): ditto.
3661         (Fset_window_configuration): ditto.
3662
3663         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3664
3665         * glyphs.c (process_image_string_instantiator): use
3666         INSTANTIATOR_TYPE.
3667         (get_image_instantiator_governing_domain): ditto.
3668         (normalize_image_instantiator): ditto.
3669         (instantiate_image_instantiator): ditto.
3670         (make_image_instance_1): ditto.
3671         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3672         (instantiator_eq_equal): new function for use with instance hash
3673         tables.
3674         (instantiator_eq_hash): ditto.
3675         (make_image_instance_cache_hash_table): create a suitable hash
3676         table for storing image instances.
3677
3678         * elhash.h (hash_table_weakness): new internal weakness type
3679         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3680         declare new functions.
3681
3682         * elhash.c (finish_marking_weak_hash_tables): introduce yet
3683         another weakness type for glyphs.
3684         (make_standard_lisp_hash_table): new function split out from
3685         make_general_lisp_hash_table.
3686         (make_lisp_hash_table): call make_standard_lisp_hash_table.
3687         (hash_table_instantiate): ditto.
3688         (Fmake_hash_table): ditto.
3689
3690 2000-12-31  Martin Buchholz <martin@xemacs.org>
3691
3692         * XEmacs 21.2.39 is released.
3693
3694 2000-12-29  Andy Piper  <andy@xemacs.org>
3695
3696         * menubar.c (menubar_visible_p_changed): signal the frame changed.
3697
3698         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
3699         the frame has changed so that we pick up geometry changes such as
3700         menubar visibility.
3701
3702 2000-12-28  Andy Piper  <andy@xemacs.org>
3703
3704         * lastfile.c (my_ebss): make a char array so we can pad the
3705         bss. Fixes cygwin unexec.
3706
3707         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
3708
3709 2000-12-26  Andy Piper  <andy@xemacs.org>
3710
3711         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
3712         comments and try and be more precise about a non-/SIGIO world.
3713         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
3714         SIGIO.
3715
3716         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
3717         we don't normalize to zero width or height.
3718
3719 2000-12-24  Andy Piper  <andy@xemacs.org>
3720
3721         * Makefile.in.in (ldflags): add -mwindows when appropriate.
3722
3723 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
3724
3725         * s/sco5.h: SCO 5 has pty support.
3726
3727 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
3728
3729         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
3730         input-method-xlib.c contains whole contents of input-method-xfs.c,
3731         so we can use input-method-xlib.c's code for USE_XFONTSET
3732         using #ifdefs.
3733         * input-method-xfs.c: removed.
3734
3735 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
3736
3737         * file-coding.h (enum coding_category_type): reorder enumerators to
3738         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
3739         (now one greater than largest real coding_category_type enumerator).
3740         * file-coding.c (coding_category_symbol, coding_category_by_priority,
3741         coding_category_system, fcd_descriptihon_1, decode_coding_category,
3742         Fcoding_category_list, Fset_coding_priority_list,
3743         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
3744         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
3745
3746 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3747
3748         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
3749         * redisplay-output.c (redisplay_output_window): Clear top of window
3750         when face is changed.
3751         * redisplay-x.c (x_redraw_exposed_window): Call
3752         redisplay_clear_top_of_window.
3753         * redisplay.h: Publish redisplay_clear_top_of_window.
3754
3755 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3756
3757         * buffer.c (Fkill_buffer): Map over all devices.
3758         * window.c (window_loop): Remove UNSHOW_BUFFER code.
3759         (list_windows): New function.
3760         (list_all_windows): Ditto.
3761         (Freplace_buffer_in_windows): Use them.
3762
3763 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3764
3765         * database.c (berkdb_subtype): Recognize new subtype `queue'.
3766         (Fopen_database): Use `db_create' instead of `db_open'.
3767         (syms_of_database): Initialize Qqueue.
3768
3769 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3770
3771         * buffer.c (common_init_complex_vars_of_buffer): Initialize
3772         buffer_local_face_property.
3773         * buffer.h (struct buffer): New member buffer_local_face_property.
3774         * window.c (Fset_window_buffer):  Mark window's face as changed
3775         when buffer has buffer local face.
3776         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
3777         * objects.c (color_after_change): Set buffer_local_face_property
3778         when locale of face specifier is buffer.
3779         * objects.c (font_after_change): Ditto.
3780         * objects.c (face_boolean_after_change): Ditto.
3781         * glyphs.c (image_after_change): Ditto.
3782
3783 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3784
3785         * nt.c (mswindows_fstat): Report file permissions, volume serial
3786         number, etc. Code adapted from FSF Emacs 20.7.
3787
3788 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3789
3790         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
3791         of stat when we don't have symbolic links, to make sure
3792         mswindows_stat is called on mswindows.
3793
3794 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
3795
3796         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
3797
3798 2000-12-12  Martin Buchholz  <martin@xemacs.org>
3799
3800         * doprnt.c (emacs_doprnt_1): More printing fixes.
3801         Make printing of numbers compatible with libc and FSF Emacs.
3802         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
3803         Use the system printf to do most of the hard work of formatting,
3804         instead of doprnt_1().
3805         Calculate memory to allocate for format string.
3806         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
3807         (doprnt_1): Cleaner code and documentation.
3808
3809 2000-12-01  Jerry James  <james@eecs.ukans.edu>
3810
3811         * Makefile.in.in: Use the loop variable to install headers.
3812
3813 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3814
3815         * window.c (Fsplit_window): Don't invalidate face cache.
3816
3817 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3818
3819         * minibuf.c (Fall_completions): Undo the previous change
3820         which removed checking elements start with space.
3821
3822 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3823
3824         * mule-canna.c: Didier suppression.
3825
3826 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3827
3828         * mule-canna.c: rename static unsigned char buf[] to key_buffer
3829         (warning suppression).  Add English comment translations.
3830
3831 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3832
3833         * unexelfsgi.c (unexec): Better test for mmap failure.
3834
3835 2000-12-05  Martin Buchholz <martin@xemacs.org>
3836
3837         * XEmacs 21.2.38 is released.
3838
3839 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3840
3841         * redisplay.c (bar-cursor): Make a user variable.
3842
3843         * symsinit.h: Add init_postgresql_from_environment.
3844
3845 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3846
3847         * regex.c: Convert to clean C.
3848
3849 2000-12-05  Dan Holmsand  <dan@eyebee.com>
3850
3851         * realpath.c:
3852         Don't #include sysfile.h. Revert to duplicating PATH_MAX
3853         initialization.
3854         (sys_readlink): renamed to system_readlink to avoid conflict with
3855         the other sys_readlink.
3856
3857 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
3858
3859         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
3860
3861 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
3862
3863         * postgresql.c (init_postgresql_from_environment): new function.
3864         (vars_of_postgresql): Move code initializing Lisp variables out and
3865         into init_postgresql_from_environment.
3866         emacs.c (main_1): Call init_postgresql_from_environment if and only
3867         if running a dumped XEmacs.
3868
3869 2000-08-31  Dan Holmsand  <dan@eyebee.com>
3870
3871         * buffer.c: Make find-file-compare-truenames default to true on
3872         windows.
3873
3874         * realpath.c (win32_abs_start):
3875         (cygwin_readlink):
3876         (win32_readlink): New functions.
3877         (xrealpath): Return really real filenames on windows.
3878
3879         * fileio.c (Ffile_truename): Make file-truename work on windows.
3880
3881 2000-11-29  Didier Verna  <didier@xemacs.org>
3882
3883         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
3884         * faces.c (update_face_cachel_data): use it.
3885         * faces.c (add_face_cachel): use it. Complete background pixmap
3886         frobbing in face cache if `update_face_cachel_data' has not done so.
3887
3888 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
3889
3890         * search.c (string_match_1): Don't set last_thing_searched
3891         when search failed.
3892
3893 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
3894
3895         * buffer.c: Include casetab.h
3896         (common_init_complex_vars_of_buffer): Use new case-table object.
3897         * buffer.h: Include casetab.h
3898         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
3899         (DOWNCASE_TABLE_OF): Ditto.
3900         * bufslots.h: Remove char-tables and add case-table.
3901         * casetab.c: Include casetab.h
3902         (CASE_TABLE_P): Removed.
3903         (mark_case_table): New function.
3904         (allocate_case_table): New function.
3905         (Fcase_table_p): Use new case-table.
3906         (case_table_char): New function.
3907         (Fget_case_table): Ditto.
3908         (Fput_case_table): Ditto.
3909         (Fput_case_table_pair): Ditto.
3910         (Fcopy_case_table): Ditto.
3911         (Fcurrent_case_table): Return case-table.
3912         (Fstandard_case_table): Return case-table.
3913         (Fset_case_table): Fix doc-string.
3914         (set_case_table): Use case-table
3915         (syms_of_casetab): DEFSUBR new functions.
3916         (complex_vars_of_casetab): Set up standard case-table.
3917         * casetab.h: New file.
3918         * editfns.c: Include casetab.h
3919         (Fcompare_buffer_substrings): Use case-table.
3920         * inline.c: Include casetab.h
3921         * lisp.h: Remove bogus extern.
3922         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
3923         * search.c: Include casetab.h
3924         (TRANSLATE_ASCII): Removed.
3925         (TRANSLATE): Unconditionally translate character.
3926         (looking_at_1): Use case-table.
3927         (string_match_1): Ditto.
3928         (fast_string_match): Ditto.
3929         (search_command): Ditto.
3930         (search_buffer): Separate boyer_moore.  Check whether
3931         boyer_moore is poosible.
3932         (simple_search): New function.
3933         (boyer_moore): Separated from search_buffer. Translate char.
3934
3935 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
3936
3937         * regex.c (RE_TR_ASCII): Removed.
3938         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
3939         (PATFETCH): Call PATFETCH_RAW.
3940         (PATFETCH_RAW): Fetch Emchar.
3941         (PATUNFETCH): Decrement charptr.
3942         (GET_BUFFER_SPACE): Rename b to buf_end.
3943         (BUF_PUSH): Ditto.
3944         (BUF_PUSH_2): Ditto.
3945         (BUF_PUSH_3): Ditto.
3946         (EXTEND_BUFFER): Ditto.
3947         (SET_LIST_BIT): Ditto.
3948         (regex_compile): Ditto.  Translate non ASCII char.
3949         (compile_range): Ditto.
3950         (re_search_2): Ditto.
3951         (re_match_2_internal): Compare Emchar.
3952         (bcmp_translate): Ditto.
3953
3954 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
3955
3956         * lisp.h (basic char/int typedefs):  comment improvement.
3957
3958 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
3959
3960         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
3961         unstomp inhibit_site_lisp.  Improve comments.
3962
3963 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
3964
3965         * mule-charset.c (Fcharset_property):  improve type checking, comments.
3966
3967 2000-11-28  Andy Piper  <andy@xemacs.org>
3968
3969         * redisplay-output.c (redisplay_output_subwindow): make sure we do
3970         clipped display for windows in the gutter also.
3971         (redisplay_display_boxes_in_window_p): change semantics of return
3972         codes to be more intuitive.
3973
3974         * gutter.h: declare display_boxes_in_gutter_p.
3975
3976         * gutter.c (display_boxes_in_gutter_p): new function for
3977         redisplay.
3978
3979 2000-11-22  Andy Piper  <andy@xemacs.org>
3980
3981         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
3982         autodetect domain.
3983
3984 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
3985
3986         * callproc.c (Fold_call_process_internal):
3987         * gpm.c (Freceive_gpm_event):
3988         (tty_get_foreign_selection): Might be just warning supression.
3989         * fileio.c (Fwrite_region_internal):
3990         (Fset_visited_file_modtime):
3991         * keymap.c (event_matches_key_specifier_p):
3992         Initialize GCPROed variable.
3993
3994         * menubar-x.c (command_builder_find_menu_accelerator):
3995         Initialize before use.
3996
3997 2000-11-23  Andy Piper  <andy@xemacs.org>
3998
3999         * unexcw.c (unexec): make the resulting executable executable.
4000
4001 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4002
4003         * doc.c (get_doc_string):
4004         Use size_t, not int, for result of XSTRING_LENGTH.
4005
4006         * cmds.c (Fdelete_char):
4007         * cmds.c (Fpoint_at_eol):
4008         * cmds.c (Fself_insert_command):
4009         Use EMACS_INT, not int, for result of XINT.
4010         Someday, someone will want to insert more than 2**31 identical characters.
4011
4012         * cmds.c (Fdelete_char):
4013         * cmds.c (Fdelete_backward_char):
4014         * syntax.c (Fforward_word):
4015         * syntax.c (Fforward_comment):
4016         Make COUNT argument optional, for consistency with forward-char et al.
4017
4018 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4019
4020         * lisp.h:
4021         * print.c (long_to_string):
4022         Return a useful value: the pointer at end of data written.
4023
4024         * doprnt.c:
4025         Use `static const char * const' for constant strings.
4026         (union printf_arg): Delete `i', `ui' members.
4027         (get_doprnt_args):
4028         (emacs_doprnt_1):
4029         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4030         Do all printf-ing via the `l' specifier.
4031         Use EMACS_INT instead of int.
4032         Optimize.
4033
4034 2000-11-20  Didier Verna  <didier@xemacs.org>
4035
4036         * faces.c (update_face_cachel_data): don't frob the background
4037         pixmap when the window is being created. The face is needed but
4038         does not exist yet.
4039
4040 2000-11-20  Andy Piper  <andy@xemacs.org>
4041
4042         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4043         messing with a debug environment.
4044
4045 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4046
4047         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4048
4049 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4050
4051         * casetab.c (Fcase_table_p): Fix compile error and crash.
4052
4053 2000-11-18  Philip Aston  <philipa@mail.com>
4054
4055         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4056
4057 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4058
4059         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4060         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4061
4062 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4063
4064         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4065         * unexelf.c: Use HAVE_ELF_H.
4066         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4067         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4068         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4069         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4070         for testing.
4071         So this is an unexelfsgi.c from a different line of development.
4072
4073 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4074
4075         * regex.c (RE_TR_ASCII): New function.
4076         (RE_TRANSLATE): Call it.
4077
4078 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4079
4080         * buffer.h (TRT_TABLE_OF): Remove assert.
4081         (IN_TRT_TABLE_DOMAIN): Removed.
4082
4083 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4084
4085         * free-hook.c (log_gcpro):
4086         (show_gcprohist): Add support for GCPRO5.
4087
4088 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4089
4090         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4091
4092 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4093
4094         * symeval.h: Declare flush_all_buffer_local_cache.
4095
4096         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4097         (flush_buffer_local_cache): Added.
4098         (flush_all_buffer_local_cache): Added.
4099
4100         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4101
4102         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4103         (pdump_dump_data): Ditto.
4104         (pdump_reloc_one): Ditto.
4105         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4106         before dumping.
4107
4108
4109 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4110
4111         * buffer.c: Remove if 0'ed entry.
4112         * buffer.h: Rewrite TRT to use char-table.
4113         * bufslots.h: Remove mirror tables.
4114         * casetab.c: Remove mirror tables.
4115         (CASE_TABLE_P): New macro.
4116         (Fcase_table_p): Element of a case table is string or char-table.
4117         (make_mirror_trt_table): Removed.
4118         (set_case_table): Setup char-table from strings for backward
4119         compatibility.
4120         * dired.c (Fdirectory_files):
4121         * dired-msw.c: (mswindows_get_files):
4122         * lisp.h: Change prototype of re_pattern_buffer.
4123         * regex.c: (RE_TRANSLATE): New macro.
4124         (TRANSLATE_P): Ditto.
4125         Change translate to type RE_TRANSLATE_TYPE.
4126         * regex.h: Define RE_TRANSLATE_TYPE
4127         * search.c (TRANSLATE): New macro.
4128         (TRANSLATE_ASCII): New macro.
4129         Translate table is changed to Lisp_Object.
4130         (signal_failure): Inhibit return.
4131
4132 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4133
4134         * device-msw.c:
4135         * eldap.c:
4136         * event-Xt.c:
4137         * event-stream.c:
4138         * print.c:
4139         Do UNGCPRO before return.
4140
4141 2000-11-14  Martin Buchholz <martin@xemacs.org>
4142
4143         * XEmacs 21.2.37 is released.
4144
4145 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4146
4147         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4148         Add comments about discarded return value.
4149
4150 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4151
4152         * callint.c:
4153         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4154
4155 2000-10-27  Andy Piper  <andy@xemacs.org>
4156
4157         * gutter.c (Fset_default_gutter_position): default left and right
4158         gutters to visible.
4159         (calculate_gutter_size): calculate resonable heuristic for left
4160         and right gutter sizes.
4161         (specifier_vars_of_gutter): change left and right gutter sizes to
4162         autodetect.
4163         (calculate_gutter_size_from_display_lines): new function.
4164         (output_gutter): check for resizing on left and right gutters.
4165         (clear_gutter): don't special case top and left gutters.
4166         (specifier_vars_of_gutter): use new signature for
4167         set_specifier_caching.
4168
4169         * glyphs-x.c (x_redisplay_widget): spelling fix.
4170         * glyphs.c (specifier_vars_of_glyphs):
4171         * menubar.c (specifier_vars_of_menubar):
4172         * redisplay.c (specifier_vars_of_redisplay):
4173         * toolbar.c (specifier_vars_of_toolbar):
4174         * window.c (specifier_vars_of_window):
4175         * scrollbar.c (specifier_vars_of_scrollbar):
4176         (complex_vars_of_scrollbar): use new signature for
4177         set_specifier_caching.
4178
4179         * specifier.c (set_specifier_caching): include recompute flag.
4180         (recompute_one_cached_specifier_in_window): always recompute if
4181         flag set.
4182         (recompute_one_cached_specifier_in_frame): ditto.
4183
4184         * specifier.h (struct specifier_caching): add recompute flag.
4185
4186 2000-10-24  Andy Piper  <andy@xemacs.org>
4187
4188         * unexcw.c (copy_executable_and_dump_data_section): add new
4189         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4190         5.0 happy.
4191
4192 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4193
4194         * console-x.h (x_device): New member modifier_release_time.
4195         * event-Xt.c (x_handle_sticky_modifiers):
4196         Bound interval modifier keys are sticky.
4197         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4198         * events.h: extern it.
4199
4200 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4201
4202         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4203
4204 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4205
4206         * event-stream.c (execute_command_event): Preserve current_events
4207         and the like when event is misc-user-event.
4208         Inhibit quit during the call to maybe_echo_keys.
4209
4210 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4211
4212         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4213         symlink when buffer is killed.
4214         (inhibit_clash_detection): New variable.
4215
4216 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4217
4218         * console.c (Fset_input_method): Trigger redisplay on tty.
4219
4220 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4221
4222         * process.c (Fprocess_status): Revert to previous behavior:
4223         (process-status "nosuchprocess") ==> nil
4224
4225 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4226
4227         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4228         Work around another GCC 2.95.2 optimizer bug.
4229
4230 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4231
4232         * process.c (Fget_process): Use LIST_LOOP_2.
4233         (kill_buffer_processes): Use LIST_LOOP_2.
4234
4235         * minibuf.c (Fall_completions):
4236         Delete old non-functional code for FSF fourth argument.
4237
4238         * frame.c (frame_matches_frame_spec):
4239         Renamed from `frame_matches_frametype'.  Update all callers.
4240         (device_matches_device_spec):
4241         Renamed from 'device_matches_console_spec'.  Update all callers.
4242
4243         * doc.c (Fsubstitute_command_keys):
4244         Remove buffer overflow crash.  Small code cleanups.
4245
4246         * casetab.c (check_case_table): Simpler code.
4247
4248         * window.c (Freplace_buffer_in_windows):
4249         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4250         (and similar implementation) as Fdelete_windows_on.
4251         Update all callers.
4252
4253         * alloc.c (Fmake_list):
4254         * alloc.c (make_vector):
4255         * alloc.c (Fmake_vector):
4256         * alloc.c (make_bit_vector):
4257         * alloc.c (Fmake_bit_vector):
4258         * alloc.c (Fbit_vector):
4259         * alloc.c (Fmake_string):
4260         * alloc.c (Fpurecopy):
4261         * alloc.c (Fmemory_limit):
4262         * buffer.c:
4263         * buffer.c (Fget_buffer):
4264         * buffer.c (Fkill_buffer):
4265         * buffer.c (complex_vars_of_buffer):
4266         * bytecode.c (Fcompiled_function_stack_depth):
4267         * callint.c (Fprefix_numeric_value):
4268         * event-stream.c:
4269         * event-stream.c (Fread_key_sequence):
4270         * casetab.c:
4271         * casetab.c (Fcase_table_p):
4272         * casetab.c (check_case_table):
4273         * casetab.c (Fset_case_table):
4274         * casetab.c (Fset_standard_case_table):
4275         * chartab.c:
4276         * chartab.c (Fchar_table_type):
4277         * chartab.c (Freset_char_table):
4278         * chartab.c (Fget_char_table):
4279         * chartab.c (Fget_range_char_table):
4280         * chartab.c (Fput_char_table):
4281         * chartab.c (Fmap_char_table):
4282         * chartab.c (Fcategory_table_p):
4283         * chartab.c (Fcheck_category_at):
4284         * chartab.c (Fchar_in_category_p):
4285         * chartab.c (Fcategory_table):
4286         * chartab.c (Fcopy_category_table):
4287         * chartab.c (Fset_category_table):
4288         * chartab.c (Fcategory_designator_p):
4289         * chartab.c (Fcategory_table_value_p):
4290         * cmds.c (Fdelete_char):
4291         * cmds.c (Fdelete_backward_char):
4292         * cmds.c (Fself_insert_command):
4293         * cmds.c (Fself_insert_internal):
4294         * console.c (Fvalid_console_type_p):
4295         * console.c (Fcdfw_console):
4296         * console.c (Fconsole_type):
4297         * console.c (Fconsole_name):
4298         * console.c (Fconsole_device_list):
4299         * console.c (Fconsole_on_window_system_p):
4300         * data.c:
4301         * data.c (Feq):
4302         * data.c (Fold_eq):
4303         * data.c (Fsubr_interactive):
4304         * data.c (Fchar_to_int):
4305         * data.c (Fint_to_char):
4306         * data.c (Fsetcar):
4307         * data.c (Fsetcdr):
4308         * data.c (Fnumber_to_string):
4309         * data.c (Fstring_to_number):
4310         * data.c (Frem):
4311         * database.c (mark_database):
4312         * database.c (finalize_database):
4313         * database.c (Fdatabase_live_p):
4314         * database.c (Fdatabasep):
4315         * device-x.c (Fx_get_resource):
4316         * device.c (Fdfw_device):
4317         * dired.c:
4318         * dired.c (Ffile_name_completion):
4319         * dired.c (Ffile_name_all_completions):
4320         * dired.c (Fuser_name_completion):
4321         * dired.c (Fuser_name_completion_1):
4322         * dired.c (Fuser_name_all_completions):
4323         * doc.c (Fdocumentation):
4324         * doc.c (Fdocumentation_property):
4325         * doc.c (Fsubstitute_command_keys):
4326         * editfns.c:
4327         * editfns.c (Fchar_to_string):
4328         * editfns.c (Fstring_to_char):
4329         * editfns.c (Ftemp_directory):
4330         * editfns.c (Finsert_char):
4331         * editfns.c (Fbuffer_substring_no_properties):
4332         * editfns.c (Fnarrow_to_region):
4333         * editfns.c (Fchar_equal):
4334         * editfns.c (Fchar_Equal):
4335         * editfns.c (Ftranspose_regions):
4336         * emacs.c (Fdump_emacs):
4337         * eval.c (Fthrow):
4338         * eval.c (Fcommand_execute):
4339         * eval.c (Fautoload):
4340         * eval.c (Fbacktrace):
4341         * eval.c (Fbacktrace_frame):
4342         * events.c:
4343         * events.c (Fcopy_event):
4344         * events.c (Fcharacter_to_event):
4345         * events.c (Fevent_button):
4346         * events.c (Fevent_process):
4347         * extents.c:
4348         * extents.c (Fnext_extent_change):
4349         * extents.c (Fextent_property):
4350         * faces.c (Ffacep):
4351         * faces.c (Fmake_face):
4352         * file-coding.c:
4353         * file-coding.c (Fencode_shift_jis_char):
4354         * file-coding.c (Fencode_big5_char):
4355         * fileio.c (Ffile_name_directory):
4356         * fileio.c (Ffile_name_nondirectory):
4357         * fileio.c (Ffile_name_as_directory):
4358         * fileio.c (Fdirectory_file_name):
4359         * fileio.c (Ffile_truename):
4360         * fileio.c (Fsubstitute_in_file_name):
4361         * fileio.c (Ffile_modes):
4362         * fileio.c (Fset_file_modes):
4363         * fileio.c (Fset_default_file_modes):
4364         * fileio.c (Fverify_visited_file_modtime):
4365         * floatfns.c (Facos):
4366         * floatfns.c (Fasin):
4367         * floatfns.c (Fatan):
4368         * floatfns.c (Fcos):
4369         * floatfns.c (Fsin):
4370         * floatfns.c (Ftan):
4371         * floatfns.c (Fbessel_j0):
4372         * floatfns.c (Fbessel_j1):
4373         * floatfns.c (Fbessel_jn):
4374         * floatfns.c (Fbessel_y0):
4375         * floatfns.c (Fbessel_y1):
4376         * floatfns.c (Fbessel_yn):
4377         * floatfns.c (Ferf):
4378         * floatfns.c (Ferfc):
4379         * floatfns.c (Flog_gamma):
4380         * floatfns.c (Fexp):
4381         * floatfns.c (Fexpt):
4382         * floatfns.c (Flog):
4383         * floatfns.c (Flog10):
4384         * floatfns.c (Fsqrt):
4385         * floatfns.c (Fcube_root):
4386         * floatfns.c (Facosh):
4387         * floatfns.c (Fasinh):
4388         * floatfns.c (Fatanh):
4389         * floatfns.c (Fcosh):
4390         * floatfns.c (Fsinh):
4391         * floatfns.c (Ftanh):
4392         * floatfns.c (Fabs):
4393         * floatfns.c (Ffloat):
4394         * floatfns.c (Flogb):
4395         * floatfns.c (Fceiling):
4396         * floatfns.c (Ffloor):
4397         * floatfns.c (Fround):
4398         * floatfns.c (Ftruncate):
4399         * floatfns.c (Ffceiling):
4400         * floatfns.c (Fffloor):
4401         * floatfns.c (Ffround):
4402         * floatfns.c (Fftruncate):
4403         * fns.c (Fstring_equal):
4404         * fns.c (Fstring_lessp):
4405         * fns.c (concat2):
4406         * fns.c (concat3):
4407         * fns.c (vconcat2):
4408         * fns.c (vconcat3):
4409         * fns.c (Fsubstring):
4410         * fns.c (Fassoc):
4411         * fns.c (Fold_assoc):
4412         * fns.c (assoc_no_quit):
4413         * fns.c (Fassq):
4414         * fns.c (Fold_assq):
4415         * fns.c (assq_no_quit):
4416         * fns.c (Frassoc):
4417         * fns.c (Fold_rassoc):
4418         * fns.c (Frassq):
4419         * fns.c (Fold_rassq):
4420         * fns.c (rassq_no_quit):
4421         * fns.c (Fremassoc):
4422         * fns.c (remassoc_no_quit):
4423         * fns.c (Fremassq):
4424         * fns.c (remassq_no_quit):
4425         * fns.c (Fremrassoc):
4426         * fns.c (Fremrassq):
4427         * fns.c (remrassq_no_quit):
4428         * fns.c (Fsort):
4429         * fns.c (Fplist_get):
4430         * fns.c (Fplist_put):
4431         * fns.c (Fplist_remprop):
4432         * fns.c (Fplist_member):
4433         * fns.c (Flax_plist_get):
4434         * fns.c (Flax_plist_put):
4435         * fns.c (Flax_plist_remprop):
4436         * fns.c (Flax_plist_member):
4437         * fns.c (Fequal):
4438         * fns.c (Fold_equal):
4439         * fns.c (Frequire):
4440         * fns.c (Fbase64_encode_region):
4441         * fns.c (Fbase64_encode_string):
4442         * fns.c (Fbase64_decode_region):
4443         * frame.c:
4444         * frame.c (frame_matches_frame_spec):
4445         * frame.c (device_matches_device_spec):
4446         * frame.c (next_frame):
4447         * frame.c (previous_frame):
4448         * frame.c (Fnext_frame):
4449         * frame.c (Fprevious_frame):
4450         * frame.c (Fframe_property):
4451         * frame.c (Fset_frame_height):
4452         * frame.c (Fset_frame_size):
4453         * frame.h:
4454         * glyphs.c:
4455         * glyphs.c (if):
4456         * glyphs.c (decode_error_behavior_flag):
4457         * glyphs.c (Fmake_image_instance):
4458         * indent.c (Findent_to):
4459         * intl.c (Fignore_defer_gettext):
4460         * keymap.c (Fkeymapp):
4461         * keymap.c (Flookup_key):
4462         * lread.c:
4463         * lread.c (Fload_internal):
4464         * lread.c (Feval_buffer):
4465         * lread.c (Feval_region):
4466         * macros.c (Fexecute_kbd_macro):
4467         * marker.c (set_marker_internal):
4468         * marker.c (Fset_marker):
4469         * marker.c (set_marker_restricted):
4470         * marker.c (Fcopy_marker):
4471         * marker.c (noseeum_copy_marker):
4472         * menubar.c:
4473         * menubar.c (Fpopup_menu):
4474         * minibuf.c:
4475         * mule-charset.c (Fcharset_name):
4476         * mule-charset.c (Fchar_charset):
4477         * mule-charset.c (Fchar_octet):
4478         * mule-charset.c (Fsplit_char):
4479         * mule-wnnfns.c (Fwnn_open):
4480         * mule-wnnfns.c (Fwnn_dict_comment):
4481         * mule-wnnfns.c (Fwnn_quit_henkan):
4482         * mule-wnnfns.c (Fwnn_word_toroku):
4483         * mule-wnnfns.c (Fwnn_word_sakujo):
4484         * mule-wnnfns.c (Fwnn_word_use):
4485         * mule-wnnfns.c (Fwnn_hindo_set):
4486         * objects.c:
4487         * objects.c (Fmake_color_instance):
4488         * objects.c (Fmake_font_instance):
4489         * print.c (Fwrite_char):
4490         * process.c:
4491         * process.c (mark_process):
4492         * process.c (print_process):
4493         * process.c (get_process_from_usid):
4494         * process.c (Fprocessp):
4495         * process.c (Fprocess_live_p):
4496         * process.c (Fget_process):
4497         * process.c (Fget_buffer_process):
4498         * process.c (get_process):
4499         * process.c (Fprocess_id):
4500         * process.c (Fprocess_name):
4501         * process.c (Fprocess_command):
4502         * process.c (init_process_io_handles):
4503         * process.c (start_process_unwind):
4504         * process.c (Fstart_process_internal):
4505         * process.c (Fopen_multicast_group_internal):
4506         * process.c (Fset_process_window_size):
4507         * process.c (read_process_output):
4508         * process.c (send_process):
4509         * process.c (Fprocess_tty_name):
4510         * process.c (Fset_process_buffer):
4511         * process.c (Fprocess_buffer):
4512         * process.c (Fprocess_mark):
4513         * process.c (set_process_filter):
4514         * process.c (Fset_process_filter):
4515         * process.c (Fprocess_filter):
4516         * process.c (Fprocess_send_region):
4517         * process.c (Fprocess_send_string):
4518         * process.c (exec_sentinel):
4519         * process.c (Fset_process_sentinel):
4520         * process.c (Fprocess_sentinel):
4521         * process.c (status_notify):
4522         * process.c (Fprocess_status):
4523         * process.c (Fprocess_exit_status):
4524         * process.c (process_send_signal):
4525         * process.c (Fprocess_send_eof):
4526         * process.c (deactivate_process):
4527         * process.c (remove_process):
4528         * process.c (Fdelete_process):
4529         * process.c (kill_buffer_processes):
4530         * process.c (Fprocess_kill_without_query):
4531         * process.c (Fprocess_kill_without_query_p):
4532         * rangetab.c:
4533         * rangetab.c (Fget_range_table):
4534         * rangetab.c (Fput_range_table):
4535         * rangetab.c (Fremove_range_table):
4536         * rangetab.c (Fclear_range_table):
4537         * search.c:
4538         * search.c (Fskip_chars_forward):
4539         * search.c (Fskip_chars_backward):
4540         * search.c (Fskip_syntax_forward):
4541         * search.c (Fskip_syntax_backward):
4542         * search.c (search_command):
4543         * search.c (Freplace_match):
4544         * search.c (Fregexp_quote):
4545         * select.c (Fown_selection_internal):
4546         * select.c (Fselection_owner_p):
4547         * select.c (Fselection_exists_p):
4548         * select.c (Fget_selection_internal):
4549         * specifier.c:
4550         * symbols.c:
4551         * symbols.c (Fintern):
4552         * symbols.c (Fintern_soft):
4553         * symbols.c (Funintern):
4554         * symbols.c (Fapropos_internal):
4555         * symbols.c (Fset_default):
4556         * syntax.c:
4557         * syntax.c (Fsyntax_table_p):
4558         * syntax.c (Fcopy_syntax_table):
4559         * syntax.c (Fset_syntax_table):
4560         * syntax.c (Fchar_syntax):
4561         * syntax.c (syntax_match):
4562         * syntax.c (Fmatching_paren):
4563         * syntax.c (Fforward_word):
4564         * syntax.c (scan_lists):
4565         * syntax.c (Fscan_lists):
4566         * syntax.c (Fscan_sexps):
4567         * syntax.c (Fparse_partial_sexp):
4568         * toolbar.c (Fcheck_toolbar_button_syntax):
4569         * tooltalk.doc:
4570         * window.c:
4571         * window.c (Fwindowp):
4572         * window.c (Fwindow_live_p):
4573         * window.c (Fwindow_point):
4574         * window.c (Fdelete_window):
4575         * window.c (Fnext_window):
4576         * window.c (Fprevious_window):
4577         * window.c (Fother_window):
4578         * window.c (window_loop):
4579         * window.c (Fget_lru_window):
4580         * window.c (Fsplit_window):
4581         * window.c (Fenlarge_window):
4582         * window.c (Fenlarge_window_pixels):
4583         * window.c (Fshrink_window):
4584         * window.c (Fshrink_window_pixels):
4585         * window.c (change_window_height):
4586         * window.c (Fwindow_configuration_p):
4587         * window.c (Fcurrent_window_configuration):
4588         * window.h:
4589         * casefiddle.c (casify_object):
4590         * casefiddle.c (Fupcase):
4591         * casefiddle.c (Fdowncase):
4592         * casefiddle.c (Fcapitalize):
4593         * casefiddle.c (Fupcase_initials):
4594         * casefiddle.c (casify_region_internal):
4595         * casefiddle.c (casify_region):
4596         * casefiddle.c (Fupcase_region):
4597         * casefiddle.c (Fdowncase_region):
4598         * casefiddle.c (Fcapitalize_region):
4599         * casefiddle.c (Fupcase_initials_region):
4600         * casefiddle.c (Fupcase_word):
4601         * casefiddle.c (Fdowncase_word):
4602         * casefiddle.c (Fcapitalize_word):
4603         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4604         Replace 0 with '\0' when working with bytes.
4605         Replace initial "(" with "\(" in docstrings.
4606
4607 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4608
4609         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4610
4611         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4612
4613 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4614
4615         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4616
4617 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4618
4619         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4620         correctly.
4621
4622 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4623
4624         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4625         (inhibit_auto_save_session): New variable.
4626         (vars_of_fileio): Declare and initialize them.
4627         * fileio.c (Fdo_auto_save): Don't create session file if
4628         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4629
4630 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4631
4632         * sgiplay.c (play_internal): C++ compilability.
4633         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4634         * callproc.c (Fold_call_process_internal):
4635         Remove unused vars `env', `first'.
4636         * scrollbar.c (update_scrollbar_instance):
4637         #### unused var `current_window'.
4638         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4639         etc. within #ifdef NOT_YET.
4640         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4641         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4642         * specifier.c (specifier_instance):
4643         #### unused var `tag'.
4644         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4645
4646 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4647
4648         * fns.c (Fbutlast):
4649         * fns.c (list_sort):
4650         * fns.c (Ffillarray):
4651         * fns.c (bytecode_nconc2):
4652         * fns.c (Fnconc):
4653         * fns.c (mapcar1):
4654         * fns.c (Fmapconcat):
4655         Be pedantically 64-bit correct.  For the time when someone will
4656         want to have a list with length > 2**32.
4657
4658         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4659         Work around MIPSpro compiler bug.
4660
4661         * process-unix.c (unix_kill_child_process): Add snarky comment.
4662         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4663
4664         * config.h.in: Oops, _getpt ==> _getpty
4665
4666 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4667
4668         * config.h.in:
4669         * regex.c:
4670         Use void*, not char*, as return type of alloca().
4671
4672         * alloc.c (free_marker): Side effect inside assert expression!
4673
4674 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4675
4676         * mule-charset.c (Fset_charset_ccl_program): To check
4677         if the given ccl program is valid, use setup_ccl_program()
4678         instead of CHECK_VECTOR().
4679         (Fmake_charset): Likewise.
4680
4681 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4682
4683         * faces.c (get_extent_fragment_face_cache_index):
4684         Fix cachel.merged_faces memory leak.
4685
4686 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
4687
4688         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
4689         Reset MSB of octets obtained by DECODE_SJIS
4690         because of the incompatibility with Emacs.
4691         (ccl_driver)<CCL_ENCODE_SJIS>:
4692         Set MSB of octets before passing them to
4693         ENCODE_SJIS because of the incompatibility
4694         with Emacs.
4695
4696 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
4697
4698         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
4699         (DECLARE_LRECORD): Undo the last change.
4700         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
4701
4702 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
4703
4704         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
4705         the implementation to lrecord_implementations_table.
4706
4707 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
4708
4709         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
4710         initial value of `lrecord_type_##c_name' and
4711         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
4712         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
4713         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
4714         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
4715         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
4716
4717 2000-10-17  Martin Buchholz  <martin@xemacs.org>
4718
4719         * miscplay.c (sndcnv8S_2mono):
4720         (sndcnv2monounsigned):
4721         (sndcnvULaw_2linear):
4722         (sndcnv16swap):
4723         Remove implementation-defined behavior.
4724
4725 2000-10-12  Martin Buchholz  <martin@xemacs.org>
4726
4727         * input-method-xlib.c: Warning suppression.
4728
4729 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
4730
4731         * mule-ccl.c: Sync up with Emacs 21.0.90.
4732         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
4733         Do nothing.
4734         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
4735         Likewise.
4736         (ccl_driver[WriteMultibyteChar2]): Bug fix.
4737         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
4738         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
4739         leading char belongs to official 2-dimensional charset.
4740         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
4741         write the given character as is.  Otherwise,
4742         if it is a multibyte char, convert it by
4743         non_ascii_set_charptr_emchar, then write it.
4744         (CCL_WRITE_STRING): Likewise.
4745         (ccl_get_compiled_code): New function.
4746         (setup_ccl_program): When ccl_prog is invalid,
4747         return -1.
4748         (Fregister_code_conversion_map): New function.
4749         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
4750
4751         * mule-ccl.h: Sync up with Emacs 21.0.90.
4752         (Fregister_ccl_program): export it.
4753
4754         * redisplay-msw.c (separate_textual_runs):
4755         If ccl program is not valid, don't do ccl conversion.
4756
4757         * redisplay-x.c (separate_textual_runs): Ditto.
4758
4759         * file-coding.c (Fmake_coding_system):
4760         When type is ccl and value is vector, register it
4761         with a proper symbol.  And checks whether the
4762         given ccl program is valid.
4763         (mule_decode): When calling ccl_driver, if src indicates
4764         NULL pointer, set an empty string instead.
4765         (mule_encode): Likewise.
4766
4767 2000-10-11  Martin Buchholz  <martin@xemacs.org>
4768
4769         The following large batch of changes gets us back to a state of
4770         C++ compilability.  Extbyte is now a char, which means that
4771         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
4772
4773         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
4774
4775         * sound.c (Fplay_sound): Type correctness.
4776
4777         * select-x.c (hack_motif_clipboard_selection): Type correctness.
4778         (x_get_window_property): Type correctness.
4779         (receive_incremental_selection): unsigned char ==> Extbyte
4780         (selection_data_to_lisp_data): unsigned char ==> Extbyte
4781         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
4782         (Fx_store_cutbuffer_internal): Type correctness.
4783
4784         * process-unix.c (try_to_initialize_subtty): Type correctness.
4785
4786         * objects-x.c (x_print_color_instance): Type correctness.
4787         (x_print_font_instance): Type correctness.
4788         (x_list_fonts): SExtbyte ==> Extbyte.
4789         (valid_x_font_name_p): SExtbyte ==> Extbyte.
4790         (x_find_charset_font): SExtbyte ==> Extbyte.
4791         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
4792         (truename_via_XListFonts): SExtbyte ==> Extbyte.
4793         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
4794         Use bufbyte_strcmp.
4795
4796         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
4797         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
4798         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
4799         (BYTE_C0_P): Use bit ops for char-signedness safety.
4800         (BYTE_C1_P): Use bit ops for char-signedness safety.
4801         (CHARSET_BY_LEADING_BYTE):
4802         (CHARSET_BY_ATTRIBUTES):
4803         Always use inline function.
4804         Use type_checking_assert.
4805         Hide chlook.
4806
4807         * mule-charset.c (non_ascii_charptr_copy_char):
4808         Modify to work with both ASCII and non-ASCII characters.
4809         Improve docs and variable names.
4810         Replace over-clever fall-through switch with a simple loop.
4811         (Lstream_get_emchar_1):
4812         Replace over-clever fall-through switch with a simple loop.
4813
4814         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4815         Warning suppression.
4816
4817         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
4818         the return value of Lstream_getc, which could be EOF as well.
4819
4820         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
4821
4822         * lisp.h: Make Extbyte a char, not unsigned char, so that external
4823         APIs can be used on Extbytes without casts.  Risky!
4824         (SExtbyte): Remove.
4825         (UExtbyte): Remove.
4826
4827         * input-method-xlib.c (XIM_init_device):
4828         Use Xlib.h instead of IntrinsicP.h.
4829         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
4830         which will break in X11R7.
4831         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
4832         to call XRegisterIMInstantiateCallback with correct types.
4833
4834         * gui-x.c (button_item_to_widget_value): Type correctness.
4835
4836         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
4837
4838         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
4839         (xbm_instantiate_1): Type correctness.
4840         (BUILD_GLYPH_INST):  Type correctness.
4841
4842         * fileio.c (Fsubstitute_in_file_name): Type correctness.
4843
4844         * file-coding.c:
4845         (decode_coding_sjis):
4846         (decode_coding_big5):
4847         (decode_coding_ucs4):
4848         (decode_coding_utf8):
4849         (decode_coding_iso2022):
4850         (decode_coding_no_conversion):
4851         Make all decoding functions take an Extbyte * arg.
4852         (encode_coding_sjis):
4853         (encode_coding_big5):
4854         (encode_coding_ucs4):
4855         (encode_coding_utf8):
4856         (encode_coding_iso2022):
4857         (encode_coding_no_conversion):
4858         Make all encoding functions take a Bufbyte * arg.
4859         Use size_t instead of unsigned int for memory sizes.
4860         Only cast to unsigned char whenever dereferencing Extbyte *.
4861
4862         * doc.c (unparesseuxify_doc_string): Type correctness.
4863
4864         * console-x.c (split_up_display_spec):
4865         Rewrite without using details of internal string representation.
4866         (x_semi_canonicalize_device_connection): Type correctness.
4867
4868         * config.h.in:
4869         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
4870         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
4871         (HAVE_XFREE386): Removed.
4872
4873         * buffer.h (DEC_CHARPTR): `const' correctness.
4874         (bufbyte_strcmp): New.
4875         (bufbyte_memcmp): New.
4876
4877         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
4878
4879         * buffer.h (XCHAR_OR_CHAR_INT):
4880         Always use inline function.
4881         Remove redundant type checking assert() - XINT will abort quite nicely.
4882
4883 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
4884
4885         * search.c (Freplace_match): Set newtext to an empty string.
4886
4887 2000-10-10  Martin Buchholz  <martin@xemacs.org>
4888
4889         * s/decosf1-3.h: Remove #include of stropts.h
4890         * s/ptx.h: Remove #include of stropts.h
4891         * s/usg5-4.h: Remove #include of stropts.h
4892         * sysproc.h:
4893         * config.h.in:
4894         Use stropts.h, not sys/stropts.h.
4895         Use strtio.h, not sys/strtio.h.
4896
4897 2000-10-04  Martin Buchholz <martin@xemacs.org>
4898
4899         * XEmacs 21.2.36 is released.
4900
4901 2000-09-21  Andy Piper  <andy@xemacs.org>
4902
4903         * glyphs-x.c (x_redisplay_widget): make sure non-structural
4904         changes still involve copying the widget tree.
4905         (update_widget_face): make sure a change is register in the widget
4906         tree. Call update_tab_widget_face appropriately.
4907         (update_tab_widget_face): ditto.
4908         (x_tab_control_redisplay): make sure non-structural changes still
4909         involve copying the widget tree.
4910
4911 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
4912
4913         * lread.c (locate_file): Check the path element is non-nil.
4914
4915 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4916
4917         * lisp.h: Warning suppression for SCO compilers.
4918
4919         * redisplay-tty.c (reset_tty_modes): Fix crash.
4920         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
4921
4922 2000-09-27  Martin Buchholz  <martin@xemacs.org>
4923
4924         Big signal/process handling overhaul.  Bugs fixed:
4925         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
4926         M-x comint-kill-subjob should work for both values nil and t of
4927         process-connection-type. It was broken on most platforms.
4928         Testing on Irix and Cygwin still needed.  Other plaforms tested.
4929         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
4930         * process-unix.c: Signal/Process handling overhaul.
4931         (pty_name): make 64 bytes, as `expect' does, for paranoia.
4932         (allocate_pty): Use all available modern methods of allocating
4933         ptys, falling back to old style BSD allocation as a last resort.
4934         Use allegedly more secure Unix98 pty allocation by default.
4935         (allocate_pty_the_old_fashioned_way): New. the last resort.
4936         (unix_create_process): Push ptem, ldterm, ttcompat where
4937         available.  Autoconfiscate.
4938         (try_to_initialize_subtty): New.
4939         (unix_kill_child_process): Proper signal handling for ptys on most
4940         platforms, using special knowledge of AIX, BSD, etc...
4941         (unix_create_process): Always disconnect_controlling_terminal() for
4942         subprocesses, whether using ptys or not.
4943         * process.h: Remove old getpt-dependent PTY code.
4944         * process.c (Fprocess_send_signal): New, obvious generic function.
4945         (decode_signal): New.
4946         (Finterrupt_process):
4947         (Fkill_process):
4948         (Fquit_process):
4949         (Fstop_process):
4950         (Fcontinue_process):
4951         (Fsignal_process): Use decode_signal.
4952         (process_send_signal):
4953         Many docstring corrections.
4954         Allow any signal to be sent to a process object.
4955         * config.h.in: Add symbols for big signal/process overhaul.
4956         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
4957         * sysproc.h: Include process-related headers, where available:
4958         sys/stropts.h sys/strtio.h pty.h libutil.h
4959         * s/irix4-0.h:
4960         * s/irix5-0.h:
4961         * s/cygwin32.h:
4962         * s/gnu.h:
4963         * s/linux.h:
4964         * s/hpux.h:
4965         * s/aix3-1.h:
4966         Remove old S&M pty stuff.
4967         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
4968         * systty.h: Simplify cpp hackery, improve comments.
4969         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
4970
4971         * editfns.c (Fformat_time_string):
4972         Be a little more paranoid with the return value of ctime.
4973
4974         * fileio.c (check_executable):
4975         (check_writable):
4976         Use symbolic constants X_OK, W_OK.
4977
4978         * console-x.c (split_up_display_spec): Fix a warning.
4979
4980 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4981
4982         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
4983         * ntproc.c (sys_spawnve): make_string ==> build_string
4984         Small clarity improvements.
4985
4986 2000-09-30  Martin Buchholz  <martin@xemacs.org>
4987
4988         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
4989
4990         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
4991
4992         * config.h.in (HAVE_STRCASECMP): Remove.
4993
4994 2000-09-29  Martin Buchholz  <martin@xemacs.org>
4995
4996         * redisplay-output.c (redisplay_output_pixmap):
4997         Cleaner and possibly more 64-bit correct code.
4998
4999 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5000
5001         * dumper.c (pdump_load_finish): move restoration of
5002         `noninteractive1' to emacs.c (main_1).
5003         * emacs.c (main_1): protect LISP-visible command-line flags
5004         from pdump_load().
5005
5006 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5007
5008         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5009         DUMP_TARGET instead of literal program names.
5010
5011 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5012
5013         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5014
5015 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5016
5017         * *: Spelling mega-patch
5018
5019 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5020
5021         * fns.c (bad_bad_turtle):
5022         Delete "Eek!" comment, since we fixed the bug to which it refers.
5023
5024 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5025
5026         * alloca.c: Replace REGISTER with register.
5027
5028 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5029
5030         * file-coding.c (ucs_to_char): Use countof.
5031
5032 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5033
5034         * file-coding.c: (ucs_to_char):
5035         (complex_vars_of_file_coding):
5036         Use countof instead of sizeof.
5037         Use CHECK_NATNUM instead of CHECK_INT.
5038
5039         * sysdep.c (strcasecmp): Remove.
5040         * device-x.c (ascii_strcasecmp): New.
5041         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5042         Avoid using non-standard non-portable strcasecmp.
5043
5044 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5045
5046         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5047         * font-lock.c: remove reference to emacsfns.h.
5048         * search.c: small doc improvement.
5049         * event-Xt.c: correct file names in comments.
5050         * console-x.h Correct file names in comments.
5051         * frame.c: Correct file names in comments.
5052         * event-stream.c: remove Energize from comments.
5053
5054 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5055
5056         * symeval.h (DEFERROR_STANDARD):
5057         (DEFERROR):
5058         (DEFSYMBOL):
5059         (DEFSYMBOL_NO_DUMP):
5060         (DEFSYMBOL_MULTIWORD_PREDICATE):
5061         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5062         (DEFKEYWORD):
5063         The construct &##name is not sensible C.
5064         Fixes compilation errors with Unixware native compiler.
5065
5066 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5067
5068         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5069         (next_frame_internal): Removed.  We now just have next_frame.
5070         (next_frame):
5071         Write a simpler and cleaner one-pass algorithm.
5072         Remove called_from_delete_device arg and #ifdefed-out code.
5073         (previous_frame):
5074         Renamed from prev_frame.  Update callers.
5075         Cleaned up to have an analogous implementation to next_frame.
5076         (other_visible_frames_internal): Remove the
5077         called_from_delete_device bogus arg, and hence, remove this
5078         function.  Just use other_visible_frames().
5079
5080         * window.c (Fnext_window):
5081         Prettify docstring.
5082         Since next_frame() is guaranteed to return a frame, remove check
5083         for nil inserted in previous patch.
5084         (Fprevious_window):
5085         Prettify docstring.
5086         Make code look more like Fnext_window.
5087         (window_loop):
5088         Respect the `console' arg when iterating through windows.
5089         Fixes bug: (get-buffer-window buffer t device) not respecting
5090         the `device' arg.
5091         This function needs more work, as others have pointed out.
5092
5093         * frame.h: Rename prev_frame to previous_frame.
5094         device_matches_console_spec no longer takes a `frame' arg.
5095
5096         * s/gnu.h:
5097         * s/linux.h:
5098         * s/hpux.h:
5099         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5100         From "Golubev I. N." <gin@mo.msk.ru>.
5101
5102         * make-src-depend: Fix typo.
5103
5104 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5105
5106         * window.c (Fnext_window):
5107         next_frame() might return nil, not a frame.
5108         Fixes this crash:
5109         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5110
5111         * frame.c (next_frame_internal):
5112         We've passed a frame if we've passed its device.
5113         Fixes this crash:
5114         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5115 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5116
5117 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5118
5119         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5120         Allow option to suppress accelerators in menu/dialog items.
5121         (populate_or_checksum_helper): Pass dialog title through above.
5122
5123 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5124
5125         * event-msw.c (mswindows_key_to_emacs_keysym):
5126         Add "pause" key, fix "menu" key.
5127
5128 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5129
5130         * eval.c (reinit_vars_of_eval):
5131         Increase max_lisp_eval_depth to 1000,
5132         required for thai-xtis.el to byte-compile under some circumstances.
5133
5134 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5135
5136         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5137         From Kenichi Handa.
5138
5139 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5140
5141         * make-src-depend: Make the generated Makefiles smaller.
5142
5143         * s/hpux.h (SETUP_SLAVE_PTY):
5144         Provide a %d in the format string for the errno argument.
5145
5146         * editfns.c (Ftemp_directory):
5147         Warning fix.
5148         Avoid buffer overrun on very long file name.
5149
5150         * input-method-xlib.c (XIM_init_device):
5151         6th parameter of XRegisterIMInstantiateCallback has different
5152         pointer types on different OSes, so simply cast to (void *).
5153
5154         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5155
5156         * sysdll.c (dll_open):
5157         shl_load will hang hard if passed a NULL filename.
5158         Simply return NULL for compatibility with dlopen.
5159         * sysdll.c: Conform to XEmacs coding standards.
5160
5161         * sysdep.c (get_pty_max_bytes):
5162         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5163
5164 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5165
5166         * tooltalk.c: Add #include <syssignal.h>
5167
5168 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5169
5170         * s/hpux.h: Don't use undefined function sigunblock().
5171
5172 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5173
5174         * config.h.in: Add HAVE_BALLOON_HELP.
5175         * emacs.c: Use HAVE_BALLOON_HELP.
5176         * Makefile.in.in (x_objs):
5177         Make Balloon Help conditional on finding shape.h.
5178
5179 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5180
5181         * syntax.c (regex_emacs_buffer_p): New variable.
5182         * syntax.h (regex_emacs_buffer_p): extern.
5183         * search.c (looking_at_1):
5184         (string_match_1):
5185         (fast_string_match):
5186         (search_buffer): Set regex_emacs_buffer_p.
5187         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5188         when before_dot, at_dot, after_dot.
5189
5190 2000-08-23  Andy Piper  <andy@xemacs.org>
5191
5192         * gui-x.c (popup_selection_callback): Only set action_occurred
5193         when we really have an image instance.
5194         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5195
5196 2000-08-23  Andy Piper  <andy@xemacs.org>
5197
5198         * gui-msw.c (mswindows_handle_gui_wm_command): set
5199         action_occurred.
5200         * gui-x.c (popup_selection_callback): ditto.
5201
5202         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5203         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5204         (struct Lisp_Image_Instance): add action_occurred flag.
5205
5206         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5207         (image_instance_changed): ditto.
5208         (reset_frame_subwindow_instance_cache): only unmap windows - do
5209         not remove them from the cache also.
5210
5211         * glyphs-widget.c (tab_control_update): better debug.
5212         (progress_gauge_update): ditto.
5213         (layout_update): ditto.
5214         (layout_instantiate): ditto.
5215         (tab_control_order_only_changed): cope with null pending items.
5216
5217         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5218         debug. Force selection of an item when an action occurred. Cope
5219         with null pending_items.
5220         (mswindows_progress_gauge_redisplay): better debug.
5221         * glyphs-x.c (x_tab_control_redisplay): ditto.
5222
5223         * redisplay.c (redisplay_frame): reset the frame cache if the
5224         frame is garbaged.
5225
5226         * window.c (Fset_window_configuration): potentially re-enable
5227         frame cache reset.
5228         (window_unmap_subwindows): need to finalize instances here since
5229         it is only used in mark_window_as_deleted.
5230
5231 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5232
5233         * nas.c (SndOpenDataForReading):
5234         nas.c (WaveOpenDataForReading):
5235         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5236         Somehow escaped from the 2000-08-14 patch.
5237
5238 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5239
5240         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5241         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5242
5243 2000-08-21  Andy Piper  <andy@xemacs.org>
5244
5245         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5246         window if it is not already displayed.
5247
5248         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5249         it is not already displayed.
5250
5251         * window.c (Fset_window_configuration): don't reset the frame
5252         cache.
5253
5254         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5255         instances from the frame cache if we are actually finalizing them.
5256         (reset_frame_subwindow_instance_cache): reset frame cache only
5257         after unmapping everything.
5258         (map_subwindow): set displayed flag after mapping.
5259
5260 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5261
5262         * data.c (indirect_function):
5263         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5264
5265         * eval.c (function_argcount):
5266         Use original function when signaling errors.
5267
5268 2000-08-18  Andy Piper  <andy@xemacs.org>
5269
5270         * frame.c (delete_frame_internal): use new
5271         free_frame_subwindow_instances name.
5272
5273         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5274         (add_tab_item): make return type correct.
5275         (mswindows_tab_control_instantiate): assert index of tab.
5276         (mswindows_tab_control_redisplay): Re-code to use
5277         gui_item_equal_sans_selected and gui_item_list_find_selected.
5278
5279         * glyphs-widget.c (tab_control_update): Correct comment.
5280
5281         * window.c (window_unmap_subwindows): use new
5282         unmap_subwindow_instance_cache_mapper.
5283         (window_unmap_subwindows_cache_mapper): deleted.
5284         (Fset_window_configuration): comparisons should now be with
5285         EQ. Preserve the subwindow instance cache across configuration
5286         changes.
5287         (allocate_window): ditto.
5288         (make_dummy_parent): ditto.
5289
5290         * glyphs.c (free_frame_subwindow_instances): rename from
5291         free_frame_subwindow_instance_cache. finalize all instances rather
5292         than just those in the display cache.
5293         (finalize_all_subwindow_instances): walk windows unmapping and
5294         finalizing subwindows.
5295         (unmap_subwindow_instance_cache_mapper): moved from
5296         window.c. Allow finalization as well as unmapping.
5297
5298         * gui.c (gui_item_list_find_selected): new function.
5299
5300         * gui.h (gui_item_list_find_selected): declare.
5301
5302         * glyphs-x.c (x_tab_control_redisplay): pick tab
5303         explicitly. Re-code to use gui_item_equal_sans_selected and
5304         gui_item_list_find_selected.
5305
5306         * glyphs-x.h: add lwlib-utils.h
5307
5308         * buffer.c (Frecord_buffer): undo previous change.
5309
5310 2000-08-09  Vin Shelton  <acs@xemacs.org>
5311
5312         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5313         possible.  Create temporary files more securely.  The patch was
5314         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5315         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5316         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5317         for details.
5318
5319 2000-08-07  Ben Wing  <ben@xemacs.org>
5320
5321         * getloadavg.c: remove duplicate (and windows-breaking)
5322         includes of fcntl.h and sys/file.h.
5323
5324         * nt.c: remove duplicate getloadavg() definition.
5325
5326         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5327         encodings.
5328
5329 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5330
5331         * eval.c (function_argcount): If function needs to be autoloaded
5332         actually use the loaded definition.
5333         GCPRO function.
5334
5335 2000-08-05  Ben Wing  <ben@xemacs.org>
5336
5337         * getloadavg.c: add prototype for getloadavg().  remove
5338         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5339         of the code).  remove duplicate header includes.
5340
5341         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5342
5343         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5344         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5345         useful load average.
5346
5347         * alloc.c (reinit_alloc_once_early): removed references to
5348         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5349         the lisp vars are the only things referencing the malloc_sbrk_*
5350         vars, and they were already if 0'd out.  these vars only exist
5351         in the older malloc.c, which is basically unused, and they're
5352         only for informational purposes.
5353
5354         * m\*.h: removed useless VIRT_ADDR_VARIES.
5355
5356         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5357
5358 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5359
5360         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5361         color if the image is a mono pixmap.
5362
5363 2000-07-30  Ben Wing  <ben@xemacs.org>
5364
5365         * Makefile.in.in (release):
5366         Remove stray @.
5367
5368         * buffer.c (directory_is_current_directory):
5369         * dired-msw.c (mswindows_get_files):
5370         * dired.c:
5371         * dired.c (Fdirectory_files):
5372         * dired.c (file_name_completion_stat):
5373         * dired.c (Ffile_attributes):
5374         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5375         preprocessor tricks, to avoid problems on some machines
5376         (e.g. SCO).
5377
5378         * callproc.c (egetenv): GC docs.
5379
5380         * console-msw.h:
5381         * console-msw.h (struct mswindows_dialog_id):
5382         * lrecord.h (lrecord_type):
5383         New object for use with MSW dialogs.
5384
5385         * console.h (struct console_methods):
5386         New enable/disable frame methods, for proper modal dialogs.
5387
5388         * device-msw.c (msprinter_default_printer): Fix to follow
5389         proper Mule conventions.
5390
5391         * device-msw.c:
5392         * device-msw.c (signal_open_printer_error):
5393         * device-msw.c (msprinter_init_device):
5394         * device-msw.c (ensure_not_printing):
5395         * device-msw.c (plist_get_margin):
5396         * device-msw.c (Fmsprinter_select_settings):
5397         * device-msw.c (finalize_devmode):
5398         * device-msw.c (Fmsprinter_settings_despecialize):
5399         * device-msw.c (signal_enum_priner_error):
5400         * extents.c (decode_extent):
5401         * extents.c (decode_map_extents_flags):
5402         * extents.c (decode_extent_at_flag):
5403         * extents.c (Fextent_at):
5404         * extents.c (Fextents_at):
5405         * extents.c (symbol_to_glyph_layout):
5406         [[[[2]]]] Use structured errors.
5407
5408         * dialog-msw.c:
5409         * dialog-msw.c (mswindows_is_dialog_msg):
5410         * dialog-msw.c (mark_mswindows_dialog_id):
5411         * dialog-msw.c (dialog_proc):
5412         * dialog-msw.c (handle_question_dialog_box):
5413         * dialog-msw.c (syms_of_dialog_mswindows):
5414         Define new object to clean up marking; use it as a dialog identifier.
5415         Call new delete-dialog-box-hook.
5416
5417         * dialog-x.c (dbox_selection_callback):
5418         * dialog-x.c (dbox_descriptor_to_widget_value):
5419         * dialog-x.c (x_make_dialog_box_internal):
5420         Call new delete-dialog-box-hook.
5421         Return an id.
5422
5423         * dialog.c:
5424         * dialog.c (syms_of_dialog):
5425         * dialog.c (vars_of_dialog):
5426         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5427
5428         * eval.c:
5429         * eval.c (signal_call_debugger):
5430         when noninteractive, output stack traces on the console instead
5431         of in a (never-seen) buffer.
5432
5433         * eval.c (signal_type_error):
5434         * eval.c (invalid_argument_2):
5435         * lisp.h:
5436         new funs for use w/structured errors.
5437
5438         * event-Xt.c:
5439         * event-Xt.c (x_to_emacs_keysym):
5440         * event-Xt.c (describe_event):
5441         * event-Xt.c (emacs_Xt_event_handler):
5442         * event-Xt.c (vars_of_event_Xt):
5443         * event-msw.c:
5444         * event-msw.c (mswindows_wnd_proc):
5445         * event-msw.c (vars_of_event_mswindows):
5446         rename {x,mswindows}-debug-events to debug-{}-events for
5447         consistency with other debug-foo variables.
5448
5449         * event-stream.c:
5450         document next-event more clearly.
5451
5452         * fileio.c (Ffile_name_directory):
5453         * fileio.c (Ffile_name_nondirectory):
5454         * fileio.c (Funhandled_file_name_directory):
5455         * fileio.c (file_name_as_directory):
5456         * fileio.c (Ffile_name_as_directory):
5457         * fileio.c (directory_file_name):
5458         * fileio.c (Fdirectory_file_name):
5459         * fileio.c (Fmake_temp_name):
5460         * fileio.c (Ffile_truename):
5461         * fileio.c (Fsubstitute_in_file_name):
5462         * fileio.c (expand_and_dir_to_file):
5463         * fileio.c (barf_or_query_if_file_exists):
5464         * fileio.c (check_executable):
5465         * fileio.c (Ffile_exists_p):
5466         * fileio.c (Ffile_writable_p):
5467         * fileio.c (Ffile_directory_p):
5468         * fileio.c (Ffile_regular_p):
5469         * fileio.c (Ffile_modes):
5470         * fileio.c (Ffile_newer_than_file_p):
5471         * fileio.c (Fverify_visited_file_modtime):
5472         * fileio.c (Fset_visited_file_modtime):
5473         * fileio.c (auto_save_1):
5474         (1). (2).
5475         fix up gcpro's.
5476
5477         * frame-msw.c:
5478         * frame-msw.c (mswindows_init_frame_1):
5479         * frame-msw.c (mswindows_enable_frame):
5480         * frame-msw.c (error_frame_unsizable):
5481         * frame-msw.c (msprinter_init_frame_1):
5482         * frame-msw.c (msprinter_init_frame_3):
5483         * frame-msw.c (console_type_create_frame_mswindows):
5484         (2).
5485         implement new enable/disable frame methods.
5486
5487         * frame-x.c:
5488         * frame-x.c (x_enable_frame):
5489         * frame-x.c (console_type_create_frame_x):
5490         implement new enable/disable frame methods.
5491
5492         * frame.c:
5493         * frame.c (Fdisable_frame):
5494         * frame.c (syms_of_frame):
5495         * frame.h (struct frame):
5496         implement new enable/disable frame methods/functions.
5497
5498         * general-slots.h:
5499         add initial-focus.
5500
5501         * glyphs-msw.c (mswindows_widget_instantiate):
5502         comment that initial-focus should be implemented.
5503
5504         * glyphs-widget.c:
5505         * glyphs-widget.c (check_valid_instantiator):
5506         * glyphs-widget.c (check_valid_orientation):
5507         * glyphs-widget.c (check_valid_tab_orientation):
5508         * glyphs-widget.c (check_valid_justification):
5509         * glyphs-widget.c (check_valid_border):
5510         * glyphs-widget.c (check_valid_callback):
5511         * glyphs-widget.c (check_valid_int_or_function):
5512         * glyphs-widget.c (check_valid_string_or_vector):
5513         * glyphs-widget.c (check_valid_item_list_1):
5514         * glyphs-widget.c (widget_validate):
5515         * glyphs-widget.c (combo_box_validate):
5516         * glyphs-widget.c (widget_instantiate):
5517         * glyphs-widget.c (syms_of_glyphs_widget):
5518         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5519         * glyphs-widget.c (image_instantiator_combo_box):
5520         * glyphs-widget.c (image_instantiator_scrollbar):
5521         * glyphs-widget.c (image_instantiator_tab_control):
5522         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5523         (2).
5524         support (unimplemented) keyword initial-focus.
5525         reindent long macros.
5526
5527         * glyphs-x.c (x_redisplay_widget):
5528         * glyphs-x.c (x_button_instantiate):
5529         * glyphs-x.c (x_button_redisplay):
5530         * glyphs-x.c (x_progress_gauge_instantiate):
5531         * glyphs-x.c (x_edit_field_instantiate):
5532         * glyphs-x.c (x_combo_box_instantiate):
5533         * glyphs-x.c (x_tab_control_instantiate):
5534         * glyphs-x.c (x_label_instantiate):
5535         * gui-x.c:
5536         * gui-x.c (button_item_to_widget_value):
5537         * gui-x.c (gui_items_to_widget_values_1):
5538         * gui-x.c (gui_item_children_to_widget_values):
5539         * gui-x.c (gui_items_to_widget_values):
5540         * gui-x.h:
5541         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5542         add new flag to gui-parsing routines to indicate whether
5543         accelerator specs should be supported.
5544
5545         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5546
5547         * glyphs.h (struct Lisp_Image_Instance):
5548         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5549         add initial-focus flag.
5550
5551         * gui.c:
5552         * gui.c (syms_of_gui):
5553         * gui.c (vars_of_gui):
5554         clean up menu-no-selection-hook.
5555
5556         * gui.h:
5557         support delete-dialog-box-hook.
5558
5559         * lread.c (Fload_internal):
5560         * lread.c (locate_file_in_directory_mapper):
5561         (1).
5562
5563         * lrecord.h:
5564         * lrecord.h (struct toolbar_button):
5565         * lrecord.h (syms_of_toolbar):
5566         document how to create a new object.
5567
5568         * menubar-msw.c (mswindows_char_is_accelerator):
5569         may be called on frames w/o menus.
5570
5571         * menubar.c (vars_of_menubar):
5572         clean up :filter docs.
5573
5574         * nt.c (readdir):
5575         * ntproc.c:
5576         (1).
5577
5578         * process-nt.c:
5579         * process-nt.c (validate_signal_number):
5580         * process-nt.c (signal_cannot_launch):
5581         * process-nt.c (nt_create_process):
5582         * process-nt.c (nt_send_process):
5583         * process-nt.c (nt_kill_child_process):
5584         * process-nt.c (nt_open_network_stream):
5585         * process-nt.c (syms_of_process_nt):
5586         (2).
5587         delete quote-handling.  call new lisp code that does it better.
5588
5589         * process-unix.c (connect_to_file_descriptor):
5590         * process-unix.c (allocate_pty):
5591         * process-unix.c (unix_send_process):
5592         * process-unix.c (unix_kill_child_process):
5593         * process-unix.c (unix_open_network_stream):
5594         * process-unix.c (unix_open_multicast_group):
5595         (1). (2).
5596
5597         * process.c:
5598         * process.c (Fstart_process_internal):
5599         (2).  need to canonicalize process path even if absolute.
5600
5601         * select-msw.c (symbol_to_ms_cf):
5602         * select-msw.c (ms_cf_to_symbol):
5603         * select-msw.c (cf_is_autofreed):
5604         * select-msw.c (mswindows_destroy_selection):
5605         * select.c:
5606         * select.c (syms_of_select):
5607         * select.h:
5608         support dibv5, fix bugs. (from Mike Alexander)
5609
5610         * select.c (Fget_selection_internal):
5611         * select.c (select_convert_out):
5612
5613         * sysdep.c:
5614         * sysdep.c (xemacs_stat):
5615         renamed.
5616
5617         * sysdep.c (mkdir):
5618         * sysdep.c (rmdir):
5619         but keep original stat() here because we provide encapsulation
5620         around these funs.
5621
5622         * sysfile.h:
5623         * sysfile.h (fstat):
5624         remove stat garbage.
5625
5626         * syswindows.h:
5627         fix X/MSW conflict.
5628         don't include tchar.h.  it's inappropriate because it makes
5629         compile-time distinctions when we want runtime distinctions.
5630         (we provide our own tchar replacements)
5631
5632         * toolbar.c:
5633         use default object printer for toolbar-button.
5634
5635         * unexcw.c:
5636         make sure we don't encapsulate.
5637
5638         * window.c (vars_of_window):
5639         emphasize that temp-buffer-show-hook is obsolete.
5640
5641 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5642
5643         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5644         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5645
5646         * events.c (Fevent_timestamp_lessp):
5647         Not 64-bit clean.  Use EMACS_INT, not int.
5648
5649 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5650
5651         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5652         unsigned int and changed the last enum to
5653         lrecord_type_last_built_in_type.
5654         (lrecord_implementations_table): changed prototype to know how
5655         long the array is supposed to be.
5656         (lrecord_type_count): new unsigned int to keep track of the
5657         current number of lisp lrecord types.
5658         (DEFINE_EXTERNAL_LRECORD):
5659         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5660         dynamic-modules to declare new lisp types. They are the same
5661         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5662         int for each new type, and increment lrecord_type_count by 1.
5663
5664         * alloc.c (lrecord_implementations_table): Changed to reference
5665         lrecord_type_last_built_in_type for the size of the array.
5666         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5667
5668 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5669
5670         * glyphs.h (check_valid_item_list): Renamed from
5671         check_valid_item_list_1.
5672
5673 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5674
5675         * select.c (Qselect_coerce): New.
5676         * select.c (Vselection_coercion_alist): New.
5677         * select.c (syms_of_select): Declare.
5678         * select.c (get-selection-internal): Use it.
5679         Use the new select-coerce functionality.
5680
5681         * select.c (select_coerce): New.
5682         * select.h (select_coerce): Declare.
5683         New function to coerce one type of data into another.
5684
5685 2000-08-03  Martin Buchholz  <martin@xemacs.org>
5686
5687         * callproc.c (Fcall_process_internal):
5688         (Fcall_process_internal):
5689         * process-unix.c (unix_create_process):
5690         Save and restore the value of errno, so that error messages are accurate.
5691
5692 2000-08-01  Martin Buchholz  <martin@xemacs.org>
5693
5694         * elhash.c (print_hash_table):
5695         Fix printing of hash tables to also use `key-and-value' instead of `t'.
5696         Prettify docstrings and indentation.
5697
5698 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5699
5700         * window.c (Fwindow_pixel_edges): Subtract frame border and
5701         gutter size.
5702
5703 2000-07-31  Andy Piper  <andy@xemacs.org>
5704
5705         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
5706         will acknowledge the change.
5707
5708         * glyphs.h: declare tab_control_order_only_changed.
5709
5710         * glyphs-x.c (x_tab_control_redisplay): use
5711         tab_control_order_only_changed.
5712
5713         * glyphs-widget.c (tab_control_order_only_changed): new function.
5714
5715         * glyphs-msw.c (mswindows_tab_control_redisplay): use
5716         tab_control_order_only_changed.
5717
5718         * gui.c (gui_item_equal_sans_selected): new function.
5719         (gui_item_equal): use it.
5720
5721         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
5722         :properties in favor of :items..
5723
5724         * glyphs-widget.c (check_valid_item_list): rename from
5725         check_valid_item_list_1.
5726         (check_valid_item_list_1): renamed.
5727         (combo_box_validate): deprecate :properties in favor of :items.
5728         (widget_instantiate): ditto.
5729         (tab_control_update): ditto.
5730         (image_instantiator_combo_box): ditto.
5731         (image_instantiator_tree_view): ditto.
5732         (image_instantiator_tab_control): ditto.
5733         (layout_post_instantiate): remove dead code.
5734
5735         * print.c (debug_print_no_newline): only write to debugger if in
5736         WIN32_NATIVE.
5737
5738         * elhash.c (Fmake_hash_table): update doc string.
5739
5740         * event-msw.c (mswindows_wnd_proc): don't allow processing of
5741         messages whilst in GC. This at least stops XEmacs crashing but has
5742         the potential for wierd behaviour.
5743
5744 2000-07-31  Martin Buchholz  <martin@xemacs.org>
5745
5746         * config.h.in:
5747         Make existence of s&m files optional.
5748
5749         * s/bsd386.h: Remove HAVE_GETLOADAVG.
5750         * s/freebsd.h: Remove HAVE_GETLOADAVG.
5751         * s/gnu.h: Remove HAVE_GETLOADAVG.
5752         * s/netbsd.h: Remove HAVE_GETLOADAVG.
5753         * s/sol2.h: Remove HAVE_GETLOADAVG.
5754         * lisp.h: Remove getloadavg() declaration.
5755         * fns.c:
5756         Include <sys/loadavg.h> if available.
5757         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
5758         * config.h.in:  Group together getloadavg()-related macros.
5759         Use only configure-time tests to detect getloadavg().
5760
5761 2000-07-30  Martin Buchholz  <martin@xemacs.org>
5762
5763         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
5764
5765 2000-07-25  Andy Piper  <andy@xemacs.org>
5766
5767         * syswindows.h: add tchar.h for native builds.
5768
5769         * frame.c (syms_of_frame): remove set-glyph-image.
5770
5771         * general-slots.h: add Qset_glyph_image.
5772
5773         * glyphs-widget.c (layout_update): add domain arg to
5774         set-glyph-image.
5775         (syms_of_glyphs_widget): remove set-glyph-image.
5776
5777 2000-07-23  Ben Wing  <ben@xemacs.org>
5778
5779         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
5780         Vpopup_frame_list.
5781
5782 2000-07-22  Andy Piper  <andy@xemacs.org>
5783
5784         * symsinit.h: add syms_of_win32().
5785
5786         * gui-msw.c (syms_of_gui_mswindows): remove
5787         Fmswindows_shell_execute.
5788         (Fmswindows_shell_execute): moved to win32.c.
5789
5790         * emacs.c (main_1): add syms_of_win32 ().
5791
5792         * win32.c (init_potentially_nonexistent_functions): rewrite in
5793         compiler-friendly terms.
5794         (Fmswindows_shell_execute): move here from gui-msw.c.
5795         (syms_of_win32): new.
5796
5797         * device-msw.c (Fmswindows_printer_list): clean up args to
5798         EnumPrinters.
5799         Don't include tchar under cygwin or mingw.
5800         (msprinter_default_printer): make cygwin-friendly.
5801
5802 2000-07-21  Andy Piper  <andy@xemacs.org>
5803
5804         * glyphs-widget.c (image_instantiator_tree_view): use tab
5805         control's update function.
5806         (layout_property): new function. Retrieve items.
5807
5808         * glyphs-msw.c (mswindows_tree_view_redisplay): new
5809         function. Re-populate the tree view from the pending items.
5810
5811         * glyphs.c (instantiate_image_instantiator): Make sure the domain
5812         is designated the parent if the domain is an image instance. This
5813         is needed so that dirtiness can be cascade up the hierarchy and
5814         thus for layout children to be redisplayed correctly.
5815         (allocate_image_instance): rename glyph -> parent.
5816
5817         * redisplay.h: change redisplay_output_layout signature.
5818
5819         * redisplay-msw.c (mswindows_output_display_block): use domain
5820         arg.
5821
5822         * redisplay-x.c (x_output_display_block): use domain arg.
5823
5824 2000-07-10  Andy Piper  <andy@xemacs.org>
5825
5826         * window.c (Fset_window_configuration): add comment.
5827
5828         * redisplay-output.c (compare_runes):
5829         (redisplay_output_subwindow): redisplay rather than update subwindow.
5830         (redisplay_output_layout): ditto.
5831
5832         * redisplay-msw.c (mswindows_frame_output_end):
5833         (mswindows_frame_output_end): make defer window pos optional.
5834
5835         * lisp.h: add Flast.
5836
5837         * glyphs.h (struct image_instantiator_methods): add dest_mask top
5838         normalize method. Change update method to be for changed
5839         instantiators. Add redisplay method. Change signature of layout
5840         method.
5841         (struct Lisp_Image_Instance): add instantiator.
5842         (IMAGE_INSTANCE_INSTANTIATOR): new.
5843         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
5844         (XIMAGE_INSTANCE_INSTANTIATOR): new.
5845         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
5846
5847         * glyphs.c:
5848         (find_instantiator_differences): new function.
5849         (Fset_instantiator_property): new convenience function.
5850         (check_image_instance_structure): strictly check for vector
5851         instantiators.
5852         (normalize_image_instantiator): make non-static.
5853         (instantiate_image_instantiator): pass on dest_mask and use new
5854         signatures for image_instance_layout and friends.
5855         (mark_image_instance): mark the instantiator. Mark the subwindow
5856         face not the widget face.
5857         (image_instance_equal): add instantiator.
5858         (image_instance_hash): ditto.
5859         (allocate_image_instance): ditto.
5860         (Fset_image_instance_property): removed.
5861         (Fimage_instance_file_name): ditto.
5862         (Fcolorize_image_instance): ditto.
5863         (image_instance_layout): add offsets to be set.
5864         (update_image_instance): new function. update an image instance
5865         from its changed instantiator.
5866         (inherit_normalize): add dest_mask.
5867         (xbm_normalize): ditto.
5868         (xface_normalize): ditto.
5869         (xpm_normalize): ditto.
5870         (text_update): set_property -> update.
5871         (image_instantiate): use the glyph identity as a hash key, not the
5872         instantiator.
5873         (glyph_width): use new image_instance_layout signature.
5874         (glyph_ascent): ditto.
5875         (glyph_descent): ditto.
5876         (glyph_height): ditto.
5877         (glyph_query_geometry): ressurrect.
5878         (glyph_layout): ditto.
5879         (redisplay_subwindow): update -> redisplay.
5880         (syms_of_glyphs): add Fset_instantiator_property.
5881         (image_instantiator_format_create): set_property -> update.
5882
5883         * glyphs-x.c:
5884         (autodetect_normalize): add dest_maks to signature.
5885         (x_redisplay_subwindow): update -> redisplay.
5886         (x_redisplay_widget): ditto.
5887         (x_button_redisplay): ditto.
5888         (x_progress_gauge_redisplay): ditto.
5889         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
5890         stacking order.
5891         (console_type_create_glyphs_x): update -> redisplay.
5892         (image_instantiator_format_create_glyphs_x): ditto.
5893
5894         * glyphs-widget.c:
5895         (check_valid_instantiator): disallow glyphs in the instantiator,
5896         they must now be vectors.
5897         (check_valid_instantiator_list): ditto.
5898         (glyph_instantiator_to_glyph): use internal symbol rather than
5899         intern.
5900         (widget_update): renamed from widget_set_property. Call cascaded
5901         update methods.
5902         (redisplay_widget): renamed from update_widget.
5903         (widget_layout): image_instance_layout now takes position as well
5904         as size.
5905         (widget_normalize): ditto.
5906         (widget_instantiate): ditto.
5907         (tab_control_query_geometry) ditto.:
5908         (tab_control_update): renamed from tab_control_set_property.
5909         (progress_gauge_update): set_property -> update.
5910         (layout_normalize): rewrite so that child instantiators are
5911         normalized also.
5912         (layout_update): new function. Create glyphs from the normalized
5913         children and cope with any other layout keywords. We do not
5914         instantiate children here that will be take care of by
5915         redisplay_output_layout.
5916         (layout_instantiate): call layout_update and not much else.
5917         (layout_post_instantiate): not sure whether this is needed
5918         anymore.
5919         (layout_query_geometry): query glyph geometry rather than
5920         image_instance geometry.
5921         (layout_layout): set offsets from pass in parameters. Use glyph
5922         geometry and layout functions rather than image instance ones.
5923         (native_layout_layout): ditto.
5924         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
5925         (image_instantiator_widget): set_property -> update.
5926         (image_instantiator_buttons): ditto.
5927         (image_instantiator_progress_guage): ditto.
5928         (image_instantiator_tab_control): ditto.
5929         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
5930         (image_instantiator_layout): add update method.
5931
5932         * glyphs-msw.c (bmp_normalize):
5933         (mswindows_resource_normalize): add dest_mask so that it can be
5934         proprogated by layout_normalize.
5935         (begin_defer_window_pos): make optional because it may not be the
5936         right thing to do and it introduces differences with X.
5937         (mswindows_unmap_subwindow): ditto.
5938         (mswindows_map_subwindow): ditto.
5939         (mswindows_redisplay_subwindow): renamed from
5940         mswindows_update_subwindow.
5941         (mswindows_redisplay_widget): ditto.
5942         (mswindows_button_redisplay): renamed from
5943         mswindows_button_update. Update is now what the instantiation
5944         function does for a changed instantiator.
5945         (mswindows_progress_gauge_instantiate): set the progress value
5946         here if appropriate.
5947         (mswindows_tab_control_redisplay): cope with re-ordering of the
5948         members of the tab widget by simply selecting the new top
5949         widget. This makes things appear ok if you click on a tab.
5950         (mswindows_combo_box_instantiate): image_instance_layout now takes
5951         position as well as size.
5952         (mswindows_progress_gauge_redisplay): renamed from
5953         mswindows_progress_gauge_update.
5954         (console_type_create_glyphs_mswindows): fix update -> redisplay.
5955         (image_instantiator_format_create_glyphs_mswindows): ditto.
5956
5957         * glyphs-eimage.c (jpeg_normalize):
5958         (gif_normalize):
5959         (png_normalize):
5960         (tiff_normalize): add dest_mask so that it can be proprogated by
5961         layout_normalize.
5962
5963         * elhash.c:
5964         (print_hash_table):
5965         (hash_table_weakness_validate):
5966         (decode_hash_table_weakness):
5967         (Fhash_table_weakness):
5968         (Fhash_table_type):
5969         (syms_of_elhash): use Ben's naming scheme for hashtable types..
5970
5971         * console.h (struct console_methods): move update_* to
5972         redisplay_*.
5973
5974 2000-07-20  Ben Wing  <ben@xemacs.org>
5975
5976         * *.[ch] (XSETOBJ): remove unused middle argument.
5977         lisp-disunion.h: correct wrap_object() to one argument.
5978
5979 2000-07-15  Ben Wing  <ben@xemacs.org>
5980
5981         * s/cygwin32.h:
5982         * s/cygwin32.h (CYGWIN_CONV_PATH):
5983         Add missing logb prototype for v1.1.
5984         Use post-b20 names and alias to pre-b20 names when pre-b20.
5985
5986         * s/windowsnt.h: [5].
5987
5988 2000-07-15  Ben Wing  <ben@xemacs.org>
5989
5990         * Makefile.in.in (x_objs):
5991         * Makefile.in.in (sheap_objs):
5992         * Makefile.in.in (objs):
5993         added win32.o, cosmetic cleanups.
5994
5995         * alloc.c (Fmake_byte_code):
5996         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
5997         etc. macros which declare their own args now.
5998
5999         * alloc.c (syms_of_alloc):
6000         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6001
6002         * buffer.c:
6003         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6004
6005         * buffer.c (Fget_file_buffer):
6006         Fixed GCPRO problem.
6007
6008         * buffer.c (get_truename_buffer):
6009         Fixed comment about GC checking.
6010
6011         * buffer.c (syms_of_buffer):
6012         Undeclared those dedicated frame funs.
6013         [2].
6014
6015         * buffer.h:
6016         Define convenience macros for internal/external conversions.
6017         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6018         and Qenvironment_variable_encoding for cleaner code.
6019
6020         * bufslots.h:
6021         Remove dedicated-frame; in lisp.
6022
6023         * bytecode.c (funcall_compiled_function):
6024         [1].
6025
6026         * bytecode.c (syms_of_bytecode):
6027         [2].
6028
6029         * console-msw.c:
6030         * console-msw.c (mswindows_show_console): Rewrote.
6031
6032         * console-msw.c (Fmswindows_debugging_output): New.
6033         Sends to OutputDebugString (special MSWin debugger interface).
6034
6035         * console-msw.c (Fmswindows_message_box):
6036         Fixed stupid bugs so it works when called from kill-emacs.
6037
6038         * console-msw.c (syms_of_console_mswindows):
6039         Declare Fmswindows_debugging_output.
6040
6041         * console-msw.h:
6042         New MSWin prototypes.
6043
6044         * console-msw.h (struct mswindows_frame):
6045         New entry last-click-mods for improved button-modifier support.
6046
6047         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6048         New struct entry `popup' with corresponding accessor.
6049
6050         * console-x.c:
6051         * console-x.c (split_up_display_spec):
6052         * console-x.c (get_display_arg_connection):
6053         * console-x.c (x_semi_canonicalize_console_connection):
6054         * console-x.c (x_canonicalize_device_connection):
6055         [[[6]]]: Change char to more specific type.
6056         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6057
6058         * console-x.c (x_semi_canonicalize_console_connection):
6059         * console-x.c (x_canonicalize_device_connection):
6060         [[[9]]]: Fix up error signalling to use new structured error system.
6061
6062         * console-x.h:
6063         [[[4]]]: Define codesys aliases:
6064         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6065         Qx_color_name_encoding, Qx_display_name_encoding.
6066
6067         * console.h (struct console_methods):
6068         New method make_dialog_box_internal supersedes older
6069         popup_dialog_box method.
6070
6071         * data.c:
6072         Define many new errors, part of new structured errors.
6073
6074         * data.c (init_errors_once_early):
6075         * data.c (syms_of_data):
6076         [2].
6077
6078         * device-msw.c (mswindows_init_device):
6079         [[[5]]]: Cleanup to support NT 3.51.
6080
6081         * device-msw.c (decode_devmode): Cleanup.
6082
6083         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6084         * device-msw.c (mswindows_handle_print_dialog_box):
6085         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6086         * device-msw.c (syms_of_device_mswindows):
6087         Delete the dialog box primitives recently introduced by Kirill and
6088         instead interface to general dialog box interface.
6089
6090         * device-x.c:
6091         * device-x.c (compute_x_app_name):
6092         * device-x.c (x_init_device):
6093         * device-x.c (Fx_valid_keysym_name_p):
6094         * device-x.c (Fx_set_font_path):
6095         [6].
6096         [7].
6097
6098         * device.h (wrap_device): New.
6099         First of its kind; meant to replace XSETDEVICE.
6100
6101         * dialog-msw.c: Many file-dialog symbols.
6102
6103         * dialog-msw.c (mswindows_register_popup_frame): New.
6104         * dialog-msw.c (mswindows_is_dialog_msg): New.
6105         For supporting kbd traversal in dialog boxes.
6106
6107         * dialog-msw.c (dialog_proc):
6108         Support hitting ESC in dialogs.
6109
6110         * dialog-msw.c (struct):
6111         Common dialog box errors.
6112
6113         * dialog-msw.c (handle_file_dialog_box): New.
6114         Add file dialog code.
6115
6116         * dialog-msw.c (handle_question_dialog_box):
6117         Redo existing code to support new question dialog syntax.
6118
6119         * dialog-msw.c (console_type_create_dialog_mswindows):
6120         We support new dialog console method.
6121
6122         * dialog-msw.c (syms_of_dialog_mswindows):
6123         * dialog-msw.c (vars_of_dialog_mswindows):
6124         New file dialog symbols, vars.
6125
6126         * dialog-x.c:
6127         * dialog-x.c (maybe_run_dbox_text_callback):
6128         * dialog-x.c (dbox_descriptor_to_widget_value):
6129         * dialog-x.c (x_make_dialog_box_internal):
6130         * dialog-x.c (console_type_create_dialog_x):
6131         Mule-ize entire file.
6132         Redo to support question dialog syntax.
6133         [6].
6134
6135         * dialog.c:
6136         * dialog.c (Fmake_dialog_box_internal):
6137         * dialog.c (syms_of_dialog):
6138         Kill old popup-dialog-box, replace with new primitive.
6139         Just call device method or signal error.
6140
6141         * eldap.c (Fldap_open):
6142         * eldap.c (Fldap_search_basic):
6143         * eldap.c (Fldap_add):
6144         * eldap.c (Fldap_modify):
6145         [1].
6146         [7].
6147
6148         * emacs.c:
6149         * emacs.c (make_arg_list_1):
6150         * emacs.c (make_arg_list):
6151         Mule-ize call to dll_init().
6152         [6].
6153         [8].
6154
6155         * emacs.c (make_argc_argv):
6156         * emacs.c (free_argc_argv):
6157         * emacs.c (init_cmdargs):
6158         * emacs.c (main_1):
6159         * emacs.c (Fkill_emacs):
6160         * emacs.c (Fdump_emacs):
6161         Update comments about what can be used in syms_* etc.
6162         Call init_win32() when necessary.
6163         Fix up MS Win dialog box in kill-buffer to actually work right.
6164         [7].
6165
6166         * eval.c:
6167         * eval.c (For):
6168         * eval.c (Fand):
6169         * eval.c (Fprogn):
6170         * eval.c (Fprog1):
6171         * eval.c (Fprog2):
6172         * eval.c (FletX):
6173         * eval.c (Flet):
6174         * eval.c (condition_case_3):
6175         * eval.c (Feval):
6176         * eval.c (function_argcount):
6177         * eval.c (funcall_lambda):
6178         [1].
6179
6180         * eval.c (type_error): New.
6181         * eval.c (maybe_type_error): New.
6182         * eval.c (continuable_type_error): New.
6183         * eval.c (maybe_continuable_type_error): New.
6184         * eval.c (type_error_with_frob): New.
6185         * eval.c (maybe_type_error_with_frob): New.
6186         * eval.c (continuable_type_error_with_frob): New.
6187         * eval.c (maybe_continuable_type_error_with_frob): New.
6188         New functions for use with structured errors.
6189
6190         * event-Xt.c:
6191         * event-Xt.c (x_event_to_emacs_event):
6192         Buttons are now modifiers too.
6193
6194         * event-Xt.c (emacs_Xt_current_event_timestamp):
6195         Implement new event method.
6196         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6197
6198         * event-msw.c:
6199         * event-msw.c (ntpipe_shove_writer): [5].
6200         * event-msw.c (mswindows_enqueue_mouse_button_event):
6201         * event-msw.c (mswindows_drain_windows_queue):
6202         * event-msw.c (mswindows_wnd_proc): [7].
6203         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6204         * event-msw.c (mswindows_modifier_state):
6205         Throughout: support new button modifiers.
6206
6207         * event-msw.c (emacs_mswindows_current_event_timestamp):
6208         Implement new event method.
6209         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6210
6211         * event-stream.c:
6212         * event-stream.c (event_stream_current_event_timestamp): New.
6213         * event-stream.c (maybe_kbd_translate): New functionality.
6214         * event-stream.c (vars_of_event_stream):
6215         Document new kbd-translate-table functionality.
6216
6217         * event-stream.c (Fcurrent_event_timestamp): New.
6218         New primitive for use in fabricated events.
6219         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6220
6221         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6222
6223         * events.c:
6224         * events.c (Fmake_event):
6225         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6226         [1].
6227         [9].
6228
6229         * events.c (format_event_object): fix gcc warnings.
6230
6231         * events.c (Fevent_timestamp): Document new primitives.
6232
6233         * events.c (TIMESTAMP_HALFSPACE): New.
6234
6235         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6236         comparing timestamps correctly (half-space algorithm).
6237
6238         * events.c (Fevent_modifier_bits): Doc fix.
6239
6240         * events.c (Fevent_modifiers): Major doc addition.
6241         * events.c (event_x_y_pixel_internal): Typo fix.
6242         * events.c (syms_of_events): Declare new primitives.
6243
6244         * events.h:
6245         Update long comment for button modifiers, timestamps.
6246
6247         * events.h (struct event_stream):
6248         New current_event_timestamp method.
6249
6250         * extents.c:
6251         * extents.c (extent_in_region_p):
6252         * extents.c (decode_extent):
6253         * extents.c (Fset_extent_parent):
6254         * extents.c (decode_map_extents_flags):
6255         Fix gcc warnings.
6256         [9].
6257
6258         * extents.c (struct extent_at_arg):
6259         * extents.c (decode_extent_at_flag):
6260         * extents.c (extent_at_mapper):
6261         * extents.c (extent_at_bytind):
6262         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6263         * extents.c (Fextents_at): New primitive. [9].
6264         * extents.c (symbol_to_glyph_layout): [9].
6265         Support new primitive `extents-at'.
6266
6267
6268         * extents.c (get_text_property_bytind):
6269         extent_at_bytind has another arg.
6270         [9].
6271
6272         * extents.c (syms_of_extents): New primitive.
6273
6274         * file-coding.c (Fmake_coding_system): [1].
6275         * file-coding.c (subsidiary_coding_system): fix gcc warning
6276         * file-coding.c (syms_of_file_coding): [2].
6277
6278         * fileio.c (Fexpand_file_name):
6279         * fileio.c (Fsysnetunam):
6280         * fileio.c (Ffile_exists_p):
6281         * fileio.c (Ffile_executable_p):
6282         * fileio.c (Fverify_visited_file_modtime):
6283         Clean up GCPROing.
6284
6285         * fileio.c (syms_of_fileio): [2].
6286
6287         * filelock.c (lock_file_1):
6288         * filelock.c (current_lock_owner):
6289         * filelock.c (lock_if_free):
6290         * filelock.c (lock_file):
6291         * filelock.c (unlock_file):
6292         Clean up GCPROing.
6293
6294         * fns.c (concat): Fix gcc warning.
6295
6296         * fns.c (Fmember):
6297         * fns.c (Fold_member):
6298         * fns.c (Fmemq):
6299         * fns.c (Fold_memq):
6300         * fns.c (memq_no_quit):
6301         * fns.c (Fassoc):
6302         * fns.c (Fold_assoc):
6303         * fns.c (Fassq):
6304         * fns.c (Fold_assq):
6305         * fns.c (assq_no_quit):
6306         * fns.c (Frassoc):
6307         * fns.c (Fold_rassoc):
6308         * fns.c (Frassq):
6309         * fns.c (Fold_rassq):
6310         * fns.c (rassq_no_quit):
6311         * fns.c (Fdelete):
6312         * fns.c (Fold_delete):
6313         * fns.c (Fdelq):
6314         * fns.c (Fold_delq):
6315         * fns.c (delq_no_quit):
6316         * fns.c (Fremassoc):
6317         * fns.c (Fremassq):
6318         * fns.c (remassq_no_quit):
6319         * fns.c (Fremrassoc):
6320         * fns.c (Fremrassq):
6321         * fns.c (remrassq_no_quit):
6322         * fns.c (Freverse):
6323         * fns.c (mapcar1):
6324         [1].
6325
6326         * frame-msw.c (mswindows_init_frame_1):
6327         * frame-msw.c (mswindows_delete_frame):
6328         Register popups with dialog code so keyboard traversing works.
6329
6330         * frame-tty.c (tty_raise_frame_no_select): [1].
6331
6332         * frame-x.c:
6333         * frame-x.c (x_set_frame_text_value):
6334         * frame-x.c (x_set_frame_properties):
6335         * frame-x.c (x_create_widgets):
6336         [7].
6337
6338         * frame.c:
6339         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6340
6341         * frame.h (wrap_frame): New.
6342         Macro like wrap_device.
6343
6344         * general.c:
6345         * general.c (SYMBOL):
6346         * general.c (syms_of_general):
6347         Major reorg.  This is now just a wrapper and symbols themselves
6348         are listed in general-slots.h.
6349
6350         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6351         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6352
6353         * glyphs-msw.c (mswindows_native_layout_instantiate):
6354         Add DS_CONTROL so keyboard traversal will work.
6355
6356         * glyphs-widget.c:
6357         * glyphs-widget.c (syms_of_glyphs_widget):
6358         Move some symbols to general-slots.h.
6359
6360         * glyphs-x.c:
6361         * glyphs-x.c (xbm_instantiate_1):
6362         * glyphs-x.c (x_xbm_instantiate):
6363         * glyphs-x.c (x_xface_instantiate):
6364         * glyphs-x.c (autodetect_instantiate):
6365         * glyphs-x.c (cursor_font_instantiate):
6366         * glyphs-x.c (x_update_widget):
6367         * glyphs-x.c (x_widget_instantiate):
6368         * glyphs.c (bitmap_to_lisp_data):
6369         * glyphs.c (pixmap_to_lisp_data):
6370         [7].
6371
6372         * glyphs.c (syms_of_glyphs):
6373         [2].
6374
6375         * gui-x.c:
6376         * gui-x.c (print_widget_value):
6377         * gui-x.c (menu_separator_style_and_to_external):
6378         * gui-x.c (add_accel_and_to_external):
6379         * gui-x.c (button_item_to_widget_value):
6380         * gui-x.c (gui_items_to_widget_values_1):
6381         * gui-x.c (gui_items_to_widget_values):
6382         * gui-x.c (syms_of_gui_x):
6383         * gui-x.c (vars_of_gui_x):
6384         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6385         [9].
6386
6387         * gui-x.h:
6388         Muleize, prototype changes matching gui-x.c.
6389
6390         * gui.c:
6391         * gui.c (separator_string_p):
6392         * gui.c (gui_item_add_keyval_pair):
6393         * gui.c (make_gui_item_from_keywords_internal):
6394         * gui.c (signal_too_long_error):
6395         * gui.c (parse_gui_item_tree_item):
6396         * gui.c (syms_of_gui):
6397         * gui.c (vars_of_gui):
6398         * gui.h:
6399         menu-no-selection-hook moved here (used by MSWin).
6400         Move some symbols to general-slots.h.
6401         [6].
6402         [9].
6403
6404         * insdel.c (get_buffer_pos_char):
6405         * insdel.c (get_buffer_range_char):
6406         Add GC comments.
6407
6408         * keymap.c (keymap_lookup_directly):
6409         * keymap.c (keymap_store):
6410         * keymap.c (ensure_meta_prefix_char_keymapp):
6411         * keymap.c (describe_map):
6412         * keymap.h:
6413         Support new button modifiers.
6414
6415         * lisp-disunion.h (wrap_object):
6416         * lisp-disunion.h (XSETOBJ):
6417         Rename make_obj to wrap_object.
6418
6419         * lisp-union.h:
6420         * lisp-union.h (make_int):
6421         * lisp-union.h (make_char):
6422         Support wrap_object.
6423
6424         * lisp.h:
6425         * lisp.h (LIST_LOOP):
6426         * lisp.h (EXTERNAL_LIST_LOOP):
6427         * lisp.h (LIST_LOOP_2):
6428         * lisp.h (EXTERNAL_LIST_LOOP_1):
6429         * lisp.h (EXTERNAL_LIST_LOOP_2):
6430         * lisp.h (EXTERNAL_LIST_LOOP_3):
6431         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6432         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6433         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6434         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6435         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6436         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6437         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6438         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6439         * lisp.h (struct Lisp_Symbol):
6440         * lisp.h (maybe_continuable_error_with_frob):
6441         Fix up section comments.
6442         Add new types for char to indicate usage.
6443         Delete symbols auto-generated from general-slots.h.
6444         Add prototypes for structured error functions.
6445         Add long comments describing looping macros and change interface
6446         so that lvalues are automatically declared.
6447         Add NO_DECLARE macro in case callers want to declare lvalues
6448         themselves.
6449
6450         * lread.c (read_syntax_error):
6451         * lread.c (continuable_read_syntax_error):
6452         * lread.c (read_structure):
6453         * lread.c (sequence_reader):
6454         * lread.c (read_list_conser):
6455         * lread.c (read_compiled_function):
6456         Rename syntax_error and continuable_syntax_error to avoid clash
6457         with same-named structured error functions.
6458
6459         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6460         * menubar-msw.c (populate_menu_add_item):
6461         * menubar-msw.c (populate_or_checksum_helper):
6462         [5].
6463         [9].
6464
6465         * menubar-x.c:
6466         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6467         Mule-ize whole file.
6468
6469         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6470
6471         * mule-charset.c (Fmake_charset):
6472         * mule-wnnfns.c (Fwnn_set_param):
6473         [1].
6474
6475         * ntproc.c (create_child):
6476         * ntproc.c (Fwin32_set_current_locale):
6477         Add comments portending doom.
6478
6479         * objects-msw.c:
6480         * objects-msw.c (old_font_enum_callback_2):
6481         * objects-msw.c (font_enum_callback_1):
6482         * objects-msw.c (mswindows_enumerate_fonts):
6483         [5].
6484
6485         * objects-x.c:
6486         * objects-x.c (allocate_nearest_color):
6487         * objects-x.c (x_parse_nearest_color):
6488         * objects-x.c (x_initialize_color_instance):
6489         * objects-x.c (x_print_color_instance):
6490         * objects-x.c (x_finalize_color_instance):
6491         * objects-x.c (x_valid_color_name_p):
6492         * objects-x.c (x_initialize_font_instance):
6493         * objects-x.c (x_print_font_instance):
6494         * objects-x.c (valid_x_font_name_p):
6495         * objects-x.c (truename_via_FONT_prop):
6496         * objects-x.c (truename_via_random_props):
6497         * objects-x.c (truename_via_XListFonts):
6498         * objects-x.c (x_font_truename):
6499         * objects-x.c (x_font_instance_truename):
6500         * objects-x.c (x_font_instance_properties):
6501         * objects-x.c (x_list_fonts):
6502         * objects-x.c (x_find_charset_font):
6503         Mule-ize entire file.
6504         [7].
6505
6506         * objects-x.h:
6507         Mule-verify.
6508
6509         * print.c:
6510         * print.c (std_handle_out_external):
6511         * print.c (debug_print_no_newline):
6512         * print.c (syms_of_print):
6513         Output to all debugger kinds in debug-print.
6514         Fix console-output code under MSWin to actually work.
6515
6516         * process-nt.c (send_signal):
6517         * process-nt.c (nt_create_process):
6518         Use newer Unicode macros.
6519
6520         * process-unix.c (unix_create_process):
6521         * process-unix.c (unix_canonicalize_host_name):
6522         * process-unix.c (unix_open_network_stream):
6523         [7].
6524
6525         * scrollbar-x.c:
6526         Mule-verify.
6527
6528         * search.c (syms_of_search):
6529         [2].
6530
6531         * select-msw.c (mswindows_destroy_selection):
6532         Use LIST_LOOP_2.
6533
6534         * select-x.c (symbol_to_x_atom):
6535         [7].
6536
6537         * select.c (syms_of_select):
6538         [2].
6539
6540         * sound.c (Fplay_sound_file):
6541         [7].
6542
6543         * specifier.c:
6544         * specifier.c (decode_specifier_type):
6545         * specifier.c (Fvalid_specifier_locale_type_p):
6546         * specifier.c (check_valid_locale_or_locale_type):
6547         * specifier.c (decode_locale):
6548         * specifier.c (decode_locale_type):
6549         * specifier.c (decode_locale_list):
6550         * specifier.c (check_valid_domain):
6551         * specifier.c (decode_specifier_tag_set):
6552         * specifier.c (Fcanonicalize_tag_set):
6553         * specifier.c (Fdefine_specifier_tag):
6554         * specifier.c (Fspecifier_tag_predicate):
6555         * specifier.c (check_valid_inst_list):
6556         * specifier.c (check_valid_spec_list):
6557         * specifier.c (decode_how_to_add_specification):
6558         * specifier.c (check_modifiable_specifier):
6559         * specifier.c (specifier_add_spec):
6560         * specifier.c (boolean_validate):
6561         * specifier.c (display_table_validate):
6562         [9].
6563
6564         * specifier.c (syms_of_specifier):
6565         Move some symbols to general-slots.h.
6566         [2].
6567
6568         * symbols.c:
6569         * symbols.c (Fmapatoms):
6570         * symbols.c (Fapropos_internal):
6571         Add GCPROs.
6572
6573         * symbols.c (set_default_buffer_slot_variable):
6574         * symbols.c (set_default_console_slot_variable):
6575         [1].
6576
6577         * symbols.c (defsymbol_massage_name_1):
6578         * symbols.c (defkeyword_massage_name):
6579         * symbols.c (deferror_1):
6580         * symbols.c (deferror):
6581         * symbols.c (deferror_massage_name_and_message):
6582         * symeval.h:
6583         * symeval.h (DEFSYMBOL):
6584         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6585
6586         * symbols.c (syms_of_symbols):
6587         [2].
6588
6589         * symsinit.h:
6590         * symsinit.h (init_win32): New.
6591         Also new is syms_of_dialog_mswindows.
6592
6593         * syswindows.h:
6594         Add new Unicode macros, missing Cygwin wide-char functions,
6595         convenience conversion macros for Qmswindows_tstr, macros for
6596         encapsulating required MSWin <-> Cygwin filename conversions,
6597         prototype for dynamically-extracted (not in NT 3.51) functions.
6598
6599         * toolbar-x.c:
6600         Mule-verify.
6601
6602         * tooltalk.c (Fadd_tooltalk_message_arg):
6603         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6604         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6605         [7].
6606
6607         * tooltalk.c (syms_of_tooltalk):
6608         [2].
6609
6610         * unexnt.c:
6611         * unexnt.c (unexec):
6612         Fix up headers, declaration of unexec() to be more standard.
6613
6614 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6615
6616         * offix.h: Revert change to guard macros - they're used in offix.c!
6617
6618 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6619
6620         * lisp.h: Defsubred Fdelete.
6621
6622         * console-msw.h:  (msprinter_default_printer): Added.
6623
6624         * console-msw.c (msprinter_canonicalize_console_connection):
6625         (msprinter_canonicalize_device_connection): Added.
6626
6627         * device-msw.c (msprinter_default_printer):
6628         (Fmswingows_get_default_printer):
6629         (signal_enum_priner_error):
6630         (Fmswingows_printer_list): Added.
6631
6632 2000-07-19  Martin Buchholz <martin@xemacs.org>
6633
6634         * XEmacs 21.2.35 is released.
6635
6636 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6637
6638         * select-x.c (x_handle_selection_request):
6639         Text selected in xemacs and pasted into xterm failed to appear.
6640         Spelling fixes and cosmetic changes.
6641
6642 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6643
6644         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6645         XEmacs frame (fix for doubling chars in dialog boxes).
6646
6647 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6648
6649         * select.c (select_convert_in, select_convert_out):
6650         Don't call intern() every time.
6651
6652         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6653         * select.c (vars_of_select): Initialise them.
6654
6655 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6656
6657         * select.c (selection-coercible-types): New.
6658
6659         * select.c (own-selection-internal):
6660         * select.c (get-selection-internal):
6661         MULE bug fix - these should default to COMPOUND_TEXT and not
6662         STRING for MULE. I think.
6663
6664         * select.c (select_convert_out): Use selection-coercible-types
6665         to find types that we can attempt to perform coercions on.
6666
6667 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6668
6669         * mule-wnnfns.c:
6670         * mule-canna.c:
6671         Add coding: cookie to identify encoding.
6672
6673         * mule-canna.c (CANNA_mode_keys): make static.
6674         Use proper prototypes, even for functions of no arguments.
6675         Remove external prototype for Fding().
6676
6677         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6678
6679         * select.c (syms_of_select): Add missing DEFSUBR.
6680
6681 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6682
6683         * select.c (get_selection_internal, own_selection_internal):
6684         Make the type default to STRING, rather than placing a nil type
6685         into Vselection_alist.
6686
6687 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6688
6689         * gpmevent.c (tty_selection_exists_p):
6690         * gpmevent.c (tty_own_selection):
6691         Updated parameter lists.
6692
6693 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
6694
6695         * select.h (selection-alist): Removed declaration.
6696
6697         * select.h (get_local_selection):
6698         * select.c (get_local_selection):
6699         Made static.
6700
6701         * select.h (convert_selection): Removed declaration.
6702         * select.c (convert_selection): Removed.
6703         This function belongs in Lisp.
6704
6705         * select.h (select_convert_in): Declare.
6706         * select.h (select_convert_out): Declare.
6707         * select.c (select_convert_in): New.
6708         * select.c (select_convert_out): New.
6709         New conversion functions for other files to call.
6710
6711         * select.h (select_notify_buffer_kill): Declare.
6712         * select.c (select_notify_buffer_kill): New.
6713         New functions that get called from kill-buffer.
6714
6715         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
6716         X-specific lisp code.
6717
6718         * select.h: Declare some of the lisp-visible functions for
6719         external use.
6720
6721         * select.c (clean_local_selection_data): Removed. This was
6722         a disgusting function, and previously should have been in
6723         select-x.c in any case. The functionality is now provided
6724         in select-convert-from-integer (select.el).
6725
6726         * select.c (available-selection-types): Fixed stupidity where
6727         INTEGER and ATOM got added twice. Also add STRING when we see an
6728         extent.
6729
6730         * select.c (get-selection-internal): Removed symbol stripping. No
6731         longer causes conversion when data comes from the internal cache.
6732
6733         * select.c (syms_of_select): Added new functions.
6734
6735         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
6736         error checking - previously this called abort!
6737
6738         * select-x.c (x_own_selection): Changed comment.
6739
6740         * select-x.c (x_handle_selection_request): Use select_convert_out.
6741         Don't mess with selection-alist; it's an internal variable of select.c.
6742
6743         * select-x.c (x_get_foreign_selection): Use select_convert_in.
6744
6745         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
6746         rather than messing with selection-alist.
6747
6748         * select-msw.c (mswindows_get_foreign_selection):
6749         Use TO_INTERNAL_FORMAT rather than hacking.
6750
6751 2000-07-14  Martin Buchholz  <martin@xemacs.org>
6752
6753         * process-unix.c (unix_open_multicast_group):
6754         (unix_open_multicast_group): Remove useless casts.
6755
6756 2000-07-13  Martin Buchholz  <martin@xemacs.org>
6757
6758         * sound.c (Fplay_sound): Fix `unused variable' warning.
6759
6760         * emacs.c (main): Use correct type for _environ on SCO5.
6761
6762 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
6763
6764         * console.h (own_selection_method):
6765         * console.h (selection_exists_p_method):
6766         * console.h (available_selection_types_method): New.
6767         * console.h (register_selection_data_type_method): New.
6768         * console.h (selection_data_type_name): New.
6769
6770         * console-msw.h (mswindows_destroy_selection): Declare it.  New
6771         function & alist to track GlobalAlloc()'d handles that need
6772         releasing when the clipboard data gets replaced or emptied.
6773
6774         * event-msw.c (mswindows_wnd_proc): Call it.
6775
6776         * lisp.h, general.c (Qappend): New symbol representing a
6777         `how-to-add' mode.
6778
6779         * select.c (own-selection-internal):
6780         * select.c (selection-exists-p):
6781         * select.c (available-selection-types): New.
6782         * select.c (register-selection-data-type): New.
6783         * select.c (selection-data-type-name): New.  New functions to deal
6784         with device-specific selection data formats.
6785         * select.c (selection-converter-out-alist): Renamed.
6786         * select.c (selection-converter-in-alist): New.
6787         * select.c (selection-appender-alist): New.  Added new alists.
6788         * select.c (syms_of_select, vars_of_select): Added new symbols &
6789         variables.
6790         * select.c (get_local_selection): Split.
6791         * select.c: Removed spurious type checking - selections may now be
6792         of any type, not just strings.
6793         * select.c (own-selection-internal):
6794
6795         * select.h, select.c (convert_selection): New. Created
6796         convert_selection() function based on get_local_selection().
6797         * select.h, select.c (QCF_*): New symbols representing mswindows
6798         clipboard formats.
6799         * select.h, select.c (Qreplace_all, Qreplace_existing): New
6800         symbols representing `how-to-add' modes.
6801
6802         * select-msw.c (x_sym_p): New.
6803         * select-msw.c (symbol_to_ms_cf): New.
6804         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
6805         symbols & clipboard formats. Can also handle string names.
6806         * select-msw.c (mswindows_own_selection):
6807         * select-msw.c (mswindows_selection_exists_p):
6808         Added `data-type' parameter. Use it.
6809         * select-msw.c (mswindows_available_selection_types): New.
6810         * select-msw.c (mswindows_register_selection_data_type): New.
6811         * select-msw.c (mswindows_selection_data_type_name): New.
6812         * select-msw.c (mswindows_own_selection):
6813         * select-msw.c (mswindows_get_foreign_selection):
6814         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
6815         * select-msw.c (console_create_select_mswindows): Added new methods.
6816         * select-msw.c (mswindows_destroy_selection): New.
6817         * select-msw.c (Vhandle_alist): New list.
6818         * select-msw.c (mswindows_own_selection):
6819
6820         * select-x.c (x_own_selection):
6821         * select-x.c (x_selection_exists_p):
6822         * select-x.c: Added some comments about maybe using new
6823         functionality.
6824         * select-x.c (x_own_selection):
6825
6826         * specifier.c: Remove definition of Qappend (now in general.c)
6827         * specifier.c (syms_of_specifier): Remove Qappend.
6828
6829 2000-07-12  Martin Buchholz  <martin@xemacs.org>
6830
6831         * config.h.in: Add socklen_t.
6832
6833         * s/decosf4-0.h: No special compiler flags needed or desired.
6834         In particular, undefine _BSD for DEC OSF 4.0.
6835
6836 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6837
6838         * redisplay-msw.c (msprinter_frame_output_end): Added.
6839         (console_type_create_redisplay_mswindows): Referred the above.
6840
6841         * frame.c (setup_frame_without_minibuffer): Do not create a
6842         default minibuffer frame on a printer device.
6843
6844         * frame-msw.c (apply_dc_geometry): Added.
6845         (msprinter_start_page):
6846         (msprinter_init_frame_3):
6847         (msprinter_eject_page): Use it.
6848
6849         * console-msw.h (struct msprinter_frame): Added pix_left and top,
6850         and removed residual duplex and orientation properties.
6851
6852 2000-07-11  Martin Buchholz  <martin@xemacs.org>
6853
6854         * eval.c (function_argcount): Work around a DEC CC compiler bug.
6855
6856         * unexalpha.c: Remove system prototypes from C sources!
6857
6858 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
6859
6860         * eval.c: Remove references to M-x edit-options in DEFUNs for
6861         `defvar' and `defconst'.
6862
6863 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6864
6865         * config.h.in: Remove SMART_INCLUDE hackery.
6866
6867         PostgreSQL hacking:
6868         * config.h.in: Don't use SMART_INCLUDE.
6869
6870         * postgresql.h: Include libpq-fe.h here.  Fix typo.
6871         * inline.c: Simply #include "postgresql.h"
6872         * postgresql.c:
6873         - Don't use SMART_INCLUDE
6874         - Use simply "const".
6875         - Use standard doc string conventions.
6876         - Use correct type for result of PQstatus.
6877
6878 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6879
6880         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
6881
6882         C++ compilation changes.
6883         * config.h.in (EXTERN_C): Define.
6884         * config.h.in (not): This is also a C++ keyword.
6885         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
6886         * cm.c: Use EXTERN_C.
6887         * redisplay-tty.c: Use EXTERN_C.
6888         * sysdep.c: Use EXTERN_C.  Remove Gould support.
6889
6890 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6891
6892         * general.c: Remove duplicate definition for Qfunction.
6893
6894 2000-07-08  Ben Wing  <ben@xemacs.org>
6895
6896         * device-msw.c (msprinter_init_device):
6897         * device-msw.c (sync_printer_with_devmode):
6898         * device-msw.c (handle_devmode_changes):
6899         * device-msw.c (print_dialog_worker):
6900         * device-msw.c (Fmsprinter_apply_settings):
6901         * device-msw.c (hash_devmode):
6902         * device-msw.c (Fmsprinter_settings_despecialize):
6903         use Qmswindows_tstr, not Qctext.
6904
6905         * vm-limit.c (check_memory_limits):
6906         avoid infinite loop printing warning messages.
6907
6908 2000-07-05  Craig Lanning  <lanning@scra.org>
6909
6910         * Makefile.in.in: Add support for including the Windows resources
6911         when building with the cygwin and mingw targets.
6912
6913         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
6914         not set or not correct.
6915         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
6916         (init_initial_directory): Don't try to use $PWD on the
6917         WIN32_NATIVE target.
6918
6919         * s\cygwin32.h:
6920         [[Add -mwindows to eliminate console window.]] not required --ben
6921         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6922         (MAIL_USE_POP): removed; now handled by configure.
6923
6924         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
6925         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
6926         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6927         (MAIL_USE_POP): removed; now handled by configure.
6928         (ENCAPSULATE_STAT): from Dan Holmsand, added.
6929         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
6930         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
6931         constant string.
6932         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
6933         up from <winsock.h> via systime.h.
6934         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
6935         (getpagesize): from Dan Holmsand, added.
6936         Added #endif which was left dangling by Ben's mega patch; added
6937         comment to help prevent this in the future.
6938
6939         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
6940
6941 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6942
6943         * console-msw.h (struct mswindows_device): Removed unnecessary
6944         cached device geometry values.
6945         Added update_tick and an accessor macro.
6946         (Lisp_Devmode): Added lrecord declaration.
6947         (struct msprinter_device): Contain devmode as a Lisp object.
6948         Added mswindows_get_selected_frame_hwnd();
6949
6950         * console.h (struct console_methods): Indentation nitpicking.
6951
6952         * device-msw.c (mswindows_init_device): Do not initialize geometry
6953         cache. Initialize update tick.
6954         (mswindows_device_system_metrics): Ask the device for its geometry.
6955         (global_free_2_maybe):
6956         (devmode_to_hglobal):
6957         (handle_printer_changes):
6958         (ensure_not_printing):
6959         (print_dialog_worker):
6960         (Fmsprinter_print_setup_dialog):
6961         (Fmsprinter_print_dialog):
6962         (plist_get_margin):
6963         (plist_set_margin):
6964         (Fmsprinter_page_setup_dialog): Added functions.
6965         (sync_printer_with_devmode):
6966         (handle_devmode_changes):
6967         (Fmsprinter_get_settings):
6968         (Fmsprinter_select_settings):
6969         (Fmsprinter_apply_settings):
6970         (allocate_devmode):
6971         (Fmsprinter_settings_copy):
6972         (Fmsprinter_settings_despecialize):
6973         (print_devmode):
6974         (finalize_devmode):
6975         (equal_devmode):
6976         (hash_devmode): Added functions
6977         (syms_of_device_mswindows): Init devmode lrecord class.
6978
6979         * device.h: Added an exfun for find-device.
6980
6981         * event-msw.c (mswindows_wnd_proc): Do not update the cached
6982         geometry; although, recreate the device compatible DC.
6983
6984         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
6985         (msprinter_init_frame_3):
6986         (msprinter_frame_property):
6987         (msprinter_internal_frame_property_p):
6988         (msprinter_frame_properties):
6989         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
6990         print job properties (will move to device settings).
6991
6992         * lisp.h: Added symbols.
6993
6994         * general.c (syms_of_general): Declared them.
6995
6996         * hash.c (string_hash): Added.
6997
6998         * lrecord.h (lrecord_type): Added devmode lrecord type.
6999
7000 2000-07-02  Mike Sperber <mike@xemacs.org>
7001
7002         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7003         FreeBSD 4.0.
7004
7005 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7006
7007         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7008         integer.
7009
7010 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7011
7012         * data.c (Fstring_to_number): Don't recognize floating point if
7013         base is not 10.
7014
7015 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7016
7017         * glyphs-widget.c (tab_control_query_geometry):
7018         (widget_query_geometry):
7019         (button_query_geometry):
7020         * glyphs.c (text_query_geometry):
7021         Enforce type correctness.
7022
7023 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7024
7025         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7026         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7027
7028 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7029
7030         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7031         conflicts with gcc's fixincluded version of FOO.h.
7032
7033         * glyphs.h (image_instance_geometry): Remove trailing `,'
7034
7035 2000-06-08  Mike Alexander  <mta@arbortext.com>
7036
7037         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7038         (shove_thread): Don't write the same output twice
7039         (make_ntpipe_output_stream): Increase priority of shove thread
7040         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7041         chance to run
7042         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7043         it.
7044
7045 2000-06-12  Ben Wing  <ben@xemacs.org>
7046
7047         * s\mingw32.h (sigset):
7048         * s\windowsnt.h (sigset):
7049         rename msw_ to mswindows_ for consistency with general convention.
7050
7051 2000-06-12  Ben Wing  <ben@xemacs.org>
7052
7053         * console-msw.c:
7054         * console-msw.c (mswindows_get_console_hwnd):
7055         * console-msw.c (mswindows_ensure_console_allocated):
7056         * console-msw.c (mswindows_hide_console):
7057         * console-msw.c (mswindows_show_console):
7058         * console-msw.c (mswindows_ensure_console_buffered):
7059         * console-msw.c (mswindows_output_console_string):
7060         * console-msw.c (mswindows_windows9x_p):
7061         * console-msw.h:
7062         * device-msw.c (mswindows_get_workspace_coords):
7063         * device-msw.c (mswindows_device_system_metrics):
7064         * dialog-msw.c (mswindows_popup_dialog_box):
7065         * event-msw.c (mswindows_wnd_proc):
7066         * frame-msw.c (mswindows_size_frame_internal):
7067         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7068         * menubar-msw.c (displayable_menu_item):
7069         * menubar-msw.c (mswindows_char_is_accelerator):
7070         * nt.c:
7071         * nt.c (mswindows_sigset):
7072         * nt.c (mswindows_sigrelse):
7073         * nt.c (mswindows_sigpause):
7074         * nt.c (mswindows_raise):
7075         * nt.c (timer_proc):
7076         * ntproc.c:
7077         * ntproc.c (find_child_console):
7078         * ntproc.c (sys_kill):
7079         * print.c:
7080         * print.c (std_handle_out_external):
7081         * process-nt.c (find_child_console):
7082         * process-nt.c (send_signal_the_95_way):
7083         * process-nt.c (ensure_console_window_exists):
7084         * process-nt.c (nt_create_process):
7085         * syssignal.h:
7086         rename msw_ to mswindows_ for consistency with general convention.
7087
7088         * emacs.c:
7089         * dumper.c:
7090         include nt.h, not syswindows.h.
7091
7092         * nt.c (mswindows_fstat):
7093         * nt.c (mswindows_stat):
7094         prefix mswindows_ instead of attempting to directly override the
7095         library functions.  fix declarations.
7096
7097         * nt.h:
7098         include syswindows.h.  move some sysdep.h stuff here.
7099
7100         * ntheap.h:
7101         include syswindows.h, not <windows.h>.
7102
7103         * ntplay.c:
7104         clean up headers.
7105
7106         * sysdep.c:
7107         clean up headers.
7108
7109         * sysdep.c (sys_fstat):
7110         * sysdep.c (sys_stat):
7111         call mswindows versions when appropriate.
7112
7113         * sysdep.h:
7114         move mswin decls to nt.h.
7115
7116         * syswindows.h:
7117         add long comment describing appropriate use of the various windows
7118         headers.
7119
7120 2000-06-11  Ben Wing  <ben@xemacs.org>
7121
7122         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7123
7124 2000-06-10  Ben Wing  <ben@xemacs.org>
7125
7126         * Makefile.in.in (release):
7127         Correction to make sure xemacs.exe always dumped when correct.
7128
7129         * alloca.c:
7130         * balloon_help.c:
7131         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7132
7133         * buffer.c (set_buffer_internal):
7134         [[[[2]]]]: Remove HAVE_FEP code.
7135
7136         * buffer.c (init_initial_directory):
7137         [3].
7138
7139         * bytecode.c:
7140         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7141         individual files.
7142
7143         * callproc.c:
7144         * callproc.c (call_process_cleanup):
7145         * callproc.c (Fold_call_process_internal):
7146         * callproc.c (child_setup):
7147         * callproc.c (getenv_internal):
7148         * callproc.c (init_callproc):
7149         * callproc.c (vars_of_callproc):
7150         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7151         __CYGWIN32__ -> CYGWIN.
7152         DOS_NT -> WIN32_NATIVE.
7153         Remove MSDOS support/references, converting to WIN32_NATIVE
7154           where correct.
7155         __MINGW32__ -> MINGW.
7156         Fix windows.h includes.
7157         Remove bogus HAVE_NTGUI.
7158
7159         * config.h.in:
7160         [2].
7161
7162         * console-msw.c:
7163         mswindows_message_outputted added for use in allowing startup
7164         errors on the console to be seen.
7165
7166         * console-msw.c (msw_ensure_console_allocated):
7167         * console-msw.c (msw_output_console_string):
7168         * console-msw.c (DHEADER):
7169         * console-msw.c (DOPAQUE_DATA):
7170         * console-msw.c (DEVENT):
7171         * console-msw.c (DCONS):
7172         * console-msw.c (DCONSCDR):
7173         * console-msw.c (DSTRING):
7174         * console-msw.c (DVECTOR):
7175         * console-msw.c (DSYMBOL):
7176         * console-msw.c (DSYMNAME):
7177         Fix warnings.
7178
7179         * console-stream.c (stream_init_console):
7180         Fix text/binary problems.
7181
7182         * device-msw.c:
7183         * device-msw.c (mswindows_finish_init_device):
7184         * device-msw.c (mswindows_delete_device):
7185         [1].
7186
7187         * device.c (handle_asynch_device_change):
7188         [3].
7189
7190         * dgif_lib.c:
7191         * dgif_lib.c (DGifOpenFileName):
7192         * dgif_lib.c (DGifOpenFileHandle):
7193         * dgif_lib.c (DGifGetLine):
7194         * dgif_lib.c (DGifGetPixel):
7195         Added config.h/lisp.h, fix up includes.
7196         [1].
7197
7198         * dired-msw.c:
7199         [4].
7200
7201         * dired.c:
7202         * dired.c (file_name_completion):
7203         * dired.c (Ffile_attributes):
7204         * dired.c (syms_of_dired):
7205         [1].
7206
7207         * dumper.c:
7208         * dumper.c (pdump_file_unmap):
7209         * dumper.c (pdump_load):
7210         [1].
7211
7212         * editfns.c:
7213         * editfns.c (Ftemp_directory):
7214         * editfns.c (user_login_name):
7215         * editfns.c (Fuser_real_login_name):
7216         * editfns.c (get_home_directory):
7217         [1].
7218
7219         * elhash.c (finish_marking_weak_hash_tables):
7220         [[[[5]]]]: Fix GCC warnings.
7221
7222         * emacs.c:
7223         * emacs.c (mswindows_handle_hardware_exceptions):
7224         * emacs.c (make_arg_list_1):
7225         * emacs.c (main_1):
7226         * emacs.c (Fkill_emacs):
7227         * emacs.c (Fdump_emacs):
7228         [1].
7229         Fix problems with nested crashes, add long comment.
7230
7231         * event-Xt.c (init_event_Xt_late):
7232         [1].
7233
7234         * event-msw.c:
7235         * event-msw.c (mswindows_dde_callback):
7236         * event-msw.c (mswindows_handle_sticky_modifiers):
7237         * event-msw.c (mswindows_wnd_proc):
7238         [1].
7239         [5].
7240
7241         * events.c (character_to_event):
7242         [1].
7243
7244         * fileio.c:
7245         * fileio.c (Ffile_name_directory):
7246         * fileio.c (Ffile_name_nondirectory):
7247         * fileio.c (directory_file_name):
7248         * fileio.c (Fexpand_file_name):
7249         * fileio.c (Fsubstitute_in_file_name):
7250         * fileio.c (Ffile_name_absolute_p):
7251         * fileio.c (check_executable):
7252         * fileio.c (Ffile_readable_p):
7253         * fileio.c (Ffile_accessible_directory_p):
7254         * fileio.c (Ffile_modes):
7255         * fileio.c (Funix_sync):
7256         * fileio.c (vars_of_fileio):
7257         [1]. [4].
7258
7259         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7260
7261         Expand getdefdir defn.
7262         Fix bogus rename() comment.
7263
7264         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7265         to use standard XEmacs include files, e.g. sysfile.h, rather
7266         than system-specific includes.
7267
7268         * fns.c:
7269         * fns.c (Fsubseq):
7270         [5]. [6].
7271
7272         * frame.c (vars_of_frame):
7273         [1].
7274
7275         * getloadavg.c:
7276         * getloadavg.c (getloadavg):
7277         [1]. [6].
7278         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7279         (We don't use it elsewhere in the code; just add a comment.)
7280
7281         * gif_io.c:
7282         [6].
7283         Add config.h.
7284
7285         * glyphs-msw.c:
7286         * glyphs-msw.c (mswindows_resource_instantiate):
7287         [1].
7288
7289         * glyphs-x.c (x_native_layout_instantiate):
7290         [5].
7291
7292         * gui-msw.c (Fmswindows_shell_execute):
7293         [1].
7294
7295         * insdel.c:
7296         [4].
7297
7298         * lisp.h:
7299         [4]. [5].
7300
7301         * lread.c (locate_file_in_directory_mapper):
7302         [1].
7303
7304         * lstream.c:
7305         [4].
7306
7307         * mem-limits.h:
7308         * mem-limits.h (get_lim_data):
7309         [1].
7310
7311         * menubar-msw.c:
7312         [4].
7313
7314         * ndir.h:
7315         [1].
7316
7317         * nt.c:
7318         * nt.c (getwd):
7319         * nt.c (closedir):
7320         * nt.c (rva_to_section):
7321         * nt.c (mswindows_executable_type):
7322         [1]. [6].
7323         Fix closedir() defn.
7324
7325         * nt.h:
7326         [[[[8]]]]: *_OK defs moved to sysfile.h.
7327
7328         * ntproc.c:
7329         [6]. [7].
7330
7331         * objects-x.c:
7332         [4].
7333
7334         * print.c:
7335         * print.c (std_handle_out_external):
7336         [1]. [4].
7337
7338         * process-nt.c:
7339         * process-nt.c (nt_create_process):
7340         [6].
7341         try to fix process quoting somewhat.
7342
7343         * process-unix.c (unix_create_process):
7344         [1].
7345
7346         * process.c:
7347         * process.c (vars_of_process):
7348         Add Vnull_device.
7349
7350         * process.h:
7351         [1].
7352
7353         * realpath.c:
7354         * realpath.c (xrealpath):
7355         [1].
7356
7357         * redisplay-tty.c (init_tty_for_redisplay):
7358         [3].
7359
7360         * redisplay.c:
7361         [4]. [6].
7362
7363         * scrollbar-msw.c:
7364         [4].
7365
7366         * sheap.c:
7367         * sheap.c (more_static_core):
7368         * sheap.c (report_sheap_usage):
7369         [5]. [6].
7370
7371         * signal.c:
7372         * signal.c (alarm_signal):
7373         [1]. [6].
7374
7375         * sound.c:
7376         [6].
7377
7378         * strftime.c:
7379         * strftime.c (zone_name):
7380         [1]. [5].
7381
7382         * symsinit.h (init_sunpro):
7383         [1].
7384
7385         * syscommctrl.h:
7386         commctrl.h not in Cygwin b20.1.
7387
7388         * sysdep.c:
7389         * sysdep.c (endif):
7390         * sysdep.c (sys_subshell):
7391         * sysdep.c (init_baud_rate):
7392         * sysdep.c (emacs_get_tty):
7393         * sysdep.c (emacs_set_tty):
7394         * sysdep.c (tty_init_sys_modes_on_device):
7395         * sysdep.c (init_system_name):
7396         * sysdep.c (sys_open):
7397         * sysdep.c (interruptible_open):
7398         * sysdep.c (sys_fopen):
7399         * sysdep.c (sys_mkdir):
7400         * sysdep.c (sys_rename):
7401         * sysdep.c (get_process_times_1):
7402         [1]. [6].
7403
7404         * sysdep.h:
7405         [1].
7406
7407         * sysdir.h:
7408         * sysdir.h (DIRENTRY_NONEMPTY):
7409         [1]. [6].
7410
7411         * sysdll.c (dll_init):
7412         * sysdll.h:
7413         [1].
7414
7415         * sysfile.h:
7416         [1]. [6]. [8].
7417         added text/binary defs.
7418
7419         * sysfloat.h:
7420         [1].
7421
7422         * sysproc.h:
7423         * sysproc.h (EDESTADDRREQ):
7424         * sysproc.h (poll_fds_for_input):
7425         [1]. [6].
7426
7427         * syspwd.h:
7428         [6].
7429
7430         * syssignal.h:
7431         [1].
7432
7433         * systime.h:
7434         [1]. [6].
7435
7436         * systty.h:
7437         [1].
7438
7439         * syswindows.h:
7440         [1].
7441         Always define WIN32_LEAN_AND_MEAN.
7442
7443         * unexcw.c (unexec):
7444         [5].
7445
7446         * unexec.c:
7447         * unexec.c (copy_text_and_data):
7448         * unexec.c (adjust_lnnoptrs):
7449         [1].
7450
7451         * unexnt.c:
7452         * unexnt.c (_start):
7453         [1].
7454
7455 2000-06-07  Ben Wing  <ben@xemacs.org>
7456
7457         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7458         was used only as a model.  We've long since extracted any useful
7459         logic or code out of this. (I just did an exhaustive search.)
7460
7461         * s\msdos.h: Removed.
7462
7463         * s\windows95.h: Removed.
7464
7465 2000-06-10  Ben Wing  <ben@xemacs.org>
7466
7467         * s\cygwin32.h:
7468         [1]. [5].
7469         Don't use extern with fun defs.
7470
7471         * s\mingw32.h:
7472         [1]. [7].
7473         Remove nt\inc include.
7474         Remove getdisk, getdefdir. (The former is unused, the latter
7475         expanded in fileio.h.)
7476
7477         * s\windowsnt.h:
7478         * s\windowsnt.h (WIN32_NATIVE):
7479         * s\windowsnt.h (HAVE_STRCASECMP):
7480         [1]. [7].
7481         Add long comment about preprocessor changes.
7482         Remove getdisk, getdefdir. (The former is unused, the latter
7483         expanded in fileio.h.)
7484
7485 2000-06-10  Ben Wing  <ben@xemacs.org>
7486
7487         * m\arm.h:
7488         * m\delta.h:
7489         * m\intel386.h:
7490         * m\sequent.h:
7491         * m\template.h:
7492         * m\windowsnt.h:
7493         [1].
7494         Remove bogus/unused NO_SOCK_SIGIO.
7495
7496 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7497
7498         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7499         not an Emchar.
7500
7501 2000-06-04  Mike Sperber <mike@xemacs.org>
7502
7503         * casetab.c (set_case_table): For `set-standard-case-table',
7504         actually deposit the new case tables where the rest of XEmacs can
7505         see them.
7506
7507 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7508
7509         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7510
7511 2000-06-05  Ben Wing  <ben@xemacs.org>
7512
7513         * callproc.c (child_setup): Don't do close_load_descs() under
7514         MS Windows.  Put in a comment explaining why.
7515
7516 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7517
7518         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7519         Toolkit shell" which breaks `kill-compilation' on Windows NT
7520         native, retaining STDERR handling improvements.
7521
7522 2000-06-01  Andreas Jaeger  <aj@suse.de>
7523
7524         * s/s390.h: Support for S390, based on a patch by Martin
7525         Schwidefsky <schwidefsky@de.ibm.com>.
7526
7527 2000-05-30  Andy Piper  <andy@xemacs.org>
7528
7529         * window.c (allocate_window):
7530         (make_dummy_parent):
7531         (Fset_window_configuration): use new hashtable type.
7532
7533         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7534         (struct image_instantiator_methods):
7535         (struct Lisp_Image_Instance): make instance geometry signed.
7536
7537         * glyphs.c (instantiate_image_instantiator):
7538         (image_instance_query_geometry):
7539         (image_instance_layout):
7540         (image_instance_layout):
7541         (query_string_geometry):
7542         (text_query_geometry):
7543         (image_instantiate):
7544         (image_instantiate):
7545         (cache_subwindow_instance_in_frame_maybe):
7546         (subwindow_query_geometry): make instance geometry signed.
7547
7548         * glyphs-widget.c (widget_query_geometry):
7549         (widget_layout):
7550         (button_query_geometry):
7551         (tree_view_query_geometry):
7552         (tab_control_query_geometry):
7553         (layout_query_geometry):
7554         (layout_layout):
7555         (native_layout_layout): make instance geometry signed.
7556
7557 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7558
7559         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7560         constant.
7561
7562         * general.c (syms_of_general): Add Qfull_assoc symbol.
7563
7564         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7565         correctly.
7566         (decode_weak_list_type): Decode full-assoc type.
7567         (encode_weak_list_type): Encode full-assoc type.
7568         (Fmake_weak_list): Update doc string.
7569
7570 2000-05-30  Andy Piper  <andy@xemacs.org>
7571
7572         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7573
7574         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7575         (decode_hash_table_weakness): ditto.
7576         (Fhash_table_weakness): ditto.
7577         (Fhash_table_type): ditto.
7578         (finish_marking_weak_hash_tables): ditto.
7579         (hash_table_weakness_validate): ditto.
7580         (syms_of_elhash): ditto.
7581
7582 2000-05-28  Martin Buchholz <martin@xemacs.org>
7583
7584         * XEmacs 21.2.34 is released.
7585
7586 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7587
7588         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7589         start cache.
7590         (updating_line_start_cache): Gone.
7591         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7592         generic code to force a minimum of 1 line laid out in the
7593         CMOTION_DISP case.
7594
7595 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7596
7597         * glyphs.c (instantiate_image_instantiator): Check for initialized
7598         height & width no longer special cases IMAGE_NOTHING.
7599         (nothing_instantiate): Set height and width of instance.
7600
7601 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7602
7603         * unexelf.c (unexec): Search for ".data" section.
7604         Initialize new_data2_offset from old_data_index.
7605         Remove redundant check for ElfW.
7606
7607 2000-05-23  Andy Piper  <andy@xemacs.org>
7608
7609         * glyphs.c (get_image_instantiator_governing_domain): allow more
7610         specific domains as the governing domain rather than expecting an
7611         exact match. This fixes problems with layouts.
7612
7613 2000-05-22  Andy Piper  <andy@xemacs.org>
7614
7615         * redisplay-output.c (compare_runes): check for non-images
7616
7617         * glyphs.c (set_glyph_dirty_p): ditto.
7618         (update_glyph_cachel_data): ditto.
7619
7620         * glyphs-widget.c (layout_post_instantiate): ditto.
7621         (layout_post_instantiate): ditto.
7622
7623         * event-msw.c (mswindows_wnd_proc): warning removal.
7624
7625 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7626
7627         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7628
7629         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7630
7631         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7632
7633         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7634         (mswindows_executable_type): mingw32 now has enough headers for
7635         this to work.
7636
7637 2000-05-20  Andy Piper  <andy@xemacs.org>
7638
7639         * console-msw.c (mswindows_output_last_error): ; -> ,
7640
7641 2000-05-12  Andy Piper  <andy@xemacs.org>
7642
7643         * console-msw.c (FROB): compare ints with ints.
7644
7645 2000-05-11  Andy Piper  <andy@xemacs.org>
7646
7647         * glyphs-x.c (x_finalize_image_instance): make minimal build
7648         happy.
7649
7650 2000-05-20  Ben Wing  <ben@xemacs.org>
7651
7652         * event-Xt.c:
7653         * event-Xt.c (vars_of_event_Xt):
7654         move modifier-keys-are-sticky to event-stream.c.
7655
7656         * event-msw.c:
7657         * event-msw.c (mswindows_enqueue_mouse_button_event):
7658         * event-msw.c (key_needs_default_processing_p):
7659         * event-msw.c (XEMSW_LCONTROL):
7660         * event-msw.c (mswindows_handle_sticky_modifiers):
7661         * event-msw.c (FROB):
7662         * event-msw.c (clear_sticky_modifiers):
7663         * event-msw.c (output_modifier_keyboard_state):
7664         * event-msw.c (output_alt_keyboard_state):
7665         * event-msw.c (mswindows_wnd_proc):
7666         * event-msw.c (mswindows_modifier_state):
7667         * event-msw.c (emacs_mswindows_handle_magic_event):
7668         implement sticky modifiers.
7669
7670         * event-stream.c:
7671         * event-stream.c (vars_of_event_stream):
7672         move modifier-keys-are-sticky here.
7673
7674         * lisp.h:
7675         add CHECK_FUNCTION.
7676
7677         * rangetab.c:
7678         implement map-range-table.
7679
7680
7681 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7682
7683         * redisplay-tty.c (reset_tty_modes):
7684         (tty_redisplay_shutdown): Adjust argument type to
7685         tty_frame_output_end.
7686
7687 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7688
7689         * eval.c (Fbacktrace): Don't output a line with only right
7690         parenthesis.
7691
7692 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
7693
7694         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
7695         (Fpq_reset_poll): Ditto.
7696
7697 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
7698
7699         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
7700
7701 2000-05-16  Ben Wing  <ben@xemacs.org>
7702
7703         * buffer.c:
7704         * buffer.c (dfc_convert_to/from_internal_format):
7705         * buffer.c (reinit_vars_of_buffer):
7706         Fix conversion functions to allow reentrancy.
7707
7708         * console-msw.c:
7709         * console-msw.c (mswindows_output_last_error):
7710         New fun, generally useful -- output a human-readable
7711         version of GetLastError() on the console.
7712
7713         * console-msw.h:
7714         * console-msw.h (struct mswindows_frame):
7715         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
7716
7717         * console-stream.c (stream_output_begin):
7718         * console-stream.c (stream_output_end):
7719         * console-stream.c (stream_output_vertical_divider):
7720         * console-stream.c (stream_clear_region):
7721         * console-stream.c (stream_flash):
7722         * console-stream.c (console_type_create_stream):
7723         Delete blank stream methods, not needed.
7724
7725         * console.h (struct console_methods):
7726         Split begin/end methods into window and frame.
7727
7728         * event-msw.c:
7729         * event-msw.c (mswindows_handle_paint):
7730         * event-msw.c (output_alt_keyboard_state):
7731         * event-msw.c (mswindows_wnd_proc):
7732         * event-msw.c (vars_of_event_mswindows):
7733         Comment about problems with ignored-expose.
7734         Define mswindows-debug-events; not really implemented.
7735
7736         * frame-msw.c (mswindows_init_frame_1):
7737         random cleanups.
7738
7739         * glyphs-msw.c:
7740         * glyphs-msw.c (begin_defer_window_pos):
7741         * glyphs-msw.c (mswindows_unmap_subwindow):
7742         * glyphs-msw.c (mswindows_map_subwindow):
7743         * glyphs-msw.c (mswindows_resize_subwindow):
7744         Use DeferWindowPos to reduce flashing when mapping/unmapping.
7745
7746         * glyphs.c (make_image_instance_1):
7747         Fix crash.
7748
7749         * gutter.c (Fredisplay_gutter_area):
7750         Use new begin/end methods.
7751
7752         * lisp.h (Dynarr_new2):
7753         New creation fun.
7754
7755         * redisplay-msw.c:
7756         * redisplay-msw.c (mswindows_frame_output_begin):
7757         * redisplay-msw.c (mswindows_frame_output_end):
7758         * redisplay-msw.c (console_type_create_redisplay_mswindows):
7759         New begin/end methods -- handle DeferWindowPos.
7760
7761         * redisplay-output.c (redisplay_move_cursor):
7762         * redisplay-output.c (redraw_cursor_in_window):
7763         * redisplay-output.c (redisplay_update_line):
7764         * redisplay-output.c (redisplay_output_window):
7765         New begin/end methods.
7766
7767         * redisplay-tty.c:
7768         * redisplay-tty.c (tty_frame_output_begin):
7769         * redisplay-tty.c (tty_frame_output_end):
7770         * redisplay-tty.c (console_type_create_redisplay_tty):
7771         New begin/end methods.
7772
7773         * redisplay-x.c:
7774         * redisplay-x.c (x_window_output_begin):
7775         * redisplay-x.c (x_window_output_end):
7776         * redisplay-x.c (console_type_create_redisplay_x):
7777         New begin/end methods.
7778
7779         * redisplay.c (redisplay_frame):
7780         * redisplay.c (Fredisplay_echo_area):
7781         New begin/end methods.
7782         use MAYBE_DEVMETH for clear_frame; it may not exist.
7783
7784         * window.h (WINDOW_XFRAME):
7785         WINDOW_XFOO macros -- get locale and decode struct pointer.
7786
7787
7788 2000-05-12  Ben Wing  <ben@xemacs.org>
7789
7790         * emacs.c:
7791         * emacs.c (ensure_no_quitting_from_now_on):
7792         * emacs.c (fatal_error_signal):
7793         * emacs.c (mswindows_handle_hardware_exceptions):
7794         * emacs.c (main):
7795         * emacs.c (Fkill_emacs):
7796         * emacs.c (shut_down_emacs):
7797         * emacs.c (assert_failed):
7798         various improvements in fatal error handling.
7799
7800         * eval.c:
7801         move preparing_for_armageddon to emacs.c.
7802
7803         * lisp.h:
7804         declare fatal_error_in_progress.
7805
7806         * print.c:
7807         * print.c (std_handle_out_external):
7808         * print.c (std_handle_out_va):
7809         * print.c (stderr_out):
7810         * print.c (stdout_out):
7811         use console under mswin when no standard output.
7812         don't do code conversion during fatal error.
7813
7814         * scrollbar.c (Fscrollbar_page_up):
7815         * scrollbar.c (Fscrollbar_page_down):
7816         fix missing else.  reindent.
7817
7818 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
7819
7820         Emergency fix.
7821
7822         * glyphs.h (GLYPH_CACHEL_DESCENT):
7823         (GLYPH_CACHEL_DESCENT):
7824         (GLYPH_CACHEL_DESCENT):
7825         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
7826         used in case these are inline functions.
7827         Use more absurd values to error check.
7828
7829         include window.h for error check functions.
7830
7831 2000-05-11  Ben Wing  <ben@xemacs.org>
7832
7833         * cmdloop.c (Freally_early_error_handler):
7834         Display message box under windows; otherwise, message will disappear
7835         before it can be viewed.
7836
7837         * console-msw.c:
7838         * console-msw.c (Fmswindows_message_box):
7839         * console-msw.c (FROB):
7840         * console-msw.c (syms_of_console_mswindows):
7841         Define new fun `mswindows-message-box'.
7842         #### I will merge this into `popup-dialog-box'; just give me
7843         a bit of time.
7844
7845         * general.c:
7846         * general.c (syms_of_general):
7847         Some new symbols used in `mswindows-message-box'.
7848
7849         * glyphs.c:
7850         * glyphs.c (Fset_image_instance_property):
7851         put warning in this fun.
7852
7853         * glyphs.h:
7854         * glyphs.h (GLYPH_CACHEL_WIDTH):
7855         * glyphs.h (GLYPH_CACHEL_ASCENT):
7856         * glyphs.h (GLYPH_CACHEL):
7857         * glyphs.h (GLYPH_CACHEL_GLYPH):
7858         define error-checking versions to try to catch a bug i've seen --
7859         redisplay gets in an infinite loop because the glyph width of the
7860         continuation glyph is 65535.
7861
7862         * lisp.h:
7863         Extern message-box stuff.
7864
7865         * window.c (allocate_window):
7866         * window.c (make_dummy_parent):
7867         * window.c (Fset_window_configuration):
7868         Use EQUAL not EQ for subwindow caches to make them work a bit
7869         better. (Something is still very broken.)
7870
7871
7872 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7873
7874         * glyphs.c (image_instantiate): Suppress gcc warnings.
7875         (Fmake_image_instance): Fix doc string.
7876         * specifier.c (Fmake_specifier): Ditto.
7877
7878 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
7879
7880         * paths.h.in (PATH_LOCK): Removed.
7881         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
7882         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
7883
7884 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7885
7886         * fns.c (Ffeaturep): Update e-mail address in doc-string.
7887         Document (featurep '(and xemacs 21.02)).
7888
7889 2000-05-09  Ben Wing  <ben@xemacs.org>
7890
7891         * buffer.c (complex_vars_of_buffer):
7892         update modeline-format doc.
7893
7894         * device.h:
7895         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
7896
7897         * emacs.c:
7898         timeline of all released versions of Emacs, for use in creating
7899         authorship comments and in synching up.
7900
7901         * glyphs-widget.c (image_instantiator_buttons):
7902         * glyphs-widget.c (image_instantiator_edit_fields):
7903         * glyphs-widget.c (image_instantiator_combo_box):
7904         * glyphs-widget.c (image_instantiator_scrollbar):
7905         * glyphs-widget.c (image_instantiator_progress_guage):
7906         * glyphs-widget.c (image_instantiator_tree_view):
7907         * glyphs-widget.c (image_instantiator_tab_control):
7908         * glyphs-widget.c (image_instantiator_labels):
7909         * glyphs-widget.c (image_instantiator_layout):
7910         * glyphs-widget.c (image_instantiator_native_layout):
7911         rename decode_domain method to governing_domain.
7912
7913         * glyphs.c:
7914         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
7915         * glyphs.c (add_entry_to_device_ii_format_list):
7916         make sure we don't put an entry more than once into the list.
7917         * glyphs.c (check_instance_cache_mapper):
7918         *************************************************************
7919         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7920         HAVE BEEN GETTING.
7921         *************************************************************
7922         * glyphs.c (get_image_instantiator_governing_domain):
7923         clean up, expand on new concept of governing domain.
7924         * glyphs.c (instantiate_image_instantiator):
7925         * glyphs.c (allocate_image_instance):
7926         use governing_domain instead of cache_domain in naming.
7927         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
7928         * glyphs.c (make_image_instance_1):
7929         * glyphs.c (Fmake_image_instance):
7930         allow for any domain (not just device), and process the
7931         governing domain correctly.  very big doc fix.
7932         * glyphs.c (Fimage_instance_domain):
7933         new primitive, to retrieve the governing domain of an image instance.
7934         * glyphs.c (image_instantiate):
7935         use new governing_domain stuff.  this fixes a crash you could get
7936         by instantiating certain widget glyphs in frame locales. (should
7937         signal an error instead of crashing.)
7938         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
7939         * glyphs.c (Fglyphp): clean up doc.
7940         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
7941         * glyphs.c (syms_of_glyphs):
7942         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
7943         * glyphs.c (image_instantiator_format_create): add some comments about
7944         bogus code.
7945         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
7946         for current-display-table. (Apparently Hrjove implemented in 1998 a
7947         design I wrote up in 1996, but didn't update the doc string.)
7948
7949         * glyphs.h: clean up a doc string.
7950         * glyphs.h (governing_domain):
7951         * glyphs.h (struct image_instantiator_methods):
7952         changes for governing_domain stuff.
7953
7954         * gutter.c:
7955         * gutter.c (Fgutter_specifier_p):
7956         * gutter.c (Fgutter_size_specifier_p):
7957         * gutter.c (Fgutter_visible_specifier_p):
7958         * objects.c:
7959         * objects.c (Fcolor_specifier_p):
7960         * objects.c (Ffont_specifier_p):
7961         * objects.c (Fface_boolean_specifier_p):
7962         doc strings moved to make-*-specifier.
7963
7964         * redisplay.c (add_disp_table_entry_runes_1):
7965         * redisplay.c (generate_fstring_runes):
7966         * redisplay.c (screen):
7967         add random comments and doc strings.
7968
7969         * specifier.c:
7970         * specifier.c (Fmake_specifier):
7971         major overhaul of this doc string.
7972
7973         * specifier.c (Fvalid_specifier_domain_p):
7974         comment about the bogosity of image instances being domains.
7975         * specifier.c (decode_domain):
7976         now non-static, used in glyphs.c.
7977         * specifier.c (specifier_instance):
7978         comment about the bogosity of image instances being domains.
7979         * specifier.c (Fgeneric_specifier_p):
7980         move doc string to make-generic-specifier.
7981         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
7982         rebackslashify.
7983
7984         * specifier.h:
7985         * specifier.h (DOMAIN_FRAME):
7986         * specifier.h (DOMAIN_LIVE_P):
7987         * specifier.h (DOMAIN_XDEVICE):
7988         rebackslashify.
7989         add comments about problems with these macros.
7990         prototype for decode_domain.
7991
7992         * toolbar.c:
7993         * toolbar.c (Ftoolbar_specifier_p):
7994         move doc string to `make-toolbar-specifier'.
7995
7996         * window.c (window_unmap_subwindows_cache_mapper):
7997         *************************************************************
7998         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7999         HAVE BEEN GETTING.
8000         *************************************************************
8001
8002 2000-05-09  Andy Piper  <andy@xemacs.org>
8003
8004         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8005
8006         * window.c (Fset_window_configuration): reset the frame subwindow
8007         cache and re-initialize the window subwindow caches.
8008
8009         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8010
8011 2000-05-09  Ben Wing  <ben@xemacs.org>
8012
8013         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8014         DWORD.
8015
8016 2000-04-26  Mike Woolley  <mike@bulsara.com>
8017
8018         * ntheap.c: Changed recreate_heap to limit the amount reserved
8019         for the heap to that which is actually available. Also now
8020         displays a message box (with some dignostics) in the event that
8021         it still can't start.
8022
8023 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8024
8025         * callproc.c (Fold_call_process_internal): GCPRO path
8026
8027 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8028
8029         Patch by Bill Perry.
8030
8031         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8032         back data instead of #ifdef.
8033         (Fscrollbar_page_down): ditto.
8034
8035 2000-05-07  Ben Wing  <ben@xemacs.org>
8036
8037         * buffer.h:
8038         Kludge for defining Qmswindows_tstr.
8039
8040         * nt.c:
8041         * nt.c (open_input_file):
8042         * nt.c (open_output_file):
8043         * nt.c (rva_to_section):
8044         * nt.c (mswindows_executable_type):
8045         Move all memory-mapped-file routines here (some were in unexnt.c,
8046         which is bad because they are used by process-nt.c, and unexnt
8047         won't be around when portable dumping).  Synched the above routines
8048         with FSF 20.6.
8049
8050         * nt.h:
8051         Removed ifdef'd out bogus code.
8052         Fixed some prototypes.
8053
8054         * nt.h (file_data):
8055         * nt.h (OFFSET_TO_RVA):
8056         * nt.h (RVA_TO_OFFSET):
8057         * nt.h (RVA_TO_PTR):
8058         Moved the memory-mapped-file structures, macros and prototypes
8059         here, to parallel nt.c.  ntheap.h should really be removed
8060         entirely, and it's a non-portable-dumper specific file.
8061
8062         * ntheap.h (round_to_next):
8063         Moved the memory-mapped-file structures, macros and prototypes
8064         to nt.h.
8065
8066         * ntproc.c (compare_env):
8067         Moved rva_to_section and mswindows_executable_type to nt.c.
8068         Moved compare_env to process-nt.c.
8069         ntproc.c will die, one day.
8070
8071         * ntproc.c (sys_spawnve):
8072         Account for win32_ -> mswindows_.
8073
8074         * process-nt.c:
8075         * process-nt.c (struct nt_process_data):
8076         * process-nt.c (ensure_console_window_exists):
8077         * process-nt.c (compare_env):
8078         * process-nt.c (nt_create_process):
8079         * process-nt.c (nt_kill_process_by_pid):
8080         * process-nt.c (syms_of_process_nt):
8081         * process-nt.c (vars_of_process_nt):
8082         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8083         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8084         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8085         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8086         Move compare_env here from ntproc.c.
8087
8088         * process.c (Fprocess_send_region):
8089         Takes an optional fourth argument, BUFFER, which should fix some
8090         problems with call-process.
8091
8092         * syscommctrl.h:
8093         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8094
8095         * syswindows.h:
8096         Move ICC_BAR_CLASSES to syscommctrl.h.
8097         Add preliminary macros for MSWindows/Mule.  More to come.
8098
8099         * unexnt.c:
8100         * unexnt.c (unexec):
8101         open_output_file moved to nt.c.
8102
8103
8104 2000-05-05  Andy Piper  <andy@xemacs.org>
8105
8106         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8107         instance from the frame cache also since GC may catch up too late
8108         to make frame deletion sane.
8109
8110 2000-05-04  Andy Piper  <andy@xemacs.org>
8111
8112         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8113         (x_finalize_image_instance): ungcpro on deletion.
8114
8115         * glyphs.c (image_instantiator_format_create): give pointers a
8116         query geometry method so that the geometry is at least set.
8117
8118         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8119         initialize layouts if using widgets.
8120
8121 2000-05-03  Andy Piper  <andy@xemacs.org>
8122
8123         * nt.c: remove bogus reference to sysmmsystem.h
8124
8125         * gui-x.c (popup_selection_callback): fix no selection abort.
8126
8127 2000-05-02  Andy Piper  <andy@xemacs.org>
8128
8129         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8130         (mswindows_widget_instantiate): ditto.
8131
8132         * glyphs-widget.c (initialize_widget_image_instance): initialize
8133         children correctly.
8134         (widget_instantiate): cope with children and items in the same
8135         instance.
8136
8137         * glyphs.c (mark_image_instance): cope with children as a first
8138         class member.
8139         (image_instance_equal): ditto.
8140         (image_instance_hash): ditto.
8141         (image_instance_changed): ditto.
8142
8143 2000-04-30  Andy Piper  <andy@xemacs.org>
8144
8145         * glyphs.c (subwindow_query_geometry): new function. Return some
8146         defaults.
8147         (subwindow_instantiate): don't assign dimensions if none have been
8148         given.
8149         (image_instantiator_format_create): add subwindow_query_geometry.
8150         (print_image_instance): cope with layouts as widgets.
8151
8152 2000-04-29  Andy Piper  <andy@xemacs.org>
8153
8154         * frame.c (delete_frame_internal): call
8155         free_frame_subwindow_instance_cache so that all subwindows are
8156         finalized before their parent.
8157         (mark_frame): remove subwindow_cachels.
8158         (Fmake_frame): remove subwindow_cachel manipulation.
8159         (allocate_frame_core): subwindow_instance_cache is a weak list.
8160         (delete_frame_internal): set subwindow_instance_cache to nil.
8161
8162         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8163         finalization safe.
8164         (mswindows_finalize_image_instance): use the device
8165         not the domain as the domain may have died already.
8166
8167         * glyphs-x.c (x_finalize_image_instance): ditto.
8168         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8169         HEIGHT.
8170
8171         * redisplay-output.c (redisplay_unmap_subwindows): update for
8172         subwindow instance cache as a weak list.
8173         (redisplay_unmap_subwindows_maybe): ditto.
8174         (redisplay_unmap_subwindows_except_us): ditto.
8175
8176         * glyphs.c (unmap_subwindow): error checking will check the domain
8177         so don't deal with it here. Don't use cachels anymore.
8178         (map_subwindow): ditto.
8179         (update_subwindow_cachel_data): remove old accessor names.
8180         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8181         (Fresize_subwindow): don't update cachel.
8182         (mark_subwindow_cachels):
8183         (update_subwindow_cachel_data):
8184         (add_subwindow_cachel):
8185         (get_subwindow_cachel_index):
8186         (update_subwindow_cachel):
8187         (reset_subwindow_cachels):
8188         (mark_subwindow_cachels_as_not_updated): deleted.
8189         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8190         subwindow instance to the frame cache.
8191         (find_matching_subwindow): update for subwindow instance cache as
8192         a weak list.
8193         (update_widget_instances): ditto.
8194         (image_instance_type_to_mask):inlined.
8195         (free_frame_subwindow_instance_cache): new function. finalize all
8196         subwindows that are instantiated.
8197
8198         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8199         of cachel information.
8200         (IMAGE_INSTANCE_DISPLAY_X):
8201         (IMAGE_INSTANCE_DISPLAY_Y):
8202         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8203         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8204         (XIMAGE_INSTANCE_DISPLAY_X):
8205         (XIMAGE_INSTANCE_DISPLAY_Y):
8206         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8207         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8208         remove subwindow_cachel structure and function references.
8209         (image_instance_type_to_mask): inline from glyphs.c
8210
8211         * redisplay.c (redisplay_frame): remove subwindow_cachel
8212         references.
8213
8214         * frame.h (struct frame): remove subwindow_cachels.
8215         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8216
8217         * frameslots.h: add subwindow_instance_cache.
8218
8219         * window.c (replace_window): check subwindow cache of replacement.
8220         (window_unmap_subwindows_cache_mapper):
8221         (window_unmap_subwindows): new functions. Unmap all subwindows
8222         cached on this window.
8223         (mark_window_as_deleted): unmap all subwindows.
8224
8225 2000-04-27  Andy Piper  <andy@xemacs.org>
8226
8227         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8228
8229         * glyphs-widget.c (widget_layout): return something.
8230         (layout_layout): return something. Fail if not initialized.
8231         (layout_query_geometry): ditto.
8232         (image_instantiator_native_layout): new function. Initialized the
8233         native layout type.
8234         (widget_instantiate): don't do layout stuff here.
8235
8236         * glyphs.c (instantiate_image_instantiator): reorded calling or
8237         instantiate and post_instantiate with layout in between.
8238         (image_instance_layout): be more selective about deciding whether
8239         the layout has been done or not.
8240
8241         * glyphs.h (struct image_instantiator_methods): return a value
8242         from layout_method.
8243
8244 2000-04-26  Andy Piper  <andy@xemacs.org>
8245
8246         * glyphs.c (allocate_image_instance): make initial width and
8247         height unspecified. Set initialized to 0.
8248
8249         * syscommctrl.h new file. Encapsulates commctrl.h.
8250
8251         * syswindows.h new file. Encapsulates windows.h.
8252
8253         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8254         * nt.c: ditto.
8255         * console-msw.h: ditto.
8256
8257         * redisplay-tty.c (tty_output_display_block): remove layout references.
8258
8259         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8260         window handle rather than just the frame.
8261
8262         * glyphs.c (mark_image_instance): remove layout references.
8263         (print_image_instance): ditto.
8264         (image_instance_equal): ditto.
8265         (image_instance_hash): ditto.
8266         (decode_image_instance_type): ditto.
8267         (encode_image_instance_type): ditto.
8268         (image_instantiate): ditto.
8269         (allocate_glyph): ditto.
8270         (Fimage_instance_height): ditto.
8271         (Fimage_instance_width): ditto.
8272         (update_subwindow): ditto.
8273
8274         * redisplay-x.c (x_output_display_block): recode for layouts as
8275         widgets.
8276
8277         * redisplay-output.c (redisplay_output_layout): recode for layouts
8278         as widgets.
8279         (compare_runes): remove layout references.
8280
8281         * redisplay-msw.c (mswindows_output_display_block): recode for
8282         layouts as widgets.
8283
8284         * glyphs-widget.c (image_instantiator_layout): remove
8285         layout_possible_dest_types.
8286         (layout_possible_dest_types): deleted.
8287
8288         * glyphs.h (image_instance_type): remove layout references.
8289         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8290         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8291         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8292
8293 2000-04-25  Andy Piper  <andy@xemacs.org>
8294
8295         * glyphs-widget.c (image_instantiator_buttons):
8296         (image_instantiator_edit_fields):
8297         (image_instantiator_combo_box):
8298         (image_instantiator_scrollbar):
8299         (image_instantiator_progress_guage):
8300         (image_instantiator_tree_view):
8301         (image_instantiator_tab_control):
8302         (image_instantiator_labels):
8303         (image_instantiator_layout): call default post_instantiate method.
8304         (widget_post_instantiate): new function. Simply lays out the
8305         widgets.
8306
8307         * glyphs.h (struct image_instantiator_methods): add
8308         post_instantiate method.
8309
8310         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8311         method calls.
8312
8313 2000-04-23  Andy Piper  <andy@xemacs.org>
8314
8315         * glyphs.h (struct image_instantiator_methods): add
8316         decode_domain_method.
8317         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8318         derived from the domain.
8319         (IMAGE_INSTANCE_FRAME): new accessor.
8320         (XIMAGE_INSTANCE_FRAME): ditto.
8321
8322         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8323         instead of _SUBWINDOW_FRAME.
8324         (finalize_image_instance): ditto.
8325         (Fimage_instance_foreground): ditto.
8326         (Fimage_instance_background): ditto.
8327         (image_instantiate): ditto.
8328         (update_subwindow_cachel): ditto.
8329         (update_subwindow): ditto.
8330         (unmap_subwindow): ditto.
8331         (map_subwindow): ditto
8332         (subwindow_instantiate): ditto.
8333         * glyphs-msw.c (mswindows_update_widget): ditto.
8334         (mswindows_progress_gauge_instantiate): ditto.
8335         (mswindows_tab_control_update): ditto.
8336         * glyphs-x.c (x_update_widget): ditto.
8337         (x_widget_instantiate): ditto.
8338         (x_tab_control_instantiate): ditto.
8339         (x_tab_control_update): ditto.
8340         * event-msw.c (mswindows_wnd_proc): ditto
8341
8342         * glyphs-widget.c (image_instantiator_layout): use
8343         subwindow_decode_domain.
8344         (image_instantiator_buttons): ditto.
8345         (image_instantiator_edit_fields): ditto.
8346         (image_instantiator_combo_box): ditto.
8347         (image_instantiator_scrollbar): ditto.
8348         (image_instantiator_progress_guage): ditto.
8349         (image_instantiator_tree_view): ditto.
8350         (image_instantiator_tab_control): ditto.
8351         (image_instantiator_labels): ditto.
8352         (image_instantiator_layout): ditto.
8353
8354         * glyphs.c: add instance error checking to many functions.
8355         (instantiate_image_instantiator): decode device from cache_domain.
8356         (image_instantiate): partially rewrite by using
8357         decode_image_instantiator_domain to determine what domain the
8358         instance needs to be cached in.
8359         (decode_image_instantiator_domain): new function. Determine what
8360         domain the image needs to be cached in.
8361         (check_window_subwindow_cache): new error checking function.
8362         (check_instance_cache_mapper): ditto.
8363         (check_image_instance_structure): ditto.
8364         (subwindow_decode_domain): new function. Encodes a window as a
8365         subwindow's cache domain.
8366         (image_instantiator_format_create): use it for text and
8367         subwindows.
8368
8369 2000-04-21  Andy Piper  <andy@xemacs.org>
8370
8371         * glyphs.c (image_instance_device): new function.
8372         (image_instance_frame): new function.
8373         (image_instance_window): new function.
8374         (image_instance_live_p): new function.
8375
8376         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8377         cache to nil.
8378
8379         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8380         (IMAGE_INSTANCE_DOMAIN): new accessor.
8381         (XIMAGE_INSTANCE_DOMAIN): ditto.
8382
8383         * glyphs-x.c (x_finalize_image_instance): device->domain.
8384
8385         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8386         (mswindows_finalize_image_instance): ditto.
8387
8388         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8389         (gif_instantiate): ditto.
8390         (png_instantiate): ditto.
8391         (tiff_instantiate): ditto.
8392
8393         * glyphs.c (instantiate_image_instantiator): use domain rather
8394         than device.
8395         (mark_image_instance): device -> domain.
8396         (print_image_instance): ditto.
8397         (finalize_image_instance): ditto.
8398         (image_instance_equal): ditto.
8399         (allocate_image_instance): ditto.
8400         (Fcolorize_image_instance): ditto.
8401         (query_string_geometry): ditto.
8402         (image_instantiate): ditto
8403         (query_string_font): ditto.
8404         (image_instantiate): ditto.
8405         (update_subwindow): ditto.
8406         (unmap_subwindow): ditto.
8407         (map_subwindow): ditto.
8408         (subwindow_instantiate): ditto.
8409
8410         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8411         (DOMAIN_FRAME): ditto.
8412         (DOMAIN_WINDOW): ditto.
8413         (DOMAIN_LIVE_P): ditto.
8414         (XDOMAIN_DEVICE): ditto.
8415         (XDOMAIN_FRAME): ditto.
8416         (XDOMAIN_WINDOW): ditto.
8417
8418         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8419         a valid specifier domain.
8420
8421 2000-04-19  Andy Piper  <andy@xemacs.org>
8422
8423         * glyphs-widget.c (syms_of_glyphs_widget): remove
8424         widget-callback-current-channel.
8425         (vars_of_glyphs_widget): ditto.
8426         * glyphs.h: ditto
8427
8428         * gui.c (get_gui_callback): revert to previous behaviour.
8429
8430 2000-04-18  Andy Piper  <andy@xemacs.org>
8431
8432         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8433         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8434         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8435
8436         * glyphs.c (image_instance_equal): add margin_width.
8437         (image_instance_hash): ditto.
8438
8439         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8440         (layout_query_geometry): ditto.
8441         (layout_layout): ditto.
8442         (syms_of_glyphs_widget): add margin-width.
8443         (image_instantiator_layout): allow margin-width.
8444
8445         * glyphs.c (update_widget_instances): make a normal function.
8446         (syms_of_glyphs): remove Qupdate_widget_instances.
8447         * glyphs.h: ditto.
8448
8449         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8450         so that we don't corrupt ideas about the last event or
8451         command. Remove widget-callback-current-channel fiddling.
8452         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8453
8454 2000-05-01  Martin Buchholz <martin@xemacs.org>
8455
8456         * XEmacs 21.2.33 is released.
8457
8458 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8459
8460         * make-src-depend: Allow dots in header file name.
8461
8462 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8463
8464         * mule-charset.h (struct charset_lookup): Add
8465         next_allocated_1_byte_leading_byte and
8466         next_allocated_2_byte_leading_byte.
8467         * mule-charset.c: Move above two variables so that those values
8468         will be dumped.
8469
8470 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8471
8472         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8473         when string length is zero.
8474         (find_charsets_in_emchar_string): Ditto.
8475
8476 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8477
8478         * lisp.h: extern Qdialog and Qmenubar.
8479
8480         * gui-x.c: added events.h.
8481                 also fixed typo which made the file uncompilable.
8482
8483         * general.c: Added Qmenubar and Qdialog
8484
8485 2000-04-28  Ben Wing  <ben@xemacs.org>
8486
8487         * frame-msw.c (mswindows_init_frame_1):
8488         * frame-msw.c (mswindows_mark_frame):
8489         * event-msw.c (mswindows_enqueue_dispatch_event):
8490         * console-msw.h:
8491         * console-msw.h (struct mswindows_frame):
8492         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8493         there are now three hash tables for callbacks.
8494         mswindows_enqueue_dispatch_event is no longer static.
8495
8496         * dialog-x.c (maybe_run_dbox_text_callback):
8497         * dialog-x.c (dbox_descriptor_to_widget_value):
8498         switch to new cons3 form for callbacks.
8499
8500         * glyphs-msw.c (mswindows_register_gui_item):
8501         * glyphs-msw.c (mswindows_widget_instantiate):
8502         * glyphs-msw.c (add_tree_item):
8503         * glyphs-msw.c (add_tab_item):
8504         new image instance parameter, so it can be passed to callback-ex.
8505         respect :callback-ex as well as :callback.
8506
8507         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8508         add :callback-ex.
8509
8510         * glyphs.c (print_image_instance):
8511         prettify, e.g. now prints widget type.
8512
8513         * gui-x.h:
8514         certain funs have new image instance parameter.
8515
8516         * gui.c:
8517         * gui.c (get_gui_callback):
8518         * gui.c (gui_item_add_keyval_pair):
8519         * gui.c (gui_item_init):
8520         * gui.c (gui_add_item_keywords_to_plist):
8521         * gui.c (mark_gui_item):
8522         * gui.c (gui_item_hash):
8523         * gui.c (gui_item_equal):
8524         * gui.c (copy_gui_item):
8525         * gui.c (syms_of_gui):
8526         recognize callback-ex in a number of places.
8527         also, fix the annoying "can't get out of yes-no dialog" bug.
8528
8529         * gui.h:
8530         * gui.h (struct Lisp_Gui_Item):
8531         recognize callback-ex in a number of places.
8532
8533         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8534         new parameter in button_item_to_widget_value.
8535
8536         * glyphs-x.c (x_update_widget):
8537         * glyphs-x.c (x_button_instantiate):
8538         * glyphs-x.c (x_button_update):
8539         * glyphs-x.c (x_progress_gauge_instantiate):
8540         * glyphs-x.c (x_edit_field_instantiate):
8541         * glyphs-x.c (x_combo_box_instantiate):
8542         * glyphs-x.c (x_tab_control_instantiate):
8543         * glyphs-x.c (x_label_instantiate):
8544         new image instance parameter in various places.
8545
8546         * event-Xt.c:
8547         * event-Xt.c (enqueue_Xt_dispatch_event):
8548         this fun gets exported.
8549
8550         * gui-msw.c:
8551         * gui-msw.c (mswindows_handle_gui_wm_command):
8552         handle both :callback and :callback-ex, and generate our own
8553         event because it's one of the callback-ex arguments.
8554
8555         * gui-x.c:
8556         * gui-x.c (popup_selection_callback):
8557         handle both :callback and :callback-ex, and generate our own
8558         event because it's one of the callback-ex arguments.
8559         * gui-x.c (button_item_to_widget_value):
8560         * gui-x.c (gui_items_to_widget_values_1):
8561         * gui-x.c (gui_item_children_to_widget_values):
8562         * gui-x.c (gui_items_to_widget_values):
8563         new image instance parameter in various places.
8564
8565         * fns.c (Freplace_list):
8566         fix small typo in doc string.
8567
8568         * lisp.h:
8569         declare enqueue_Xt_dispatch_event.
8570
8571 2000-04-28  Ben Wing  <ben@xemacs.org>
8572
8573         * buffer.c:
8574         * buffer.c (Frecord_buffer):
8575         * buffer.c (syms_of_buffer):
8576         delete record-buffer-hook.
8577
8578         * fns.c:
8579         * fns.c (Freplace_list):
8580         * fns.c (syms_of_fns):
8581         new primitive replace-list.
8582
8583         * frameslots.h:
8584         slot for old buffer-alist.
8585
8586         * lisp.h:
8587         exfun replace-list.
8588
8589         * redisplay.c:
8590         * redisplay.c (redisplay_frame):
8591         * redisplay.c (syms_of_redisplay):
8592         * redisplay.c (vars_of_redisplay):
8593         new hook buffer-list-changed-hook.
8594         call it.
8595
8596 2000-04-27  Ben Wing  <ben@xemacs.org>
8597
8598         * extents.h: extern in_modeline_generation.
8599
8600         * redisplay.c (generate_formatted_string_db): set
8601         in_modeline_generation.
8602
8603         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8604         flags if in modeline generation.  otherwise frame-modified-tick
8605         is ticked far too often.
8606         Declare in_modeline_generation.
8607
8608 2000-04-26  Ben Wing  <ben@xemacs.org>
8609
8610         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8611         option.
8612         (vars_of_emacs): add quick-build as an error-checking option.
8613         A bit kludgy, but there doesn't seem much point in creating
8614         a real var for this.
8615
8616         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8617
8618 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8619
8620         * redisplay.h (struct display_line): Add a new variable,
8621         line_continuation.
8622
8623         * redisplay.c (create_text_block): Set dl->line_continuation if
8624         the line continues.
8625         (create_string_text_block): Ditto.
8626         (regenerate_window_incrementally): Use line_continuation instead
8627         of searching continuation glyph.
8628         (add_margin_runes): Call add_glyph_rune.
8629         (add_glyph_rune): Handle margin glyph.
8630
8631 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8632
8633         * filelock.c (fill_in_lock_file_name):
8634         ANSIfy.
8635         Check for IS_ANY_SEP instead of '/'.
8636         (lock_file_1):
8637         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8638         Never check errno without first seeing that system call failed.
8639         (unlock_file): Add GCPRO.
8640         (Flock_buffer): Fix docstring.
8641         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8642
8643 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8644
8645         * sysdep.c (get_pty_max_bytes):
8646         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8647         strings longer than 252 bytes.
8648
8649         * md5.c: Unconditionally include ANSI header <limits.h>
8650
8651         * glyphs-x.c (convert_EImage_to_XImage):
8652         * lisp-union.h (union Lisp_Object):
8653         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8654
8655 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8656
8657         * filelock.c (current_lock_owner): Remove unused variable o, p.
8658
8659 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8660
8661         * callint.c: Remove multiply defined symbol Qlet
8662         (syms_of_callint): ditto.
8663
8664 2000-04-14  Andy Piper  <andy@xemacs.org>
8665
8666         * general.c (syms_of_general): add last-command, this-command, let
8667         and funcall.
8668
8669         * lisp.h: declare various symbols.
8670
8671         * glyphs.h: declare Qwidget_callback_current_channel;
8672
8673         * glyphs-widget.c (syms_of_glyphs_widget): add
8674         Qgui_callback_current_channel.
8675         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8676
8677         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8678         widget-callback-current-channel when invoking the interactive
8679         arg. Also bind last-command and next-command when invoking the
8680         widget updates.
8681         * gui-x.c (popup_selection_callback): ditto.
8682
8683         * gui.c (get_gui_callback): massage args so that we are always
8684         calling eval. This allows us to add our own variable bindings
8685         outside.
8686
8687         * glyphs-x.c (x_button_instantiate): use
8688         gui_items_to_widget_values since this is GC safe.
8689         (x_progress_gauge_instantiate): ditto.
8690         (x_edit_field_instantiate): ditto.
8691         (x_label_instantiate): ditto.
8692
8693         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
8694         (emacs_Xt_event_widget_focus_out): new function
8695         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
8696         focus.
8697         (emacs_Xt_event_add_widget_actions): new function. add focus
8698         functions as actions.
8699         (init_event_Xt_late): use it.
8700
8701 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
8702
8703         * event-stream.c (Fdispatch_event): Doc fix.
8704
8705 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
8706
8707         * postgresql.c: Remove all references to PQsetenv*.
8708
8709         * postgresql.h: Remove references to PGsetenvHandler object.
8710         * lrecord.h (lrecord_type): Ditto.
8711
8712 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8713
8714         * glyphs-msw.h (struct mswindows_image_instance_data): Added
8715         real_heigh and real_width members, and accessor macros for these.
8716
8717         * glyphs-msw.c (init_image_instance_geometry): New function.
8718         (init_image_instance_from_dibitmap): Use it.
8719         (mswindows_resource_instantiate): Use it.
8720         (init_image_instance_from_xbm_inline): Use it.
8721         (mswindows_initialize_image_instance_mask): Use real bitmap
8722         geometry.
8723         (mswindows_create_resized_bitmap): Ditto.
8724         (mswindows_create_resized_mask): Ditto.
8725
8726         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
8727         and bitmap to their surface size.
8728
8729 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
8730
8731         * process-unix.c (unix_send_process): Guard against process MIA
8732         after Faccept_process_output.
8733
8734 2000-04-11  Ben Wing  <ben@xemacs.org>
8735
8736         * eval.c (unbind_to_hairy): fix brokenness introduced by
8737         nanosecond speed improvements.
8738
8739 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
8740
8741         * sunplay.c (init_device): To play sounds correctly, the device
8742         apparently needs to be initialized at least once by XEmacs.  Make
8743         it so.
8744
8745 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8746
8747         * redisplay.c (add_margin_runes): Add text image glyph
8748           handling.
8749
8750 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8751
8752         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
8753         gcc is newer than 2.5.
8754
8755 2000-04-06  Colin Rafferty  <colin@xemacs.org>
8756
8757         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
8758
8759         * fns.c (size_bit_vector):
8760         * alloc.c (size_vector):
8761         (make_vector_internal):
8762         (make_bit_vector_internal):
8763         (sweep_bit_vectors_1):
8764         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
8765
8766 2000-04-06  Andy Piper  <andy@xemacs.org>
8767
8768         * gmalloc.c (malloc): undo previous change.
8769         (malloc): ditto.
8770         (free): ditto.
8771         (realloc): ditto.
8772
8773 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
8774
8775         * line-number.c (buffer_line_number): Revert to former version.
8776
8777 2000-04-06  Andy Piper  <andy@xemacs.org>
8778
8779         * gmalloc.c (malloc): add error checking.
8780         (malloc): ditto.
8781         (free): ditto.
8782         (realloc): ditto.
8783
8784         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
8785         button_item_to_widget_value arg.
8786
8787         * glyphs-x.c (x_button_instantiate): add extra
8788         button_item_to_widget_value arg.
8789         (x_progress_gauge_instantiate): ditto.
8790         (x_edit_field_instantiate): ditto.
8791         (x_label_instantiate): ditto.
8792
8793         * gui-x.c (gui_items_to_widget_values_1): add extra
8794         button_item_to_widget_value arg.
8795         (button_item_to_widget_value): add extra menu_item_p arg.
8796
8797         * gui-x.h: change signature of button_item_to_widget_value.
8798
8799         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
8800         button_item_to_widget_value arg.
8801
8802 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8803
8804         * buffer.h (struct buffer): auto_save_modified should be long.
8805
8806 2000-04-05  Andy Piper  <andy@xemacs.org>
8807
8808         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
8809         type.
8810         (button_query_geometry): give a little more room so that athena
8811         buttons fit.
8812
8813 2000-04-05  Andy Piper  <andy@xemacs.org>
8814
8815         * faces.c (complex_vars_of_faces): The widget face should inherit
8816         the font of the gui-element face.
8817
8818 2000-04-04  Andy Piper  <andy@xemacs.org>
8819
8820         * glyphs-x.c (x_button_update): new function. unconditionally
8821         update a button's state when the instance is dirty.
8822         (image_instantiator_format_create_glyphs_x): add x_button_update.
8823         (x_widget_instantiate): remove old resize cruft.
8824
8825 2000-04-02  Andy Piper  <andy@xemacs.org>
8826
8827         * frame.c (change_frame_size_1): The introduction of gutters means
8828         that we need to allow 0 as a potential frame dimension.
8829
8830 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8831
8832         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
8833         image glyph if allow_cursor.
8834         (add_hscroll_rune): Don't allow cursor to border glyph.
8835         (create_text_block): Ditto.
8836
8837         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
8838         text not in buffer.
8839         (redisplay_output_layout): Call ensure_face_cachel_complete for
8840         text image glyph.
8841
8842
8843 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8844
8845         * redisplay.c (add_glyph_rune): Adding text image as text runes.
8846
8847         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
8848         not in buffer
8849
8850         * redisplay-tty.c (tty_output_display_block): Delete the routine
8851         for text image glyph
8852         * redisplay-x.c (x_output_display_block): ditto
8853         * redisplay-msw.c (mswindows_output_display_block): ditto
8854
8855 2000-02-02  Mike Alexander  <mta@arbortext.com>
8856
8857         Note: Some of these were committed by accident as part of other
8858         patches.
8859
8860         * regex.c (regex_compile): Avoid compiler warnings.
8861
8862         * ntproc.c (sys_spawnve): Avoid compiler warnings.
8863
8864         * nt.h: Declare term_ntproc correctly.
8865
8866         * nt.c: Remove incorrect declaration of get_home_directory which
8867         is declared correctly in lisp.h.
8868
8869         * keymap.c (get_keyelt): Avoid compiler warnings.
8870         (raw_lookup_key_mapper): Avoid compiler warnings.
8871
8872         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
8873
8874         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
8875
8876         * filemode.c (mode_string): Avoid compiler warnings.
8877
8878         * file-coding.c (Fcoding_system_aliasee): Add return statement to
8879         avoid warning.
8880
8881         * events-mod.h: Undef some things that winuser.h defines differently.
8882
8883         * data.c (Faset): Avoid compiler warnings.
8884
8885         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
8886
8887 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8888
8889         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
8890         Fall through to simple beep on error.
8891         Replace "extern" by real header file.
8892
8893         * linuxplay.c: Use nativesound.h
8894         (play_sound_data): Return error code. Be less verbose on error.
8895
8896         * sunplay.c: Use nativesound.h
8897         (play_sound_data): Return error code. Be less verbose on error.
8898
8899         * ntplay.c: Use nativesound.h
8900         (play_sound_data): Return fake error code
8901
8902         * sgiplay.c: Use nativesound.h
8903         (play_sound_data): Return error code
8904
8905         * hpplay.c: Use nativesound.h, partially implement
8906         new error code. Break compilation until finished.
8907         (play_sound_data): error code.
8908
8909         * nativesound.h (play_sound_file):
8910           (play_sound_data): Prototype in new header.
8911
8912 2000-03-31  Andy Piper  <andy@xemacs.org>
8913
8914         * glyphs-widget.c: (button_query_geometry): new function. Adjust
8915         for toggle and radio buttons.
8916         (image_instantiator_buttons): use it.
8917
8918 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8919
8920         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
8921         (x_update_horizontal_scrollbar_callback): Return if no mirror was
8922         found. Scrollbar event probably belonged to some old config.
8923
8924 2000-03-31  Andy Piper  <andy@xemacs.org>
8925
8926         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
8927         than 1.
8928         (initialize_widget_image_instance): default layout to
8929         LAYOUT_HORIZONTAL rather than 0.
8930         (widget_instantiate): reverse the item list at the end rather than
8931         every iteration.
8932         (layout_layout): re-code for the border text at the front of the
8933         item list rather than at the end.
8934         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
8935         provided by the user.
8936         (widget_query_geometry): comment.
8937
8938 2000-03-30  Andy Piper  <andy@xemacs.org>
8939
8940         * glyphs-widget.c (image_instantiator_layout): allow standard
8941         widget keywords in layouts.
8942
8943         * gutter.c (output_gutter): cope with nil gutter contents.
8944
8945         * frame.c (Fset_frame_properties): add gutter docs.
8946
8947 2000-03-29  Andy Piper  <andy@xemacs.org>
8948
8949         * toolbar-msw.c (TBSTYLE_FLAT): add.
8950         (mswindows_output_toolbar): minor fiddling.
8951
8952 2000-03-29  Andy Piper  <andy@xemacs.org>
8953
8954         * gutter.c (output_gutter): force gutter size recalculation if
8955         what we are trying to display won't fit.
8956         (update_gutter_geometry): new function. A per-gutter version of
8957         update_frame_gutter_geometry.
8958         (update_frame_gutter_geometry): use it.
8959         (redraw_exposed_gutter): add extra debugging output.
8960
8961 2000-03-28  Mike Alexander  <mta@arbortext.com>
8962
8963         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
8964         (pdump_file_unmap): Implement it on Windows
8965         (pdump_file_get): Save alocated handles for pdump_file_unmap
8966
8967 2000-03-28  Andy Piper  <andy@xemacs.org>
8968
8969         * gui.c (get_gui_callback): treat Quit specially.
8970
8971 2000-03-27  Andy Piper  <andy@xemacs.org>
8972
8973         * glyphs.c (image_instantiate): be careful to check in the same
8974         way we assigned.
8975
8976 2000-03-27  Didier Verna  <didier@xemacs.org>
8977
8978         * config.h.in: define the proper SMART_INCLUDE macro.
8979         handle renaming of `foo_h_path' to `foo_h_file'.
8980
8981         * database.c: ditto.
8982
8983         * emacs.c: ditto.
8984
8985         * linuxplay.c: ditto.
8986
8987         * terminfo.c: ditto.
8988
8989         * tooltalk.h: ditto.
8990
8991 2000-03-27  Andy Piper  <andy@xemacs.org>
8992
8993         * glyphs-msw.c (mswindows_update_widget): make sure the widget
8994         gets updated whenever the face might have changed.
8995
8996 2000-03-26  Mike Alexander  <mta@arbortext.com>
8997
8998         * dumper.c (pdump_resource_free): Fix the comment.
8999
9000 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9001
9002         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9003
9004 2000-03-22  Mike Alexander  <mta@arbortext.com>
9005
9006         * dumper.c: Include Windows headers on Windows
9007         (pdump_resource_free): Add a body to the function
9008         (pdump_load): exe_name -> exe_path and add some comments.
9009
9010 2000-03-25  Mike Alexander  <mta@arbortext.com>
9011
9012         * gui.c (copy_gui_item_tree): Return a value in all cases
9013
9014 2000-03-21  Didier Verna  <didier@xemacs.org>
9015
9016         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9017         lwlib/config.h.in.
9018         (SMART_INCLUDE): new macro.
9019         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9020         the proper location.
9021
9022         * postgresql.c: use it.
9023
9024         * inline.c: ditto.
9025
9026 2000-03-24  Andy Piper  <andy@xemacs.org>
9027
9028         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9029         do this.
9030
9031 2000-03-24  Andy Piper  <andy@xemacs.org>
9032
9033         * redisplay-output.c (compare_runes): use image_instance_changed
9034         to detect changes. Do not depend on glyphs_changed, only depend on
9035         dirtiness.
9036          (redisplay_output_layout): add debug messages.
9037         (compare_runes): ditto.
9038
9039         * glyphs.h: declare new functions.
9040         (struct Lisp_Image_Instance): remove percent and associated
9041         accessors.
9042
9043         * gui.h: declare new copying functions.
9044
9045         * gui.c (copy_gui_item_tree): new function.
9046         (copy_gui_item): new function.
9047         (gui_item_id_hash): revert to standard hash.
9048         (gui_item_hash): ditto.
9049         (gui_item_hash_internal): deleted.
9050         (mark_gui_item): mark value.
9051         (gui_item_add_keyval_pair): add value.
9052         (gui_item_init): ditto.
9053         (gui_add_item_keywords_to_plist): ditto.
9054         (gui_item_equal): ditto.
9055         (syms_of_gui): add Q_value.
9056
9057         * glyphs-x.c (x_progress_gauge_update): use pending items and
9058         value for setting the state.
9059         (x_update_widget): don't set items from pending here.
9060
9061         * glyphs-widget.c (update_widget): update items here.
9062         (progress_gauge_set_property): use items for storing value. Put
9063         new value in pending items.
9064
9065         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9066         items for new value. Convert percent -> value.
9067         (mswindows_tab_control_update): don't update items here.
9068
9069         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9070         (update_subwindow): ditto.
9071         (image_instance_changed): new function. Compare hash values and
9072         past and present widget items.
9073         (image_instantiate): We more careful about where we instantiate
9074         things.
9075         (image_instantiate): add error checking.
9076
9077         * gutter.c (syms_of_gutter): use -hook.
9078
9079 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9080
9081         * console-tty.c (Fset_console_tty_input_coding_system): Use
9082         Qkeyboard.
9083         (Fset_console_tty_output_coding_system): Use Qterminal.
9084         (tty_init_console): Use Qkeyboard and Qterminal.
9085
9086 2000-03-21  Ben Wing  <ben@xemacs.org>
9087
9088         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9089         From Mike Alexander <mta@arbortext.com>.
9090
9091 2000-03-21  Ben Wing  <ben@xemacs.org>
9092
9093         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9094         process brokenness.  Proper implementation to come.
9095         * callproc.c:
9096         Rename call-process-internal to old-call-process-internal.
9097         New impl. in process.el.
9098
9099 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9100
9101         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9102
9103 2000-03-20  Andy Piper  <andy@xemacs.org>
9104
9105         * glyphs.c (full_list_hash): make hashes of the same elements in
9106         different orders return different values.
9107
9108 2000-03-20  Martin Buchholz <martin@xemacs.org>
9109
9110         * XEmacs 21.2.32 is released.
9111
9112 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9113
9114         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9115         (DFC_MALLOC_USE_CONVERTED_DATA):
9116         Add aliasing-safe casts to allow use with char* or unsigned char*
9117         lvalues.
9118
9119         * eldap.c (Fldap_open):
9120         (Fldap_search_basic):
9121         (Fldap_add):
9122         (Fldap_modify):
9123         Make C++-compilable.
9124         Make sure GCPRO'ed variables are initialized.
9125         Use temp variables to avoid repeated calls to Flength.
9126
9127 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9128
9129         * sysfile.h:
9130         Make sure PATH_MAX is always defined.
9131         Include limits.h for PATH_MAX.
9132         Deprecate use of MAXPATHLEN.
9133
9134 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9135
9136         * emacs.c: Add reinit_vars_of_fileio.
9137         * symsinit.h: Add reinit_vars_of_fileio.
9138         * fileio.c (reinit_vars_of_fileio): New.
9139         * fileio.c (Fmake_temp_name):
9140         Initialize temp_name random number from microseconds to make
9141         collisions even less likely.  Initialize always at process startup
9142         time.  (make-temp-name) used to return the same file name twice in
9143         a row when PDUMP.
9144         Random stylistic fiddling.
9145         Comment fixes.
9146
9147 2000-03-20  Andy Piper  <andy@xemacs.org>
9148
9149         * glyphs.c (image_instantiate): allow text glyphs to be
9150         instantiated in the minibuffer window.
9151
9152 2000-03-19  Andy Piper  <andy@xemacs.org>
9153
9154         * glyphs.c (image_instance_hash): be careful about which items we
9155         hash on.
9156
9157         * glyphs-widget.c (tab_control_set_property): record into pending
9158         items rather than the actual items.
9159
9160         * glyphs-x.c (x_update_widget): use pending items to update with.
9161
9162         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9163         to update with.
9164
9165         * glyphs.c (mark_image_instance): mark pending items.
9166
9167         * window.c (Fset_window_configuration): record the buffer.
9168         (Fselect_window): totally revert previous change which breaks many
9169         things.
9170
9171 2000-03-18  Andy Piper  <andy@xemacs.org>
9172
9173         * glyphs-msw.c (mswindows_tab_control_update): force selected
9174         item.
9175
9176         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9177         window domain cache, otherwise we get inconsistencies at
9178         startup. There is something fishy at startup which can lead to the
9179         minibuffer being the selected window when the gutter content is
9180         instantiated.
9181
9182         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9183         gcpros.
9184         (parse_gui_item_tree_children): ditto.
9185         (parse_gui_item_tree_item): ditto.
9186
9187         * glyphs.c (Fupdate_widget_instances): return something.
9188
9189 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9190
9191         * window.c (Fselect_window): Undo 2000-03-17 change.
9192
9193 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9194
9195         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9196         against v7.0 libraries.  Insta-coredump city until the postgres
9197         folks fix it.
9198
9199 2000-03-17  Andy Piper  <andy@xemacs.org>
9200
9201         * faces.c (complex_vars_of_faces): don't give the widget face an
9202         inherited background pixmap.
9203
9204         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9205         selected item.
9206
9207         * event-stream.c (Fdispatch_non_command_events): return something.
9208
9209         * gutter.c (output_gutter): use widget face.
9210         (clear_gutter): ditto.
9211
9212         * NEWS: adjust again.
9213
9214         * window.c (Fselect_window): make sure this runs to completion to
9215         avoid oddities with Fset_window_configuration.
9216         (Fcurrent_window_configuration): in general do not save the
9217         minibuffer as the selected window.
9218
9219         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9220
9221 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9222
9223         * emacs.c (Frunning_temacs_p): Revert previous patch.
9224         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9225
9226 2000-03-16  Andy Piper  <andy@xemacs.org>
9227
9228         * glyphs-x.c (x_tab_control_update): if no widget values then
9229         return.
9230
9231         * NEWS: update for new features.
9232
9233         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9234         synthetic event to the native system.
9235         (reinit_vars_of_event_Xt): set force_event_pending to
9236         emacs_Xt_force_event_pending.
9237
9238         * events.h (struct event_stream): add force_event_pending.
9239
9240         * specifier.c (recompute_one_cached_specifier_in_window): add
9241         comment.
9242
9243         * redisplay.c (redisplay_frame): don't call
9244         update_frame_subwindows. Reset subwindow cachels when
9245         subwindows_changed, removing this was an optimization too far.
9246
9247         * redisplay-output.c (compare_runes): reorganize so that we catch
9248         glyph changes when we want them. Set optimize_output when this
9249         would help layouts.
9250         (redisplay_output_layout): remove frame_really_changed, use
9251         optimize_output instead.
9252
9253         * redisplay-msw.c (mswindows_output_display_block): reset
9254         optimize_output after outputting a glyph.
9255         * redisplay-x.c (x_output_display_block): ditto.
9256         * redisplay-tty.c (tty_output_display_block): ditto.
9257
9258         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9259         functions.
9260         (gutter_specs_changed): do specific gutter positions.
9261         (top_gutter_specs_changed): new function. Only update the
9262         specified gutter specs.
9263         (bottom_gutter_specs_changed): ditto.
9264         (left_gutter_specs_changed): ditto.
9265         (right_gutter_specs_changed): ditto.
9266
9267         * gui.c (gui_item_hash_internal): new function, does a real hash.
9268         (gui_item_id_hash): use it.
9269         (gui_item_hash): hash the eval'ed gui_item.
9270
9271         * gui-x.c (popup_selection_callback): send an eval event to call
9272         Fupdate_widget_instances.
9273
9274         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9275         to call Fupdate_widget_instances.
9276
9277         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9278         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9279
9280         * glyphs.c: (update_frame_subwindows): deleted.
9281         (Fupdate_widget_instances): new function for updating the dirty
9282         state of widgets that might have changed.
9283         (syms_of_glyphs): add Qupdate_widget_instances.
9284         (full_list_hash): hash a list completely.
9285         (image_instance_hash): use it for items and properties.
9286
9287         * frame-msw.c (mswindows_size_frame_internal): remove unused
9288         variable.
9289
9290         * faces.h (struct face_cachel): fix comment.
9291
9292         * event-stream.c (Fdispatch_non_command_events): new
9293         function. Process non-command events, forcing an event cycle
9294         beforehand.
9295         (syms_of_event_stream): declare.
9296         (event_stream_force_event_pending): new function. Force an event
9297         on the native event queue so that an event cycle will occur next
9298         time we check.
9299
9300         * event-msw.c:
9301         (struct ntpipe_shove_stream):
9302         (mswindows_enqueue_dispatch_event):
9303         (mswindows_dequeue_dispatch_event):
9304         (mswindows_cancel_dispatch_event):
9305         (mswindows_pump_outstanding_events):
9306         (mswindows_drain_windows_queue):
9307         (mswindows_handle_paint):
9308         (mswindows_wnd_proc):
9309         (mswindows_key_to_emacs_keysym):
9310         (get_process_input_waitable):
9311         (emacs_mswindows_delete_stream_pair): re-indent file.
9312         (mswindows_need_event): do not process further fds if the windows
9313         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9314         fixes the 100% cpu problem.
9315         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9316
9317 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9318
9319         * alloc.h: New.
9320         * dumper.h: New.
9321         * dumper.c: New.
9322
9323         * emacs.c: Moved dump file searching to dumper.c.
9324         (Frunning_temacs_p): Fixed.
9325
9326         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9327         last_lrecord_type_index_assigned.
9328
9329 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9330
9331         * symsinit.h: Added reinit parameter to init_console_stream
9332         declaration.
9333
9334         * lisp.h: Added file parameter to pdump_load declaration.
9335
9336         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9337         support.  Added dump file searching.
9338
9339         * config.h.in: Added EMACS_PROGNAME.
9340
9341         * console-stream.c (init_console_stream): Fix reinitialisation
9342         when running from temacs.
9343
9344         * alloc.c (pdump): Add id support.
9345         (pdump_load): Add file parameter and signature/id support.
9346
9347         * Makefile.in.in: Add full pdump support.
9348
9349 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9350
9351         * postgresql.c: Update documentation to reflect latest code
9352         status.
9353         (print_result): Show tuple counts in printed representation when
9354         appropriate.
9355         (Fpq_put_nbytes): MULE-ize.
9356         (Fpq_get_line_async): Ditto.
9357
9358 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9359
9360         * postgresql.c (Fpq_lo_import): Fix return value.
9361         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9362
9363 2000-03-13  Ben Wing  <ben@xemacs.org>
9364
9365         * alloc.c (pdump_load):
9366         Fix compile warning under mswin.
9367
9368 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9369
9370         * postgresql.c: Mule-ization, bug fixes.
9371         Use PG_CODING to encapsulate coding system name changes.
9372         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9373         (pg-coding-system): Create.
9374
9375         (Fpq_conn_defaults): Mule-ize.
9376         (Fpq_connectdb): Mule-ize & bug fix.
9377         (Fpq_connect_start): Mule-ize.
9378         (Fpq_set_client_encoding): Mule-ize.
9379         (Fpq_finish): Document `DEAD' connection status.
9380         (Fpq_clear): Ditto.
9381         (Fpq_pgconn): Mule-ize.
9382         (Fpq_exec): Mule-ize & bug fix.
9383         (Fpq_send_query): Ditto.
9384         (Fpq_get_result): Ditto.
9385         (Fpq_res_status): Mule-ize.
9386         (Fpq_result_error_message): Mule-ize.
9387         (Fpq_ntuples): fix comments.
9388         (Fpq_fname): Mule-ize.
9389         (Fpq_fnumber): Mule-ize.
9390         (Fpq_ftype): fix comments.
9391         (Fpq_get_value): Mule-ize.
9392         (Fpq_cmd_status): Ditto.
9393         (Fpq_cmd_tuples): Ditto.
9394         (Fpq_oid_value): Ditto.
9395         (Fpq_notifies): Ditto.
9396         (Fpq_lo_import): Ditto.
9397         (Fpq_lo_export): Ditto.
9398         (Fpq_get_line): Ditto.
9399         (Fpq_put_line): Mule-ize and bug fix.
9400         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9401
9402 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9403
9404         * postgresql.c (vars_of_postgresql): Mule-ize.
9405         (Fpq_conn_defaults): Ditto.
9406
9407 2000-03-12  Ben Wing  <ben@xemacs.org>
9408
9409         * alloc.c (Fmake_byte_code):
9410         * alloc.c (debug_string_purity_print):
9411         * alloc.c (pdump_backtrace):
9412         * alloc.c (pdump_get_indirect_count):
9413         * alloc.c (pdump_register_sub):
9414         * alloc.c (pdump_register_object):
9415         * alloc.c (pdump_register_struct):
9416         * alloc.c (pdump_dump_data):
9417         * alloc.c (pdump_reloc_one):
9418         Minor cleanups.
9419
9420         * console-msw.c:
9421         * console-msw.c (GetConsoleHwnd):
9422         * console-msw.c (msw_hide_console):
9423         * console-msw.c (msw_show_console):
9424         * console-msw.c (msw_ensure_console_buffered):
9425         * console-msw.c (msw_output_console_string):
9426         * console-msw.c (console_type_create_mswindows):
9427
9428         a) Added functions to manipulate the console window for use with
9429         shell support.
9430
9431         b) Added support for writing text to the console, which is now
9432         used under Windows when xemacs is not being run non-interactively,
9433         to write text that would otherwise be destined for stdout because
9434         under these circumstances, text written to stdout tends to
9435         disappear and not be seen.
9436
9437         * console-msw.h:
9438         * event-Xt.c:
9439         * event-Xt.c (x_event_to_emacs_event):
9440         * event-Xt.c (describe_event_window):
9441         * events-mod.h (XEMACS_MOD_CONTROL):
9442         * events.c:
9443         * events.c (Fmake_event):
9444         * events.c (character_to_event):
9445         * events.c (event_to_character):
9446         * events.c (format_event_object):
9447         * events.c (Fevent_modifiers):
9448         * events.h:
9449         * events.h (struct key_data):
9450         * events.h (struct button_data):
9451         * events.h (struct misc_user_data):
9452         * frame-x.c (Fcde_start_drag_internal):
9453         * frame-x.c (Foffix_start_drag_internal):
9454         * gpmevent.c (Freceive_gpm_event):
9455         * keymap.c:
9456         * keymap.c (bucky_sym_to_bucky_bit):
9457         * keymap.c (control_meta_superify):
9458         * keymap.c (make_key_description):
9459         * keymap.c (keymap_lookup_directly):
9460         * keymap.c (create_bucky_submap):
9461         * keymap.c (keymap_store):
9462         * keymap.c (define_key_check_and_coerce_keysym):
9463         * keymap.c (define_key_parser):
9464         * keymap.c (define_key_alternate_name):
9465         * keymap.c (Fdefine_key):
9466         * keymap.c (raw_lookup_key_mapper):
9467         * keymap.c (struct map_keymap_unsorted_closure):
9468         * keymap.c (map_keymap_unsorted_mapper):
9469         * keymap.c (map_keymap_sort_predicate):
9470         * keymap.c (map_keymap_sorted):
9471         * keymap.c (accessible_keymaps_mapper_1):
9472         * keymap.c (where_is_recursive_mapper):
9473         * keymap.c (describe_map_mapper):
9474         * keymap.c (describe_map_sort_predicate):
9475         * keymap.c (describe_map):
9476         * keymap.c (complex_vars_of_keymap):
9477         And a number of other files, the key modifier preprocessor
9478         constants that xemacs uses have names that conflict with constants
9479         defined under MS Windows for other purposes, so they were renamed
9480         to begin with the prefix XEMACS_. The variables that hold such
9481         modifiers were changed to consistently be of type int to fix
9482         various compile warnings.
9483
9484         * console.c (complex_vars_of_console):
9485         * device.c:
9486         * device-msw.c:
9487         * device-msw.c (mswindows_finish_init_device):
9488         * device-msw.c (msw_get_workspace_coords):
9489         * device-msw.c (mswindows_device_system_metrics):
9490         and various other files, added support for a new
9491         device property called offset-workspace which returns the position
9492         of the upper left corner of the workspace area and goes along with
9493         the existing size-workspace property.
9494
9495         * dialog-msw.c:
9496         * dialog-msw.c (push_bufbyte_string_as_unicode):
9497         * dialog-msw.c (mswindows_popup_dialog_box):
9498         Added support for XEmacs-style accelerator specifications in
9499         button text.  Note: I didn't add support for this under X Windows,
9500         and somebody needs to do this.
9501
9502         * dialog.c:
9503         * dialog.c (Fpopup_dialog_box):
9504         Documented the support for accelerators that was just mentioned.
9505
9506         editfns.c (get_home_directory): Changed behavior under Windows
9507         when HOME not defined; former behavior was irretrievably broken.
9508
9509         * emacs.c:
9510         * emacs.c (main_1):
9511         * emacs.c (main):
9512         * minibuf.c (clear_echo_area_internal):
9513         * minibuf.c (echo_area_append):
9514         * print.c:
9515         * print.c (std_handle_out_external):
9516         * print.c (std_handle_out_va):
9517         * print.c (fatal):
9518         * print.c (write_string_to_stdio_stream):
9519         * print.c (output_string):
9520         * print.c (debug_print):
9521         * print.c (debug_backtrace):
9522         * print.c (debug_short_backtrace):
9523         Cleaned up the code that prints text to stdout so that this can be
9524         changed to output into a console window instead under MS Windows,
9525         as described above.
9526
9527         * eval.c:
9528         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9529         * eval.c (internal_catch):
9530         * eval.c (unwind_to_catch):
9531         * eval.c (throw_or_bomb_out):
9532         * eval.c (condition_case_1):
9533         * eval.c (signal_1):
9534         * eval.c (check_error_state_sanity):
9535         * eval.c (call_with_suspended_errors_1):
9536         * eval.c (call_with_suspended_errors):
9537         * eval.c (reinit_vars_of_eval):
9538         Added code to catch throw loops and check for a pesky bug that may
9539         be gone now.
9540
9541         * event-msw.c:
9542         * event-msw.c (key_needs_default_processing_p):
9543         * event-msw.c (mswindows_wnd_proc):
9544         * event-msw.c (mswindows_modifier_state):
9545         * event-msw.c (emacs_mswindows_quit_p):
9546         * event-msw.c (vars_of_event_mswindows):
9547         a) Added support for using the alt key to select menu items as is
9548         standard under MS Windows.  This is controlled using the variable
9549         menu-accelerator-enabled, just like under X Windows.  There is an
9550         option on the options menu to turn this support on.  I really
9551         think that it should be on by default under Windows, but I'm not
9552         going to make this change yet.
9553
9554         b)  Added support for dynamic display size changes under Windows.
9555
9556         * event-stream.c:
9557         * event-stream.c (maybe_echo_keys):
9558         * event-stream.c (Fnext_event):
9559         * event-stream.c (command_builder_find_leaf):
9560         * event-stream.c (lookup_command_event):
9561         * event-stream.c (execute_command_event):
9562         * event-stream.c (pre_command_hook):
9563         * event-stream.c (post_command_hook):
9564         * event-stream.c (syms_of_event_stream):
9565         * event-stream.c (vars_of_event_stream):
9566         * event-stream.c (complex_vars_of_event_stream):
9567         * events.h (struct command_builder):
9568
9569         a) Tried to clean up a little bit the horribly written x-specific
9570         accelerator code that crept into this file.  I moved this code
9571         into menubar-x.c where it belongs. I also needed to move the
9572         command builder structure into the file events.h because it is
9573         accessed directly by this accelerator code.  What I didn't do, but
9574         which should be done at some point, is to properly abstract this
9575         code using device methods instead of the kludgy way that it
9576         currently hooks into the event code.
9577
9578         b) Added the lisp variables this-command-properties and
9579         last-command- properties, which should be used to synchronize two
9580         adjacent commands in preference to playing games with the variable
9581         this-command, which is typically what happens.
9582
9583         c) Added some slightly nasty code to hook into the lisp support
9584         for shifted- motion-key selection.  This is actually necessary for
9585         somewhat complicated reasons, which are described in
9586         simple.el. (NB: I think the proper thing would be to have the code
9587         that calls the pre and post command hooks also call out to generic
9588         lisp functions in simple.el, where all built-in stuff could be
9589         added.  I will think about this more.)
9590
9591         * event-unixoid.c (poll_fds_for_input):
9592         * lread.c (readchar):
9593         * redisplay-tty.c (tty_clear_frame):
9594         * redisplay-x.c (x_get_gc):
9595         * signal.c (interrupt_signal):
9596         And a whole bunch of other files: fixed up places that printed
9597         directly to stderr to instead call the function stderr_out so that
9598         the changes I made under Windows work correctly.
9599
9600         * filemode.c (mode_string):
9601         Warning fixes.
9602
9603         * frame-msw.c:
9604         * frame-msw.c (mswindows_size_frame_internal):
9605         Fixed the computation of frame size and position to keep the frame
9606         within the workspace area, rather than within the physical
9607         dimensions of the screen, so that the frame doesn't overlap window
9608         manager decorations, such as the start menu and toolbar, typically
9609         at the bottom of the screen.
9610
9611         * frame.c (vars_of_frame):
9612         Changed the default frame title format under MS Windows to consist
9613         of buffername-XEmacs, which is standard under MS Windows.  I think
9614         it might be a good idea to change this everywhere because I think
9615         it is superior to the current frame title format, but this is the
9616         kind of change that is likely to cause some people to get annoyed,
9617         so I'm not making it.
9618
9619         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9620
9621         * gui-msw.c (mswindows_handle_gui_wm_command):
9622         Fixed compile warnings.
9623
9624         * gui-x.c:
9625         * gui-x.c (strdup_and_add_accel):
9626         * gui-x.c (button_item_to_widget_value):
9627         * gui-x.h:
9628         Added code to automatically put an accelerator onto the beginning
9629         of menu items that don't have one as is now the standard, and is
9630         described more later.  Also fixed things so that the menu item
9631         name can be an evaluated expression, again a new standard.
9632
9633         * gui.c:
9634         * gui.c (gui_item_add_keyval_pair):
9635         * gui.c (make_gui_item_from_keywords_internal):
9636         * gui.c (gui_add_item_keywords_to_plist):
9637         * gui.c (gui_item_accelerator):
9638         * gui.c (gui_name_accelerator):
9639         * gui.c (gui_item_included_p):
9640         * gui.c (gui_item_display_flush_left):
9641         * gui.c (gui_item_display_flush_right):
9642         * gui.c (parse_gui_item_tree_item):
9643         * gui.c (parse_gui_item_tree_children):
9644         * gui.c (parse_gui_item_tree_list):
9645         Mule-ized.  Cleanup.  GCPRO addition.
9646
9647         * line-number.c (buffer_line_number):
9648         * lisp.h:
9649         * lisp.h (EMACS_INT_MAX):
9650         Added the manifest constant EMACS_INT_MIN corresponding to the
9651         existing constant EMACS_INT_MAX.  This is partially to fix compile
9652         warnings under Windows, and partly for cleanliness.
9653
9654         * menubar-msw.c:
9655         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9656         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9657         * menubar-msw.c (displayable_menu_item):
9658         * menubar-msw.c (populate_menu_add_item):
9659         * menubar-msw.c (populate_or_checksum_helper):
9660         * menubar-msw.c (populate_menu):
9661         * menubar-msw.c (update_frame_menubar_maybe):
9662         * menubar-msw.c (prune_menubar):
9663         * menubar-msw.c (msw_char_is_accelerator):
9664         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9665         * menubar-msw.c (mswindows_handle_wm_command):
9666         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9667         * menubar-msw.c (mswindows_handle_wm_initmenu):
9668         * menubar-msw.c (mswindows_update_frame_menubars):
9669         * menubar-msw.c (mswindows_free_frame_menubars):
9670         * menubar-msw.c (mswindows_popup_menu):
9671         Fixed a bug in handling accelerators where an extra character
9672         would be displayed in the menu item.  Also generalized the
9673         function displayable_menu_item because it is now used by the
9674         dialog box code as well.  And finally, added code in the functions
9675         that create the menubar to extract a list of accelerators for the
9676         top level menubar, which is used in the event code to determine
9677         whether a particular alt-key combination should be used to invoke
9678         a menu item, or should be passed through to access the standard
9679         XEmacs keymap binding for this key combination.
9680
9681         Much needed GCPROing.
9682
9683         * menubar-x.c:
9684         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9685         * menubar-x.c (menu_item_descriptor_to_widget_value):
9686         * menubar-x.c (restore_in_menu_callback):
9687         * menubar-x.c (x_popup_menu):
9688         * menubar-x.c (menu_move_up):
9689         * menubar-x.c (menu_move_down):
9690         * menubar-x.c (menu_move_left):
9691         * menubar-x.c (menu_move_right):
9692         * menubar-x.c (menu_select_item):
9693         * menubar-x.c (command_builder_operate_menu_accelerator):
9694         * menubar-x.c (menu_accelerator_junk_on_error):
9695         * menubar-x.c (command_builder_find_menu_accelerator):
9696         * menubar-x.c (Faccelerate_menu):
9697         * menubar.h:
9698         Moved a whole bunch of code here that was previously in
9699         event-stream.c as described above.  There is also code connected
9700         to the new standard of adding an accelerator to the beginning of
9701         menu items that don't have one as described above and below.
9702
9703         * menubar.c:
9704         * menubar.c (menu_parse_submenu_keywords):
9705         * menubar.c (Fmenu_find_real_submenu):
9706         * menubar.c (Fnormalize_menu_item_name):
9707         * menubar.c (syms_of_menubar):
9708         * menubar.c (vars_of_menubar):
9709         * menubar.c (complex_vars_of_menubar):
9710
9711         a) Cleaned up a bunch of documentation and improved it.
9712
9713         b) XEmacs now automatically adds an accelerator onto the beginning
9714         of any menu items that don't have one.  I did this because there
9715         will inevitably be some menu items on the main menubar that don't
9716         have accelerators on them because the package that adds that
9717         particular menu item hasn't yet been fixed up to have accelerators
9718         in them and it looked rather strange to have some items with and
9719         some items without accelerators, especially since even in items
9720         without accelerators, you can, at least under windows, still
9721         access the item through an accelerator corresponding to the first
9722         character in the item's name.  If people don't like this behavior,
9723         I can add a variable to turn it off optionally, but I'm not sure
9724         this is a good idea because we really do need to have accelerators
9725         on all of the menu items, and if a package doesn't like the
9726         accelerators being put on the first character, then it should put
9727         the accelerators where they belong.
9728
9729         c) I made a behavior change, which is that the descriptor that
9730         specifies the text of the menu item, which formerly was just a
9731         string, can now also be an evaluated expression.  This makes this
9732         descriptor parallel with all of the others, which could also be
9733         evaluated expressions.  This also obviates the need for the
9734         keyword :label, which was previously listed in the documentation
9735         as unimplemented, and which was for the same purpose.
9736
9737         d) GCPROing.
9738
9739         * ntproc.c:
9740         * ntproc.c (new_child):
9741         * ntproc.c (sys_spawnve):
9742         * ntproc.c (find_child_console):
9743         * ntproc.c (sys_kill):
9744         Fixed compile warnings.  By the way, this file should really go
9745         away entirely, and this will happen as soon as Kirill makes his
9746         final round of process cleanups, which affect the function
9747         call-process.
9748
9749         * process-nt.c:
9750         * process-nt.c (struct nt_process_data):
9751         * process-nt.c (find_process_from_pid):
9752         * process-nt.c (send_signal_the_nt_way):
9753         * process-nt.c (enable_child_signals):
9754         * process-nt.c (find_child_console):
9755         * process-nt.c (send_signal_the_95_way):
9756         * process-nt.c (nt_finalize_process_data):
9757         * process-nt.c (ensure_console_window_exists):
9758         * process-nt.c (nt_create_process):
9759         * process-nt.c (nt_kill_child_process):
9760         * process-nt.c (nt_kill_process_by_pid):
9761         * process-nt.c (nt_open_network_stream):
9762         * process-nt.c (vars_of_process_nt):
9763         Copied over code from Emacs 20.5 to correctly send signals to sub-
9764         processes under Windows 95.  Also added code to automatically
9765         create and hide console window when a sub-process is created under
9766         Windows 95, which obviates the need for the separate runemacs.exe
9767         executable, and finally implemented some variables that were
9768         implemented in Emacs 20.5, but previously not in XEmacs.  These
9769         include mswindows- start-process-share-console and
9770         mswindows-start-process-inherit-error-mode. (Both of these only
9771         apply to Windows 95.)
9772
9773         * regex.c (regex_compile): Fixed a compile warning.
9774
9775         * select-msw.c:
9776         * select-msw.c (mswindows_own_selection):
9777         * select-msw.c (mswindows_get_foreign_selection):
9778         * select-msw.c (mswindows_disown_selection):
9779         * select-msw.c (console_type_create_select_mswindows):
9780         * select-msw.c (syms_of_select_mswindows):
9781         Cleaned up the file and implemented the device method
9782         selection_exists_p, which had accidentally been left out.  Also
9783         removed four lisp functions that were remnants from before the
9784         time when the selection code was properly device abstracted.
9785         These functions are no longer needed because there are generic
9786         equivalents, and because they were added recently and don't exist
9787         in FSF Emacs, I don't think there's any problem with just deleting
9788         them.
9789
9790         * sysdep.c:
9791         * sysdep.c (sys_subshell):
9792         Fixed a compile warning, although in this case there's probably
9793         something wrong with this code, and it ought to be looked into
9794         more thoroughly by somebody who understands it.
9795
9796         * window.c:
9797         * window.c (Fwindow_text_area_height):
9798         * window.c (Fwindow_width):
9799         * window.c (Fwindow_full_width):
9800         * window.c (Fwindow_pixel_width):
9801         * window.c (debug_print_window):
9802         * window.c (syms_of_window):
9803         Added functions window-text-area-height and window-full-width,
9804         which are functions for returning various width and height
9805         characteristics of a window. (One of these functions is necessary
9806         for making the file dialog box work correctly, and the other one
9807         was added for completeness.)  Also added a table to the
9808         documentation for window-height which describes the entire scheme
9809         for accessing width and height characteristics of a window.
9810
9811 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9812
9813         * nt.c (fstat): Added a comment for another problem with
9814         non-encapsulated [f]stat(), reported by Adrian Aichner
9815         <aichner@ecf.teradyne.com>.
9816
9817 2000-03-11  Andy Piper  <andy@xemacs.org>
9818
9819         * window.c (make_dummy_parent): initialize subwindow instance
9820         cache.
9821         (Fset_window_configuration): zero extent_modiff.
9822
9823 2000-03-10  Andy Piper  <andy@xemacs.org>
9824
9825         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
9826         more changes can be triggered.
9827         (Fredisplay_frame): ditto.
9828         (Fredraw_device): ditto.
9829         (Fredisplay_device): ditto.
9830         (redisplay_frame): make non-static.
9831         (redisplay_frame): call update_frame_gutter_geometry outside of
9832         display proper.
9833
9834         * gutter.h: declare update_frame_gutter_geometry.
9835
9836         * redisplay.h: declare redisplay_frame.
9837
9838         * gutter.c (update_frame_gutter_geometry): move geometry changes
9839         in update_frame_gutters here. Geometry changes can only occur
9840         outside of redisplay.
9841         (update_frame_gutters): remove geometry change code.
9842         (Fredisplay_gutter_area): make sure that we are in display when we
9843         update and that we have flushed any size changes.
9844
9845 2000-03-11  Andy Piper  <andy@xemacs.org>
9846
9847         * alloc.c (pdump_dump_data): remove i & count shadows.
9848
9849 2000-02-27  Mike Alexander  <mta@arbortext.com>
9850
9851         * sysdep.h: Declare pdump_read_file
9852
9853         * sysdep.c (pdump_read_file): New function
9854
9855         * alloc.c (pdump_load): Call pdump_read_file to get the portable
9856         dump data
9857
9858 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9859
9860         * lrecord.h: add `lrecord_type_pgsetenv'.
9861
9862 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
9863
9864         * symsinit.h: declare (vars|syms)_of* functions.
9865         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
9866
9867 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
9868
9869         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
9870
9871         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
9872         GCCs.
9873
9874         * emacs.c (main_1): Call postgres initialization code.
9875
9876         * postgresql.h: New file.  PostgreSQL RDBMS support.
9877         * postgresql.c: New file.
9878
9879 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9880
9881         * redisplay-output.c (redisplay_output_display_block): Disable
9882         redundant code.
9883
9884 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9885
9886         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
9887         (Fcanna_henkan_next): Ditto.
9888         (Fcanna_bunsetu_henkou): Ditto.
9889         (Fcanna_henkan_kakutei): Ditto.
9890         (Fcanna_henkan_end): Ditto.
9891         (Fcanna_henkan_quit): Ditto.
9892         (Fcanna_henkan_next): Set retun value correctly.
9893         (c2mu): Use unsigned char instead of signed char.
9894
9895 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9896
9897         * emacs.c (main_1): Always call syms_of_gui.
9898         * inline.c: include gui.h
9899
9900 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9901
9902         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
9903         converted to Lisp_Object.
9904         (Qtop_bottom): New variable.
9905         (syms_of_redisplay): Initialize it.
9906         * redisplay.h (Vvisible_bell): Ditto.
9907         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
9908         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
9909         only flash top and bottom.
9910
9911 2000-03-08  Andy Piper  <andy@xemacs.org>
9912
9913         * buffer.c (Frename_buffer): record new buffer name the right way.
9914
9915 2000-03-08  Andy Piper  <andy@xemacs.org>
9916
9917         * glyphs.c (update_subwindow): increase hash depth so that widget
9918         items get picked up properly.
9919
9920         * redisplay-output.c (compare_runes): increase hash depth so that
9921         widget items get picked up properly.
9922
9923 2000-03-08  Andy Piper  <andy@xemacs.org>
9924
9925         * gutter.c (output_gutter): add some debug.
9926
9927         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
9928         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
9929         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
9930
9931         * redisplay-output.c (compare_runes): use display_hash to
9932         determine if glyphs really are not the same.
9933
9934         * glyphs.c (update_subwindow): check display_hash to see if
9935         anything really needs to be updated. If not then do
9936         nothing. Record the display_hash after updating.
9937         (image_instance_equal): compare the image_instance face also.
9938
9939 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
9940
9941         * redisplay.h: Fix comment style.
9942
9943 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9944
9945         * consle-msw.h (struct mswindows_frame):
9946         Added new member paint_pending to indicate whether a WM_PAINT
9947         magic event has been queued for this frame.
9948
9949         * event-msw.c (mswindows_drain_windows_queue):
9950         Don't queue a WM_PAINT magic event if one is already queued.
9951         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
9952
9953         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
9954
9955 2000-03-07  Didier Verna  <didier@xemacs.org>
9956
9957         * dired.c: #include `regex.h' after `sysfile.h'.
9958
9959 2000-03-06  Martin Buchholz  <martin@xemacs.org>
9960
9961         * sound.c (init_nas_sound): Fix compiler warning.
9962
9963         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
9964         (FREE_STRUCT_P):
9965         (MARK_STRUCT_AS_FREE):
9966         (MARK_STRUCT_AS_NOT_FREE):
9967         Make `gcc -fstrict-aliasing' work properly.
9968
9969 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9970
9971         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
9972         (mswindows_delete_device): Call CoUnnitialize().
9973
9974         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
9975
9976 2000-02-25    <CraigL@DyCon.com>
9977
9978         * process-nt.c: MinGW now has <shellapi.h>, but still needs
9979         <errno.h>.
9980
9981         * sysdep.c: This extern declaration for environ prevents MinGW
9982         from finding the variable in CRTDLL.DLL.
9983
9984         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
9985         windows headers.
9986         (SHGFI_EXETYPE): ..
9987         (WM_MOUSEWHEEL): ..
9988         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
9989         definitions.
9990         (MMRESULT): Removed, now defined in cygwin's windows headers.
9991         (TIMECAPS): ..
9992         (uid_t,gid_t,pid_t,ssize_t): ..
9993         (_timeb): Removed, MinGW defines both _timeb and timeb.
9994         (HAVE_H_ERRNO): Added.
9995         (HAVE_TZNAME): Added, configure is not detecting this.
9996
9997 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
9998
9999         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10000         * syntax.c (syntax_match): Use it.
10001
10002         * cmds.c: Import auto-fill-chars from FSF Emacs.
10003         (Vauto_fill_chars): New variables.
10004         (internal_self_insert): Check Vauto_fill_chars.
10005         (vars_of_cmds):
10006         Declare auto-fill-chars as a Lisp variable and initialize it.
10007
10008 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10009
10010         * fileio.c (Fmake_symbolic_link):
10011         (Ffile_symlink_p):
10012         Run handlers even if local machine doesn't have symlinks.
10013
10014 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10015
10016         * event-msw.c (mswindows_drain_windows_queue):
10017         Don't generate paint magic events for non-XEmacs frames.
10018
10019 2000-03-05  Andy Piper  <andy@xemacs.org>
10020
10021         * redisplay.c (redisplay_frame): generate_displayable_area and
10022         friends assumes that we are not in GC, we therefore have to make
10023         sure that this doesn't happen.
10024
10025         * gutter.c (calculate_gutter_size): generate_displayable_area
10026         assumes that we are not in GC, we therefore have to make sure that
10027         this doesn't happen.
10028
10029 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10030
10031         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10032
10033 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10034
10035         * redisplay.c (regenerate_window): Make sure we set a sane value
10036         for end_pos even if we jump out of the loop.
10037         (regenerate_window): Answer Ben's question :-).
10038         (start_end_of_last_line): Add may_error argument.
10039         (start_of_last_line):
10040         (end_of_last_line): Pass may_error = 0.
10041         (end_of_last_line_may_error): New function.
10042         (pixel_to_glyph_translation): Use it, so we don't crash in
10043         event_to_glyph.
10044
10045 2000-03-04  Andy Piper  <andy@xemacs.org>
10046
10047         * window.h (struct window): add gutter_extent_modiff.
10048
10049         * window.c (allocate_window): zero out gutter_extent_modiff.
10050
10051         * redisplay.h: declare sync_display_line_structs.
10052
10053         * redisplay.c (add_glyph_rune): add a better comment.
10054
10055         * redisplay-output.c (sync_display_line_structs): made non-static.
10056         (compare_runes): remove unneccesary glyph cachel access.
10057
10058         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10059
10060         * gutter.c (output_gutter): don't output the gutter if extent
10061         changes only involve extents in buffers. use 4 sets of display
10062         lines.
10063         (gutter_extent_signal_changed_region_maybe): new function. Mark
10064         extents in gutters as changed.
10065         (update_frame_gutters): use 4 sets of display lines.
10066         (reset_gutter_display_lines): ditto.
10067         (free_frame_gutters): ditto.
10068         (redraw_exposed_gutter): force output of gutters.
10069
10070         * frame.h (struct frame): add 4 sets of gutter display lines.
10071
10072         * extents.c: (extent_changed_for_redisplay): signal changes to
10073         extents in strings in the gutter as well as extents in buffers.
10074
10075 2000-03-02  Andy Piper  <andy@xemacs.org>
10076
10077         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10078
10079         * frame.c (Fmake_frame): make sure the gutters get initialized
10080         after the frame is visible.
10081         (set_frame_selected_window): re-arrange compilation macros a
10082         little.
10083         (change_frame_size_1): mark gutters changed.
10084
10085         * device.c (Fset_device_class): mark gutters changed.
10086
10087 2000-03-01  Andy Piper  <andy@xemacs.org>
10088
10089         * window.c (window_top_frame_gutter_height): deleted.
10090         (window_bottom_frame_gutter_height): ditto.
10091         (window_left_frame_gutter_height): ditto.
10092         (window_right_frame_gutter_height): ditto.
10093         (window_top_gutter_height): don't use them.
10094         (window_bottom_gutter_height): ditto.
10095         (window_left_gutter_width): ditto.
10096         (window_right_gutter_width): ditto.
10097         (Fsplit_window): ditto.
10098         (Fwindow_pixel_edges): don't use border dimensions here.
10099
10100         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10101         (update_scrollbar_instance): ditto.
10102
10103         * redisplay.c (generate_modeline): don't take gutters into account.
10104         (generate_modeline): ditto.
10105         (redisplay_frame): small gutter display optimization.
10106
10107         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10108
10109         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10110         gutters into account.
10111
10112         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10113         for window position and type.
10114
10115         * gutter.c (get_gutter_coords): fix for frame gutters.
10116         (update_frame_gutters): update frame geometry if the gutters have
10117         changed.
10118         (init_frame_gutters): record current gutter geometries.
10119
10120         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10121         var.
10122         (mswindows_widget_instantiate): ditto.
10123
10124         * frame.h (struct frame): add current_gutter_bounds.
10125
10126         * frame.c (change_frame_size_1): position window and minibuffer
10127         appropriately taking into account the frame gutters.
10128
10129         * frame-x.c: (x_initialize_frame_size): take into account the
10130         frame gutters.
10131
10132 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10133
10134         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10135
10136 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10137
10138         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10139
10140 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10141
10142         * file-coding.c (reset_decoding_stream): Clear previous
10143         detection state when autodetect.
10144
10145 2000-02-29  Didier Verna  <didier@xemacs.org>
10146
10147         * extents.c (set_extent_glyph_1): don't require extents to be
10148         attached.
10149
10150 2000-02-27  Andy Piper  <andy@xemacs.org>
10151
10152         * gutter.c (Fset_default_gutter_position): don't default left and
10153         right gutter visibility to t.
10154         (Fset_default_gutter_position): run
10155         default-gutter-position-changed-hook.
10156         (syms_of_gutter): add default-gutter-position-changed-hook.
10157
10158 2000-02-26  Andy Piper  <andy@xemacs.org>
10159
10160         * specifier.c (Fmake_specifier): add gutter references.
10161
10162         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10163
10164         * lisp.h: declare Fvalid_plist_p.
10165
10166         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10167         as changed.
10168         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10169         well as its visibility so that it gets reconstructed.
10170         (construct_window_gutter_spec): new function. Construct a string
10171         to be displayed in the gutter from a plist of strings. Take care
10172         to only use elements that are declared as visible.
10173         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10174         WINDOW_GUTTER.
10175         (gutter_validate): allow plists of strings in the specifier.
10176         (gutter_specs_changed): construct the real_gutter from the gutter
10177         specs using construct_window_gutter_spec.
10178         (gutter_visible_validate): gutter-visible is a new specifier type.
10179         (Fgutter_visible_specifier_p): new function for the new specifier.
10180         (syms_of_gutter): declare gutter-visible and
10181         Fgutter_visible_specifier_p.
10182         (specifier_type_create_gutter): intitalize new gutter-visible
10183         specifier.
10184         (reinit_specifier_type_create_gutter): ditto.
10185         (specifier_vars_of_gutter): use new specifier type for gutter
10186         visibility.
10187         (init_frame_gutters): construct real_gutter correctly.
10188         (Fgutter_specifier_p): beef up documentation.
10189         (Fgutter_size_specifier_p): ditto.
10190
10191         * winslots.h: add real_gutter slots.
10192
10193 2000-02-25  Andy Piper  <andy@xemacs.org>
10194
10195         * device-msw.c: Be kind to older cygwin versions. From Raymond
10196         Toy <toy@rtp.ericsson.se>.
10197
10198         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10199         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10200
10201 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10202
10203         * elhash.c (MARK_OBJ): Practice macro hygiene.
10204
10205 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10206
10207         * miscplay.c: s/__inline__/inline/g;
10208         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10209         (get_device_compdc): INLINE ==> static inline
10210         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10211         find -name '*.h' | \
10212         xargs global-replace \
10213         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10214
10215 2000-02-25  Andy Piper  <andy@xemacs.org>
10216
10217         * window.c (window_top_frame_gutter_height): new function.
10218         (window_top_window_gutter_height): ditto.
10219         (window_top_gutter_height): use them.
10220         (window_bottom_frame_gutter_height): new function.
10221         (window_bottom_window_gutter_height): ditto.
10222         (window_bottom_gutter_height): use them.
10223         (window_left_window_gutter_width): new function.
10224         (window_left_frame_gutter_width): ditto.
10225         (window_left_gutter_width): use them.
10226         (window_right_window_gutter_width): new function.
10227         (window_right_frame_gutter_width): ditto.
10228         (window_right_gutter_width): use them.
10229         (window_pixel_height): new function. calulate window pixel height
10230         with frame gutter involvement.
10231         (Fsplit_window): calculate new sizes taking frame gutters into
10232         account.
10233         (window_char_height_to_pixel_height): don't include frame gutters.
10234         (window_char_height): use window_pixel_height.
10235         (window_pixheight): rename from window_pixel_height.
10236         (change_window_height): use it.
10237         (window_pixel_height_to_char_height): don't include frame gutters.
10238         (window_char_width_to_pixel_width): ditto.
10239
10240 2000-02-25  Andy Piper  <andy@xemacs.org>
10241
10242         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10243         if it is.
10244
10245 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10246
10247         * alloc.c (staticpro):
10248         (staticpro_nodump):
10249         (dumpstruct):
10250         (dumpopaque):
10251         (pdump_wire):
10252         (pdump_wire_list):
10253         (compact_string_chars):
10254         (pdump_dump_wired):
10255         Convert:  if (foo) abort();  ==>  assert (! foo);
10256
10257         * eldap.c (Fldap_search_basic):
10258         (Fldap_add):
10259         (Fldap_modify):
10260         (Fldap_delete):
10261         Fix compiler warnings, and possible crashes if (random) return
10262         value were to be used.
10263
10264 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10265
10266         * device-msw.c: Workaround ResetDC failure.
10267
10268         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10269         applying a devmode.
10270
10271         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10272         (mswindows_text_width): Do not start printer page.
10273
10274         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10275
10276         * glyphs-msw.c: Added image methods to msprinter console and
10277         msprinter-specific image instantiation.
10278
10279 2000-02-20  Mike Alexander  <mta@arbortext.com>
10280
10281         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10282         to avoid crashes when selection-sets-clipboard is on
10283         (mswindows_own_selection): ditto
10284
10285 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10286
10287         * glyphs-msw.c:
10288         * redisplay-msw.c (get_frame_dc):
10289         (get_frame_compdc):
10290         * console-msw.h:
10291         * device-msw.c (mswindows_init_device):
10292         (mswindows_delete_device):
10293         (msprinter_init_device):
10294         (msprinter_delete_device):
10295         * frame-msw.c (mswindows_init_frame_1):
10296         (mswindows_delete_frame):
10297         (msprinter_init_frame_3):
10298         (msprinter_delete_frame): Move compatible DC to device object from
10299         frame object, for both mswindows and msprinter. Only one at a time
10300         is needed, it is a real waste to have one per frame!
10301
10302 2000-02-23  Andy Piper  <andy@xemacs.org>
10303
10304         * glyphs.c: add dynamic width and height elements.
10305         (image_instance_equal): ditto.
10306
10307         * glyphs-widget.c (widget_query_geometry): calculate width and
10308         height dynamically if required.
10309         (initialize_widget_image_instance): initialize dynamic dimensions.
10310         (widget_instantiate): pick-up dynamic dimensions.
10311
10312         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10313         dynamic determination. Add appropriate macros.
10314
10315         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10316         dimensions safe.
10317         (WINDOW_GUTTER_SIZE): ditto.
10318         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10319
10320         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10321         inline.
10322         (get_frame_dc): ditto.
10323
10324         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10325         here.
10326
10327 2000-02-23  Martin Buchholz <martin@xemacs.org>
10328
10329         * XEmacs 21.2.31 is released.
10330
10331 2000-02-22  Ben Wing <ben@xemacs.org>
10332
10333         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10334
10335 2000-02-22  Andy Piper  <andy@xemacs.org>
10336
10337         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10338
10339 2000-02-21  Mike Sperber <mike@xemacs.org>
10340
10341         * .dbxrc:
10342         * .gdbinit:
10343         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10344         variables.
10345
10346 2000-02-21  Mike Sperber <mike@xemacs.org>
10347
10348         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10349
10350 2000-02-21  Martin Buchholz <martin@xemacs.org>
10351
10352         * XEmacs 21.2.30 is released.
10353
10354 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10355
10356         Performance hacking.
10357         * *.c (syms_of_*):
10358         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10359         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10360         * emacs.c (main_1):
10361         * lisp.h (DEFUN):
10362         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10363         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10364         * symeval.h (DEFVAR_SYMVAL_FWD):
10365         * symbols.c (guts_of_unbound_marker):
10366         Make all c_readonly objects also lisp_readonly and marked for life.
10367         * lrecord.h (struct lrecord_implementation):
10368         Document flags better.
10369         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10370         * lrecord.h (DECLARE_LRECORD):
10371         * lrecord.h (XSETRECORD):
10372         * lrecord.h (RECORDP):
10373         * lrecord.h (RECORD_TYPEP):
10374         * lrecord.h (RECORD_MARKER): New.
10375         * lrecord.h (error_check_*):
10376         * lrecord.h (CONCHECK_NONRECORD):
10377         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10378         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10379         * lrecord.h (set_lheader_implementation):
10380         * lrecord.h (enum lrecord_type): New.
10381         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10382         * alloc.c (disksave_object_finalization_1):
10383         * alloc.c (mark_object):
10384         * alloc.c (lrecord_type_index):
10385         * alloc.c (tick_lcrecord_stats):
10386         * alloc.c (Fgarbage_collect):
10387         * alloc.c (init_alloc_once_early):
10388         * alloc.c (pdump_load):
10389         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10390         * alloc.c (lrecord_type_index): Delete.
10391         Make lisp object type indexes be constant.
10392           Makes (byte-compile) 5% faster.
10393         Put all marker functions into their own array.
10394           Makes (garbage-collect) 5% faster.
10395         Optimize SYMBOL_VALUE_MAGIC_P.
10396           Makes (byte-compile) 2-3% faster.
10397         * config.h.in (gc_checking_assert): New.
10398         * alloc.c: Use gc_checking_assert().
10399         * .dbxrc: Make compatible with new object type implementation.
10400         * .gdbinit: Make compatible with new object type implementation.
10401         * alloc.c: Delete all symbols defined only for debugging, such as
10402         Lisp_Type_Vector and lrecord_charset.
10403
10404 2000-02-21  Andy Piper  <andy@xemacs.org>
10405
10406         * gui-msw.c (Fmswindows_shell_execute): fix file location
10407         problems.
10408
10409         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10410         unshowing so that set_window_buffer doesn't undo
10411         kill_buffer_hook's hard work.
10412
10413         * glyphs-widget.c (tab_control_query_geometry): don't count the
10414         first item when calculating geometry.
10415
10416         * glyphs.c (map_subwindow): remove redundant code.
10417         (update_frame_subwindows): be more circumspect about when to
10418         update subwindows.
10419
10420         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10421         when items haven't changed. Update faces if faces have changed as
10422         well as just the widget face.
10423         (x_tab_control_update): Update faces if faces have changed as well
10424         as just the widget face.
10425
10426 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10427
10428         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10429         registration.
10430         (build_syscolor_string): Use mswindows_color_to_string to try to
10431         get a named color.
10432         (mswindows_device_system_metrics): Reverse the foreground and
10433         background colors so that they match the documentation.
10434
10435         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10436         they match the default Windows palette.
10437         (mswindows_color_to_string): New function.
10438
10439 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10440
10441         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10442
10443 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10444
10445         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10446         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10447
10448         * symbols.c (init_symbols_once_early): Removed obsolete
10449         DATA_SEG_BITS related kludge.
10450         (defvar_magic): Ditto.
10451
10452         * malloc.c: Removed obsolete DATA_SEG_BITS
10453         * ralloc.c: Ditto.
10454         * mem-limits.h: Ditto.
10455
10456         * Makefile.in.in: Removed obsolete HAVE_SHM
10457         * emacs.c: Ditto.
10458
10459 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10460
10461         *  device-msw.c (mswindows_delete_device): Free DDE string
10462         handles.
10463
10464 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10465
10466         * keymap.c (get_keyelt):
10467         * unexnt.c (unexec):
10468         * vm-limit.c (memory_warnings):
10469         * ntheap.c (recreate_heap):
10470         * ntheap.h (UNINIT_PTR):
10471         * select-msw.c (Fmswindows_get_clipboard):
10472         (Fmswindows_set_clipboard):
10473         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10474         * objects-msw.c:
10475         * menubar-msw.c (displayable_menu_item):
10476         * glyphs-msw.c:
10477         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10478         * sysdep.c (sys_subshell):
10479         * process-nt.c (nt_create_process):
10480         * nt.c (normalize_filename):
10481         (dostounix_filename):
10482         (unixtodos_filename):
10483         * ntproc.c (win32_executable_type):
10484         * ntplay.c (play_sound_data_1):
10485         (play_sound_file):
10486         * editfns.c (get_home_directory):
10487         * event-msw.c (struct winsock_stream):
10488         (mswindows_dde_callback):
10489         * device-msw.c (msprinter_init_device):
10490         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10491
10492         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10493         mswindows_clear_toolbar were swapped!
10494
10495         * objects-msw.c:(colormap_t):
10496         (fontmap_t):
10497         * emacs.c (struct standard_args): Fixed const jumble.
10498
10499         * glyphs-widget.c (update_widget): Fixed comparison notation.
10500
10501         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10502
10503         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10504         __declspec(noreturn) syntax.
10505
10506 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10507
10508         * eldap.c (Fldap_open):
10509         (Fldap_search_basic):
10510         (Fldap_add):
10511         (Fldap_modify):
10512         Use new coding system conversion macros.
10513
10514 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10515
10516         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10517
10518 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10519
10520         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10521         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10522
10523         * eldap.c (Qadd, Qreplace): New constant symbols
10524         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10525         interruptions by XEmacs signals
10526         Remove unnecessary calls to slow_down_interrupts and
10527         speed_up_interrupts
10528         (Fldap_search_basic): Renamed from Fldap_search_internal
10529         Added new optional parameter VERBOSE that triggers the
10530         display of progress messages
10531         Remove unnecessary calls to slow_down_interrupts and
10532         speed_up_interrupts
10533         LDAP result code analysis rewritten
10534         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10535         (syms_of_eldap): Define the new symbols and functions
10536
10537
10538 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10539
10540         * realpath.c: Determine PATH_MAX maximally portably.
10541
10542         * insdel.c (bytecount_to_charcount): Optimize.
10543         The function used to be optimized for entirely ASCII sequences.
10544         Now it is optimized for successive characters from the same
10545         charset.  This also wins big for _mostly_ ASCII sequences.
10546
10547         * fileio.c (Ffile_truename): convert return from realpath() using
10548         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10549         - Rewrite GCPROing slightly.
10550
10551         * sysdep.c (sys_open): Do filename conversion, like all other
10552         sys_* functions.  Fixes bug:
10553         (let ((file-name-coding-system 'iso-8859-2))
10554            (write-region x y latin2-name))
10555         ==> writes filename using internal encoding.
10556
10557 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10558
10559         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10560         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10561         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10562         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10563         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10564         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10565         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10566         (CONST_IF_NOT_DEBUG): Delete.
10567         * alloc.c (this_one_is_unmarkable): Delete.
10568         (mark_object): Don't check for this_one_is_unmarkable. Use the
10569         c_readonly flag instead.
10570         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10571
10572 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10573
10574         * event-msw.c (mswindows_drain_windows_queue):
10575         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10576         away redundant repaint events.
10577
10578 2000-02-17  Andy Piper  <andy@xemacs.org>
10579
10580         * redisplay.h: declare mark_redisplay_structs.
10581
10582         * redisplay.c (redisplay_window):
10583         (redisplay_frame): don't check subwindows_state_changed.
10584         (mark_redisplay): mark gutters here.
10585
10586         * glyphs.c: (instantiate_image_instantiator): always layout if we
10587         haven't done so already.
10588         (allocate_image_instance): don't mark as dirty.
10589         (update_subwindow): bind inhibit_quit.
10590
10591         * gutter.c (mark_gutters): new function.
10592
10593         * glyphs-x.c (x_update_widget): Always resize to get round a
10594         widget bug.
10595
10596         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10597         breaking absolutely everything.
10598
10599         * gutter.h: declare mark_gutters.
10600
10601 2000-02-16  Martin Buchholz <martin@xemacs.org>
10602
10603         * XEmacs 21.2.29 is released.
10604
10605 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10606
10607         * fns.c (size_bit_vector): Fix computation of the size.
10608
10609 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10610
10611         * *.[ch]: Change CONST to const globally.
10612         find -name '*.[ch]' | \
10613         xargs global-replace \
10614         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10615         - Remove vestigial references to CONST_IS_LOSING
10616
10617 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10618
10619         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10620         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10621         events instead of dispatching them directly.
10622         (mswindows_handle_paint): New function to do repainting.
10623         (mswindows_wnd_proc):
10624         (emacs_mswindows_handle_magic_event): Call above function.
10625
10626 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10627
10628         * objects-msw.c (mswindows_create_font_variant): Return the new
10629         font handle.
10630         (initialize_font_instance): Get font metrics from the underlined
10631         variant of the font to cope with the case where the underlined
10632         font has a bigger descent.
10633
10634 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10635
10636         * gui.c (gui_item_accelerator): Return the first underlined
10637         character in item name.
10638
10639 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10640
10641         * lisp.h: Added Qprinter.
10642
10643         * general.c (syms_of_general): Initialized it.
10644
10645         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10646         (get_frame_dc):
10647         (get_frame_compdc): Made inline.
10648
10649         * console.h (struct console_methods): Added eject_page method.
10650
10651         * frame.h: Added FRAME_DISPLAY_P and friends.
10652         Aligned backslahes in many macros in more readable fashion.
10653         Added page_number to struct frame, and an accessor macro
10654         for it.
10655
10656         * defice.h: Added DEVICE_DISPLAY_P and friends.
10657
10658         * device.c (Fdevice_printer_p): Used these.
10659
10660         * frame.c (allocate_frame_core): Initialize page number.
10661         (Fprint_job_page_number):
10662         (Fprint_job_eject_page): Implemented.
10663
10664         * frame-msw.c (msprinter_eject_page): Added method.
10665         (msprinter_start_page): Added.
10666
10667         * window.c (Fwindow_truncated_p): Fixed docstring.
10668         (Fwindow_last_line_visible_height): Implemented.
10669
10670 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10671
10672         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10673
10674 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10675
10676         * syntax.c (scan_words): Always advance at least one character.
10677
10678 2000-02-13  Andy Piper  <andy@xemacs.org>
10679
10680         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10681         to make sure the glyph is in the cachels.
10682
10683         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
10684         global image instance flag.
10685         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
10686         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
10687
10688         * glyphs.c (allocate_image_instance): set dirty bits correctly.
10689         (Fset_image_instance_property): mark layout as changed.
10690         (invalidate_glyph_geometry_maybe): mark layout as changed.
10691         (glyph_width): use new NEEDS_LAYOUT macro.
10692         (glyph_ascent): ditto.
10693         (glyph_descent): ditto.
10694         (glyph_height): ditto.
10695         (image_instance_layout): mark layout as clean after laying out.
10696         (update_subwindow): don't mark layout as clean here.
10697
10698         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
10699         should no longer be needed.
10700
10701         * glyphs-x.c (x_update_widget): sanitize asserts.
10702         (x_finalize_image_instance): sanitize assignment to widgets.
10703
10704         * glyphs-widget.c (widget_instantiate): don't need to clear the
10705         layout flag here.
10706
10707 2000-02-13  Martin Buchholz  <martin@xemacs.org>
10708
10709         * sysdep.c (getcwd): Use standard prototype.
10710         * sysdep.h (getcwd): Use standard prototype.
10711
10712         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
10713         (sequence, start, end).
10714         Remove redundant type checking.
10715         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
10716         view of `caller-protects') to avoid a crash where the real fix was
10717         found elsewhere.
10718
10719 2000-02-12  Martin Buchholz  <martin@xemacs.org>
10720
10721         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
10722
10723         * s/sol2.h: Remove feature macro initialization.
10724
10725         * alloc.c (alloc_lcrecord): Add more type checking assertions.
10726         (vector_hash): New.  Code from internal_hash.
10727         * lrecord.h:
10728         Fix up allocation subsystem comments.
10729
10730         * config.h.in: Add __EXTENSIONS__ for Solaris.
10731
10732         * systime.h (EMACS_GETTIMEOFDAY): New.
10733         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
10734         Remove Solaris-specific code.
10735         Use void* for the (ignored) second arg for gettimeofday().
10736
10737         * elhash.c (hash_table_hash): Implement it, finally.
10738         * elhash.c:  Use hashcode_t.
10739
10740         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
10741         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
10742
10743         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
10744         * fns.c (size_bit_vector):
10745         * alloc.c (size_vector):
10746         (make_vector_internal):
10747         (make_bit_vector_internal):
10748         (sweep_bit_vectors_1):
10749         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
10750
10751 2000-02-10  Martin Buchholz  <martin@xemacs.org>
10752
10753         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
10754         Include strings.h to avoid warnings for bzero and strcasecmp.
10755
10756 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10757
10758         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
10759         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
10760
10761         * fns.c (size_bit_vector): New.  Declare bit vectors as a
10762         sequence.
10763
10764 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10765
10766         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
10767         use a value field instead.
10768         (symbol_value_forward_forward): Use value field.
10769         (DEFVAR_SYMVAL_FWD): Use value field.
10770         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
10771         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
10772         (DEFVAR_CONST_INT): Ditto.
10773         (DEFVAR_BOOL): Ditto.
10774         (DEFVAR_CONST_BOOL): Ditto.
10775         (DEFVAR_INT_MAGIC): Ditto.
10776         (DEFVAR_BOOL_MAGIC): Ditto.
10777
10778         * symbols.c (guts_of_unbound_marker): Use value field.
10779         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
10780         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
10781
10782         * lisp.h: Declare dumpopaque and noninteractive1.
10783
10784         * alloc.c (dumpopaque): Added.
10785         (pdump_dump_opaquevec): Added.
10786         (pdump): Call pdump_dump_opaquevec to dump opaque data.
10787         (pdump_load): Reload opaque data.  Sync noninteractive1 with
10788         noninteractive.
10789
10790 2000-02-10  Andy Piper  <andy@xemacs.org>
10791
10792         * glyphs.c (image_instance_layout): if the size changes, mark it
10793         as such.
10794
10795         * redisplay-output.c (redisplay_output_layout): Update the
10796         subwindow here.
10797         (redisplay_output_subwindow): ditto.
10798
10799         * glyphs.c (update_subwindow): make sure we reset flags for
10800         layouts as well as everything else.
10801
10802         * glyphs-widget.c (layout_layout): don't need to set the instances
10803         dimensions here.
10804
10805 2000-02-09  Martin Buchholz  <martin@xemacs.org>
10806
10807         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
10808         not HAVE_DLOPEN, which is a lower-level thing.
10809
10810         * .cvsignore: Ignore gmon.out
10811
10812 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
10813
10814         * .cvsignore: Ignore portable dumper xemacs.dmp file
10815
10816 2000-02-09  Andy Piper  <andy@xemacs.org>
10817
10818         * redisplay-output.c (redisplay_output_layout): be more clever
10819         about when we output based on the changed flags.
10820
10821         * glyphs.h (struct image_instantiator_methods): add update_method.
10822         (struct Lisp_Image_Instance): add changed flags. Declare new
10823         macros for manipulating them.
10824
10825         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
10826         (image_instance_parent_glyph): find an image_instance's parent
10827         glyph or image_instance.
10828         (image_instance_layout): mark the size as changed.
10829         (set_image_instance_dirty_p): new function. mark an image
10830         instance, plus all of its parents, as dirty.
10831         (Fset_image_instance_property): use it.
10832         (Fglyph_animated_timeout_handler): use it.
10833         (update_subwindow): call update_widget and device methods for
10834         update_subwindow. Mark all changed flags as clean.
10835         (Fresize_subwindow): mark size as changed.
10836
10837         * glyphs-x.c (x_finalize_image_instance): try and detect gc
10838         failures.
10839         (x_update_subwindow): only resize subwindows here.
10840         (x_update_widget): new function. Update all changed properties of
10841         a widget.
10842         (x_resize_subwindow): deleted.
10843         (x_widget_set_property): deleted.
10844         (x_progress_gauge_set_property): deleted.
10845         (x_progress_gauge_update): new function. Implement recorded
10846         changes.
10847         (x_tab_control_update): ditto.
10848         (x_tab_control_set_property): deleted.
10849         (console_type_create_glyphs_x): declare new functions.
10850         (image_instantiator_format_create_glyphs_x): ditto.
10851
10852         * glyphs-widget.c (widget_set_property): mark text changed.
10853         (update_widget): new function. Update properties of a widget.
10854         (widget_instantiate): for layouts make sure we set their
10855         children's parent correctly.
10856         (tab_control_set_property): new function. Record changes that will
10857         take place under redisplay's control.
10858         (progress_gauge_set_property): ditto.
10859         (image_instantiator_progress_guage): declare new functions.
10860         (image_instantiator_tab_control): ditto.
10861
10862         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
10863         now.
10864         (mswindows_update_widget): new function. Update all properties on
10865         a widget that have changed.
10866         (mswindows_button_update): new function. Update a button's set
10867         state.
10868         (mswindows_tab_control_update): new function. Update the items in
10869         a tab.
10870         (mswindows_tab_control_set_property): deleted.
10871         (mswindows_progress_gauge_update): new function. Update the
10872         progress gauge's progress.
10873         (mswindows_widget_set_property): deleted. This is all done
10874         asynchronously now.
10875         (mswindows_progress_gauge_set_property): ditto.
10876         (console_type_create_glyphs_mswindows): declare new methods.
10877         (image_instantiator_format_create_glyphs_mswindows): ditto.
10878
10879         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
10880         (msprinter_set_frame_properties): ditto.
10881
10882         * console.h (struct console_methods): Add update_widget_method.
10883
10884 2000-02-09  Andy Piper  <andy@xemacs.org>
10885
10886         * gui-msw.c (Fmswindows_shell_execute): Make
10887         mswindows-shell-execute industrial strength.
10888
10889 2000-02-08  Martin Buchholz  <martin@xemacs.org>
10890
10891         * lrecord.h: Make macro argument `props' match member function `plist'.
10892         * fns.c (Fget):
10893         * fns.c (Fput):
10894         * fns.c (Fremprop):
10895         * fns.c (Fobject_plist):
10896         * alloc.c:
10897         * symbols.c:
10898         Object property list frobbing cleanup.
10899         - Allow any lisp object (compared with `eq'), not just symbols, as
10900           keys in object plists.
10901         - Move symbol plist frobbing into symbols.c, where it belongs.
10902         - Move string plist frobbing into alloc.c, where it belongs.
10903         - Everything's an lrecord now, so no need to test for symbolp, etc.
10904         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
10905
10906         * extents.c: Reorder code to remove declarations.
10907
10908         * frame.h (store_in_alist): Remove useless declaration.
10909
10910 2000-02-07  Martin Buchholz  <martin@xemacs.org>
10911
10912         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
10913         * config.h.in: Add HAVE_XCONVERTCASE.
10914
10915 2000-02-07  Andy Piper  <andy@xemacs.org>
10916
10917         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
10918         it breaks many things.
10919
10920 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
10921
10922         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
10923         actually can start a common comment type.
10924         * src/syntax.h (SYNTAX_END_P): ditto for end.
10925
10926 2000-02-07  Martin Buchholz <martin@xemacs.org>
10927
10928         * XEmacs 21.2.28 is released.
10929
10930 2000-02-06  Martin Buchholz  <martin@xemacs.org>
10931
10932         * event-Xt.c (x_keysym_to_character): New.
10933         (maybe_define_x_key_as_self_inserting_character): New.
10934         (x_has_keysym): New.
10935         Auto-define all keys on the keyboard as self-insert-key.
10936
10937 2000-02-02  Martin Buchholz  <martin@xemacs.org>
10938
10939         * menubar.c (vars_of_menubar): A small code simplification.
10940
10941         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
10942
10943         * ExternalShell.c:
10944         * ExternalClient.c:
10945         * EmacsShell-sub.c:
10946         * EmacsManager.c:
10947         * EmacsFrame.c:
10948         Use consistent style for specifying X resources.
10949
10950         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
10951         This makes (dontusethis-set-symbol-value-handler) actually usable.
10952
10953         * lrecord.h (lrecord_decription_type):
10954         * alloc.c (pdump_register_sub):
10955         (pdump_dump_data):
10956         (pdump_reloc_one):
10957         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
10958         Comply with XEmacs coding style.
10959         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
10960         args, and XD_LISP_OBJECT_ARRAY with 3 args.
10961
10962         * keymap.c (Faccessible_keymaps):
10963         Make (accessible-keymaps map "\C-h") do the Right Thing.
10964         Make (accessible-keymaps map []) do the Right Thing.
10965         Make (accessible-keymaps map "") do the Right Thing.
10966         (check_keymap_definition_loop): New function.
10967         (keymap_store_internal): Keep luser from shooting self in foot,
10968           via (define-key ctl-x-4-map "p" global-map).
10969         Remove fullness slot from struct Lisp_Keymap, since hash tables
10970         are now reliable.
10971         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
10972
10973 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10974
10975         * redisplay.c (init_redisplay): Fix small memory leak.
10976         * elhash.h:
10977         * elhash.c (pdump_reorganize_hash_table):
10978         Rename from reorganize_hash_table. Change prototype.
10979         Reuse the original memory for hentries.  Save 100k.
10980         * alloc.c (PDUMP_READ): new macro.
10981         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
10982         * alloc.c: No need to #ifndef before #undef.
10983
10984         * print.c: Allow debug_print() to print readably by modifying
10985         debug_print_readably.  Use consistent variable names.
10986
10987         * .dbxrc: Try to get things to work even if stopped in a function
10988         without source available by explicitly specifying source files.
10989 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10990
10991         * unexnt.c (_start): Removed bogus code which caused loading heap
10992         from differrent executable file.
10993         Removed bogus assignment to _fmode, which caused inconsistencies.
10994
10995 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10996
10997         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
10998         Have spawnve encapsulation regard DONT_ENCAPSULATE.
10999         Do not preliminary `#define signal sigset'.
11000
11001         * systime.h: Do not prototype environ on windows nt and cygwin,
11002         this conflicts with system header.
11003
11004         * syssignal.h: Use correct define for WINDOWSNT
11005
11006         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11007         with system header.
11008
11009         * sysdep.c (near start of file): Fixed commentary and rearranged
11010         ifdefs in readable order.
11011         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11012         (start_of_text):
11013         (end_of_text):
11014         (end_of_data): Do not compile in if using PDUMP.
11015
11016         * symsinit.h: Prototyped vars_of_nt().
11017
11018         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11019         (find_child_console): Use it.
11020         (sys_kill): Use it.
11021
11022         * ntheap.h: Do not extern os_subtype.
11023
11024         * ntheap.c (cache_system_info): Do not cache unneeded:
11025         nt_major_version, nt_minor_version and os_subtype.
11026         (recreate_heap): Do not compile in when PDUMPing.
11027
11028         * nt.c (geteuid and friends): Use the new varibale
11029         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11030         (init_user_info): Removed the above mentioned hackery.
11031         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11032         stat has been fixed in the C runtime.
11033         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11034
11035         * file-coding.c (struct file_coding_dump): Do not define
11036         ucs_to_mule_table in the struct if not MULE.
11037         (struct struct lrecord_description fcd_description_1): Do not dump
11038         the above.
11039
11040         * emacs.c (main_1): Call vars_of_nt().
11041         (right before Fdump_emacs_data): Don't need lastfile if using both
11042         portabe dumper and system malloc.
11043
11044         * alloc.c (Fmemory_limit): Conditionalized out.
11045         (pdump): Use OPEN_BINARY for the portable dump file.
11046         (pdump_load): Ditto.
11047
11048 2000-02-02  Mike Alexander  <mta@arbortext.com>
11049
11050         * nt.c (convert_time): Set tm_isdst before calling mktime and
11051         avoid calling it at all if the compiler supports 64 bit integers.
11052         Also initialize utc_base_ft before using it.
11053
11054 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11055
11056         * frame.c (change_frame_size_1): Take f->internal_border_width
11057         into consideration when calculating the width of the frame.
11058
11059 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11060
11061         * window.c (frame_min_height):
11062         (frame_size_valid_p):
11063         (frame_pixsize_valid_p): Added.
11064         (check_frame_size): Generalized.
11065
11066         * window.h: Prototyped the above.
11067
11068         * lisp.h:
11069         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11070         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11071         Deleted Vwin32_* and Vbinary_process_* unused variables.
11072
11073         * device-msw.c (msprinter_init_device): Do not get printer font
11074         list; Added DEVMODE functions.
11075
11076         * frame-msw.c: Added lots of printer code.
11077
11078         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11079         general.c.
11080
11081         * console-msw.h: Added more msprinter device private slots.
11082
11083 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11084
11085         * event-msw.c (key_needs_default_processing_p): Added.
11086         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11087
11088 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11089
11090         * glyphs.c (image_instance_layout): Mark image instance as clean
11091         after layout.
11092         (glyph_dirty_p): Removed redundant function.
11093         (invalidate_glyph_geometry_maybe): Added.
11094         (update_glyph_cachel_data): Call it.
11095
11096         * glyphs.h: Prototyped it.
11097
11098         * redisplay.c (add_glyph_rune): Call it.
11099         (redisplay_window): Reset glyphs cachels when frame faces have
11100         changed, thus forcing recomputation of built-in border glyphs.
11101
11102 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11103
11104         * Makefile.in.in: Make portable dumper and purify play well together.
11105         Add imperfect, but better than nothing, support for pdump.
11106         Remove xemacs.dmp when temacs is re-generated.
11107         Don't ignore errors when dumping xemacs.
11108
11109         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11110
11111 2000-01-28  Andy Piper  <andy@xemacs.org>
11112
11113         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11114         (setup_normal_frame): ditto.
11115         (setup_frame_without_minibuffer): ditto.
11116         (setup_minibuffer_frame): ditto.
11117         (delete_frame_internal): ditto.
11118         (Fmake_frame_invisible): ditto.
11119         (Ficonify_frame): ditto.
11120
11121         * window.h: change Fset_window_buffer signature.
11122
11123         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11124         (Fset_window_buffer): allow recording of buffer if the window is
11125         the selected window.
11126         (window_loop): Use new Fset_window signature.
11127
11128 2000-01-23  Daniel Pittman  <daniel@danann.net>
11129
11130         * config.h.in: Added template for `HAVE_ATHENA_3D'
11131
11132 2000-01-29  Andy Piper  <andy@xemacs.org>
11133
11134         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11135
11136         * gutter.c (output_gutter): Don't output if the window isn't live.
11137
11138 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11139
11140         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11141         of 01/12/00: Moved SetFocus back here where it belongs.
11142
11143 2000-01-23  Andy Piper  <andy@xemacs.org>
11144
11145         * s/cygwin32.h: declare printer things.
11146
11147 2000-01-26  Andy Piper  <andy@xemacs.org>
11148
11149         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11150         Alexander.
11151
11152 2000-01-24  Andy Piper  <andy@xemacs.org>
11153
11154         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11155         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11156
11157         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11158
11159         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11160
11161         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11162
11163         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11164         (mswindows_output_display_block): Avoid local shadows.
11165
11166         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11167         (mswindows_enqueue_mouse_button_event): ditto.
11168         (mswindows_handle_gui_wm_command): remove declaration.
11169
11170         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11171         warnings.
11172
11173         * console-msw.h: Avoid shadows.
11174         (mswindows_get_toolbar_button_text):
11175         (emacs_mswindows_create_stream_pair):
11176         (emacs_mswindows_delete_stream_pair):
11177         (mswindows_handle_toolbar_wm_command): declare.
11178
11179         * device-msw.c (build_syscolor_string): Avoid shadows.
11180
11181 2000-01-23  Andy Piper  <andy@xemacs.org>
11182
11183         * glyphs-widget.c (widget_instantiate): reverse the items for
11184         layouts so that children are in the expected order.
11185
11186 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11187
11188         * ralloc.c: safe_bcopy ==> memmove
11189         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11190         * s/msdos.h: Remove BCOPY macros.
11191         * insdel.c (gap_right): Remove BCOPY conditional code.
11192         * insdel.c (gap_left): Remove BCOPY conditional code.
11193         XEmacs demands a working ANSI C compiler - hence memmove.
11194
11195         * regex.c (regex_compile): Remove accidental use of trigraphs.
11196
11197 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11198
11199         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11200         event timestamp.
11201
11202 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11203
11204         * event-msw.c (mswindows_drain_windows_queue): Added the
11205         parameter.
11206         (mswindows_need_event): Commented the call to
11207         mswindows_drain_windows_queue().
11208         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11209         only.
11210
11211         * console-msw.h: Moved a few function prototypes here from
11212         event-msw.c.
11213
11214         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11215         parameter from unsigned short to unsigned long.
11216         (Fmswindows_shell_execute): Added return value.
11217
11218 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11219
11220         * sysdep.c (init_system_name):
11221           process-unix.c (unix_canonicalized_host_name):
11222         Don't call freeaddrinfo() if getaddrinfo() fails.
11223
11224         * process-unix.c (unix_open_unix_network_stream):
11225         Moved the code to get a port # into address loop.
11226
11227 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11228
11229         * buffer.c (reinit_vars_of_buffer):
11230         The right place to initialize conversion_in_dynarr and
11231         conversion_out_dynarr.
11232
11233         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11234
11235         * process-unix.c (unix_canonicalize_host_name): Muleize.
11236         (unix_open_network_stream): Muleize.
11237
11238         * buffer.h: Fix up prototypes for ralloc.c functions.
11239
11240 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11241         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11242         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11243                 instead of gethostbyname()
11244         * process-unix.c: In unix_canonicalize_host_name() and
11245                 unix_open_network_stream(), add code to use getaddrinfo()
11246                 instead of gethostbyname().
11247
11248 2000-01-27  Daniel Pittman <daniel@danann.net>
11249
11250         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11251         libs when built with flat Athena.
11252
11253 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11254
11255         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11256         Use coding standards for function prototypes.
11257
11258 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11259
11260         * dialog-msw.c (push_lisp_string_as_unicode):
11261         * doc.c (unparesseuxify_doc_string):
11262         * dired.c (Fuser_name_completion_1):
11263         * dired.c (Fuser_name_all_completions):
11264         * dired.c (free_user_cache):
11265         * dired.c (user_name_completion):
11266         * console-x.c (get_display_arg_connection):
11267         * minibuf.c (clear_echo_area_internal):
11268         * minibuf.c (echo_area_append):
11269         * eldap.c (Fldap_open):
11270         * eldap.c (Fldap_search_internal):
11271         * frame-x.c (x_set_frame_text_value):
11272         * frame-x.c (x_set_frame_properties):
11273         * frame-x.c (x_create_widgets):
11274         * redisplay-tty.c (term_get_fkeys_1):
11275         * objects-x.c (x_parse_nearest_color):
11276         * objects-x.c (x_valid_color_name_p):
11277         * objects-x.c (x_initialize_font_instance):
11278         * objects-x.c (x_list_fonts):
11279         * objects-x.c (x_find_charset_font):
11280         * tooltalk.c (Fadd_tooltalk_message_arg):
11281         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11282         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11283         * process-unix.c (unix_create_process):
11284         * ntproc.c (sys_spawnve):
11285         * sound.c (Fplay_sound_file):
11286         * sound.c (Fplay_sound):
11287         * buffer.c (init_initial_directory):
11288         * buffer.c (init_buffer):
11289         * editfns.c (init_editfns):
11290         * editfns.c (Ftemp_directory):
11291         * editfns.c (Fuser_full_name):
11292         * editfns.c (uncache_home_directory):
11293         * editfns.c (get_home_directory):
11294         * editfns.c (Fuser_home_directory):
11295         * editfns.c (Fformat_time_string):
11296         * editfns.c (Fcurrent_time_string):
11297         * gui-x.c (button_item_to_widget_value):
11298         * database.c (Fopen_database):
11299         * event-Xt.c (x_to_emacs_keysym):
11300         * event-Xt.c (x_event_to_emacs_event):
11301         * event-Xt.c (describe_event_window):
11302         * event-msw.c (mswindows_wnd_proc):
11303         * glyphs-eimage.c (jpeg_instantiate):
11304         * glyphs-eimage.c (gif_instantiate):
11305         * glyphs-eimage.c (png_instantiate):
11306         * glyphs-eimage.c (tiff_instantiate):
11307         * glyphs-x.c (xbm_instantiate_1):
11308         * glyphs-x.c (x_xbm_instantiate):
11309         * glyphs-x.c (x_xface_instantiate):
11310         * glyphs-x.c (autodetect_instantiate):
11311         * glyphs-x.c (cursor_font_instantiate):
11312         * glyphs-x.c (x_widget_instantiate):
11313         * glyphs-x.c (x_widget_set_property):
11314         * glyphs-x.c (x_widget_property):
11315         * glyphs-x.c (BUILD_GLYPH_INST):
11316         * print.c (write_string_to_stdio_stream):
11317         * print.c (output_string):
11318         * print.c (Falternate_debugging_output):
11319         * print.c (Fexternal_debugging_output):
11320         * glyphs-msw.c (extract_xpm_color_names):
11321         * glyphs-msw.c (mswindows_xpm_instantiate):
11322         * glyphs-msw.c (bmp_instantiate):
11323         * glyphs-msw.c (resource_name_to_resource):
11324         * glyphs-msw.c (mswindows_resource_instantiate):
11325         * glyphs-msw.c (xbm_instantiate_1):
11326         * glyphs-msw.c (mswindows_xbm_instantiate):
11327         * glyphs-msw.c (mswindows_xface_instantiate):
11328         * glyphs-msw.c (mswindows_widget_instantiate):
11329         * glyphs-msw.c (add_tree_item):
11330         * glyphs-msw.c (add_tab_item):
11331         * glyphs-msw.c (mswindows_combo_box_instantiate):
11332         * glyphs-msw.c (mswindows_widget_property):
11333         * glyphs-msw.c (mswindows_combo_box_property):
11334         * glyphs-msw.c (mswindows_widget_set_property):
11335         * console.c (stuff_buffered_input):
11336         * objects-msw.c (mswindows_initialize_color_instance):
11337         * objects-msw.c (mswindows_valid_color_name_p):
11338         * objects-msw.c (mswindows_list_fonts):
11339         * objects-msw.c (mswindows_font_instance_truename):
11340         * bytecode.c (optimize_compiled_function):
11341         * select-x.c (symbol_to_x_atom):
11342         * select-x.c (x_atom_to_symbol):
11343         * select-x.c (hack_motif_clipboard_selection):
11344         * select-x.c (selection_data_to_lisp_data):
11345         * select-x.c (lisp_data_to_selection_data):
11346         * select-x.c (Fx_get_cutbuffer_internal):
11347         * select-x.c (Fx_store_cutbuffer_internal):
11348         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11349         * buffer.h (TO_INTERNAL_FORMAT): New function.
11350         * emacs.c (make_arg_list_1):
11351         * emacs.c (make_argc_argv):
11352         * emacs.c (main_1):
11353         * emacs.c (Fdump_emacs):
11354         * emacs.c (split_string_by_emchar_1):
11355         * file-coding.h:
11356         * lisp.h:
11357         * lstream.h:
11358         * symsinit.h:
11359         * device-x.c (x_init_device):
11360         * device-x.c (Fx_valid_keysym_name_p):
11361         * device-x.c (Fx_get_font_path):
11362         * device-x.c (Fx_set_font_path):
11363         * glyphs.c (bitmap_to_lisp_data):
11364         * glyphs.c (pixmap_to_lisp_data):
11365         * alloc.c (make_ext_string): Use coding system arguments.  Update
11366         all callers.
11367         * alloc.c (build_string):
11368         * callproc.c (child_setup):
11369         * callproc.c (init_callproc):
11370         * fileio.c (lisp_strerror):
11371         * fileio.c (directory_file_name):
11372         * fileio.c (Fexpand_file_name):
11373         * fileio.c (Ffile_truename):
11374         * fileio.c (Fsysnetunam):
11375         * fileio.c (Fdo_auto_save):
11376         * sysdep.c (sys_readdir):
11377         * tests.c: New file.  Allow adding C tests.
11378         Replace GET_* macros with a more comprehensible and flexible
11379         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11380         Modify all calls.
11381         Any coding system can be used to do format conversion.
11382         Eliminate enum external_data_format.
11383         Eliminate convert_to_external_format.
11384         Eliminate convert_to_internal_format.
11385         Make sure file-name, keyboard, terminal, and ctext are always
11386         defined as coding systems or aliases.  Make
11387         file-name-coding-system, terminal-coding-system, and
11388         keyboard-coding-system magical variables that are equivalent to
11389         defining the corresponding coding system aliases.
11390
11391         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11392         * file-coding.c (Fcoding_system_alias_p): New function.
11393         * file-coding.c (Fcoding_system_aliasee): New function.
11394         * file-coding.c (append_suffix_to_symbol): New function.
11395         * file-coding.c (dangling_coding_system_alias_p): New function.
11396         * file-coding.c (Ffind_coding_system):
11397         * file-coding.c (Fcopy_coding_system):
11398         * file-coding.c (encode_coding_no_conversion):
11399         * file-coding.c (syms_of_file_coding):
11400         * file-coding.c (vars_of_file_coding):
11401         Rewrite coding system alias code.
11402         Allow nested aliases, like symbolic links.
11403         Allow redefinition of coding system aliases.
11404         Prevent existence of dangling coding system aliases.
11405
11406         * dired.c (Fuser_name_completion_1):
11407         * dired.c (Fuser_name_all_completions):
11408         A crash would happen if user did QUIT in the middle of building
11409         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11410
11411         * lisp.h:
11412         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11413
11414         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11415         an unsigned char *.  Update all callers.
11416
11417 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11418
11419         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11420
11421 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11422
11423         * elhash.c (hentry_description): Use more portable definition.
11424         (resize_hash_table): Initialize new hentries using
11425         xnew_array_and_zero, thereby simplifying the code.
11426
11427         * mule-charset.c (make_charset): Make sure entire object is
11428         initialized, to avoid Purify warnings.
11429
11430         * alloc.c (resize_string): Fix unlikely crash with big strings.
11431
11432 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11433
11434         * realpath.c (xrealpath):
11435         Don't call getwd().
11436
11437 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11438
11439         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11440
11441 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11442
11443         * unexelfsgi.c (unexec): Change the way we decide which segment
11444         should be extended.
11445
11446         Assumption that .bss section should be outside the PT_LOADable
11447         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11448         it's present) is inside the 'data' segment. This would fail the
11449         test which was used to find a segment to grow and cover new
11450         heap. Instead of this assumption, I created another one - on IRIX
11451         the segment to grow should start below .bss and it's address
11452         should extent above the end of .bss. Once this segment is
11453         identified, it's grown to accommodate the new heap and new
11454         zero-length .bss section is added at the end of .data2.
11455
11456 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11457
11458         * eval.c (Feval): Wrong number of arguments should use original
11459         function, not the indirect_function version of it.
11460
11461 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11462
11463         * glyphs-x.c (x_button_instantiate): Don't add image if
11464         it is not a pixmap.
11465         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11466         is relative.
11467
11468 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11469
11470         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11471         declaration.
11472         (DEFVAR_INT_MAGIC): Ditto.
11473         (DEFVAR_BOOL_MAGIC): Ditto.
11474         * glyphs.h: Reindent backslash.
11475
11476 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11477
11478         * glyphs-widget.c (layout_query_geometry):
11479         (layout_layout): Use correct types for gheight, gwidth.
11480
11481 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11482
11483         * EmacsManager.c (QueryGeometry): Purified.
11484
11485 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11486
11487         * alloc.c (make_float): Make sure entire object is initialized, to
11488         avoid Purify warnings.
11489         (pdump_register_sub): Remove useless assignment.
11490         (pdump): Use xmalloc, not malloc.
11491         (pdump_load): Use xmalloc, not malloc.
11492
11493 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11494
11495         * callproc.c:
11496         * dired-msw.c:
11497         * fileio.c:
11498         * process-nt.c:
11499         * redisplay-msw.c:
11500         * sysdep.c: Removed redundant #include <windows.h>
11501
11502 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11503
11504         * frame.c (delete_frame_internal): Do not delete device when its
11505         implementation so declares.
11506         (delete_frame_internal): Set device selected frame to nil when
11507         last frame goes away.
11508
11509         * device-msw.c (msprinter_device_system_metrics): Implemented.
11510         (mswindows_device_system_metrics): Added 'device-dpi property.
11511
11512         * device.c: (Fdevice_printer_p): Added.
11513         Added 'offset-workspace device metric.
11514
11515         * console.h (device_metrics): Declared DM_offset_workspace.
11516
11517 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11518
11519         * fileio.c (Ffile_truename): Remove pointless and confusing
11520         initialization of elen.
11521
11522         * glyphs-widget.c: Compiler warning fixes.
11523
11524 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11525
11526         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11527         instead of a Lisp_Object as argument to make it consistent with
11528         the other LIVE_P macros.
11529         (CHECK_LIVE_PROCESS): New macro.
11530
11531         * process.c: Declare Qprocess_live_p.
11532         (Fprocess_live_p): New function.
11533         (create_process): Use PROCESS_LIVE_P.
11534         (read_process_output): Ditto.
11535         (set_process_filter): Ditto.
11536         (Fdelete_process): Ditto.
11537         (kill_buffer_processes): Ditto
11538         (process_send_signal): Use CHECK_LIVE_PROCESS.
11539         (Fprocess_input_coding_system): Check whether process is still
11540         alive (fix PR#1061).
11541         (Fprocess_output_coding_system): Ditto.
11542         (Fprocess_coding_system): Ditto.
11543         (Fset_process_input_coding_system): Ditto.
11544         (Fset_process_output_coding_system): Ditto.
11545
11546 2000-01-23  Andy Piper  <andy@xemacs.org>
11547
11548         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11549         layout and widget.
11550
11551         * glyphs.c (mark_image_instance): take into account changed
11552         image_instance format.
11553         (image_instance_equal): ditto.
11554         (image_instance_hash): ditto.
11555
11556         * glyphs-widget.c (widget_instantiate): Incorporate layout
11557         instantiation here. Delay layout of the layout until later.
11558         (layout_instantiate): deleted.
11559         (layout_query_geometry): new function. get the geometry of a
11560         layout.
11561         (layout_layout): layout a layout dynamically.
11562         (image_instantiator_widget): New function - splitting up
11563         image_instantiator_format_create_glyphs_widget for netwinder
11564         compilation.
11565         (image_instantiator_buttons):
11566         (image_instantiator_edit_fields):
11567         (image_instantiator_combo_box):
11568         (image_instantiator_scrollbar):
11569         (image_instantiator_progress_guage):
11570         (image_instantiator_tree_view):
11571         (image_instantiator_tab_control):
11572         (image_instantiator_labels):
11573         (image_instantiator_layout): ditto.
11574         (image_instantiator_format_create_glyphs_widget): Call preceding
11575         functions.
11576
11577 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11578
11579         * process.c (Fset_process_coding_system):
11580         * device-x.c (Fx_keysym_hash_table):
11581         Docstring fixes.
11582
11583         * lstream.c (Lstream_write): Return documented value, not 0.
11584
11585         * fileio.c (directory_file_name):
11586         (Fsubstitute_in_file_name):
11587         (Fsubstitute_insert_file_contents_internal):
11588         (Fwrite_region_internal):
11589         * emacs.c:
11590         * sysdep.c:
11591         * getloadavg.c:
11592         * systty.h:
11593         Remove vestigial APOLLO-conditional code.
11594
11595 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11596
11597         * getpagesize.h: Add guard macros.
11598         * libsst.h: Add guard macros.
11599         * libst.h: Add guard macros.
11600         * line-number.h: Add guard macros.
11601         * ndir.h: Add guard macros.
11602         * sysfloat.h: Add guard macros.
11603         * sysfile.h: Add guard macros.
11604         * sysproc.h: Add guard macros.
11605         * syswait.h: Add guard macros.
11606         * xintrinsic.h: Add guard macros.
11607         * xintrinsicp.h: Add guard macros.
11608         * xmmanager.h: Add guard macros.
11609         * xmmanagerp.h: Add guard macros.
11610         * xmprimitive.h: Add guard macros.
11611         * xmu.h: Add guard macros.
11612         * gpmevent.h: Add copyright statement. Add guard macros.
11613         * miscplay.h: Add guard macros.
11614         * *.h: Use consistent C-standards-approved guard macro names.
11615
11616         * opaque.c (make_opaque): Switch parameter order.
11617         * opaque.h (make_opaque): Switch parameter order.
11618         Update all callers.
11619         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11620
11621         * config.h.in (type_checking_assert): Added.
11622         (bufpos_checking_assert): Added.
11623
11624 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11625
11626         * alloc.c: Harmless pdump changes.
11627         - Use countof().
11628         - spell alignment correctly.
11629         * sysdep.c: Use countof()
11630
11631 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11632
11633         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11634         initially_selected_for_input() console method, default to 0.
11635         (semi_canonicalize_console_connection): Try to delegate to
11636         canonicalize_console_connection if no such console method.
11637         (canonicalize_console_connection): Vice versa.
11638         (print_console): Do not print nil connection.
11639
11640         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11641         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11642         (XDEVIMPF_FRAMELESS_OK): Added.
11643         (CONSOLE_INHERITS_METHOD): Added.
11644
11645         * console-msw.c (mswindows_canonicalize_console_connection):
11646         Added.
11647         (mswindows_canonicalize_device_connection): Added.
11648
11649         * console-msw.h (struct msprinter_device): Added this struct and
11650         accessor macros.
11651         (mswindows_device): Made fontlist a lisp object.
11652
11653         * device.c (semi_canonicalize_device_connection):  Try to delegate
11654         to canonicalize_device_connection if no such console method.
11655         (canonicalize_device_connection): Vice versa.
11656         (print_device): Do not print nil connection.
11657
11658         * device-msw.c (mswindows_init_device): Call InitCommonControls
11659         when have widgets.
11660         (mswindows_delete_device): Removed fontlist deallocation.
11661         (mswindows_mark_device): Added.
11662
11663         * events.c (event_equal): Added abort() at unreached code.
11664         (event_hash): Ditto.
11665
11666         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11667         fallback tags of Windows devices.
11668
11669         * general.c (syms_of_general): Initialized Qmsprinter.
11670
11671         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11672         of fallback tags of Windows devices.
11673
11674         * lisp.h: Declared Qmsprinter.
11675
11676         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11677         of strings.
11678         (mswindows_list_fonts): Ditto.
11679         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11680         that it can be used by both mswindows and msprinter devices.
11681         (initialize_font_instance): Added.
11682         (mswindows_initialize_font_instance): Use it.
11683         (msprinter_initialize_font_instance): Added.
11684
11685         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
11686         and implementation flags check.
11687         (redisplay_without_hooks): Changed the call to the above.
11688         (Fredraw_device): Ditto.
11689         (Fredisplay_device): Ditto.
11690
11691         * redisplay-msw.c (get_frame_dc): Implemented.
11692         (get_frame_compdc): Implemented.
11693         (many functions): Use the two functions above to get device
11694         contexts, ether for a window or a printer.
11695
11696 2000-01-21  Olivier Galibert  <galibert@pobox.com>
11697
11698         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
11699         initialization here.
11700         (init_symbols_once_early): Call it.
11701         * emacs.c (main_1): Call it.
11702         * symsinit.h: Declare it.
11703
11704 2000-01-19  Olivier Galibert  <galibert@pobox.com>
11705
11706         * alloc.c: Use a lrecord_header * in the backtrace instead of a
11707         Lisp_Object.
11708         (pdump_backtrace): Ditto.
11709         (pdump_register_object): Ditto.  Cleanup use of the pointers.
11710         (pdump_get_entry): Abort if trying to register a null pointer.
11711         (pdump_dump_data): Cleanup types when relocating.
11712         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
11713         (pdump_dump_rtables): Remove bad casts.
11714         (pdump_load): Cleanup relocation w.r.t union type.  Use a
11715         Lisp_Object instead of a EMACS_INT for the hashtable
11716         reorganization.
11717
11718 2000-01-20  Martin Buchholz  <martin@xemacs.org>
11719
11720         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
11721
11722         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
11723
11724         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
11725
11726         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
11727
11728 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11729
11730         * faces.h (FACE_STRIKETHRU_P): Added.
11731
11732         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
11733         of font variants.
11734
11735         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
11736         (mswindows_set_dc_font): New function, aware of font variants,
11737         separated from mswindows_update_dc.
11738
11739         * objects-msw.h (struct mswindows_font_instance_data): Added
11740         definition.
11741
11742         * objects-msw.c (mswindows_finalize_font_instance): Delete all
11743         cached fonts and the data structure.
11744         (mswindows_initialize_font_instance): Added creation of font data
11745         structure.
11746         (mswindows_print_font_instance): Print at least something.
11747         (mswindows_create_font_variant): Implemented.
11748         (mswindows_get_hfont): Implemented.
11749
11750 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
11751
11752         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
11753         prototyping problem with msvc.
11754
11755         * emacs.c (main_1): added syms_of_gui_mswindows() call
11756
11757         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
11758         syms_of_gui_mswindows() function
11759
11760         * symsinit.h: added the prototype for syms_of_gui_mswindows()
11761
11762 2000-01-18  Martin Buchholz <martin@xemacs.org>
11763
11764         * XEmacs 21.2.27 is released.
11765
11766 2000-01-18  Martin Buchholz  <martin@xemacs.org>
11767
11768         * glyphs-eimage.c (struct tiff_error_struct):
11769         (tiff_error_func):
11770         (tiff_warning_func):
11771         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
11772
11773         * unexmips.c:
11774         * unexhp9k3.c:
11775         * unexfreebsd.c:
11776         * unexec.c: Remove vestigial Lucid C code.
11777         * unexalpha.c:
11778         * unexaix.c:
11779         * termcap.c:
11780         * libsst.c: Ansify.
11781         Remove declarations of errno and strerror().
11782
11783         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
11784
11785         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
11786
11787 2000-01-16  Martin Buchholz  <martin@xemacs.org>
11788
11789         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
11790         Optimize.
11791
11792 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11793
11794         * md5.c:
11795         * file-coding.c:
11796         * file-coding.h:
11797         Change enum eol_type to eol_type_t.
11798
11799 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11800
11801         * gui.c (get_gui_callback): Check cons before accessing car.
11802
11803 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11804
11805         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
11806         (XSETSPECIFIER_TYPE): Ditto.
11807
11808 2000-01-17  Didier Verna  <didier@xemacs.org>
11809
11810         * redisplay.c (generate_fstring_runes): compute string size in
11811         characters, not bytes.
11812
11813 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11814
11815         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
11816
11817 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
11818
11819         * print.c (print_error_message): Call print_prepare().
11820
11821 2000-01-14  Martin Buchholz  <martin@xemacs.org>
11822
11823         * .dbxrc: Renamed from dbxrc.
11824
11825         * events.c (event_to_character):
11826         Use `assert (foo)' instead of `if (!foo) abort()'
11827
11828         * .gdbinit (xtype): Add documentation.
11829         * .gdbinit (check-temacs): New function.
11830         * .gdbinit (check-xemacs): New function.
11831         * dbxrc (check-xemacs): New function.
11832         * dbxrc (check-xemacs): New function.
11833
11834 2000-01-14  Andy Piper  <andy@xemacs.org>
11835
11836         * glyphs-widget.c (widget_query_geometry): Make sure that we
11837         calculate default dimensions correctly.
11838
11839 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11840
11841         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
11842
11843         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
11844         pdump_wire'd variable.
11845
11846         * emacs.c: (main_1): Conditionalized calls to
11847         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
11848
11849 2000-01-13  Martin Buchholz  <martin@xemacs.org>
11850
11851         * window.c (Fset_window_configuration):
11852         * sysdep.c (_start):
11853         * input-method-motif.c (res):
11854         * event-Xt.c (Xt_process_to_emacs_event):
11855         Simple compiler warning fixes.
11856
11857         * bytecode.c (funcall_compiled_function): Use the original
11858         function symbol on the backtrace list in preference to the
11859         compiled_function object in error messages.
11860
11861 2000-01-13  Andy Piper  <andy@xemacs.org>
11862
11863         * glyphs-x.c (update_widget_face): Make sure we update the widget
11864         background as well as foreground.
11865
11866 2000-01-13  Andy Piper  <andy@xemacs.org>
11867
11868         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
11869         fields to subwindow.
11870         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
11871         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
11872         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11873         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11874
11875         * glyphs-widget.c (check_valid_tab_orientation): new function.
11876         (initialize_widget_image_instance): zero orientation and
11877         justification.
11878         (widget_instantiate): pick up orientation.
11879         (tab_control_query_geometry): return appropriate values for
11880         vertical tabs.
11881
11882         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
11883         appropriate creation flags for left, right and bottom tabs.
11884
11885         * s/cygwin32.h: add tab definitions.
11886
11887 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11888
11889         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
11890         frame upon hiding a subwindow.
11891         (mswindows_button_instantiate): Changed the push button style to
11892         BS_PUSHBUTTON.
11893         (mswindows_button_instantiate): Removed button BS_NOTIFY
11894         style.
11895         (mswindows_button_instantiate): Removed redundant check for
11896         a disabled gui item.
11897         (mswindows_button_instantiate): Made use of WS_TABSTOP
11898         consistent: "operable" controls (edit, button, tree, scroll) have
11899         this style, "display-only" ones (static, progress gauge) do
11900         not. This style is currently ignored by XEmacs though. Also,
11901         removed the WS_EX_CONTROLPARENT style - it is not for children,
11902         it is for their parents!
11903         (mswindows_edit_field_instantiate): Ditto.
11904         (mswindows_progress_gauge_instantiate): Ditto.
11905         (mswindows_tree_view_instantiate): Ditto.
11906         (mswindows_tab_control_instantiate): Ditto.
11907         (mswindows_scrollbar_instantiate): Ditto.
11908         (mswindows_combo_box_instantiate): Ditto.
11909         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
11910         style to the "clip" window.
11911         (mswindows_button_instantiate): Removed compilation warning by
11912         equally typing terms of the ?: operator.
11913
11914 2000-01-12  Didier Verna  <didier@xemacs.org>
11915
11916         * redisplay.c (generate_fstring_runes): new parameter holding the
11917         last modeline-format extent.
11918         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
11919         extent, fill the glyph block with it.
11920         (generate_fstring_runes): handle these parameters.
11921         (generate_formatted_string_db): ditto.
11922
11923         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
11924         glyphs'extents in the modeline.
11925
11926 1999-01-11  Mike Woolley  <mike@bulsara.com>
11927
11928         * ntheap.c: Reduced the reserved heap space from 1Gb down to
11929         256Mb, as a workaround for the non-starting problem many people
11930         have experienced.
11931
11932 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11933
11934         * console-tty.c (Fset_console_tty_output_coding_system):
11935         Force redrawing tty frame.
11936
11937 2000-01-10  Didier Verna  <didier@xemacs.org>
11938
11939         * redisplay.c (generate_fstring_runes): fix size computation bug.
11940
11941 2000-01-09  William M. Perry <wmperry@aventail.com>
11942
11943         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
11944
11945 2000-01-09  Andy Piper  <andy@xemacs.org>
11946
11947         * glyphs-msw.c: index -> i to avoid shadows.
11948         (xbm_create_bitmap_from_data): make static.
11949         (check_valid_string_or_int): deleted.
11950         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
11951
11952         * glyphs-x.c (x_update_subwindow): remove unused args.
11953
11954         * glyphs.c (glyph_image_instance): return the thing. Don't set the
11955         back pointer - this is done in allocate_image_instance.
11956         (query_string_font): return Qnil to make the compiler happy.
11957         (unmap_subwindow): set to ~0 to make the compiler happy.
11958         (glyph_query_geometry): comment out until used.
11959         (glyph_layout): ditto.
11960
11961 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11962
11963         * insdel.c (signal_after_change): Remove extraneous unbind_to().