update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.h (decode_char_table_range): New prototype in XEmacs
4         UTF-2000.
5         (put_char_id_table): New inline function in XEmacs UTF-2000.
6
7         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
8         function.
9         (decode_char_table_range): Delete static declaration in XEmacs
10         UTF-2000.
11
12 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
13
14         * chartab.c (put_char_id_table): Use `put_char_table'.
15
16 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
17
18         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
19         (map_over_uint16_byte_table): Likewise.
20         (map_over_byte_table): Likewise.
21         (map_char_table): Modify for `map_over_uint8_byte_table',
22         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
23         UTF-2000.
24
25 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
26
27         * chartab.c (struct map_char_table_for_charset_arg): New
28         structure.
29         (map_char_table_for_charset_fun): New function.
30         (map_char_table): Use `map_char_table' for encoding_table of
31         `range->charset'.
32
33 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
34
35         * chartab.c (map_char_table): Check a character is found in
36         range->charset instead of non default value is defined in
37         char-table when range is CHARTAB_RANGE_ROW.
38
39 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
40
41         * chartab.c (map_char_id_table): Deleted.
42         (Fmap_char_attribute): Use `map_char_table' instead of
43         `map_char_id_table'.
44
45 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
46
47         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
48         UTF-2000.
49         (update_syntax_table): Deleted in XEmacs UTF-2000.
50
51         * syntax.c (find_defun_start): Use `syntax_table' instead of
52         `mirror_syntax_table' in XEmacs UTF-2000.
53         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
54         UTF-2000.
55         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
56         XEmacs UTF-2000.
57         (Fmatching_paren): Likewise.
58         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
59         in XEmacs UTF-2000.
60         (find_start_of_comment): Likewise.
61         (find_end_of_comment): Likewise.
62         (Fforward_comment): Likewise.
63         (scan_lists): Likewise.
64         (char_quoted): Likewise.
65         (Fbackward_prefix_chars): Likewise.
66         (scan_sexps_forward): Likewise.
67         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
68         (update_syntax_table): Likewise.
69
70         * search.c (skip_chars): Use `syntax_table' instead of
71         `mirror_syntax_table' in XEmacs UTF-2000.
72         (wordify): Likewise.
73         (Freplace_match): Likewise.
74
75         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
76         `mirror_syntax_table' in XEmacs UTF-2000.
77         (WORDCHAR_P_UNSAFE): Likewise.
78         (re_match_2_internal): Likewise.
79
80         * font-lock.c (find_context): Use `buf->syntax_table' instead of
81         `buf->mirror_syntax_table' in XEmacs UTF-2000.
82
83         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
84         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
85
86         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
87         XEmacs UTF-2000.
88
89         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
90         UTF-2000.
91         (print_char_table): Print `default_value' in XEmacs UTF-2000.
92         (char_table_description): Delete `mirror_table' in XEmacs
93         UTF-2000.
94         (fill_char_table): Don't call `update_syntax_table' in XEmacs
95         UTF-2000.
96         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
97         (Fcopy_char_table): Likewise.
98         (put_char_table): Don't call `update_syntax_table' in XEmacs
99         UTF-2000.
100
101         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
102         `buf->mirror_syntax_table' in XEmacs UTF-2000.
103         (casify_region_internal): Likewise.
104
105         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
106
107         * buffer.c (common_init_complex_vars_of_buffer): Don't use
108         `mirror_syntax_table' in XEmacs UTF-2000.
109
110         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
111         `buf->mirror_syntax_table' in XEmacs UTF-2000.
112         (Fexpand_abbrev): Likewise.
113
114 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
115
116         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
117
118 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
119
120         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
121         (map_over_uint16_byte_table): Likewise.
122         (map_over_byte_table): Likewise.
123         (get_char_id_table): Refer `cit->default_value'.
124         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
125         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
126         of character-id ranges.
127         (mark_char_table): Mark `ct->default_value'.
128         (char_table_description): Add `default_value'.
129         (fill_char_table): Use `default_value'.
130         (decode_char_table_range): Decode `nil' as
131         `CHARTAB_RANGE_DEFAULT'.
132         (get_char_id_table): Refer `cit->default_value'.
133         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
134         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
135         temporary hack; check value of char-table is bound or not.
136         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
137
138         * chartab.h (struct Lisp_Char_Table): Add new member
139         `default_value' in XEmacs UTF-2000.
140         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
141         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
142         UTF-2000.
143
144 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
145
146         * chartab.h (Lisp_Char_ID_Table): Deleted.
147
148         * chartab.c (char_table_description): Fix typo.
149         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
150         `Lisp_Char_ID_Table'.
151
152 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
153
154         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
155         `CHAR_ID_TABLE_P'.
156
157         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
158         `CHAR_ID_TABLE_P'.
159
160         * chartab.h (XCHAR_ID_TABLE): Deleted.
161         (XSETCHAR_ID_TABLE): Deleted.
162         (CHAR_ID_TABLE_P): Deleted.
163
164         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
165         `CHAR_ID_TABLE_P'.
166         (Fget_composite_char): Likewise.
167         (put_char_table): Likewise.
168         (add_char_attribute_alist_mapper): Fixed.
169         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
170         `CHAR_ID_TABLE_P'.
171         (Fget_char_attribute): Likewise.
172         (Fget_char_attribute): Likewise.
173         (Fmap_char_attribute): Likewise.
174
175         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
176         `CHAR_ID_TABLE_P'.
177         (encode_char_1): Likewise.
178
179 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
180
181         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
182         `XCHAR_ID_TABLE'.
183
184         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
185         instead of `XCHAR_ID_TABLE'.
186         (remove_char_ccs): Likewise.
187
188         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
189         `XCHAR_ID_TABLE'.
190         (Fget_composite_char): Likewise.
191         (Fchar_variants): Likewise.
192         (put_char_table): Likewise.
193         (add_char_attribute_alist_mapper): Likewise.
194         (Fchar_attribute_alist): Likewise.
195         (Fget_char_attribute): Likewise.
196         (Fput_char_attribute): Likewise.
197         (Fmap_char_attribute): Likewise.
198         (Fmap_char_attribute): Likewise.
199
200         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
201         `XCHAR_ID_TABLE'.
202         (encode_char_1): Likewise.
203
204 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
205
206         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
207         `Lisp_Char_ID_Table'.
208         (mark_char_id_table): Deleted.
209         (print_char_id_table): Likewise.
210         (char_id_table_equal): Likewise.
211         (char_id_table_hash): Likewise.
212         (char_id_table_description): Likewise.
213         (char_id_table): Likewise.
214         (make_char_id_table): Use `Fmake_char_table' and
215         `fill_char_table'.
216         (get_char_id_table): Use `Lisp_Char_Table' instead of
217         `Lisp_Char_ID_Table'.
218         (put_char_id_table): Likewise.
219         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
220         `XCHAR_ID_TABLE'.
221         (Fremove_char_attribute): Likewise.
222         (syms_of_chartab): Don't define type `char-id-table'.
223
224         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
225         (char_id_table): Likewise.
226         (GC_CHAR_ID_TABLE_P): Likewise.
227         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
228         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
229         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
230         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
231         (get_char_id_table): Use `Lisp_Char_Table' instead of
232         `Lisp_Char_ID_Table'.
233         (put_char_id_table_0): Likewise.
234         (put_char_id_table): Likewise.
235
236 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
237
238         * chartab.h: Lisp_Byte_Table related codes are moved from
239         chartab.h.
240
241         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
242
243 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
244
245         * chartab.h: Don't include "chartab.h".
246         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
247         (Lisp_Char_ID_Table): Likewise.
248         (char_id_table): Likewise.
249         (XCHAR_ID_TABLE): Likewise.
250         (XSETCHAR_ID_TABLE): Likewise.
251         (CHAR_ID_TABLE_P): Likewise.
252         (GC_CHAR_ID_TABLE_P): Likewise.
253         (get_char_id_table): Likewise.
254
255         * char-ucs.h: Include "chartab.h".
256         (struct Lisp_Char_ID_Table): Moved to chartab.h.
257         (Lisp_Char_ID_Table): Likewise.
258         (char_id_table): Likewise.
259         (XCHAR_ID_TABLE): Likewise.
260         (XSETCHAR_ID_TABLE): Likewise.
261         (CHAR_ID_TABLE_P): Likewise.
262         (GC_CHAR_ID_TABLE_P): Likewise.
263         (get_char_id_table): Likewise.
264
265 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
266
267         * chartab.c (copy_uint8_byte_table): New function.
268         (copy_uint16_byte_table): New function.
269         (copy_byte_table): New function.
270         (map_over_uint8_byte_table): Modify to avoid huge numbers of
271         characters to call.
272         (map_over_uint16_byte_table): Likewise.
273         (map_over_byte_table): Likewise.
274         (get_byte_table): Move prototype to chartab.h.
275         (put_byte_table): Likewise.
276         (put_char_id_table_0): Moved to chartab.h.
277         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
278         (char_table_entry_equal): Likewise.
279         (char_table_entry_hash): Likewise.
280         (char_table_entry_description): Likewise.
281         (char_table_entry): Likewise.
282         (make_char_table_entry): Likewise.
283         (copy_char_table_entry): Likewise.
284         (get_non_ascii_char_table_value): Likewise.
285         (map_over_charset_ascii): Likewise.
286         (map_over_charset_control_1): Likewise.
287         (map_over_charset_row): Likewise.
288         (map_over_other_charset): Likewise.
289         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
290         (print_char_table): Likewise.
291         (char_table_equal): Likewise.
292         (char_table_hash): Likewise.
293         (char_table_description): Likewise.
294         (fill_char_table): Likewise.
295         (Fcopy_char_table): Likewise.
296         (get_char_table): Likewise.
297         (Fget_range_char_table): Likewise.
298         (put_char_table): Likewise.
299         (map_char_table): Likewise.
300         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
301         UTF-2000.
302
303 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
304
305         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
306         `Vauto_fill_chars' in XEmacs UTF-2000.
307
308         * chartab.h (get_byte_table): New prototype [moved from
309         chartab.c].
310         (put_byte_table): Likewise [moved from chartab.c].
311         (put_char_id_table_0): New inline function [moved from chartab.c].
312         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
313         (Lisp_Char_Table_Entry): Likewise.
314         (char_table_entry): Likewise.
315         (XCHAR_TABLE_ENTRY): Likewise.
316         (XSETCHAR_TABLE_ENTRY): Likewise.
317         (CHAR_TABLE_ENTRYP): Likewise.
318         (CHECK_CHAR_TABLE_ENTRY): Likewise.
319         (NUM_ASCII_CHARS): Likewise.
320         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
321         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
322
323 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
324
325         * chartab.c (get_char_id_table): Change interface.
326         (put_char_id_table_0): New function.
327         (put_char_id_table): Change interface; new implementation.
328         (Fget_composite_char): Modify for interface change of
329         `get_char_id_table'.
330         (Fchar_variants): Likewise.
331         (add_char_attribute_alist_mapper): Likewise.
332         (Fchar_attribute_alist): Likewise.
333         (Fget_char_attribute): Likewise.
334         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
335         as same as character as the first argument like `put-char-table';
336         modify for interface change of `put_char_id_table'.
337         (Fremove_char_attribute): Modify for interface change of
338         `put_char_id_table'.
339
340 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
341
342         * text-coding.c: Sync up with XEmacs 21.2.41.
343         (COMPOSE_ADD_CHAR): Modify for interface change of
344         `get_char_id_table'.
345
346         * mule-charset.c (put_char_ccs_code_point): Modify for interface
347         change of `put_char_id_table'.
348         (remove_char_ccs): Likewise.
349
350         * chartab.h (put_char_id_table): Change interface.
351
352         * char-ucs.h (get_char_id_table): Change interface.
353         (charset_code_point): Modify for interface change of
354         `get_char_id_table'.
355         (encode_char_1): Likewise.
356
357 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
358
359         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
360         argument `ccs'.
361         (map_over_uint16_byte_table): Likewise.
362         (map_over_byte_table): Likewise.
363         (map_char_id_table): Add new argument `range' like
364         `map_char_table'.
365         (Fmap_char_attribute): Add new argument `range' like
366         `Fmap_char_table'.
367
368 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
369
370         * chartab.c (map_over_uint8_byte_table): Change interface of
371         mapping function to use struct chartab_range instead of Emchar.
372         (map_over_uint16_byte_table): Likewise.
373         (map_over_byte_table): Likewise.
374         (map_char_id_table): Likewise.
375         (struct slow_map_char_id_table_arg): Deleted.
376         (slow_map_char_id_table_fun): Deleted.
377         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
378         function `slow_map_char_table_fun' instead of struct
379         `slow_map_char_id_table_arg' and function
380         `slow_map_char_id_table_fun'.
381
382 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
383
384         * mule-charset.c: Move char-it-table related codes to chartab.c.
385         (Vutf_2000_version): Moved to chartab.c.
386         (Fdefine_char): Likewise.
387         (Ffind_char): Likewise.
388         (syms_of_mule_charset): Move types `uint8-byte-table',
389         `uint16-byte-table', `byte-table' and `char-id-table' to
390         chartab.c; move functions `char_attribute_list,
391         `find_char_attribute_table, `char_attribute_alist,
392         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
393         `map_char_attribute, `define_char, `find_char, `char_variants and
394         `get_composite_char to chartab.c; move symbols `=>ucs',
395         `->decomposition', `compat', `isolated', `initial', `medial',
396         `final', `vertical', `noBreak', `fraction', `super', `sub',
397         `circle', `square', `wide', `narrow', `small' and `font' to
398         chartab.c.
399         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
400         setting codes for `Vcharacter_composition_table' and
401         `Vcharacter_variant_table' to chartab.c.
402         (complex_vars_of_mule_charset): Move setting code for
403         `Vchar_attribute_hash_table' to chartab.c.
404
405         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
406         (make_char_id_table): New prototype.
407         (put_char_id_table): Likewise.
408         (Fget_char_attribute): Likewise.
409
410         * chartab.c: Move char-id-table related code from mule-charset.c.
411         (Vutf_2000_version): Moved from mule-charset.c.
412
413         * char-ucs.h (Qucs): New external variable.
414         (put_char_ccs_code_point): New prototype.
415         (remove_char_ccs): Likewise.
416
417 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
418
419         * mule-charset.c (Vcharset_ucs_jis): New variable.
420         (Qucs_jis): Likewise.
421         (syms_of_mule_charset): Add new symbol `ucs-jis'.
422         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
423
424         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
425
426 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
427
428         * mule-charset.c (map_over_uint8_byte_table): New function.
429         (map_over_uint16_byte_table): Likewise.
430         (map_over_byte_table): Likewise.
431         (map_char_id_table): Likewise.
432         (slow_map_char_id_table_fun): Likewise.
433         (Fmap_char_attribute): Likewise.
434         (syms_of_mule_charset): Add new function `map-char-attribute'.
435
436 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
437
438         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
439         (syms_of_mule_charset): Add new function `find-char'.
440
441 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
442
443         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
444         XEmacs UTF-2000.
445         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
446         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
447         XEmacs UTF-2000.
448         (complex_vars_of_mule_charset): Add new coded-charset
449         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
450         `ideograph-gt-pj-*'.
451
452         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
453
454 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
455
456         * mule-charset.c (encode_builtin_char_1): Purge codes about
457         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
458         {MIN|MAX}_CHAR_HEBREW.
459         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
460         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
461
462         * char-ucs.h (MIN_CHAR_GREEK): Purged.
463         (MAX_CHAR_GREEK): Purged.
464         (MIN_CHAR_CYRILLIC): Purged.
465         (MAX_CHAR_CYRILLIC): Purged.
466         (MIN_CHAR_HEBREW): Commented out.
467         (MAX_CHAR_HEBREW): Likewise.
468
469 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
470
471         * mule-charset.c (Qto_ucs): New variable.
472         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
473         (Fdefine_char): Likewise.
474         (syms_of_mule_charset): Add new symbol `=>ucs'.
475
476 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
477
478         * mule-charset.c (Fdecode_char): Fixed.
479
480 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
481
482         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
483         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
484         "tcvn5712-1".
485
486 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
487
488         * mule-charset.c (Vcharset_ucs_big5): New variable.
489         (Qucs_big5): Likewise.
490         (syms_of_mule_charset): Add new symbol `ucs-big5'.
491         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
492
493         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
494
495 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
496
497         * mule-charset.c (decode_builtin_char): Check Big5 code range
498         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
499
500 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
501
502         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
503         (Qchinese_gb12345): Likewise.
504         (Fdecode_builtin_char): Fixed.
505         (syms_of_mule_charset): Add `chinese-gb12345'.
506         (complex_vars_of_mule_charset): Add coded-charset
507         `chinese-gb12345'.
508
509         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
510         (LEADING_BYTE_CHINESE_GB12345): New macro.
511
512 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
513
514         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
515         and `latin-viscii-upper' for `latin-viscii'.
516
517 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
518
519         * mule-charset.c (Fdecode_builtin_char): Comment out
520         regularization code for ISO-IR GR representation.
521
522 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
523
524         * mule-charset.c (decode_builtin_char): New function; renamed from
525         `make_builtin_char'; return -1 instead of signal.
526         (Fdecode_builtin_char): Use `decode_builtin_char'.
527
528         * char-ucs.h (decode_builtin_char): New prototype; renamed from
529         `make_builtin_char'.
530         (DECODE_CHAR): Use `decode_builtin_char' instead of
531         `make_builtin_char'; use mapping table of `chinese-big5' for
532         `chinese-big5-{1,2}'.
533
534 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
535
536         * text-coding.c (char_encode_big5): New function.
537         (char_finish_big5): Likewise.
538         (reset_encoding_stream): Use `char_encode_big5' and
539         `char_finish_big5' for CODESYS_BIG5.
540         (mule_encode): Don't use `encode_coding_big5'.
541         (encode_coding_big5): Deleted.
542
543 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
544
545         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
546         0x81- in XEmacs UTF-2000.
547         (detect_coding_big5): Likewise.
548
549 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
550
551         * mule-charset.c (Fdefine_char): Don't use a CCS property to
552         generate character-id if the CCS property does not have
553         corresponding predefined character.
554         (make_builtin_char): Return -1 if corresponding predefined
555         character is not found.
556         (Fdecode_char): Return nil if corresponding character is not
557         found.
558         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
559         don't map to builtin ucs space.
560
561 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
562
563         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
564         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
565
566 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
567
568         * mule-charset.c (Vcharset_ideograph_gt): New variable.
569         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
570         (Qideograph_gt): Likewise.
571         (Qideograph_gt_pj_{1..11}): Likewise.
572         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
573         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
574         `ideograph-gt-pj-11'.
575         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
576         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
577         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
578
579         * char-ucs.h (LEADING_BYTE_GT): New macro.
580         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
581         (MIN_CHAR_GT): Likewise.
582         (MAX_CHAR_GT): Likewise.
583
584 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
585
586         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
587         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
588
589         * doprnt.c (unsigned_int_converters): Add `c'.
590         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
591
592         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
593         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
594         `MIN_CHAR_MOJIKYO'.
595         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
596         (MAX_CHAR_MOJIKYO_0): New macro.
597         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
598
599 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
600
601         * mule-charset.c (Fdefine_char): Delete cemented out code.
602         (encode_builtin_char_1): Modify for new allocation of builtin
603         Mojikyo characters.
604
605         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
606
607 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
608
609         * mule-charset.c (Vcharset_ucs_cns): New variable.
610         (Qucs_cns): New variable.
611         (syms_of_mule_charset): Add new symbol `ucs-cns'.
612         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
613
614 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
615
616         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
617
618 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
619
620         * search.c (search_buffer): Make `charset_base_code' as
621         character-id >> 6 to eliminate the corresponding last byte in
622         UTF-8 representation [I'm not sure it is right thing].
623         (boyer_moore): Likewise.
624
625 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
626
627         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
628         representation in MULE.
629
630 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
631
632         * text-coding.c (Fmake_coding_system): Use
633         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
634         `EXTERNAL_PROPERTY_LIST_LOOP'.
635
636 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
637
638         * text-coding.c (decode_output_utf8_partial_char): New function.
639         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
640
641 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
642
643         * text-coding.c (decode_coding_utf8): Output original byte
644         sequence if it is broken; change order of conditions.
645
646         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
647         of conditions.
648
649         * mb-multibyte.h (BYTE_ASCII_P):
650         Use bit ops for char-signedness safety.
651         (BYTE_C0_P): Use bit ops for char-signedness safety.
652         (BYTE_C1_P): Use bit ops for char-signedness safety.
653
654         * character.h: (XCHAR_OR_CHAR_INT):
655         Always use inline function.
656         Remove redundant type checking assert() - XINT will abort quite
657         nicely.
658
659 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
660
661         * text-coding.c: (Fencode_shift_jis_char):
662         (Fencode_big5_char):
663         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
664         Replace 0 with '\0' when working with bytes.
665         Replace initial "(" with "\(" in docstrings.
666
667         (Fmake_coding_system):
668         When type is ccl and value is vector, register it with a proper
669         symbol.  And checks whether the given ccl program is valid.
670         (mule_decode): When calling ccl_driver, if src indicates
671         NULL pointer, set an empty string instead.
672         (mule_encode): Likewise.
673
674         (detect_eol_type):
675         (detect_coding_sjis):
676         (decode_coding_sjis):
677         (detect_coding_big5):
678         (decode_coding_big5):
679         (detect_coding_ucs4):
680         (decode_coding_ucs4):
681         (detect_coding_utf8):
682         (decode_coding_utf8):
683         (detect_coding_iso2022):
684         (decode_coding_iso2022):
685         (decode_coding_no_conversion):
686         (mule_decode):
687         Make all detecting and decoding functions take an Extbyte * arg.
688         (text_encode_generic):
689         (encode_coding_big5):
690         (encode_coding_no_conversion):
691         (mule_encode):
692         Make all encoding functions take a Bufbyte * arg.
693         Use size_t instead of unsigned int for memory sizes.
694         Only cast to unsigned char whenever dereferencing Extbyte *.
695
696         (struct lrecord_description fcd_description_1): Use countof.
697         (complex_vars_of_file_coding):
698         Use countof instead of sizeof.
699         Use CHECK_NATNUM instead of CHECK_INT.
700
701 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
702
703         * mule-charset.c (Fget_char_attribute): Add new optional argument
704         `default-value'.
705         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
706         (remove_char_ccs): Likewise.
707
708 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
709
710         * text-coding.c (char_encode_shift_jis): New implementation in
711         UTF-2000.
712         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
713         ...)'.
714
715         * mule-charset.c (Vcharset_chinese_big5): New variable in
716         UTF-2000.
717         (Qchinese_big5): New variable in UTF-2000.
718         (BIG5_SAME_ROW): New macro in UTF-2000.
719         (make_builtin_char): Use builtin characters of
720         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
721         characters of `Vcharset_chinese_big5'.
722         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
723         (complex_vars_of_mule_charset): Add new coded-charset
724         `chinese-big5' in UTF-2000.
725
726         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
727         (Vcharset_chinese_big5): New external variable declaration.
728         (Vcharset_japanese_jisx0208_1990): Likewise.
729
730 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
731
732         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
733         function.
734         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
735
736 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
737
738         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
739         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
740         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
741         `mojikyo-pj-*'.
742
743 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
744
745         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
746
747 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
748
749         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
750         to 0.17.
751
752 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
753
754         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
755         for `CHARSET_BY_ATTRIBUTES'.
756         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
757         `CHARSET_BY_ATTRIBUTES'.
758
759         * text-coding.c (struct decoding_stream): Rename member `CH' to
760         `CPOS'.
761         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
762         (decode_coding_sjis): Likewise.
763         (decode_coding_big5): Likewise.
764         (decode_coding_ucs4): Likewise.
765         (decode_coding_utf8): Likewise.
766         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
767         `CHARSET_BY_ATTRIBUTES'.
768         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
769         `str->counter'; decode 3, 4 bytes sets.
770         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
771         sets.
772         (decode_coding_no_conversion): Use `str->cpos' instead of
773         `str->ch'.
774
775         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
776         (Qmojikyo_2022_1): New variable.
777         (make_charset): Don't use `CHARSET_TYPE_*'.
778         (range_charset_code_point): Support coded-charset
779         `mojikyo-2022-1'.
780         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
781         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
782         `CHARSET_BY_ATTRIBUTES'.
783         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
784         `CHARSET_BY_ATTRIBUTES'.
785         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
786         (complex_vars_of_mule_charset): Add new coded-charset
787         `mojikyo-2022-1'.
788
789         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
790         interface; changed to inline function.
791
792         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
793         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
794         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
795         (CHARSET_TYPE_94): Deleted.
796         (CHARSET_TYPE_94X94): Deleted.
797         (CHARSET_TYPE_96): Deleted.
798         (CHARSET_TYPE_96X96): Deleted.
799         (CHARSET_TYPE_128): Deleted.
800         (CHARSET_TYPE_128X128): Deleted.
801         (CHARSET_TYPE_256): Deleted.
802         (CHARSET_TYPE_256X256): Deleted.
803         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
804         to inline function.
805         (DECODE_MOJIKYO_2022): New inline function.
806         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
807         `Vcharset_mojikyo_2022_1'.
808
809 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
810
811         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
812         instead of `EQ'.
813         (put_byte_table): Likewise.
814         (char_id_table_equal): Use `get_byte_table' [new implementation].
815
816 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
817
818         * mule-charset.c: Include <limits.h> in UTF-2000.
819         (BT_UINT8_MIN): New macro in UTF-2000.
820         (BT_UINT8_MAX): New macro in UTF-2000.
821         (BT_UINT8_t): New macro in UTF-2000.
822         (BT_UINT8_nil): New macro in UTF-2000.
823         (BT_UINT8_unbound): New macro in UTF-2000.
824         (INT_UINT8_P): New inline function in UTF-2000.
825         (UINT8_VALUE_P): New inline function in UTF-2000.
826         (UINT8_ENCODE): New inline function in UTF-2000.
827         (UINT8_DECODE): New inline function in UTF-2000.
828         (mark_uint8_byte_table): New function in UTF-2000.
829         (print_uint8_byte_table): New function in UTF-2000.
830         (uint8_byte_table_equal): New function in UTF-2000.
831         (uint8_byte_table_hash): New function in UTF-2000.
832         (make_uint8_byte_table): New function in UTF-2000.
833         (uint8_byte_table_same_value_p): New function in UTF-2000.
834         (BT_UINT16_MIN): New macro in UTF-2000.
835         (BT_UINT16_MAX): New macro in UTF-2000.
836         (BT_UINT16_t): New macro in UTF-2000.
837         (BT_UINT16_nil): New macro in UTF-2000.
838         (BT_UINT16_unbound): New macro in UTF-2000.
839         (INT_UINT16_P): New inline function in UTF-2000.
840         (UINT16_VALUE_P): New inline function in UTF-2000.
841         (UINT16_ENCODE): New inline function in UTF-2000.
842         (UINT16_DECODE): New inline function in UTF-2000.
843         (UINT8_TO_UINT16): New inline function in UTF-2000.
844         (mark_uint16_byte_table): New function in UTF-2000.
845         (print_uint16_byte_table): New function in UTF-2000.
846         (uint16_byte_table_equal): New function in UTF-2000.
847         (uint16_byte_table_hash): New function in UTF-2000.
848         (make_uint16_byte_table): New function in UTF-2000.
849         (uint16_byte_table_same_value_p): New function in UTF-2000.
850         (print_byte_table): New function in UTF-2000.
851         (byte-table): Use `print_byte_table' as printer.
852         (make_byte_table): Delete second argument `older'.
853         (byte_table_same_value_p): New function in UTF-2000.
854         (copy_byte_table): Deleted.
855         (get_byte_table): New function in UTF-2000.
856         (put_byte_table): New function in UTF-2000.
857         (print_char_id_table): New function in UTF-2000.
858         (char-id-table): Use `print_char_id_table' as printer.
859         (make_char_id_table): Delete second argument `older'.
860         (get_char_id_table): Use `get_byte_table [new implementation].
861         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
862         implementation].
863         (Ffind_char_attribute_table): New function in UTF-2000.
864         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
865         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
866         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
867         (syms_of_mule_charset): Add new function
868         `find-char-attribute-table' in UTF-2000.
869
870         * lrecord.h (enum lrecord_type): Add
871         `lrecord_type_uint16_byte_table' and
872         `lrecord_type_uint8_byte_table'.
873
874         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
875         (Lisp_Uint8_Byte_Table): New type.
876         (XUINT8_BYTE_TABLE): New macro.
877         (XSETUINT8_BYTE_TABLE): New macro.
878         (UINT8_BYTE_TABLE_P): New macro.
879         (GC_UINT8_BYTE_TABLE_P): New macro.
880         (struct Lisp_Uint16_Byte_Table): New structure.
881         (Lisp_Uint16_Byte_Table): New type.
882         (XUINT16_BYTE_TABLE): New macro.
883         (XSETUINT16_BYTE_TABLE): New macro.
884         (UINT16_BYTE_TABLE_P): New macro.
885         (GC_UINT16_BYTE_TABLE_P): New macro.
886
887 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
888
889         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
890         (Vcharacter_ideographic_strokes_table): Deleted.
891         (Vcharacter_total_strokes_table): Deleted.
892         (Vcharacter_morohashi_daikanwa_table): Deleted.
893         (Vcharacter_decomposition_table): Deleted.
894         (Qname): Deleted because it is duplicated.
895         (Qideographic_radical): Deleted.
896         (Qideographic_strokes): Deleted.
897         (Qtotal_strokes): Deleted.
898         (Qmorohashi_daikanwa): Deleted.
899         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
900         `ideographic-radical', `ideographic-strokes', `total-strokes',
901         `morohashi-daikanwa' and `->decomposition'.
902         (Fget_char_attribute): Likewise.
903         (Fput_char_attribute): Likewise; use `make-vector' instead of
904         `make_older_vector' for `->decomposition' value.
905         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
906         `ideograph-daikanwa'.
907         (syms_of_mule_charset): Delete builtin symbols `name',
908         `ideographic-radical', `ideographic-strokes', `total-strokes' and
909         `morohashi-daikanwa'.
910         (vars_of_mule_charset): Don't setup
911         `Vcharacter_ideographic_radical_table',
912         `Vcharacter_ideographic_strokes_table',
913         `Vcharacter_total_strokes_table',
914         `Vcharacter_morohashi_daikanwa_table' and
915         `Vcharacter_decomposition_table'.
916
917 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
918
919         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
920         `make_older_vector', `make_vector_newer_1' and
921         `make_vector_newer'.
922
923         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
924         `make_older_vector' and `make_vector_newer'.
925
926         * config.h.in (HAVE_GGC): New macro.
927
928 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
929
930         * mule-charset.c (struct char_attribute_list_closure): New
931         structure in UTF-2000.
932         (add_char_attribute_to_list_mapper): New function in UTF-2000.
933         (Fchar_attribute_list): Likewise.
934         (Fset_charset_mapping_table): Use `make_vector_newer'.
935         (Fdecode_builtin_char): New function in UTF-2000.
936         (syms_of_mule_charset): Add new function `char-attribute-list' and
937         `decode-builtin-char' in UTF-2000.
938
939         * lisp.h (make_vector_newer): New prototype.
940
941         * alloc.c (make_vector_newer_1): New function.
942         (make_vector_newer): New function.
943
944 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
945
946         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
947         50100)'.
948
949 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
950
951         * mule-charset.c (Vchar_attribute_hash_table): New variable.
952         (Vcharacter_attribute_table): Deleted.
953         (Vcharacter_name_table): Deleted.
954         (put_char_attribute): Deleted.
955         (remove_char_attribute): Deleted.
956         (struct char_attribute_alist_closure): New structure.
957         (add_char_attribute_alist_mapper): New function.
958         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
959         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
960         (Fget_char_attribute): Likewise.
961         (Fput_char_attribute): Likewise.
962         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
963         of `remove_char_attribute'.
964         (Fdefine_char): Return character.
965         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
966         and `Vcharacter_name_table'.
967         (complex_vars_of_mule_charset): Likewise
968         `Vchar_attribute_hash_table'.
969
970 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
971
972         * character.h (CHARC_CHARSET): New macro.
973         (CHARC_CHARSET_ID): New macro.
974         (CHARC_CODE_POINT): New macro.
975         (CHARC_COLUMNS): New macro.
976         (CHARC_TO_CHAR): New inline function.
977         (CHARC_EQ): New inline function.
978         (CHARC_ASCII_EQ): New inline function.
979         (CHARC_IS_SPACE): New inline function.
980         (ASCII_TO_CHARC): New inline function.
981
982         * char-ucs.h (encode_char_2): Deleted.
983         (ENCODE_CHAR): Use `encode_char_1' again.
984         (breakup_char_1): Likewise.
985         (CHAR_TO_CHARC): New inline function.
986
987         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
988
989 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
990
991         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
992         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
993         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
994         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
995         (create_string_text_block): Use `CHARC_ASCII_EQ' and
996         `CHARC_IS_SPACE'.
997         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
998
999         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1000         `CHARC_CODE_POINT'.
1001         (x_output_display_block): Use `CHARC_CHARSET' and
1002         `CHARC_ASCII_EQ'.
1003
1004         * redisplay-tty.c (tty_output_display_block): Use
1005         `CHARC_ASCII_EQ'.
1006         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1007
1008         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1009
1010         * insdel.c (find_charsets_in_charc_string): Use
1011         `CHARC_CHARSET_ID'.
1012         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1013         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1014         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1015         (convert_charc_string_into_malloced_string): Likewise.
1016
1017 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1018
1019         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1020         instead of <Emchar_dynarr *> for buf; use
1021         `convert_bufbyte_string_into_charc_dynarr' instead of
1022         `convert_bufbyte_string_into_emchar_dynarr'; use
1023         `find_charsets_in_charc_string' instead of
1024         `find_charsets_in_emchar_string'.
1025
1026         * redisplay.h:
1027         - Include "character.h".
1028         (struct rune): New member `cglyph'; delete member `chr'.
1029
1030         * redisplay.c (redisplay_text_width_charc_string): New function;
1031         delete `redisplay_text_width_emchar_string'.
1032         (rtw_charc_dynarr): New variable; renamed from
1033         `rtw_emchar_dynarr'.
1034         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1035         `rtw_emchar_dynarr'; use
1036         `convert_bufbyte_string_into_charc_dynarr' instead of
1037         `convert_bufbyte_string_into_emchar_dynarr'; use
1038         `redisplay_text_width_charc_string' instead of
1039         `redisplay_text_width_emchar_string'.
1040         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1041         instead of `rtw_emchar_dynarr'; use
1042         `convert_bufbyte_string_into_charc_dynarr' instead of
1043         `convert_bufbyte_string_into_emchar_dynarr'.
1044         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1045         `redisplay_text_width_charc_string' instead of
1046         `redisplay_text_width_emchar_string'.
1047         (create_text_block): Modify for <struct rune> change.
1048         (generate_formatted_string_db): Likewise.
1049         (create_string_text_block): Likewise.
1050         (pixel_to_glyph_translation): Likewise.
1051
1052         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1053         instead of <const Emchar *>.
1054         (x_text_width): Likewise.
1055         (x_output_display_block): Use <Charc_dynarr *> instead
1056         <Emchar_dynarr *>; modify for <structure rune> change.
1057         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1058         *>.
1059
1060         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1061         <const Emchar *>; use `charc_string_displayed_columns' instead of
1062         `emchar_string_displayed_columns'.
1063         (tty_output_display_block): Use <Charc_dynarr *> instead of
1064         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1065         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1066         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1067         `tty_output_emchar_dynarr_dynarr'.
1068         (tty_output_charc_dynarr): New function; delete
1069         `tty_output_charc_dynarr'.
1070
1071         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1072         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1073         <Emchar_dynarr *> for buf; use
1074         `convert_bufbyte_string_into_charc_dynarr' instead of
1075         `convert_bufbyte_string_into_emchar_dynarr'.
1076
1077         * frame.c (title_string_charc_dynarr): New variable; renamed from
1078         `title_string_emchar_dynarr'.
1079         (generate_title_string): Use `title_string_charc_dynarr' instead
1080         of `title_string_emchar_dynarr'; use
1081         `convert_charc_string_into_malloced_string' instead of
1082         `convert_emchar_string_into_malloced_string'.
1083         (init_frame): Use `title_string_charc_dynarr' instead of
1084         `title_string_emchar_dynarr'.
1085
1086         * console.h:
1087         - Include "character.h".
1088         (struct console_methods): Use <const Charc *> instead of <const
1089         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1090         <Emchar_dynarr *> in output_string_method.
1091
1092         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1093         <Emchar_dynarr *>.
1094
1095         * console-stream.c (stream_text_width): Use <const Charc *>
1096         instead of <const Emchar *>.
1097
1098         * character.h (Charc_dynarr): New type.
1099
1100         * char-ucs.h (structure Charc): New structure; define new type
1101         `Charc'.
1102
1103         * char-lb.h (DECODE_CHAR): New inline function.
1104         (encode_char_1): New inline function.
1105         (ENCODE_CHAR): New macro.
1106         (structure Charc): New structure; define new type `Charc'.
1107
1108         * char-1byte.h (Vcharset_control_1): New macro.
1109         (Vcharset_latin_iso8859_1): New macro.
1110         (DECODE_CHAR): New inline function.
1111         (encode_char_1): New inline function.
1112         (ENCODE_CHAR): New macro.
1113         (structure Charc): New structure; define new type `Charc'.
1114
1115         * insdel.c (find_charsets_in_charc_string): New function; delete
1116         `find_charsets_in_emchar_string'.
1117         (charc_string_displayed_columns): New function; delete
1118         `emchar_string_displayed_columns'.
1119         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1120         `convert_bufbyte_string_into_emchar_dynarr'.
1121         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1122         `convert_charc_string_into_bufbyte_dynarr'.
1123         (convert_charc_string_into_malloced_string): New function; delete
1124         `convert_charc_string_into_malloced_string'.
1125
1126         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1127         `find_charsets_in_emchar_string'.
1128         (charc_string_displayed_columns): New prototype; delete
1129         `emchar_string_displayed_columns'.
1130         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1131         `convert_charc_string_into_bufbyte_dynarr'.
1132         (convert_charc_string_into_malloced_string): New prototype; delete
1133         `convert_charc_string_into_malloced_string'.
1134
1135 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1136
1137         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1138
1139 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1140
1141         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1142
1143         * char-ucs.h: Use <short> for <Charset_ID>.
1144
1145         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1146         <Charset_ID>.
1147
1148 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1149
1150         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1151         to 0.16.
1152
1153 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1154
1155         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1156         variable.
1157         (Qmorohashi_daikanwa): New variable.
1158         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1159         for `morohashi-daikanwa' attribute.
1160         (Fget_char_attribute): Likewise.
1161         (Fput_char_attribute): Likewise.
1162         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1163         has the same value of `ideograph-daikanwa'.
1164         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1165         (vars_of_mule_charset): Setup
1166         `Vcharacter_morohashi_daikanwa_table'.
1167
1168 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1169
1170         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1171         attributes.
1172         (add_charset_to_list_mapper): Add `key' instead of
1173         `XCHARSET_NAME (value)' to return aliases.
1174
1175 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1176
1177         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1178         variable.
1179         (Vcharacter_ideographic_strokes_table): New variable.
1180         (Qideographic_radical): New variable.
1181         (Qideographic_strokes): New variable.
1182         (Fchar_attribute_alist): Use
1183         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1184         attribute; use `Vcharacter_ideographic_strokes_table' for
1185         `ideographic-strokes' attribute.
1186         (Fget_char_attribute): Likewise.
1187         (Fput_char_attribute): Likewise.
1188         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1189         `ideographic-strokes'.
1190         (vars_of_mule_charset): Setup
1191         `Vcharacter_ideographic_radical_table' and
1192         `Vcharacter_ideographic_strokes_table'.
1193
1194 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1195
1196         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1197         (Qtotal_strokes): New variable.
1198         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1199         `total-strokes' attribute.
1200         (Fget_char_attribute): Likewise.
1201         (Fput_char_attribute): Likewise.
1202         (syms_of_mule_charset): Add new symbol `total-strokes'.
1203         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1204
1205 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1206
1207         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1208         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1209         are found.
1210         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1211         `->decomposition' attribute.
1212         (Fput_char_attribute): Likewise.
1213         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1214
1215 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1216
1217         * mule-charset.c (decoding_table_check_elements): New function.
1218         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1219
1220 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1221
1222         * mule-charset.c (Fset_charset_mapping_table): Use
1223         `put_char_ccs_code_point'.
1224
1225 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1226
1227         * mule-charset.c (decoding_table_put_char): New inline function.
1228         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1229
1230 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1231
1232         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1233         (XCHARSET_BYTE_SIZE): New macro.
1234         (decoding_table_remove_char): New inline function.
1235         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1236         `decoding_table_remove_char'.
1237         (remove_char_ccs): Use `decoding_table_remove_char'.
1238         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1239
1240 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1241
1242         * mule-charset.c (Vcharacter_name_table): New variable.
1243         (Qname): New variable.
1244         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1245         attribute.
1246         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1247         `Vcharacter_name_table' for `name' attribute.
1248         (Fremove_char_attribute): Use function `remove_char_ccs'.
1249         (put_char_ccs_code_point): New function.
1250         (remove_char_ccs): New function.
1251         (syms_of_mule_charset): Add new symbol `name'.
1252         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1253
1254 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1255
1256         * mule-charset.c (make_byte_table): Add new argument `older'.
1257         (make_char_id_table): Likewise.
1258         (copy_char_id_table): Comment out because it is not used.
1259         (put_char_id_table): Modify for `make_byte_table'.
1260         (Fput_char_attribute): Make encoding_table as older object;
1261         inherit older bit of `Vcharacter_composition_table'.
1262         (mark_charset): Don't mark `cs->encoding_table'.
1263         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1264         normal object; make `Vcharacter_composition_table' as an older
1265         object; delete staticpro for `Vcharacter_composition_table'; make
1266         `Vcharacter_variant_table' as a normal object.
1267
1268         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1269         (mark_object): Don't check older object in UTF-2000.
1270
1271         * lrecord.h (struct lrecord_header): Add new member `older' in
1272         UTF-2000.
1273         (set_lheader_implementation): Setup `SLI_header->older' in
1274         UTF-2000.
1275         (set_lheader_older_implementation): New macro in UTF-2000.
1276         (OLDER_RECORD_P): New macro in UTF-2000.
1277         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1278         (alloc_older_lcrecord): New prototype in UTF-2000.
1279         (alloc_older_lcrecord_type): New macro in UTF-2000.
1280
1281 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1282
1283         * mule-charset.c (byte_table_description): Use
1284         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1285         (char_id_table_description): Delete bogus `, 1'.
1286         (Fget_char_attribute): Refer encoding_table of each coded-charset
1287         to get value of coded-charset attribute of a character.
1288         (Fput_char_attribute): Use `make_older_vector' instead of
1289         `make_vector'; use encoding_table of each coded-charset to store
1290         value of coded-charset attribute of a character.
1291         (Fremove_char_attribute): Use encoding_table of each coded-charset
1292         to store value of coded-charset attribute of a character.
1293         (mark_charset): Mark `cs->encoding_table'; don't mark
1294         `cs->decoding_table'.
1295         (charset_description): Add description of new member
1296         `encoding_table'.
1297         (make_charset): Initialize `encoding_table'.
1298
1299         * char-ucs.h (struct Lisp_Charset): Add new member
1300         `encoding_table'.
1301         (CHARSET_ENCODING_TABLE): New macro.
1302         (XCHARSET_ENCODING_TABLE): New macro.
1303         (charset_code_point): New implementation.
1304         (encode_char_1): Likewise.
1305
1306         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1307         (disksave_object_finalization_1): Call finalizers of
1308         `all_older_lcrecords' in UTF-2000.
1309         (make_older_vector): New function in UTF-2000.
1310         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1311         UTF-2000.
1312
1313         * lisp.h (make_older_vector): New prototype in UTF-2000.
1314
1315 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1316
1317         * lrecord.h (enum lrecord_type): Rename
1318         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1319
1320         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1321         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1322         `get_char_code_table'.
1323
1324         * mule-charset.c (mark_char_id_table): Renamed from
1325         `mark_char_code_table'.
1326         (char_id_table_equal): Renamed from `char_code_table_equal'.
1327         (char_id_table_hash): Renamed from `char_code_table_hash'.
1328         (make_char_id_table): Renamed from `make_char_code_table'.
1329         (copy_char_id_table): Renamed from `copy_char_code_table'.
1330         (get_char_id_table): Renamed from `get_char_code_table'.
1331         (put_char_id_table): Renamed from `put_char_code_table'.
1332         (to_char_id): Renamed from `to_char_code'.
1333
1334         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1335         `Lisp_Char_Code_Table'.
1336         (char_id_table): Renamed from `char_code_table'.
1337         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1338         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1339         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1340         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1341         (get_char_id_table): Renamed from `get_char_code_table'.
1342
1343 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1344
1345         * lrecord.h (enum lrecord_type): Rename
1346         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1347
1348         * mule-charset.c (mark_byte_table): Renamed from
1349         `mark_char_byte_table'.
1350         (byte_table_equal): Renamed from `char_byte_table_equal'.
1351         (byte_table_hash): Renamed from `byte_table_hash'.
1352         (make_byte_table): Renamed from `make_byte_table'.
1353         (copy_byte_table): Renamed from `copy_char_byte_table'.
1354
1355         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1356         `Lisp_Char_Byte_Table'.
1357         (byte_table): Renamed from `char_byte_table'.
1358         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1359         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1360         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1361         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1362
1363 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1364
1365         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1366         (dfc_convert_to_internal_format): Likewise.
1367         
1368         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1369         * text-coding.c (Fcoding_system_alias_p): New function.
1370         * text-coding.c (Fcoding_system_aliasee): New function.
1371         * text-coding.c (append_suffix_to_symbol): New function.
1372         * text-coding.c (dangling_coding_system_alias_p): New function.
1373         * text-coding.c (Ffind_coding_system):
1374         * text-coding.c (Fcopy_coding_system):
1375         * text-coding.c (encode_coding_no_conversion):
1376         * text-coding.c (syms_of_file_coding):
1377         * text-coding.c (vars_of_file_coding):
1378         Rewrite coding system alias code.
1379         Allow nested aliases, like symbolic links.
1380         Allow redefinition of coding system aliases.
1381         Prevent existence of dangling coding system aliases.
1382         Eliminate convert_to_external_format.
1383         Eliminate convert_to_internal_format.
1384         
1385         * text-coding.c: Change enum eol_type to eol_type_t.
1386
1387 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1388
1389         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1390         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1391
1392         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1393         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1394
1395 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1396
1397         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1398         `ideograph-daikanwa'.
1399
1400         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1401         (Vcharset_ucs_bmp): Likewise.
1402         (Vcharset_mojikyo): Add new extern variable definition.
1403         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1404         (Vcharset_latin_iso8859_3): Likewise.
1405         (Vcharset_latin_iso8859_4): Likewise.
1406         (Vcharset_latin_iso8859_9): Likewise.
1407         (Vcharset_latin_viscii_lower): Likewise.
1408         (Vcharset_latin_viscii_upper): Likewise.
1409         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1410         `mojikyo' code-point is used to decode.
1411         (encode_char_2): New function [to convert `mojikyo' code-point to
1412         Mojikyo font encoding].
1413         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1414         (breakup_char_1): Likewise.
1415         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1416
1417 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1418
1419         * text-coding.c (Fmake_coding_system): Add document about
1420         `disable-composition' property.
1421
1422 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1423
1424         * text-coding.c (Qdisable_composition): New variable; delete
1425         `Qcomposite'.
1426         (Fmake_coding_system): Add new property `disable-composite';
1427         delete property `composite'.
1428         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1429         instead of `!CODING_SYSTEM_COMPOSITE'.
1430         (syms_of_file_coding): Add new symbol `disable-composition';
1431         delete symbol `composite'.
1432
1433         * file-coding.h (struct Lisp_Coding_System): Add
1434         `disable_composition'; delete `enable_composition'.
1435         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1436         `CODING_SYSTEM_COMPOSITE'.
1437         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1438         `XCODING_SYSTEM_COMPOSITE'.
1439
1440 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1441
1442         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1443         to 0.15.
1444
1445 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1446
1447         * text-coding.c (Qcomposite): New variable.
1448         (Fmake_coding_system): Add new property `composite'.
1449         (struct decoding_stream): Add `combined_char_count',
1450         `combined_chars' and `combining_table' in UTF-2000.
1451         (COMPOSE_FLUSH_CHARS): New macro.
1452         (COMPOSE_ADD_CHAR): New macro.
1453         (reset_decoding_stream): Reset `str->combined_char_count' and
1454         `str->combining_table' in UTF-2000.
1455         (decode_coding_iso2022): Modify for character-decomposition.
1456         (syms_of_file_coding): Add new symbol `composite'.
1457
1458 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1459
1460         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1461         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1462         of `Vcharacter_composition_table' if `->decomposition' property
1463         has only 1 element.
1464         (Qlatin_tcvn5712): New variable.
1465         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1466         (complex_vars_of_mule_charset): Add new coded-charset
1467         `latin-tcvn5712'.
1468
1469         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1470
1471 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1472
1473         * file-coding.h (struct Lisp_Coding_System): Add
1474         `enable_composition'.
1475         (CODING_SYSTEM_COMPOSITE): New macro.
1476         (XCODING_SYSTEM_COMPOSITE): New macro.
1477
1478 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1479
1480         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1481
1482 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1483
1484         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1485         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1486
1487 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1488
1489         * mule-charset.c (Vcharset_mojikyo): New variable.
1490         (Fdefine_char): Don't use coded-charset which does not have
1491         non-builtin character range to allocate character-id.
1492         (Qmojikyo): New variable.
1493         (syms_of_mule_charset): Add new symbol `mojikyo'.
1494         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1495
1496         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1497         (LEADING_BYTE_MOJIKYO): New macro.
1498         (MIN_CHAR_MOJIKYO): New macro.
1499         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1500         (MAX_CHAR_MOJIKYO): New macro.
1501
1502 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1503
1504         * mule-charset.c (remove_char_attribute): Fixed.
1505
1506 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1507
1508         * mule-charset.c (remove_char_attribute): New function.
1509         (Fremove_char_attribute): New function.
1510         (encode_builtin_char_1): Comment out builtin-support for
1511         greek-iso8859-7 and cyrillic-iso8859-5.
1512         (Fdecode_char): Check `code' is an integer.
1513         (syms_of_mule_charset): Add `remove-char-attribute'.
1514         (MIN_CHAR_GREEK): Deleted.
1515         (MAX_CHAR_GREEK): Likewise.
1516         (MIN_CHAR_CYRILLIC): Likewise.
1517         (MAX_CHAR_CYRILLIC): Likewise.
1518         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1519         MAX_CHAR_GREEK for `greek-iso8859-7'.
1520
1521         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1522         (MAX_CHAR_GREEK): Likewise.
1523         (MIN_CHAR_CYRILLIC): Likewise.
1524         (MAX_CHAR_CYRILLIC): Likewise.
1525
1526 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1527
1528         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1529         format is used without `ucs' property.
1530         (Fdecode_char): Fix problem with GR representation.
1531         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1532         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1533
1534 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1535
1536         * mule-charset.c (make_builtin_char): New function.
1537         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1538         (Fset_charset_mapping_table): Modify for new representation of
1539         code-point.
1540         (Fdecode_char): New function.
1541         (syms_of_mule_charset): Add new builtin function `decode-char' in
1542         UTF-2000.
1543
1544         * char-ucs.h (make_builtin_char): New prototype.
1545         (DECODE_CHAR): New inline function.
1546         (MAKE_CHAR): Use `DECODE_CHAR'.
1547
1548 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1549
1550         * text-coding.c (parse_charset_conversion_specs): Use
1551         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1552         `XCHARSET_TYPE'.
1553         (iso2022_designate): Likewise.
1554
1555         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1556         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1557
1558         * mule-charset.c (Vcharset_ucs): New variable.
1559         (print_charset): Change design; use `CHARSET_CHARS' and
1560         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1561         (make_charset): Change signature to specify `chars' and
1562         `dimension' instead of `type'.
1563         (range_charset_code_point): Modify for 256^n-set.
1564         (encode_builtin_char_1): Encode as `ucs' in default.
1565         (Fmake_charset): Modify for `make_charset'.
1566         (Fmake_reverse_direction_charset): Likewise.
1567         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1568         UTF-2000.
1569         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1570         for `make_charset'.
1571
1572         * char-ucs.h (Vcharset_ucs): New variable.
1573         (LEADING_BYTE_UCS): New macro.
1574         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1575         and `chars' to `unsigned short' from `unsigned int'.
1576         (CHARSET_TYPE): Deleted.
1577         (XCHARSET_TYPE): Deleted.
1578
1579 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1580
1581         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1582
1583         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1584         (ENCODE_CHAR): New macro.
1585
1586 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1587
1588         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1589         to 0.14 (Kawachi-Katakami).
1590
1591 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1592
1593         * text-coding.c (char_encode_shift_jis): Modify for
1594         `charset_code_point'.
1595         (char_encode_iso2022): Likewise.
1596
1597         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1598         (integer) instead of list of <Lisp_Object>s (integers) as the
1599         format of code-point of a coded-charset.
1600         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1601         (encode_builtin_char_1): New function; delete
1602         `split_builtin_char'.
1603         (charset_code_point): Return <int> instead of <Lisp_Object>.
1604         (Fsplit_char): Don't use `SPLIT_CHAR'.
1605
1606         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1607         prototype for `split_builtin_char'.
1608         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1609         (charset_code_point): Likewise.
1610         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1611         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1612
1613 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1614
1615         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1616         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1617
1618 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1619
1620         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1621
1622         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1623         (MAX_CHAR_OBS_94x94): Deleted.
1624
1625 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1626
1627         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1628
1629         * char-ucs.h (MAX_CHAR_BMP): New macro.
1630
1631 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1632
1633         * text-coding.c: Sync with r21-2-24.
1634
1635 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1636
1637         * file-coding.c: Modify for UTF-2000.
1638
1639 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1640
1641         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1642         to 0.13 (Takaida).
1643
1644 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1645
1646         * mule-charset.c (split_builtin_char): Delete builtin support for
1647         `katakana-jisx0201'.
1648         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1649         BMP area in builtin representation.
1650
1651         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1652         `Vcharset_katakana_jisx0201'.
1653
1654 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1655
1656         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1657         (Qisolated): New variable.
1658         (Qinitial): New variable.
1659         (Qmedial): New variable.
1660         (Qfinal): New variable.
1661         (Qvertical): New variable.
1662         (Qsmall): New variable.
1663         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1664         `Qvertical' and `Qsmall'.
1665         (Qmojikyo_pj_[1 .. 21]): New variable.
1666         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1667         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1668         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1669         .. 21]'.
1670
1671 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1672
1673         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1674         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1675         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1676
1677 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1678
1679         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1680         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1681         BMP.
1682         (Qjapanese_jisx0208_1990): New variable.
1683         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1684         (complex_vars_of_mule_charset): Add new coded-charset
1685         `japanese-jisx0208-1990'.
1686
1687         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1688         (MIN_CHAR_JIS_X0208_1990): New macro.
1689         (MAX_CHAR_JIS_X0208_1990): New macro.
1690
1691 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1692
1693         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1694         coded-charset is not found.
1695
1696 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1697
1698         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1699         (Fdefine_char): Use `Fmake_char'.
1700
1701 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1702
1703         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1704         (Vcharset_hiragana_jisx0208): Deleted.
1705         (Vcharset_katakana_jisx0208): Deleted.
1706         (Qideograph_daikanwa): New variable.
1707         (Qhiragana_jisx0208): Deleted.
1708         (Qkatakana_jisx0208): Deleted.
1709         (split_builtin_char): Split `ideograph-daikanwa'.
1710         (Fsplit_char): New implementation for UTF-2000.
1711         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1712         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1713         (complex_vars_of_mule_charset): Add new coded-charset
1714         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1715         `katakana-jisx0208'.
1716
1717         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1718         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1719         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1720         (MIN_CHAR_DAIKANWA): New macro.
1721         (MAX_CHAR_DAIKANWA): New macro.
1722
1723 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1724
1725         * data.c (Fstring_to_number): Don't recognize floating point if
1726         base is not 10.
1727
1728 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1729
1730         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1731
1732 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1733
1734         * mule-charset.c (Qsquare): New variable.
1735         (to_char_code): Add `Qsquare'.
1736         (syms_of_mule_charset): Add new symbol `square'.
1737
1738 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1739
1740         * mule-charset.c (Qcircle): New variable.
1741         (to_char_code): Add `Qcircle'.
1742         (syms_of_mule_charset): Add new symbol `circle'.
1743
1744 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1745
1746         * mule-charset.c (Qfont): New variable.
1747         (to_char_code): Add `Qfont'.
1748         (syms_of_mule_charset): Add new symbol `font'.
1749
1750 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1751
1752         * mule-charset.c (Qsub): New variable.
1753         (to_char_code): Add `Qsub'.
1754         (syms_of_mule_charset): Add new symbol `sub'.
1755
1756 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1757
1758         * mule-charset.c (Fput_char_attribute): Convert each element of
1759         VALUE to GL position if ATTRIBUTE is a GR-set,
1760
1761 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1762
1763         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1764         coded-charset is a GR-set.
1765
1766 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1767
1768         * mule-charset.c (Fput_char_attribute): Check each element of
1769         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1770
1771 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1772
1773         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1774         UTF-2000.
1775         (Qethiopic_ucs): New variable in UTF-2000.
1776         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1777         (complex_vars_of_mule_charset): Add new coded-charset
1778         `ethiopic-ucs' in UTF-2000.
1779
1780         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1781         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1782         9)'.
1783         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1784         10)'.
1785         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1786
1787 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1788
1789         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1790         `ascii'.
1791
1792 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1793
1794         * mule-charset.c (Vcharacter_variant_table): New variable.
1795         (Q_ucs): New variable.
1796         (Fchar_variants): New function.
1797         (Fput_char_attribute): Register `->ucs' value to
1798         `Vcharacter_variant_table'.
1799         (syms_of_mule_charset): Add new function `char-variants' and new
1800         symbol `->ucs'.
1801         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
1802
1803 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1804
1805         * mule-charset.c (get_char_code_table): Allow negative character
1806         code.
1807         (put_char_code_table): Likewise.
1808         (Vcharacter_composition_table): New variable.
1809         (Q_decomposition): New variable.
1810         (Qwide): New variable.
1811         (Qnarrow): New variable.
1812         (Qcompat): New variable.
1813         (QnoBreak): New variable.
1814         (Qsuper): New variable.
1815         (Qfraction): New variable.
1816         (to_char_code): New function.
1817         (Fget_composite_char): New function.
1818         (Fput_char_attribute): Register `->decomposition' value to
1819         `Vcharacter_composition_table'.
1820         (syms_of_mule_charset): Add new function `get-composite-char', new
1821         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
1822         `super' and `fraction'.
1823         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
1824
1825 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1826
1827         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
1828         character; copy the return value.
1829
1830 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1831
1832         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
1833
1834         * mule-charset.c (range_charset_code_point): Must use make_int.
1835         (split_builtin_char): New function.
1836
1837 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1838
1839         * mule-charset.c (char_byte_table): Change name from
1840         "char-code-table" to "char-byte-table".
1841         (mark_char_code_table): New function.
1842         (char_code_table_equal): New function.
1843         (char_code_table_hash): New function.
1844         (char_code_table_description): New constant.
1845         (char_code_table): New type.
1846         (make_char_code_table): New function.
1847         (copy_char_code_table): New function.
1848         (get_char_code_table): Modify for `char_code_table' type.
1849         (put_char_code_table): Likewise.
1850         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
1851         (Kashiwara).
1852
1853         * char-ucs.h (char_code_table): New type.
1854         (XCHAR_CODE_TABLE): New macro.
1855         (XSETCHAR_CODE_TABLE): New macro.
1856         (CHAR_CODE_TABLE_P): New macro.
1857         (GC_CHAR_CODE_TABLE_P): New macro.
1858         (struct Lisp_Char_Code_Table): New structure.
1859
1860 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1861
1862         * mule-charset.c (Fmake_charset): Setup byte_offset for
1863         {94|96}^n-set.
1864
1865 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1866
1867         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
1868         character.
1869
1870 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1871
1872         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
1873         is found.
1874
1875 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1876
1877         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
1878         charset, it is regarded as a charset.
1879         (put_char_attribute): New function in UTF-2000.
1880         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
1881         charset, mapping-table of the charset is modified.
1882         (Fdefine_char): New function in UTF-2000.
1883         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
1884         `Fput_char_attribute'.
1885         (syms_of_mule_charset): Add new function `define-char' and new
1886         symbol `ucs' in UTF-2000.
1887         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
1888
1889 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1890
1891         * mule-charset.c (Fcharset_name): Define `byte_offset' in
1892         non-UTF-2000 configuration.
1893
1894 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1895
1896         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
1897         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
1898
1899         * mule-charset.c (mark_charset): `cs->encoding_table' has been
1900         deleted.
1901         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
1902         (Fset_charset_mapping_table): Likewise.
1903
1904         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
1905         (CHARSET_ENCODING_TABLE): Delete.
1906         (XCHARSET_ENCODING_TABLE): Delete.
1907         (charset_code_point): New interface.
1908
1909 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1910
1911         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
1912         instead of `charset_get_byte1' and `charset_get_byte2'.
1913
1914         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
1915         (charset_get_byte2): Deleted.
1916
1917 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1918
1919         * char-ucs.h (SPLIT_CHAR): New inline function.
1920         (breakup_char_1): Use `SPLIT_CHAR'.
1921
1922         * mule-charset.c (range_charset_code_point): New function.
1923         (charset_code_point): New function.
1924
1925         * char-ucs.h (range_charset_code_point): New interface.
1926         (breakup_char_1): Use `range_charset_code_point'.
1927
1928 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1929
1930         * mule-charset.c (Fmake_charset): Delete unused local variable
1931         `code_offset'.
1932
1933         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
1934         (breakup_char_1): Find a charset and code-point in
1935         `Vcharacter_attribute_table'.
1936
1937 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1938
1939         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1940         to 0.10 (Yao).
1941
1942 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1943
1944         * mule-charset.c (Vcharacter_attribute_table): New variable.
1945         (Fchar_attribute_alist): New function.
1946         (Fget_char_attribute): New function.
1947         (Fput_char_attribute): New function.
1948         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
1949         too.
1950         (syms_of_mule_charset): Add new function `char-attribute-alist',
1951         `get-char-attribute' and `put-char-attribute'.
1952         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
1953
1954 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
1955
1956         * mule-charset.c (Fmake_charset): Just use
1957         `get_unallocated_leading_byte'.
1958
1959         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
1960         sets; don't use final-byte based number for private sets.
1961
1962 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1963
1964         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
1965         integer.
1966
1967 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1968
1969         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1970         to 0.9.
1971
1972 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1973
1974         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
1975         of `CHAR_LEADING_BYTE' in UTF-2000.
1976
1977         * insdel.c (find_charsets_in_bufbyte_string): Use
1978         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1979         (find_charsets_in_emchar_string): Likewise.
1980
1981         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
1982         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1983
1984         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
1985         (CHAR_CHARSET_ID): New macro.
1986
1987 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1988
1989         * chartab.c (get_char_table): Don't use type `Charset_ID' for
1990         charset-id - MIN_LEADING_BYTE.
1991         (put_char_table): Likewise.
1992
1993 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1994
1995         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
1996         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
1997         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
1998         (CHARSET_ID_OFFSET): New macro.
1999         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2000         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2001         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2002         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2003         4).
2004         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2005         5).
2006         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2007         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2008         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2009         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2010         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2011
2012 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2013
2014         * mule-charset.c (next_allocated_leading_byte): New variable in
2015         UTF-2000.
2016         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2017         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2018         (get_unallocated_leading_byte): Simply use
2019         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2020         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2021         UTF-2000.
2022
2023         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2024         (MAX_LEADING_BYTE_PRIVATE): New macro.
2025         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2026         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2027
2028 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2029
2030         * mule-charset.c (Fmake_charset): Allocate final-byte based
2031         charset-id for 94-set, 96-set and 94x94-set.
2032
2033 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2034
2035         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2036         ambiguous `else'.
2037         (Fmake_charset): Likewise.
2038         (complex_vars_of_mule_charset): Modify the font registry of
2039         `ucs-bmp' not to match `Ethiopic-Unicode'.
2040
2041 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2042
2043         * mule-charset.c (complex_vars_of_mule_charset): Add font
2044         registory of `ucs-bmp'.
2045
2046 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2047
2048         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2049         coded-charsets in `default-coded-charset-priority-list' when
2050         breaking up a character.
2051
2052         * mule-charset.c (Vcharset_latin_viscii): New variable.
2053         (Qlatin_viscii): New variable.
2054         (make_charset): Don't use `decoding_table'.
2055         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2056         byte_offset.
2057         (Fset_charset_mapping_table): New implementation.
2058         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2059         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2060         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2061         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2062         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2063         charset `latin_viscii'.
2064
2065         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2066         (CHARSET_TYPE_94X94): Change to 1 from 2.
2067         (CHARSET_TYPE_96): Change to 2 from 1.
2068         (CHARSET_TYPE_128): New macro.
2069         (CHARSET_TYPE_128X128): Change to 5 from 4.
2070         (CHARSET_TYPE_256): New macro.
2071         (CHARSET_TYPE_256X256): Change to 7 from 5.
2072         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2073
2074 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2075
2076         * text-coding.c (char_encode_shift_jis): Refer
2077         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2078         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2079
2080         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2081         (char_byte_table_equal): New function in UTF-2000.
2082         (char_byte_table_hash): New function in UTF-2000.
2083         (char_byte_table_description): New constant in UTF-2000.
2084         (char_byte_table): New type in UTF-2000.
2085         (make_char_byte_table): New function in UTF-2000.
2086         (copy_char_byte_table): New function in UTF-2000.
2087         (make_char_code_table): New macro in UTF-2000.
2088         (get_char_code_table): New function in UTF-2000.
2089         (put_char_code_table): New function in UTF-2000.
2090         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2091         (charset_description): Add setting in UTF-2000.
2092         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2093         `CHARSET_TO_BYTE1_TABLE(cs)'.
2094         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2095         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2096         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2097         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2098         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2099         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2100         `CHARSET_TO_BYTE2_TABLE(cs)'.
2101
2102         * char-ucs.h (char_byte_table): New type.
2103         (XCHAR_BYTE_TABLE): New macro.
2104         (XSETCHAR_BYTE_TABLE): New macro.
2105         (CHAR_BYTE_TABLE_P): New macro.
2106         (GC_CHAR_BYTE_TABLE_P): New macro.
2107         (struct Lisp_Char_Byte_Table): New structure.
2108         (get_char_code_table): New interface.
2109         (Emchar_to_byte_table): Deleted.
2110         (get_byte_from_character_table): Deleted.
2111         (struct Lisp_Charset): Add `encoding_table'; delete
2112         `to_byte1_table' and `to_byte2_table'.
2113         (CHARSET_ENCODING_TABLE): New macro.
2114         (CHARSET_TO_BYTE1_TABLE): Deleted.
2115         (CHARSET_TO_BYTE2_TABLE): Deleted.
2116         (XCHARSET_ENCODING_TABLE): New macro.
2117         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2118         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2119
2120 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2121
2122         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2123         `vietnamese-viscii-*'.
2124
2125 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2126
2127         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2128         (Qvietnamese_viscii_upper): New variable.
2129         (Fdefine_charset_alias): New function.
2130         (syms_of_mule_charset): Add new function `define-charset-alias'.
2131         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2132         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2133         `latin-viscii-*'.
2134
2135 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2136
2137         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2138         (MAX_CHAR_OBS_94x94): New macro.
2139         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2140         for 94x94 sets.
2141
2142         * mule-charset.c (put_byte_from_character_table): Change unit size
2143         from 128 to 256.
2144         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2145         not defined.
2146         (Fmake_reverse_direction_charset): Modify dummy argument of
2147         `make_charset' for non-UTF-2000 environment.
2148
2149 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2150
2151         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2152
2153         * mule-charset.c (destroy_byte_from_character_table): New macro.
2154         (latin_jisx0201_to_ucs): Deleted.
2155         (latin_iso8859_2_to_ucs): Deleted.
2156         (latin_iso8859_3_to_ucs): Deleted.
2157         (latin_iso8859_4_to_ucs): Deleted.
2158         (latin_iso8859_9_to_ucs): Deleted.
2159         (latin_viscii_lower_to_ucs): Deleted.
2160         (latin_viscii_upper_to_ucs): Deleted.
2161         (mark_charset): Mark `cs->decoding_table'.
2162         (Fcharset_mapping_table): Fix DOC-string.
2163         (Fset_charset_mapping_table): New function.
2164         (syms_of_mule_charset): Add nwe function
2165         `set-charset-mapping-table'.
2166         (complex_vars_of_mule_charset): Don't setup and use
2167         `latin_*_to_ucs'.
2168
2169 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2170
2171         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2172         charset.
2173
2174 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2175
2176         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2177         (Vcharset_katakana_jisx0208): New variable.
2178         (Qhiragana_jisx0208): New variable.
2179         (Qkatakana_jisx0208): New variable.
2180         (make_charset): Add new argument `byte_offset'.
2181         (charset_get_byte1): Modify for new coded-charset definition; use
2182         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2183         `XCHARSET_BYTE_OFFSET'.
2184         (Fmake_charset): Modify for `make_charset'.
2185         (Fmake_reverse_direction_charset): Likewise.
2186         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2187         `katakana-jisx0208'.
2188         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2189         `.'  in font registry of charset `katakana-jisx0201',
2190         `latin-jisx0201', `vietnamese-viscii-lower' and
2191         `vietnamese-viscii-upper'; modify DOC-string of charset
2192         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2193         registry of charset `japanese-jisx0208' not to use font for JIS
2194         X0208:1990; add new charset `hiragana-jisx0208' and
2195         `katakana-jisx0208'.
2196
2197         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2198         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2199         (struct Lisp_Charset): Add `byte_offset'.
2200         (CHARSET_BYTE_OFFSET): New macro.
2201         (XCHARSET_UCS_MIN): New macro.
2202         (XCHARSET_UCS_MAX): New macro.
2203         (XCHARSET_CODE_OFFSET): New macro.
2204         (XCHARSET_BYTE_OFFSET): New macro.
2205         (MIN_CHAR_HIRAGANA): New macro.
2206         (MAX_CHAR_HIRAGANA): New macro.
2207         (MIN_CHAR_KATAKANA): New macro.
2208         (MAX_CHAR_KATAKANA): New macro.
2209         (MAKE_CHAR): Modify for new coded-charset definition; use
2210         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2211         `XCHARSET_BYTE_OFFSET'.
2212
2213 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2214
2215         * mule-charset.c (CHAR96): Deleted.
2216         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2217         <Lisp_Object>.
2218         (latin_iso8859_2_to_ucs): Likewise.
2219         (latin_iso8859_3_to_ucs): Likewise.
2220         (latin_iso8859_4_to_ucs): Likewise.
2221         (latin_iso8859_9_to_ucs): Likewise.
2222         (latin_viscii_lower_to_ucs): Likewise.
2223         (latin_viscii_upper_to_ucs): Likewise.
2224         (latin_tcvn5712_to_ucs): Commented out.
2225         (make_charset): Change type of argument `decoding_table' from
2226         <Emchar*> to <Lisp_Object> [vector of characters].
2227         (Fmake_charset): Modify for `make_charset'.
2228         (Fmake_reverse_direction_charset): Likewise.
2229         (Fcharset_mapping_table): New function in UTF-2000.
2230         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2231         UTF-2000.
2232         (complex_vars_of_mule_charset): Modify for type change of
2233         `*_to_ucs'; modify for `make_charset'.
2234
2235         * char-ucs.h (struct Lisp_Charset): Change type of
2236         `decoding_table' from <Emchar*> to <Lisp_Object>.
2237         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2238
2239 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2240
2241         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2242         error with non-UTF-2000-Mule.
2243
2244 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2245
2246         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2247         in lisp again].
2248         (Vcharset_chinese_cns11643_4): Likewise.
2249         (Vcharset_chinese_cns11643_5): Likewise.
2250         (Vcharset_chinese_cns11643_6): Likewise.
2251         (Vcharset_chinese_cns11643_7): Likewise.
2252         (Qchinese_cns11643_3): Likewise.
2253         (Qchinese_cns11643_4): Likewise.
2254         (Qchinese_cns11643_5): Likewise.
2255         (Qchinese_cns11643_6): Likewise.
2256         (Qchinese_cns11643_7): Likewise.
2257         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2258         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2259         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2260         (complex_vars_of_mule_charset): Likewise.
2261
2262 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2263
2264         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2265         96-set.
2266         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2267         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2268
2269 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2270
2271         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2272         0xFF60.
2273         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2274         (breakup_char_1): Likewise.
2275
2276         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2277         one of them includes the specified character.
2278
2279 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2280
2281         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2282
2283 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2284
2285         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2286
2287 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2288
2289         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2290         definition for non-UTF-2000 Mule.
2291         (latin_iso8859_3_to_ucs): Likewise.
2292         (latin_iso8859_4_to_ucs): Likewise.
2293         (latin_iso8859_9_to_ucs): Likewise.
2294         (latin_jisx0201_to_ucs): Likewise.
2295         (MIN_CHAR_THAI): Likewise.
2296         (MAX_CHAR_THAI): Likewise.
2297         (MIN_CHAR_GREEK): Likewise.
2298         (MAX_CHAR_GREEK): Likewise.
2299         (MIN_CHAR_HEBREW): Likewise.
2300         (MAX_CHAR_HEBREW): Likewise.
2301         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2302         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2303         (MIN_CHAR_CYRILLIC): Likewise.
2304         (MAX_CHAR_CYRILLIC): Likewise.
2305
2306 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2307
2308         * char-ucs.h (breakup_char_1): Use
2309         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2310         thai-tis620 and katakana-jisx0201 area.
2311
2312 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2313
2314         * char-ucs.h (breakup_char_1): Use
2315         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2316         area.
2317
2318         * text-coding.c (reset_encoding_stream): Fixed.
2319         (char_encode_ucs4): Delete `& 255'.
2320
2321         * char-ucs.h (breakup_char_1): Use
2322         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2323
2324 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2325
2326         * file-coding.c (Fmake_coding_system): Don't set up
2327         `codesys->fixed.size'.
2328         (encode_coding_no_conversion): Don't refer
2329         `str->codesys->fixed.size'.
2330
2331 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2332
2333         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2334         (latin_a_char_to_byte1): Deleted.
2335         (latin_a_char_to_byte2): Deleted.
2336
2337 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2338
2339         * mule-charset.c (make_charset): Add new argument `ucs_min',
2340         `ucs_max' and `code_offset'.
2341         (charset_get_byte1): New implementation [delete specific charset
2342         depended implementations].
2343         (Fmake_charset): Modify for `make_charset'.
2344         (Fmake_reverse_direction_charset): Likewise.
2345         (complex_vars_of_mule_charset): Likewise.
2346
2347         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2348         `code_offset'.
2349         (CHARSET_UCS_MIN): New macro.
2350         (CHARSET_UCS_MAX): New macro.
2351         (CHARSET_CODE_OFFSET): New macro.
2352         (MAKE_CHAR): Delete charset depended definitions [except
2353         katakana-jisx0201].
2354
2355 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2356
2357         * char-ucs.h (breakup_char_1): Use
2358         `Vdefault_coded_charset_priority_list' for C0-Controls,
2359         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2360
2361 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2362
2363         * char-ucs.h (charset_get_byte1): New function.
2364         (XCHARSET_GET_BYTE1): Deleted.
2365         (charset_get_byte2): New function.
2366         (XCHARSET_GET_BYTE2): Deleted.
2367         (Vdefault_coded_charset_priority_list): New external variable.
2368         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2369         `Vdefault_preferred_coded_charset_list'.
2370
2371         * mule-charset.c (charset_get_byte1): New function.
2372         (charset_get_byte2): New function.
2373         (Vdefault_coded_charset_priority_list): New variable.
2374         (vars_of_mule_charset): Add new variable
2375         `default-coded-charset-priority-list'.
2376
2377 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2378
2379         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2380         (XCHARSET_GET_BYTE2): New inline function.
2381         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2382         `XCHARSET_GET_BYTE2'.
2383
2384 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2385
2386         * mule-charset.c (make_charset): Initialize
2387         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2388         NULL if table is not defined.
2389
2390 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2391
2392         * text-coding.c (char_encode_shift_jis): Use
2393         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2394         `ucs_to_latin_jisx0201'.
2395
2396         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2397         (ucs_to_latin_iso8859_2): Deleted.
2398         (ucs_to_latin_iso8859_3): Deleted.
2399         (ucs_to_latin_iso8859_4): Deleted.
2400         (ucs_to_latin_iso8859_9): Deleted.
2401         (ucs_to_latin_viscii_lower): Deleted.
2402         (ucs_to_latin_viscii_upper): Deleted.
2403         (ucs_to_latin_tcvn5712): Deleted.
2404         (make_charset): Add new argument `decoding_table'; set up
2405         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2406         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2407         `decoding_table' is defined in UTF-2000.
2408         (Fmake_charset): Modify for `make_charset'.
2409         (Fmake_reverse_direction_charset): Likewise.
2410         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2411         and `GENERATE_96_SET'.
2412
2413         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2414         (ucs_to_latin_jisx0201): Deleted.
2415         (latin_iso8859_2_to_ucs): Deleted.
2416         (ucs_to_latin_iso8859_2): Deleted.
2417         (latin_iso8859_3_to_ucs): Deleted.
2418         (ucs_to_latin_iso8859_3): Deleted.
2419         (latin_iso8859_4_to_ucs): Deleted.
2420         (ucs_to_latin_iso8859_4): Deleted.
2421         (latin_iso8859_9_to_ucs): Deleted.
2422         (ucs_to_latin_iso8859_9): Deleted.
2423         (latin_viscii_lower_to_ucs): Deleted.
2424         (ucs_to_latin_viscii_lower): Deleted.
2425         (latin_viscii_upper_to_ucs): Deleted.
2426         (ucs_to_latin_viscii_upper): Deleted.
2427         (struct Lisp_Charset): Renamed `encoding_table' to
2428         `to_byte1_table'; add `to_byte2_table'.
2429         (CHARSET_DECODING_TABLE): New macro.
2430         (CHARSET_TO_BYTE1_TABLE): New macro.
2431         (CHARSET_TO_BYTE2_TABLE): New macro.
2432         (XCHARSET_DECODING_TABLE): New macro.
2433         (XCHARSET_TO_BYTE1_TABLE): New macro.
2434         (XCHARSET_TO_BYTE2_TABLE): New macro.
2435         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2436         tables.
2437         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2438         don't use `ucs_to_*' tables.
2439
2440 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2441
2442         * text-coding.c (Fmake_coding_system): Don't set up
2443         `codesys->fixed.size'.
2444         (encode_coding_no_conversion): Use `if' instead of `switch'.
2445
2446         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2447
2448 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2449
2450         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2451         (Fmake_charset): Modify for `make_charset'.
2452         (Fmake_reverse_direction_charset): Likewise.
2453         (complex_vars_of_mule_charset): Likewise.
2454
2455 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2456
2457         * text-coding.c (char_encode_shift_jis): Use table
2458         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2459
2460 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2461
2462         * text-coding.c (text_encode_generic): Use `if' instead of
2463         `switch'.
2464         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2465         decode JIS-Latin.
2466
2467 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2468
2469         * text-coding.c (encode_coding_sjis): Deleted.
2470         (char_encode_shift_jis): New function.
2471         (char_finish_shift_jis): New function.
2472         (reset_encoding_stream): Set up `encode_char' and `finish' for
2473         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2474         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2475         (char_encode_utf8): Treat `eol_type'.
2476
2477 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2478
2479         * file-coding.c (decode_coding_iso2022): Use
2480         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2481
2482 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2483
2484         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2485         to 0.7 (Hirano).
2486
2487 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2488
2489         * char-lb.h (CHAR_COLUMNS): New macro.
2490
2491 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2492
2493         * text-coding.c (char_encode_ucs4): New function.
2494         (char_finish_ucs4): New function.
2495         (encode_coding_ucs4): Deleted.
2496         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2497         (text_encode_generic): Delete local variable `charset' and `half'.
2498         (ucs_to_mule_table): Deleted.
2499         (mule_to_ucs_table): Deleted.
2500         (Fset_ucs_char): Deleted.
2501         (ucs_to_char): Deleted.
2502         (Fucs_char): Deleted.
2503         (Fset_char_ucs): Deleted.
2504         (Fchar_ucs): Deleted.
2505         (decode_ucs4): Deleted.
2506         (mule_char_to_ucs4): Deleted.
2507         (encode_ucs4): Deleted.
2508         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2509         (decode_coding_utf8): Likewise.
2510         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2511         (char_encode_iso2022): Fixed.
2512         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2513         `Fset_char_ucs' and `Fchar_ucs'.
2514         (complex_vars_of_file_coding): Don't initialize
2515         `ucs_to_mule_table'.
2516
2517         * objects-tty.c (tty_initialize_font_instance): Don't use
2518         `XCHARSET_COLUMNS'.
2519
2520         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2521         UTF-2000.
2522
2523         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2524         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2525
2526         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2527         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2528         (emchar_string_displayed_columns): Likewise.
2529
2530         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2531         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2532         (string_column_at_point): Likewise.
2533         (Fmove_to_column): Likewise.
2534
2535         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2536         `encoding_table' and `decoding_table'.
2537         (CHARSET_REP_BYTES): Deleted.
2538         (XCHARSET_REP_BYTES): Deleted.
2539         (XCHARSET_COLUMNS): Deleted.
2540         (CHAR_COLUMNS): New macro.
2541         (lookup_composite_char): Deleted unconditionally.
2542         (composite_char_string): Likewise.
2543
2544 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2545
2546         * char-ucs.h (Emchar_to_byte_table): New type.
2547         (get_byte_from_character_table): New function interface.
2548         (Vcharset_latin_jisx0201): New variable.
2549         (latin_jisx0201_to_ucs): New variable.
2550         (ucs_to_latin_jisx0201): New variable.
2551         (Vcharset_latin_iso8859_2): New variable.
2552         (latin_iso8859_2_to_ucs): New variable.
2553         (ucs_to_latin_iso8859_2): New variable.
2554         (Vcharset_latin_iso8859_3): New variable.
2555         (latin_iso8859_3_to_ucs): New variable.
2556         (ucs_to_latin_iso8859_3): New variable.
2557         (Vcharset_latin_iso8859_4): New variable.
2558         (latin_iso8859_4_to_ucs): New variable.
2559         (ucs_to_latin_iso8859_4): New variable.
2560         (Vcharset_latin_iso8859_9): New variable.
2561         (latin_iso8859_9_to_ucs): New variable.
2562         (ucs_to_latin_iso8859_9): New variable.
2563         (Vcharset_latin_viscii_lower): New variable.
2564         (latin_viscii_lower_to_ucs): New variable.
2565         (ucs_to_latin_viscii_lower): New variable.
2566         (Vcharset_latin_viscii_upper): New variable.
2567         (latin_viscii_upper_to_ucs): New variable.
2568         (ucs_to_latin_viscii_upper): New variable.
2569         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2570         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2571         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2572         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2573         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2574         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2575         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2576         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2577         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2578         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2579
2580         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2581         (Vcharset_latin_viscii_upper): New variable.
2582         (make_byte_from_character_table): New function.
2583         (put_byte_from_character_table): New function.
2584         (get_byte_from_character_table): New function.
2585         (CHAR96): New macro.
2586         (ucs_to_latin_jisx0201): New variable.
2587         (latin_jisx0201_to_ucs): New variable.
2588         (ucs_to_latin_iso8859_2): New variable.
2589         (latin_iso8859_2_to_ucs): New variable.
2590         (ucs_to_latin_iso8859_3): New variable.
2591         (latin_iso8859_3_to_ucs): New variable.
2592         (ucs_to_latin_iso8859_4): New variable.
2593         (latin_iso8859_4_to_ucs): New variable.
2594         (ucs_to_latin_iso8859_9): New variable.
2595         (latin_iso8859_9_to_ucs): New variable.
2596         (ucs_to_latin_viscii_lower): New variable.
2597         (latin_viscii_lower_to_ucs): New variable.
2598         (ucs_to_latin_viscii_upper): New variable.
2599         (latin_viscii_upper_to_ucs): New variable.
2600         (ucs_to_latin_tcvn5712): New variable.
2601         (latin_tcvn5712_to_ucs): New variable.
2602         (Qlatin_viscii_lower): New variable.
2603         (Qlatin_viscii_upper): New variable.
2604         (syms_of_mule_charset): Set up new symbol
2605         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2606         (complex_vars_of_mule_charset): Set up new charset
2607         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2608         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2609         `ucs_to_<CHARSET>' tables.
2610
2611 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2612
2613         * text-coding.c: New file.
2614
2615 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2616
2617         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2618
2619         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2620         (MAKE_CHAR): Modify for `ucs-bmp'.
2621         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2622         non-MULE characters of BMP.
2623
2624 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2625
2626         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2627         to 0.6.
2628
2629 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2630
2631         * lstream.h:
2632         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2633         - Include character.h for `CHAR_ASCII_P'.
2634
2635         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2636
2637         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2638         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2639
2640         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2641         (BYTE_C0_P): Likewise.
2642         (BYTE_C1_P): Likewise.
2643         (Lstream_get_emchar_1): Likewise.
2644         (Lstream_fput_emchar): Likewise.
2645         (Lstream_funget_emchar): Likewise.
2646         (copy_internal_to_external): Likewise.
2647         (copy_external_to_internal): Likewise.
2648
2649         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2650         (BYTE_C0_P): Likewise.
2651         (BYTE_C1_P): Likewise.
2652         (Lstream_get_emchar_1): Likewise.
2653         (Lstream_fput_emchar): Likewise.
2654         (Lstream_funget_emchar): Likewise.
2655         (copy_internal_to_external): Likewise.
2656         (copy_external_to_internal): Likewise.
2657
2658         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2659         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2660
2661         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2662         (BYTE_ASCII_P): Moved to mb-1byte.h.
2663
2664 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2665
2666         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2667
2668         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2669         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2670         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2671         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2672         (VALIDATE_CHARPTR_FORWARD): Likewise.
2673         (simple_charptr_emchar): Moved to mb-multibyte.h.
2674         (simple_set_charptr_emchar): Likewise.
2675         (simple_charptr_copy_char): Likewise.
2676         (non_ascii_charptr_emchar): Likewise.
2677         (non_ascii_set_charptr_emchar): Likewise.
2678         (non_ascii_charptr_copy_char): Likewise.
2679         (charptr_emchar): Moved to mb-*byte.h.
2680         (set_charptr_emchar): Likewise.
2681         (charptr_copy_char): Likewise.
2682
2683         * mb-1byte.h, mb-multibyte.h: New files.
2684
2685 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2686
2687         * mb-utf-8.h (MULTIBYTE): New macro.
2688         (MAX_EMCHAR_LEN): Moved from buffer.h.
2689         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2690
2691         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2692
2693         * mb-lb.h, multibyte.h: New files.
2694
2695         * char-1byte.h (Charset_ID): Moved from buffer.h.
2696         (MIN_LEADING_BYTE): Likewise.
2697         (LEADING_BYTE_ASCII): Likewise.
2698         (NUM_LEADING_BYTES): Likewise.
2699         (CHARSETP): Likewise.
2700         (CHARSET_BY_LEADING_BYTE): Likewise.
2701         (XCHARSET_LEADING_BYTE): Likewise.
2702         (XCHARSET_GRAPHIC): Likewise.
2703         (XCHARSET_COLUMNS): Likewise.
2704         (XCHARSET_DIMENSION): Likewise.
2705         (CHAR_CHARSET): Likewise.
2706         (CHAR_LEADING_BYTE): Likewise.
2707         (BREAKUP_CHAR): Likewise.
2708         (Vcharset_ascii): Likewise.
2709
2710         * buffer.h: Include multibyte.h unconditionally.
2711         (VALID_CHARPTR_P): Moved to multibyte.h.
2712         (ASSERT_VALID_CHARPTR): Likewise.
2713         (REAL_INC_CHARPTR): Likewise.
2714         (REAL_INC_CHARBYTIND): Likewise.
2715         (REAL_DEC_CHARPTR): Likewise.
2716         (INC_CHARPTR): Likewise.
2717         (INC_CHARBYTIND): Likewise.
2718         (DEC_CHARPTR): Likewise.
2719         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2720         (VALIDATE_CHARPTR_FORWARD): Likewise.
2721         (charptr_n_addr): Likewise.
2722         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2723         (simple_charptr_emchar): Moved to multibyte.h.
2724         (simple_set_charptr_emchar): Likewise.
2725         (simple_charptr_copy_char): Likewise.
2726         (non_ascii_charptr_emchar): Likewise.
2727         (non_ascii_set_charptr_emchar): Likewise.
2728         (non_ascii_charptr_copy_char): Likewise.
2729         (charptr_emchar): Likewise.
2730         (set_charptr_emchar): Likewise.
2731         (charptr_copy_char): Likewise.
2732         (charptr_emchar_n): Likewise.
2733         (Charset_ID): Moved to char-1byte.h.
2734         (Vcharset_ascii): Likewise.
2735         (CHAR_CHARSET): Likewise.
2736         (CHAR_LEADING_BYTE): Likewise.
2737         (LEADING_BYTE_ASCII): Likewise.
2738         (NUM_LEADING_BYTES): Likewise.
2739         (MIN_LEADING_BYTE): Likewise.
2740         (CHARSETP): Likewise.
2741         (CHARSET_BY_LEADING_BYTE): Likewise.
2742         (XCHARSET_LEADING_BYTE): Likewise.
2743         (XCHARSET_GRAPHIC): Likewise.
2744         (XCHARSET_COLUMNS): Likewise.
2745         (XCHARSET_DIMENSION): Likewise.
2746         (BREAKUP_CHAR): Likewise.
2747
2748 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2749
2750         * character.h: Add document about interface for characters.
2751
2752         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2753         (MAKE_CHAR): Delete comment about
2754         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2755         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2756         (BREAKUP_CHAR): Modify name of arguments.
2757         (CHAR_CHARSET): Modify name of argument.
2758
2759         * buffer.h: Delete document about Emchar accessors.
2760
2761 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2762
2763         * character.h (CHAR_INTP): Moved from buffer.h
2764         (CHAR_OR_CHAR_INTP): Likewise.
2765         (XCHAR_OR_CHAR_INT): Likewise.
2766         (CHECK_CHAR_COERCE_INT): Likewise.
2767
2768         * buffer.h (CHAR_INTP): Moved to character.h
2769         (CHAR_OR_CHAR_INTP): Likewise.
2770         (XCHAR_OR_CHAR_INT): Likewise.
2771         (CHECK_CHAR_COERCE_INT): Likewise.
2772
2773 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2774
2775         * character.h:
2776         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2777         - Include char-1byte.h, char-lb.h or char-ucs.h.
2778
2779         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2780
2781         * buffer.h: Include character unconditionally.
2782         (valid_char_p): Moved to char-*.h.
2783         (non_ascii_valid_char_p): Moved to char-lb.h.
2784
2785         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2786
2787 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2788
2789         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2790         in UTF-2000 because it is not ported yet and not to use
2791         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2792         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2793         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2794
2795         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2796         (CHAR_ASCII_P): Moved from character.h.
2797
2798         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
2799         (CHAR_ASCII_P): Likewise.
2800         (CHAR_FIELD1_MASK): Deleted.
2801         (CHAR_FIELD2_MASK): Deleted.
2802         (CHAR_FIELD3_MASK): Deleted.
2803         (MAX_CHAR_BASIC_LATIN): New macro.
2804         (CHAR_FIELD1): Deleted.
2805         (CHAR_FIELD2_INTERNAL): Deleted.
2806         (CHAR_FIELD3_INTERNAL): Deleted.
2807         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
2808         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
2809         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
2810         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
2811         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
2812         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
2813         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
2814         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
2815         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
2816         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
2817         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
2818         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
2819         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
2820         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
2821         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
2822         (MIN_CHAR_COMPOSITION): Deleted.
2823         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
2824         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
2825
2826 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
2827
2828         * buffer.h: Include mb-utf-8.h in UTF-2000.
2829
2830         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
2831
2832         * mb-utf-8.h: New file.
2833
2834 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
2835
2836         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
2837         instead of `int'.
2838
2839         * mule-charset.h, buffer.h (Charset_ID): New type.
2840
2841 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2842
2843         * mule-canna.c (c2mu): Use `MAKE_CHAR',
2844         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
2845         instead of `MULE_CHAR_PRIVATE_OFFSET',
2846         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
2847         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
2848         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
2849
2850         * character.h (Vcharset_japanese_jisx0212): New variable
2851         definition.
2852
2853 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2854
2855         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
2856         (charset_by_attributes): Delete array about direction.
2857         (latin_a_char_to_charset): New variable in UTF-2000.
2858         (latin_a_char_to_byte1): New variable in UTF-2000.
2859         (latin_a_char_to_byte2): New variable in UTF-2000.
2860         (Qucs_bmp): New variable.
2861         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
2862         `Bufbyte'.
2863         (next_allocated_2_byte_leading_byte): Likewise.
2864         (non_ascii_set_charptr_emchar): Likewise.
2865         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
2866         `CHARSET_TYPE_256X256' in UTF-2000; modify for
2867         `charset_by_attributes'.
2868         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
2869         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
2870         and `CHARSET_BY_LEADING_BYTE'.
2871         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
2872         `utf-2000-version' to `vars_of_mule_charset'.
2873         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
2874         define `leading-code-private-11' in UTF-2000; move setting of
2875         `utf-2000-version' from `syms_of_mule_charset'.
2876         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
2877         UTF-2000.
2878
2879         * character.h (Charset_ID): New type.
2880         (LEADING_BYTE_UCS_BMP): New macro.
2881         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
2882         (CHARSET_ID_OFFSET_94): New macro.
2883         (MIN_CHARSET_ID_PRIVATE_94): New macro.
2884         (MAX_CHARSET_ID_PRIVATE_94): New macro.
2885         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
2886         final-byte.
2887         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
2888         (LEADING_BYTE_LATIN_JISX0201): Likewise.
2889         (CHARSET_ID_OFFSET_96): New macro.
2890         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
2891         CHARSET_ID_OFFSET_96 and final-byte.
2892         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
2893         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
2894         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
2895         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
2896         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
2897         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
2898         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
2899         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
2900         (LEADING_BYTE_THAI_TIS620): Likewise.
2901         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
2902         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
2903         (CHARSET_ID_OFFSET_94x94): New macro.
2904         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
2905         CHARSET_ID_OFFSET_94x94 and final-byte.
2906         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
2907         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
2908         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
2909         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
2910         (LEADING_BYTE_CHINESE_GB2312): Likewise.
2911         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
2912         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
2913         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
2914         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
2915         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
2916         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
2917         (CHARSET_TYPE_128X128): New macro.
2918         (CHARSET_TYPE_256X256): New macro.
2919         (XCHARSET_PRIVATE_P): Delete unconditionally.
2920         (charset_by_attributes): Delete array about direction.
2921         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
2922         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
2923         (MIN_CHAR_94): New macro.
2924         (MAX_CHAR_94): New macro.
2925         (MIN_CHAR_96): New macro.
2926         (MAX_CHAR_96): New macro.
2927         (MIN_CHAR_94x94): New macro.
2928         (MAX_CHAR_94x94): New macro.
2929         (MIN_CHAR_96x96): New macro.
2930         (MAX_CHAR_96x96): New macro.
2931         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
2932         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
2933         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
2934         - 32)'.
2935         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
2936         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
2937         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
2938         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
2939         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
2940         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
2941         `XCHARSET_LEADING_BYTE' to make code-point.
2942         (latin_a_char_to_charset): New variable.
2943         (latin_a_char_to_byte1): New variable.
2944         (latin_a_char_to_byte2): New variable.
2945         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
2946         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
2947         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
2948
2949         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
2950         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
2951         (find_charsets_in_emchar_string): Likewise.
2952         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
2953
2954         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
2955         `int'.
2956         (decode_coding_iso2022): Likewise.
2957
2958         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
2959         of `unsigned char'.
2960
2961         * redisplay.c (redisplay_text_width_emchar_string): Use
2962         `Charset_ID' instead of `unsigned char'.
2963         (redisplay_frame_text_width_string): Likewise.
2964
2965         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
2966         `unsigned char'.
2967
2968         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
2969         instead of `unsigned char'.
2970         (face_cachel_charset_font_metric_info): Likewise.
2971
2972         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
2973         (get_non_ascii_char_table_value): Likewise.
2974         (get_char_table): Likewise.
2975         (put_char_table): Likewise.
2976         (map_over_other_charset): Likewise.
2977         (map_char_table): Likewise.
2978
2979         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
2980         instead of `unsigned char'.
2981
2982 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
2983
2984         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
2985         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
2986
2987         * mule-charset.c (leading_code_private_11): Don't define in
2988         UTF-2000.
2989
2990         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
2991         in UTF-2000 because it is not ported yet and not to use
2992         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
2993
2994 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
2995
2996         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
2997
2998 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2999
3000         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3001         in UTF-2000.
3002
3003         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3004         of unsigned char to store leading-byte.
3005
3006         * chartab.c (get_non_ascii_char_table_value): Don't use
3007         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3008
3009         * file-coding.c (encode_coding_big5): Delete bogus implementation
3010         in UTF2000.
3011
3012         * character.h (LEADING_BYTE_*): Delete definition for
3013         non-UTF-2000.
3014         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3015         (LEADING_BYTE_PREFIX_P): Deleted.
3016         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3017         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3018         (BUFBYTE_LEADING_BYTE_P): Deleted.
3019         (CHARSET_PRIVATE_P): Deleted unconditionally.
3020         (rep_bytes_by_first_byte): Deleted unconditionally.
3021         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3022         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3023         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3024         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3025         (CHAR_FIELD2): Deleted.
3026         (CHAR_FIELD3): Deleted.
3027         (MAKE_CHAR): Delete definition for non-UTF-2000.
3028         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3029         (breakup_char_1): New implementation.
3030         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3031         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3032
3033 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3034
3035         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3036         condition.
3037
3038 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3039
3040         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3041         (CHARSET_PRIVATE_P): Likewise.
3042         (XCHARSET_PRIVATE_P): Likewise.
3043         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3044
3045         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3046         UTF2000.
3047         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3048
3049 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3050
3051         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3052         (NUM_LEADING_BYTES): Changed from 128 to 256.
3053         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3054         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3055         UTF2000.
3056         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3057
3058         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3059         UTF2000.
3060         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3061         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3062         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3063         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3064         (Qchinese_cns11643_3): New variable in UTF2000.
3065         (Qchinese_cns11643_4): New variable in UTF2000.
3066         (Qchinese_cns11643_5): New variable in UTF2000.
3067         (Qchinese_cns11643_6): New variable in UTF2000.
3068         (Qchinese_cns11643_7): New variable in UTF2000.
3069         (syms_of_mule_charset): Define `chinese-cns11643-3',
3070         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3071         and `chinese-cns11643-7' in UTF2000.
3072         (vars_of_mule_charset): Initialize
3073         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3074         + 1 in UTF2000.
3075         (complex_vars_of_mule_charset): Setup charset
3076         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3077         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3078
3079 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3080
3081         * mule-charset.c: Move setting for `leading-code-private-11' from
3082         `syms_of_mule_charset' to `vars_of_mule_charset'.
3083
3084 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3085
3086         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3087         and `NUM_LEADING_BYTES' in assert.
3088
3089 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3090
3091         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3092         instead of 128.
3093         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3094         `NUM_LEADING_BYTES' instead of 128.
3095
3096 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3097
3098         * mule-charset.h (charset_by_leading_byte): Use
3099         `NUM_LEADING_BYTES' instead of 128.
3100         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3101
3102         * mule-charset.c (charset_by_leading_byte): Use
3103         `NUM_LEADING_BYTES' instead of 128.
3104         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3105
3106         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3107         128.
3108
3109 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3110
3111         * mule-charset.c (syms_of_mule_charset): Update to
3112         0.4 (Shin-Imamiya).
3113
3114 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3115
3116         * file-coding.c (encode_coding_sjis): New implementation for
3117         UTF2000.  (decode_coding_sjis): Ditto.
3118
3119 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3120
3121         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3122         Don't define in UTF2000.
3123
3124         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3125         defined.
3126
3127         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3128         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3129         MULE.
3130
3131 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3132
3133         * config.h.in (CHAR_IS_UCS4): New macro.
3134
3135         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3136         conventional MULE representation.
3137         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3138
3139         * mule-charset.h: Reverted to original.
3140
3141         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3142         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3143         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3144
3145         * character.h: New file.
3146
3147         * file-coding.c (Fmake_coding_system): Set 1 to
3148         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3149         defined.
3150         (encode_coding_no_conversion): New implementation for UTF2000.
3151
3152         * file-coding.h (struct Lisp_Coding_System): Add new member
3153         `fixed.size'.
3154
3155 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3156
3157         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3158         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3159         (encode_coding_iso2022): New implementation for UTF2000.
3160
3161 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3162
3163         * mule-canna.c (c2mu): New implementation for UTF2000.
3164         (m2c): Likewise.
3165
3166 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3167
3168         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3169
3170 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3171
3172         * file-coding.c (reset_encoding_stream): Set 0 to
3173         `str->iso2022.current_char_boundary' in UTF2000.
3174         (encode_utf8): Don't define in UTF2000.
3175         (encode_coding_utf8): New implementation for UTF-8 representation
3176         of UTF2000.
3177         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3178
3179 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3180
3181         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3182
3183         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3184         UTF2000.
3185         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3186
3187         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3188
3189         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3190         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3191         as UTF-8 in UTF2000.
3192         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3193         (non_ascii_valid_char_p): Don't define in UTF2000.
3194         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3195         (Lstream_get_emchar_1): Likewise.
3196         (utf-2000-version): New variable in UTF2000.
3197
3198         * lread.c (read_escape): Add new reader `u'.
3199
3200         * insdel.c (three_to_one_table): Don't define in UTF2000.
3201         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3202         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3203         UTF2000.
3204         (bytind_to_bufpos_func): Likewise.
3205         (buffer_mule_signal_inserted_region): Likewise.
3206         (vars_of_insdel): Don't initialize `three_to_one_table'.
3207         (init_buffer_text): Use `buf->text->mule_size' instead of
3208         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3209         UTF2000.
3210
3211         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3212         UTF-8 representation in UTF2000.
3213         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3214         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3215         (decode_coding_iso2022): Don't define local variable `lb' in
3216         UTF2000; don't use LEADING_BYTE in UTF2000; use
3217         `DECODE_ADD_UCS_CHAR' in UTF2000.
3218         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3219
3220         * config.h.in (UTF2000): New macro.
3221
3222         * buffer.h (struct buffer_text): Add new member `mule_size' and
3223         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3224         (valid_char_p): Return always 1 in UTF2000.
3225         (MAX_EMCHAR_LEN): 6 in UTF2000.
3226         (three_to_one_table): Don't define in UTF2000.
3227         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3228         UTF2000.
3229         (real_bytind_to_bufpos): Likewise.
3230
3231         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3232
3233 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3234
3235         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3236         representation change.
3237         (Vutf_2000_version): New variable.
3238         (leading_code_private_11): New variable.
3239         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3240         `leading-code-private-11'.
3241
3242         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3243         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3244         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3245         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3246         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3247         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3248         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3249         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3250         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3251         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3252         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3253         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3254         (MIN_CHAR_GREEK): New macro.
3255         (MAX_CHAR_GREEK): New macro.
3256         (MIN_CHAR_CYRILLIC): New macro.
3257         (MAX_CHAR_CYRILLIC): New macro.
3258         (MIN_CHAR_HEBREW): New macro.
3259         (MAX_CHAR_HEBREW): New macro.
3260         (MIN_CHAR_THAI): New macro.
3261         (MAX_CHAR_THAI): New macro.
3262         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3263         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3264         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3265         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3266         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3267         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3268         (CHAR_FIELD2): New inline function.
3269         (CHAR_FIELD3): New inline function.
3270         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3271         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3272         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3273         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3274         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3275         (MIN_CHAR_COMPOSITION): Likewise.
3276         (CHAR_LEADING_BYTE): Modified for character representation change.
3277         (MAKE_CHAR): Likewise.
3278
3279         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3280         (Vcharset_greek_iso8859_7): Likewise.
3281         (Vcharset_cyrillic_iso8859_5): Likewise.
3282         (Vcharset_hebrew_iso8859_8): Likewise.
3283         (Vcharset_thai_tis620): Likewise.
3284         (Vcharset_katakana_jisx0201): Likewise.
3285
3286 2001-01-17  Martin Buchholz <martin@xemacs.org>
3287
3288         * XEmacs 21.2.41 "Polyhymnia" is released.
3289
3290 2001-01-16  Didier Verna  <didier@xemacs.org>
3291
3292         * glyphs.c (image_instantiate): don't use fallbacks when
3293         instantiating a face's background pixmap by inheritance.
3294
3295 2001-01-14  Mike Sperber <mike@xemacs.org>
3296
3297         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3298         Conditionalize accordingly.
3299
3300 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3301
3302         * dumper.c (pdump_file_get): Fix a compiler warning.
3303
3304 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3305
3306         Make Purify happy when pdumping.
3307         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3308         iniitalizing all bits of new lisp object memory.
3309         * symbols.c (Fmake_local_variable): Likewise.
3310         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3311         * symbols.c (Fdefvaralias): Likewise.
3312         * mule-charset.c (vars_of_mule_charset): Likewise.
3313
3314 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3315         Add the `-nd' flag when running pre-dump operations under the debugger.
3316         * .dbxrc (run-temacs): Add `-nd'.
3317         * .dbxrc (update-elc): Likewise.
3318         * .dbxrc (dump-temacs): Likewise.
3319         * .gdbinit (run-temacs): Likewise.
3320         * .gdbinit (check-temacs): Likewise.
3321         * .gdbinit (update-elc): Likewise.
3322         * .gdbinit (dump-temacs): Likewise.
3323
3324 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3325
3326         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3327         export OBJECT_MODE=64
3328         configure --pdump --use-union-type=no
3329         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3330         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3331
3332         * miscplay.c (sndcnv8U_2mono):
3333         Avoid two uses of `++' in the same expression.
3334         Suppresses a GCC warning.
3335
3336 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3337
3338         Make sure future compilers don't miscompile alloc.c.
3339         * alloc.c:
3340         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3341         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3342
3343 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3344
3345         * dumper.c: A little post-pdump-rename comment fixup.
3346
3347 2001-01-09  Jerry James  <james@eecs.ku.edu>
3348
3349         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3350
3351 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3352
3353         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3354         script:
3355         #!/bin/sh
3356         replace_symbol () {
3357           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3358         }
3359
3360         replace_symbol pdump_wire_lists pdump_weak_object_chains
3361         replace_symbol pdump_wire_list dump_add_weak_object_chain
3362
3363         replace_symbol pdump_wires pdump_root_objects
3364         replace_symbol pdump_wire dump_add_root_object
3365
3366         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3367         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3368
3369         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3370         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3371         replace_symbol dumpstructinfo pdump_root_struct_ptr
3372         replace_symbol dumpstruct dump_add_root_struct_ptr
3373
3374         replace_symbol dumpopaque dump_add_opaque
3375         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3376         replace_symbol dumpopaqueinfos pdump_opaques
3377         replace_symbol dumpopaqueinfo pdump_opaque
3378
3379         replace_symbol nb_structdump nb_root_struct_ptrs
3380         replace_symbol nb_opaquedump nb_opaques
3381
3382         replace_symbol align_table pdump_align_table
3383         replace_symbol dump_header pdump_header
3384
3385         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3386         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3387
3388
3389 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3390
3391         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3392         optimizing bytecount_to_charcount().
3393
3394 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3395
3396         * config.h.in:
3397         (HAVE_DLFCN_H): Removed.
3398         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3399
3400 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3401
3402         Portable dumper maintainability improvements.
3403         * alloc.c (staticpro):
3404         * alloc.c (staticpro_nodump):
3405         * alloc.c (garbage_collect_1):
3406         * alloc.c (reinit_alloc_once_early):
3407         * alloc.c (init_alloc_once_early):
3408         * alloc.c: Move dumper functions to alloc.c.
3409         * dumper.c (pdump_backtrace):
3410         * dumper.c (pdump_dump_structs):
3411         * dumper.c (pdump_dump_opaques):
3412         * dumper.c (pdump_dump_rtables):
3413         * dumper.c (pdump_dump_wired):
3414         * dumper.c (pdump):
3415         * dumper.c (pdump_load_check):
3416         * dumper.c (pdump_load_finish):
3417         * dumper.c (pdump_file_unmap):
3418         * dumper.c (pdump_file_get):
3419         * dumper.c (pdump_resource_free):
3420         * dumper.c (pdump_resource_get):
3421         * dumper.c (pdump_file_free):
3422         * dumper.c (pdump_file_try):
3423         * dumper.c (pdump_load):
3424         Remove fixed size limits on staticpro(), staticpro_nodump(),
3425         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3426         Remove custom code for dumping lrecord_implementations_table - use
3427         dumpopaque instead.
3428         Remove (most of the) custom code for dumping staticpros - dump it
3429         like any other dynarr.
3430
3431         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3432         * dumper.c: Moved functions from alloc.c.
3433         * alloc.c (dumpstruct): Moved to dumper.c.
3434         * alloc.c (dumpopaque): Likewise.
3435         * alloc.c (pdump_wire): Likewise.
3436         * alloc.c (pdump_wire_list): Likewise.
3437
3438         * lisp.h (Dynarr_sizeof): New.
3439         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3440         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3441         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3442
3443         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3444         * lisp.h (dumpopaque): ditto.
3445         * lisp.h (pdump_wire): ditto.
3446         * lisp.h (pdump_wire_list): ditto.
3447
3448 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3449
3450         * make-src-depend (PrintPatternDeps):
3451         Use `sort' to make output independent of perl version.
3452
3453 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3454
3455         Port to Netbsd 1.5.
3456         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3457         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3458
3459 2001-01-03  Didier Verna  <didier@xemacs.org>
3460
3461         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3462         that `focus_frame' is alive before thinking of calling
3463         `redisplay_redraw_cursor' on it.
3464
3465 2001-01-08  Martin Buchholz <martin@xemacs.org>
3466
3467         * XEmacs 21.2.40 is released.
3468
3469 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3470
3471         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3472
3473 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3474
3475         * alloc.c (dbg_valmask): Make const.
3476         * alloc.c (dbg_typemask): Make const.
3477         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3478         * alloc.c (dbg_valbits): Make const.
3479         * alloc.c (dbg_gctypebits): Make const.
3480
3481 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3482
3483         * redisplay-x.c (x_bevel_area):
3484         redisplay.h (struct rune):
3485         Typo fixes in comments.
3486
3487 2001-01-05  Andy Piper  <andy@xemacs.org>
3488
3489         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3490         adjustment.
3491
3492         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3493
3494 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3495
3496         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3497
3498         * mule-ccl.c (stack_idx_of_map_multiple):
3499         Non const global data must not be initialized!
3500         Found by MIYASHITA Hisashi.
3501
3502 2001-01-02  Andy Piper  <andy@xemacs.org>
3503
3504         * frame.c (change_frame_size): make sure frame size is always
3505         marked as changed.
3506
3507         * glyphs.c (image_instance_layout): minor code reuse.
3508
3509         * window.c (Fcurrent_window_configuration): revert previous
3510         change.
3511
3512 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3513
3514         * glyphs.h:
3515         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3516
3517 2000-12-31  Andy Piper  <andy@xemacs.org>
3518
3519         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3520         when widget gets unmapped.
3521
3522         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3523         function. Make sure widgets losing focus don't just drop it.
3524         (handle_focus_event_1): record the widget with focus.
3525
3526 2000-12-31  Andy Piper  <andy@xemacs.org>
3527
3528         * window.c (allocate_window): use
3529         make_image_instance_cache_hash_table.
3530         (make_dummy_parent): ditto.
3531         (Fset_window_configuration): ditto.
3532
3533         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3534
3535         * glyphs.c (process_image_string_instantiator): use
3536         INSTANTIATOR_TYPE.
3537         (get_image_instantiator_governing_domain): ditto.
3538         (normalize_image_instantiator): ditto.
3539         (instantiate_image_instantiator): ditto.
3540         (make_image_instance_1): ditto.
3541         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3542         (instantiator_eq_equal): new function for use with instance hash
3543         tables.
3544         (instantiator_eq_hash): ditto.
3545         (make_image_instance_cache_hash_table): create a suitable hash
3546         table for storing image instances.
3547
3548         * elhash.h (hash_table_weakness): new internal weakness type
3549         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3550         declare new functions.
3551
3552         * elhash.c (finish_marking_weak_hash_tables): introduce yet
3553         another weakness type for glyphs.
3554         (make_standard_lisp_hash_table): new function split out from
3555         make_general_lisp_hash_table.
3556         (make_lisp_hash_table): call make_standard_lisp_hash_table.
3557         (hash_table_instantiate): ditto.
3558         (Fmake_hash_table): ditto.
3559
3560 2000-12-31  Martin Buchholz <martin@xemacs.org>
3561
3562         * XEmacs 21.2.39 is released.
3563
3564 2000-12-29  Andy Piper  <andy@xemacs.org>
3565
3566         * menubar.c (menubar_visible_p_changed): signal the frame changed.
3567
3568         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
3569         the frame has changed so that we pick up geometry changes such as
3570         menubar visibility.
3571
3572 2000-12-28  Andy Piper  <andy@xemacs.org>
3573
3574         * lastfile.c (my_ebss): make a char array so we can pad the
3575         bss. Fixes cygwin unexec.
3576
3577         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
3578
3579 2000-12-26  Andy Piper  <andy@xemacs.org>
3580
3581         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
3582         comments and try and be more precise about a non-/SIGIO world.
3583         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
3584         SIGIO.
3585
3586         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
3587         we don't normalize to zero width or height.
3588
3589 2000-12-24  Andy Piper  <andy@xemacs.org>
3590
3591         * Makefile.in.in (ldflags): add -mwindows when appropriate.
3592
3593 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
3594
3595         * s/sco5.h: SCO 5 has pty support.
3596
3597 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
3598
3599         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
3600         input-method-xlib.c contains whole contents of input-method-xfs.c,
3601         so we can use input-method-xlib.c's code for USE_XFONTSET
3602         using #ifdefs.
3603         * input-method-xfs.c: removed.
3604
3605 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
3606
3607         * file-coding.h (enum coding_category_type): reorder enumerators to
3608         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
3609         (now one greater than largest real coding_category_type enumerator).
3610         * file-coding.c (coding_category_symbol, coding_category_by_priority,
3611         coding_category_system, fcd_descriptihon_1, decode_coding_category,
3612         Fcoding_category_list, Fset_coding_priority_list,
3613         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
3614         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
3615
3616 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3617
3618         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
3619         * redisplay-output.c (redisplay_output_window): Clear top of window
3620         when face is changed.
3621         * redisplay-x.c (x_redraw_exposed_window): Call
3622         redisplay_clear_top_of_window.
3623         * redisplay.h: Publish redisplay_clear_top_of_window.
3624
3625 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3626
3627         * buffer.c (Fkill_buffer): Map over all devices.
3628         * window.c (window_loop): Remove UNSHOW_BUFFER code.
3629         (list_windows): New function.
3630         (list_all_windows): Ditto.
3631         (Freplace_buffer_in_windows): Use them.
3632
3633 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3634
3635         * database.c (berkdb_subtype): Recognize new subtype `queue'.
3636         (Fopen_database): Use `db_create' instead of `db_open'.
3637         (syms_of_database): Initialize Qqueue.
3638
3639 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3640
3641         * buffer.c (common_init_complex_vars_of_buffer): Initialize
3642         buffer_local_face_property.
3643         * buffer.h (struct buffer): New member buffer_local_face_property.
3644         * window.c (Fset_window_buffer):  Mark window's face as changed
3645         when buffer has buffer local face.
3646         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
3647         * objects.c (color_after_change): Set buffer_local_face_property
3648         when locale of face specifier is buffer.
3649         * objects.c (font_after_change): Ditto.
3650         * objects.c (face_boolean_after_change): Ditto.
3651         * glyphs.c (image_after_change): Ditto.
3652
3653 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3654
3655         * nt.c (mswindows_fstat): Report file permissions, volume serial
3656         number, etc. Code adapted from FSF Emacs 20.7.
3657
3658 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3659
3660         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
3661         of stat when we don't have symbolic links, to make sure
3662         mswindows_stat is called on mswindows.
3663
3664 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
3665
3666         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
3667
3668 2000-12-12  Martin Buchholz  <martin@xemacs.org>
3669
3670         * doprnt.c (emacs_doprnt_1): More printing fixes.
3671         Make printing of numbers compatible with libc and FSF Emacs.
3672         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
3673         Use the system printf to do most of the hard work of formatting,
3674         instead of doprnt_1().
3675         Calculate memory to allocate for format string.
3676         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
3677         (doprnt_1): Cleaner code and documentation.
3678
3679 2000-12-01  Jerry James  <james@eecs.ukans.edu>
3680
3681         * Makefile.in.in: Use the loop variable to install headers.
3682
3683 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3684
3685         * window.c (Fsplit_window): Don't invalidate face cache.
3686
3687 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3688
3689         * minibuf.c (Fall_completions): Undo the previous change
3690         which removed checking elements start with space.
3691
3692 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3693
3694         * mule-canna.c: Didier suppression.
3695
3696 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3697
3698         * mule-canna.c: rename static unsigned char buf[] to key_buffer
3699         (warning suppression).  Add English comment translations.
3700
3701 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3702
3703         * unexelfsgi.c (unexec): Better test for mmap failure.
3704
3705 2000-12-05  Martin Buchholz <martin@xemacs.org>
3706
3707         * XEmacs 21.2.38 is released.
3708
3709 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3710
3711         * redisplay.c (bar-cursor): Make a user variable.
3712
3713         * symsinit.h: Add init_postgresql_from_environment.
3714
3715 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3716
3717         * regex.c: Convert to clean C.
3718
3719 2000-12-05  Dan Holmsand  <dan@eyebee.com>
3720
3721         * realpath.c:
3722         Don't #include sysfile.h. Revert to duplicating PATH_MAX
3723         initialization.
3724         (sys_readlink): renamed to system_readlink to avoid conflict with
3725         the other sys_readlink.
3726
3727 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
3728
3729         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
3730
3731 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
3732
3733         * postgresql.c (init_postgresql_from_environment): new function.
3734         (vars_of_postgresql): Move code initializing Lisp variables out and
3735         into init_postgresql_from_environment.
3736         emacs.c (main_1): Call init_postgresql_from_environment if and only
3737         if running a dumped XEmacs.
3738
3739 2000-08-31  Dan Holmsand  <dan@eyebee.com>
3740
3741         * buffer.c: Make find-file-compare-truenames default to true on
3742         windows.
3743
3744         * realpath.c (win32_abs_start):
3745         (cygwin_readlink):
3746         (win32_readlink): New functions.
3747         (xrealpath): Return really real filenames on windows.
3748
3749         * fileio.c (Ffile_truename): Make file-truename work on windows.
3750
3751 2000-11-29  Didier Verna  <didier@xemacs.org>
3752
3753         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
3754         * faces.c (update_face_cachel_data): use it.
3755         * faces.c (add_face_cachel): use it. Complete background pixmap
3756         frobbing in face cache if `update_face_cachel_data' has not done so.
3757
3758 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
3759
3760         * search.c (string_match_1): Don't set last_thing_searched
3761         when search failed.
3762
3763 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
3764
3765         * buffer.c: Include casetab.h
3766         (common_init_complex_vars_of_buffer): Use new case-table object.
3767         * buffer.h: Include casetab.h
3768         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
3769         (DOWNCASE_TABLE_OF): Ditto.
3770         * bufslots.h: Remove char-tables and add case-table.
3771         * casetab.c: Include casetab.h
3772         (CASE_TABLE_P): Removed.
3773         (mark_case_table): New function.
3774         (allocate_case_table): New function.
3775         (Fcase_table_p): Use new case-table.
3776         (case_table_char): New function.
3777         (Fget_case_table): Ditto.
3778         (Fput_case_table): Ditto.
3779         (Fput_case_table_pair): Ditto.
3780         (Fcopy_case_table): Ditto.
3781         (Fcurrent_case_table): Return case-table.
3782         (Fstandard_case_table): Return case-table.
3783         (Fset_case_table): Fix doc-string.
3784         (set_case_table): Use case-table
3785         (syms_of_casetab): DEFSUBR new functions.
3786         (complex_vars_of_casetab): Set up standard case-table.
3787         * casetab.h: New file.
3788         * editfns.c: Include casetab.h
3789         (Fcompare_buffer_substrings): Use case-table.
3790         * inline.c: Include casetab.h
3791         * lisp.h: Remove bogus extern.
3792         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
3793         * search.c: Include casetab.h
3794         (TRANSLATE_ASCII): Removed.
3795         (TRANSLATE): Unconditionally translate character.
3796         (looking_at_1): Use case-table.
3797         (string_match_1): Ditto.
3798         (fast_string_match): Ditto.
3799         (search_command): Ditto.
3800         (search_buffer): Separate boyer_moore.  Check whether
3801         boyer_moore is poosible.
3802         (simple_search): New function.
3803         (boyer_moore): Separated from search_buffer. Translate char.
3804
3805 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
3806
3807         * regex.c (RE_TR_ASCII): Removed.
3808         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
3809         (PATFETCH): Call PATFETCH_RAW.
3810         (PATFETCH_RAW): Fetch Emchar.
3811         (PATUNFETCH): Decrement charptr.
3812         (GET_BUFFER_SPACE): Rename b to buf_end.
3813         (BUF_PUSH): Ditto.
3814         (BUF_PUSH_2): Ditto.
3815         (BUF_PUSH_3): Ditto.
3816         (EXTEND_BUFFER): Ditto.
3817         (SET_LIST_BIT): Ditto.
3818         (regex_compile): Ditto.  Translate non ASCII char.
3819         (compile_range): Ditto.
3820         (re_search_2): Ditto.
3821         (re_match_2_internal): Compare Emchar.
3822         (bcmp_translate): Ditto.
3823
3824 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
3825
3826         * lisp.h (basic char/int typedefs):  comment improvement.
3827
3828 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
3829
3830         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
3831         unstomp inhibit_site_lisp.  Improve comments.
3832
3833 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
3834
3835         * mule-charset.c (Fcharset_property):  improve type checking, comments.
3836
3837 2000-11-28  Andy Piper  <andy@xemacs.org>
3838
3839         * redisplay-output.c (redisplay_output_subwindow): make sure we do
3840         clipped display for windows in the gutter also.
3841         (redisplay_display_boxes_in_window_p): change semantics of return
3842         codes to be more intuitive.
3843
3844         * gutter.h: declare display_boxes_in_gutter_p.
3845
3846         * gutter.c (display_boxes_in_gutter_p): new function for
3847         redisplay.
3848
3849 2000-11-22  Andy Piper  <andy@xemacs.org>
3850
3851         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
3852         autodetect domain.
3853
3854 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
3855
3856         * callproc.c (Fold_call_process_internal):
3857         * gpm.c (Freceive_gpm_event):
3858         (tty_get_foreign_selection): Might be just warning supression.
3859         * fileio.c (Fwrite_region_internal):
3860         (Fset_visited_file_modtime):
3861         * keymap.c (event_matches_key_specifier_p):
3862         Initialize GCPROed variable.
3863
3864         * menubar-x.c (command_builder_find_menu_accelerator):
3865         Initialize before use.
3866
3867 2000-11-23  Andy Piper  <andy@xemacs.org>
3868
3869         * unexcw.c (unexec): make the resulting executable executable.
3870
3871 2000-11-21  Martin Buchholz  <martin@xemacs.org>
3872
3873         * doc.c (get_doc_string):
3874         Use size_t, not int, for result of XSTRING_LENGTH.
3875
3876         * cmds.c (Fdelete_char):
3877         * cmds.c (Fpoint_at_eol):
3878         * cmds.c (Fself_insert_command):
3879         Use EMACS_INT, not int, for result of XINT.
3880         Someday, someone will want to insert more than 2**31 identical characters.
3881
3882         * cmds.c (Fdelete_char):
3883         * cmds.c (Fdelete_backward_char):
3884         * syntax.c (Fforward_word):
3885         * syntax.c (Fforward_comment):
3886         Make COUNT argument optional, for consistency with forward-char et al.
3887
3888 2000-11-22  Martin Buchholz  <martin@xemacs.org>
3889
3890         * lisp.h:
3891         * print.c (long_to_string):
3892         Return a useful value: the pointer at end of data written.
3893
3894         * doprnt.c:
3895         Use `static const char * const' for constant strings.
3896         (union printf_arg): Delete `i', `ui' members.
3897         (get_doprnt_args):
3898         (emacs_doprnt_1):
3899         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
3900         Do all printf-ing via the `l' specifier.
3901         Use EMACS_INT instead of int.
3902         Optimize.
3903
3904 2000-11-20  Didier Verna  <didier@xemacs.org>
3905
3906         * faces.c (update_face_cachel_data): don't frob the background
3907         pixmap when the window is being created. The face is needed but
3908         does not exist yet.
3909
3910 2000-11-20  Andy Piper  <andy@xemacs.org>
3911
3912         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
3913         messing with a debug environment.
3914
3915 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3916
3917         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
3918
3919 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3920
3921         * casetab.c (Fcase_table_p): Fix compile error and crash.
3922
3923 2000-11-18  Philip Aston  <philipa@mail.com>
3924
3925         * s/cygwin32.h: Cygwin has SVR4-like pty support.
3926
3927 2000-11-18  Martin Buchholz  <martin@xemacs.org>
3928
3929         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
3930         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
3931
3932 2000-11-17  Martin Buchholz  <martin@xemacs.org>
3933
3934         * config.h.in: Define HAVE_ELF_H if elf.h exists.
3935         * unexelf.c: Use HAVE_ELF_H.
3936         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
3937         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
3938         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
3939         Greg Harrington <greg_harrington@hotmail.com> provided a machine
3940         for testing.
3941         So this is an unexelfsgi.c from a different line of development.
3942
3943 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3944
3945         * regex.c (RE_TR_ASCII): New function.
3946         (RE_TRANSLATE): Call it.
3947
3948 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3949
3950         * buffer.h (TRT_TABLE_OF): Remove assert.
3951         (IN_TRT_TABLE_DOMAIN): Removed.
3952
3953 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
3954
3955         * free-hook.c (log_gcpro):
3956         (show_gcprohist): Add support for GCPRO5.
3957
3958 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
3959
3960         * emacs.c (main_1): Improve -sd error message when --pdump=no.
3961
3962 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
3963
3964         * symeval.h: Declare flush_all_buffer_local_cache.
3965
3966         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
3967         (flush_buffer_local_cache): Added.
3968         (flush_all_buffer_local_cache): Added.
3969
3970         * lrecord.h: Remove unused XD_LO_RESET_NIL.
3971
3972         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
3973         (pdump_dump_data): Ditto.
3974         (pdump_reloc_one): Ditto.
3975         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
3976         before dumping.
3977
3978
3979 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
3980
3981         * buffer.c: Remove if 0'ed entry.
3982         * buffer.h: Rewrite TRT to use char-table.
3983         * bufslots.h: Remove mirror tables.
3984         * casetab.c: Remove mirror tables.
3985         (CASE_TABLE_P): New macro.
3986         (Fcase_table_p): Element of a case table is string or char-table.
3987         (make_mirror_trt_table): Removed.
3988         (set_case_table): Setup char-table from strings for backward
3989         compatibility.
3990         * dired.c (Fdirectory_files):
3991         * dired-msw.c: (mswindows_get_files):
3992         * lisp.h: Change prototype of re_pattern_buffer.
3993         * regex.c: (RE_TRANSLATE): New macro.
3994         (TRANSLATE_P): Ditto.
3995         Change translate to type RE_TRANSLATE_TYPE.
3996         * regex.h: Define RE_TRANSLATE_TYPE
3997         * search.c (TRANSLATE): New macro.
3998         (TRANSLATE_ASCII): New macro.
3999         Translate table is changed to Lisp_Object.
4000         (signal_failure): Inhibit return.
4001
4002 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4003
4004         * device-msw.c:
4005         * eldap.c:
4006         * event-Xt.c:
4007         * event-stream.c:
4008         * print.c:
4009         Do UNGCPRO before return.
4010
4011 2000-11-14  Martin Buchholz <martin@xemacs.org>
4012
4013         * XEmacs 21.2.37 is released.
4014
4015 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4016
4017         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4018         Add comments about discarded return value.
4019
4020 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4021
4022         * callint.c:
4023         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4024
4025 2000-10-27  Andy Piper  <andy@xemacs.org>
4026
4027         * gutter.c (Fset_default_gutter_position): default left and right
4028         gutters to visible.
4029         (calculate_gutter_size): calculate resonable heuristic for left
4030         and right gutter sizes.
4031         (specifier_vars_of_gutter): change left and right gutter sizes to
4032         autodetect.
4033         (calculate_gutter_size_from_display_lines): new function.
4034         (output_gutter): check for resizing on left and right gutters.
4035         (clear_gutter): don't special case top and left gutters.
4036         (specifier_vars_of_gutter): use new signature for
4037         set_specifier_caching.
4038
4039         * glyphs-x.c (x_redisplay_widget): spelling fix.
4040         * glyphs.c (specifier_vars_of_glyphs):
4041         * menubar.c (specifier_vars_of_menubar):
4042         * redisplay.c (specifier_vars_of_redisplay):
4043         * toolbar.c (specifier_vars_of_toolbar):
4044         * window.c (specifier_vars_of_window):
4045         * scrollbar.c (specifier_vars_of_scrollbar):
4046         (complex_vars_of_scrollbar): use new signature for
4047         set_specifier_caching.
4048
4049         * specifier.c (set_specifier_caching): include recompute flag.
4050         (recompute_one_cached_specifier_in_window): always recompute if
4051         flag set.
4052         (recompute_one_cached_specifier_in_frame): ditto.
4053
4054         * specifier.h (struct specifier_caching): add recompute flag.
4055
4056 2000-10-24  Andy Piper  <andy@xemacs.org>
4057
4058         * unexcw.c (copy_executable_and_dump_data_section): add new
4059         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4060         5.0 happy.
4061
4062 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4063
4064         * console-x.h (x_device): New member modifier_release_time.
4065         * event-Xt.c (x_handle_sticky_modifiers):
4066         Bound interval modifier keys are sticky.
4067         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4068         * events.h: extern it.
4069
4070 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4071
4072         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4073
4074 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4075
4076         * event-stream.c (execute_command_event): Preserve current_events
4077         and the like when event is misc-user-event.
4078         Inhibit quit during the call to maybe_echo_keys.
4079
4080 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4081
4082         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4083         symlink when buffer is killed.
4084         (inhibit_clash_detection): New variable.
4085
4086 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4087
4088         * console.c (Fset_input_method): Trigger redisplay on tty.
4089
4090 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4091
4092         * process.c (Fprocess_status): Revert to previous behavior:
4093         (process-status "nosuchprocess") ==> nil
4094
4095 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4096
4097         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4098         Work around another GCC 2.95.2 optimizer bug.
4099
4100 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4101
4102         * process.c (Fget_process): Use LIST_LOOP_2.
4103         (kill_buffer_processes): Use LIST_LOOP_2.
4104
4105         * minibuf.c (Fall_completions):
4106         Delete old non-functional code for FSF fourth argument.
4107
4108         * frame.c (frame_matches_frame_spec):
4109         Renamed from `frame_matches_frametype'.  Update all callers.
4110         (device_matches_device_spec):
4111         Renamed from 'device_matches_console_spec'.  Update all callers.
4112
4113         * doc.c (Fsubstitute_command_keys):
4114         Remove buffer overflow crash.  Small code cleanups.
4115
4116         * casetab.c (check_case_table): Simpler code.
4117
4118         * window.c (Freplace_buffer_in_windows):
4119         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4120         (and similar implementation) as Fdelete_windows_on.
4121         Update all callers.
4122
4123         * alloc.c (Fmake_list):
4124         * alloc.c (make_vector):
4125         * alloc.c (Fmake_vector):
4126         * alloc.c (make_bit_vector):
4127         * alloc.c (Fmake_bit_vector):
4128         * alloc.c (Fbit_vector):
4129         * alloc.c (Fmake_string):
4130         * alloc.c (Fpurecopy):
4131         * alloc.c (Fmemory_limit):
4132         * buffer.c:
4133         * buffer.c (Fget_buffer):
4134         * buffer.c (Fkill_buffer):
4135         * buffer.c (complex_vars_of_buffer):
4136         * bytecode.c (Fcompiled_function_stack_depth):
4137         * callint.c (Fprefix_numeric_value):
4138         * event-stream.c:
4139         * event-stream.c (Fread_key_sequence):
4140         * casetab.c:
4141         * casetab.c (Fcase_table_p):
4142         * casetab.c (check_case_table):
4143         * casetab.c (Fset_case_table):
4144         * casetab.c (Fset_standard_case_table):
4145         * chartab.c:
4146         * chartab.c (Fchar_table_type):
4147         * chartab.c (Freset_char_table):
4148         * chartab.c (Fget_char_table):
4149         * chartab.c (Fget_range_char_table):
4150         * chartab.c (Fput_char_table):
4151         * chartab.c (Fmap_char_table):
4152         * chartab.c (Fcategory_table_p):
4153         * chartab.c (Fcheck_category_at):
4154         * chartab.c (Fchar_in_category_p):
4155         * chartab.c (Fcategory_table):
4156         * chartab.c (Fcopy_category_table):
4157         * chartab.c (Fset_category_table):
4158         * chartab.c (Fcategory_designator_p):
4159         * chartab.c (Fcategory_table_value_p):
4160         * cmds.c (Fdelete_char):
4161         * cmds.c (Fdelete_backward_char):
4162         * cmds.c (Fself_insert_command):
4163         * cmds.c (Fself_insert_internal):
4164         * console.c (Fvalid_console_type_p):
4165         * console.c (Fcdfw_console):
4166         * console.c (Fconsole_type):
4167         * console.c (Fconsole_name):
4168         * console.c (Fconsole_device_list):
4169         * console.c (Fconsole_on_window_system_p):
4170         * data.c:
4171         * data.c (Feq):
4172         * data.c (Fold_eq):
4173         * data.c (Fsubr_interactive):
4174         * data.c (Fchar_to_int):
4175         * data.c (Fint_to_char):
4176         * data.c (Fsetcar):
4177         * data.c (Fsetcdr):
4178         * data.c (Fnumber_to_string):
4179         * data.c (Fstring_to_number):
4180         * data.c (Frem):
4181         * database.c (mark_database):
4182         * database.c (finalize_database):
4183         * database.c (Fdatabase_live_p):
4184         * database.c (Fdatabasep):
4185         * device-x.c (Fx_get_resource):
4186         * device.c (Fdfw_device):
4187         * dired.c:
4188         * dired.c (Ffile_name_completion):
4189         * dired.c (Ffile_name_all_completions):
4190         * dired.c (Fuser_name_completion):
4191         * dired.c (Fuser_name_completion_1):
4192         * dired.c (Fuser_name_all_completions):
4193         * doc.c (Fdocumentation):
4194         * doc.c (Fdocumentation_property):
4195         * doc.c (Fsubstitute_command_keys):
4196         * editfns.c:
4197         * editfns.c (Fchar_to_string):
4198         * editfns.c (Fstring_to_char):
4199         * editfns.c (Ftemp_directory):
4200         * editfns.c (Finsert_char):
4201         * editfns.c (Fbuffer_substring_no_properties):
4202         * editfns.c (Fnarrow_to_region):
4203         * editfns.c (Fchar_equal):
4204         * editfns.c (Fchar_Equal):
4205         * editfns.c (Ftranspose_regions):
4206         * emacs.c (Fdump_emacs):
4207         * eval.c (Fthrow):
4208         * eval.c (Fcommand_execute):
4209         * eval.c (Fautoload):
4210         * eval.c (Fbacktrace):
4211         * eval.c (Fbacktrace_frame):
4212         * events.c:
4213         * events.c (Fcopy_event):
4214         * events.c (Fcharacter_to_event):
4215         * events.c (Fevent_button):
4216         * events.c (Fevent_process):
4217         * extents.c:
4218         * extents.c (Fnext_extent_change):
4219         * extents.c (Fextent_property):
4220         * faces.c (Ffacep):
4221         * faces.c (Fmake_face):
4222         * file-coding.c:
4223         * file-coding.c (Fencode_shift_jis_char):
4224         * file-coding.c (Fencode_big5_char):
4225         * fileio.c (Ffile_name_directory):
4226         * fileio.c (Ffile_name_nondirectory):
4227         * fileio.c (Ffile_name_as_directory):
4228         * fileio.c (Fdirectory_file_name):
4229         * fileio.c (Ffile_truename):
4230         * fileio.c (Fsubstitute_in_file_name):
4231         * fileio.c (Ffile_modes):
4232         * fileio.c (Fset_file_modes):
4233         * fileio.c (Fset_default_file_modes):
4234         * fileio.c (Fverify_visited_file_modtime):
4235         * floatfns.c (Facos):
4236         * floatfns.c (Fasin):
4237         * floatfns.c (Fatan):
4238         * floatfns.c (Fcos):
4239         * floatfns.c (Fsin):
4240         * floatfns.c (Ftan):
4241         * floatfns.c (Fbessel_j0):
4242         * floatfns.c (Fbessel_j1):
4243         * floatfns.c (Fbessel_jn):
4244         * floatfns.c (Fbessel_y0):
4245         * floatfns.c (Fbessel_y1):
4246         * floatfns.c (Fbessel_yn):
4247         * floatfns.c (Ferf):
4248         * floatfns.c (Ferfc):
4249         * floatfns.c (Flog_gamma):
4250         * floatfns.c (Fexp):
4251         * floatfns.c (Fexpt):
4252         * floatfns.c (Flog):
4253         * floatfns.c (Flog10):
4254         * floatfns.c (Fsqrt):
4255         * floatfns.c (Fcube_root):
4256         * floatfns.c (Facosh):
4257         * floatfns.c (Fasinh):
4258         * floatfns.c (Fatanh):
4259         * floatfns.c (Fcosh):
4260         * floatfns.c (Fsinh):
4261         * floatfns.c (Ftanh):
4262         * floatfns.c (Fabs):
4263         * floatfns.c (Ffloat):
4264         * floatfns.c (Flogb):
4265         * floatfns.c (Fceiling):
4266         * floatfns.c (Ffloor):
4267         * floatfns.c (Fround):
4268         * floatfns.c (Ftruncate):
4269         * floatfns.c (Ffceiling):
4270         * floatfns.c (Fffloor):
4271         * floatfns.c (Ffround):
4272         * floatfns.c (Fftruncate):
4273         * fns.c (Fstring_equal):
4274         * fns.c (Fstring_lessp):
4275         * fns.c (concat2):
4276         * fns.c (concat3):
4277         * fns.c (vconcat2):
4278         * fns.c (vconcat3):
4279         * fns.c (Fsubstring):
4280         * fns.c (Fassoc):
4281         * fns.c (Fold_assoc):
4282         * fns.c (assoc_no_quit):
4283         * fns.c (Fassq):
4284         * fns.c (Fold_assq):
4285         * fns.c (assq_no_quit):
4286         * fns.c (Frassoc):
4287         * fns.c (Fold_rassoc):
4288         * fns.c (Frassq):
4289         * fns.c (Fold_rassq):
4290         * fns.c (rassq_no_quit):
4291         * fns.c (Fremassoc):
4292         * fns.c (remassoc_no_quit):
4293         * fns.c (Fremassq):
4294         * fns.c (remassq_no_quit):
4295         * fns.c (Fremrassoc):
4296         * fns.c (Fremrassq):
4297         * fns.c (remrassq_no_quit):
4298         * fns.c (Fsort):
4299         * fns.c (Fplist_get):
4300         * fns.c (Fplist_put):
4301         * fns.c (Fplist_remprop):
4302         * fns.c (Fplist_member):
4303         * fns.c (Flax_plist_get):
4304         * fns.c (Flax_plist_put):
4305         * fns.c (Flax_plist_remprop):
4306         * fns.c (Flax_plist_member):
4307         * fns.c (Fequal):
4308         * fns.c (Fold_equal):
4309         * fns.c (Frequire):
4310         * fns.c (Fbase64_encode_region):
4311         * fns.c (Fbase64_encode_string):
4312         * fns.c (Fbase64_decode_region):
4313         * frame.c:
4314         * frame.c (frame_matches_frame_spec):
4315         * frame.c (device_matches_device_spec):
4316         * frame.c (next_frame):
4317         * frame.c (previous_frame):
4318         * frame.c (Fnext_frame):
4319         * frame.c (Fprevious_frame):
4320         * frame.c (Fframe_property):
4321         * frame.c (Fset_frame_height):
4322         * frame.c (Fset_frame_size):
4323         * frame.h:
4324         * glyphs.c:
4325         * glyphs.c (if):
4326         * glyphs.c (decode_error_behavior_flag):
4327         * glyphs.c (Fmake_image_instance):
4328         * indent.c (Findent_to):
4329         * intl.c (Fignore_defer_gettext):
4330         * keymap.c (Fkeymapp):
4331         * keymap.c (Flookup_key):
4332         * lread.c:
4333         * lread.c (Fload_internal):
4334         * lread.c (Feval_buffer):
4335         * lread.c (Feval_region):
4336         * macros.c (Fexecute_kbd_macro):
4337         * marker.c (set_marker_internal):
4338         * marker.c (Fset_marker):
4339         * marker.c (set_marker_restricted):
4340         * marker.c (Fcopy_marker):
4341         * marker.c (noseeum_copy_marker):
4342         * menubar.c:
4343         * menubar.c (Fpopup_menu):
4344         * minibuf.c:
4345         * mule-charset.c (Fcharset_name):
4346         * mule-charset.c (Fchar_charset):
4347         * mule-charset.c (Fchar_octet):
4348         * mule-charset.c (Fsplit_char):
4349         * mule-wnnfns.c (Fwnn_open):
4350         * mule-wnnfns.c (Fwnn_dict_comment):
4351         * mule-wnnfns.c (Fwnn_quit_henkan):
4352         * mule-wnnfns.c (Fwnn_word_toroku):
4353         * mule-wnnfns.c (Fwnn_word_sakujo):
4354         * mule-wnnfns.c (Fwnn_word_use):
4355         * mule-wnnfns.c (Fwnn_hindo_set):
4356         * objects.c:
4357         * objects.c (Fmake_color_instance):
4358         * objects.c (Fmake_font_instance):
4359         * print.c (Fwrite_char):
4360         * process.c:
4361         * process.c (mark_process):
4362         * process.c (print_process):
4363         * process.c (get_process_from_usid):
4364         * process.c (Fprocessp):
4365         * process.c (Fprocess_live_p):
4366         * process.c (Fget_process):
4367         * process.c (Fget_buffer_process):
4368         * process.c (get_process):
4369         * process.c (Fprocess_id):
4370         * process.c (Fprocess_name):
4371         * process.c (Fprocess_command):
4372         * process.c (init_process_io_handles):
4373         * process.c (start_process_unwind):
4374         * process.c (Fstart_process_internal):
4375         * process.c (Fopen_multicast_group_internal):
4376         * process.c (Fset_process_window_size):
4377         * process.c (read_process_output):
4378         * process.c (send_process):
4379         * process.c (Fprocess_tty_name):
4380         * process.c (Fset_process_buffer):
4381         * process.c (Fprocess_buffer):
4382         * process.c (Fprocess_mark):
4383         * process.c (set_process_filter):
4384         * process.c (Fset_process_filter):
4385         * process.c (Fprocess_filter):
4386         * process.c (Fprocess_send_region):
4387         * process.c (Fprocess_send_string):
4388         * process.c (exec_sentinel):
4389         * process.c (Fset_process_sentinel):
4390         * process.c (Fprocess_sentinel):
4391         * process.c (status_notify):
4392         * process.c (Fprocess_status):
4393         * process.c (Fprocess_exit_status):
4394         * process.c (process_send_signal):
4395         * process.c (Fprocess_send_eof):
4396         * process.c (deactivate_process):
4397         * process.c (remove_process):
4398         * process.c (Fdelete_process):
4399         * process.c (kill_buffer_processes):
4400         * process.c (Fprocess_kill_without_query):
4401         * process.c (Fprocess_kill_without_query_p):
4402         * rangetab.c:
4403         * rangetab.c (Fget_range_table):
4404         * rangetab.c (Fput_range_table):
4405         * rangetab.c (Fremove_range_table):
4406         * rangetab.c (Fclear_range_table):
4407         * search.c:
4408         * search.c (Fskip_chars_forward):
4409         * search.c (Fskip_chars_backward):
4410         * search.c (Fskip_syntax_forward):
4411         * search.c (Fskip_syntax_backward):
4412         * search.c (search_command):
4413         * search.c (Freplace_match):
4414         * search.c (Fregexp_quote):
4415         * select.c (Fown_selection_internal):
4416         * select.c (Fselection_owner_p):
4417         * select.c (Fselection_exists_p):
4418         * select.c (Fget_selection_internal):
4419         * specifier.c:
4420         * symbols.c:
4421         * symbols.c (Fintern):
4422         * symbols.c (Fintern_soft):
4423         * symbols.c (Funintern):
4424         * symbols.c (Fapropos_internal):
4425         * symbols.c (Fset_default):
4426         * syntax.c:
4427         * syntax.c (Fsyntax_table_p):
4428         * syntax.c (Fcopy_syntax_table):
4429         * syntax.c (Fset_syntax_table):
4430         * syntax.c (Fchar_syntax):
4431         * syntax.c (syntax_match):
4432         * syntax.c (Fmatching_paren):
4433         * syntax.c (Fforward_word):
4434         * syntax.c (scan_lists):
4435         * syntax.c (Fscan_lists):
4436         * syntax.c (Fscan_sexps):
4437         * syntax.c (Fparse_partial_sexp):
4438         * toolbar.c (Fcheck_toolbar_button_syntax):
4439         * tooltalk.doc:
4440         * window.c:
4441         * window.c (Fwindowp):
4442         * window.c (Fwindow_live_p):
4443         * window.c (Fwindow_point):
4444         * window.c (Fdelete_window):
4445         * window.c (Fnext_window):
4446         * window.c (Fprevious_window):
4447         * window.c (Fother_window):
4448         * window.c (window_loop):
4449         * window.c (Fget_lru_window):
4450         * window.c (Fsplit_window):
4451         * window.c (Fenlarge_window):
4452         * window.c (Fenlarge_window_pixels):
4453         * window.c (Fshrink_window):
4454         * window.c (Fshrink_window_pixels):
4455         * window.c (change_window_height):
4456         * window.c (Fwindow_configuration_p):
4457         * window.c (Fcurrent_window_configuration):
4458         * window.h:
4459         * casefiddle.c (casify_object):
4460         * casefiddle.c (Fupcase):
4461         * casefiddle.c (Fdowncase):
4462         * casefiddle.c (Fcapitalize):
4463         * casefiddle.c (Fupcase_initials):
4464         * casefiddle.c (casify_region_internal):
4465         * casefiddle.c (casify_region):
4466         * casefiddle.c (Fupcase_region):
4467         * casefiddle.c (Fdowncase_region):
4468         * casefiddle.c (Fcapitalize_region):
4469         * casefiddle.c (Fupcase_initials_region):
4470         * casefiddle.c (Fupcase_word):
4471         * casefiddle.c (Fdowncase_word):
4472         * casefiddle.c (Fcapitalize_word):
4473         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4474         Replace 0 with '\0' when working with bytes.
4475         Replace initial "(" with "\(" in docstrings.
4476
4477 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4478
4479         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4480
4481         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4482
4483 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4484
4485         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4486
4487 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4488
4489         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4490         correctly.
4491
4492 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4493
4494         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4495         (inhibit_auto_save_session): New variable.
4496         (vars_of_fileio): Declare and initialize them.
4497         * fileio.c (Fdo_auto_save): Don't create session file if
4498         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4499
4500 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4501
4502         * sgiplay.c (play_internal): C++ compilability.
4503         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4504         * callproc.c (Fold_call_process_internal):
4505         Remove unused vars `env', `first'.
4506         * scrollbar.c (update_scrollbar_instance):
4507         #### unused var `current_window'.
4508         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4509         etc. within #ifdef NOT_YET.
4510         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4511         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4512         * specifier.c (specifier_instance):
4513         #### unused var `tag'.
4514         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4515
4516 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4517
4518         * fns.c (Fbutlast):
4519         * fns.c (list_sort):
4520         * fns.c (Ffillarray):
4521         * fns.c (bytecode_nconc2):
4522         * fns.c (Fnconc):
4523         * fns.c (mapcar1):
4524         * fns.c (Fmapconcat):
4525         Be pedantically 64-bit correct.  For the time when someone will
4526         want to have a list with length > 2**32.
4527
4528         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4529         Work around MIPSpro compiler bug.
4530
4531         * process-unix.c (unix_kill_child_process): Add snarky comment.
4532         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4533
4534         * config.h.in: Oops, _getpt ==> _getpty
4535
4536 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4537
4538         * config.h.in:
4539         * regex.c:
4540         Use void*, not char*, as return type of alloca().
4541
4542         * alloc.c (free_marker): Side effect inside assert expression!
4543
4544 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4545
4546         * mule-charset.c (Fset_charset_ccl_program): To check
4547         if the given ccl program is valid, use setup_ccl_program()
4548         instead of CHECK_VECTOR().
4549         (Fmake_charset): Likewise.
4550
4551 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4552
4553         * faces.c (get_extent_fragment_face_cache_index):
4554         Fix cachel.merged_faces memory leak.
4555
4556 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
4557
4558         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
4559         Reset MSB of octets obtained by DECODE_SJIS
4560         because of the incompatibility with Emacs.
4561         (ccl_driver)<CCL_ENCODE_SJIS>:
4562         Set MSB of octets before passing them to
4563         ENCODE_SJIS because of the incompatibility
4564         with Emacs.
4565
4566 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
4567
4568         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
4569         (DECLARE_LRECORD): Undo the last change.
4570         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
4571
4572 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
4573
4574         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
4575         the implementation to lrecord_implementations_table.
4576
4577 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
4578
4579         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
4580         initial value of `lrecord_type_##c_name' and
4581         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
4582         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
4583         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
4584         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
4585         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
4586
4587 2000-10-17  Martin Buchholz  <martin@xemacs.org>
4588
4589         * miscplay.c (sndcnv8S_2mono):
4590         (sndcnv2monounsigned):
4591         (sndcnvULaw_2linear):
4592         (sndcnv16swap):
4593         Remove implementation-defined behavior.
4594
4595 2000-10-12  Martin Buchholz  <martin@xemacs.org>
4596
4597         * input-method-xlib.c: Warning suppression.
4598
4599 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
4600
4601         * mule-ccl.c: Sync up with Emacs 21.0.90.
4602         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
4603         Do nothing.
4604         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
4605         Likewise.
4606         (ccl_driver[WriteMultibyteChar2]): Bug fix.
4607         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
4608         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
4609         leading char belongs to official 2-dimensional charset.
4610         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
4611         write the given character as is.  Otherwise,
4612         if it is a multibyte char, convert it by
4613         non_ascii_set_charptr_emchar, then write it.
4614         (CCL_WRITE_STRING): Likewise.
4615         (ccl_get_compiled_code): New function.
4616         (setup_ccl_program): When ccl_prog is invalid,
4617         return -1.
4618         (Fregister_code_conversion_map): New function.
4619         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
4620
4621         * mule-ccl.h: Sync up with Emacs 21.0.90.
4622         (Fregister_ccl_program): export it.
4623
4624         * redisplay-msw.c (separate_textual_runs):
4625         If ccl program is not valid, don't do ccl conversion.
4626
4627         * redisplay-x.c (separate_textual_runs): Ditto.
4628
4629         * file-coding.c (Fmake_coding_system):
4630         When type is ccl and value is vector, register it
4631         with a proper symbol.  And checks whether the
4632         given ccl program is valid.
4633         (mule_decode): When calling ccl_driver, if src indicates
4634         NULL pointer, set an empty string instead.
4635         (mule_encode): Likewise.
4636
4637 2000-10-11  Martin Buchholz  <martin@xemacs.org>
4638
4639         The following large batch of changes gets us back to a state of
4640         C++ compilability.  Extbyte is now a char, which means that
4641         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
4642
4643         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
4644
4645         * sound.c (Fplay_sound): Type correctness.
4646
4647         * select-x.c (hack_motif_clipboard_selection): Type correctness.
4648         (x_get_window_property): Type correctness.
4649         (receive_incremental_selection): unsigned char ==> Extbyte
4650         (selection_data_to_lisp_data): unsigned char ==> Extbyte
4651         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
4652         (Fx_store_cutbuffer_internal): Type correctness.
4653
4654         * process-unix.c (try_to_initialize_subtty): Type correctness.
4655
4656         * objects-x.c (x_print_color_instance): Type correctness.
4657         (x_print_font_instance): Type correctness.
4658         (x_list_fonts): SExtbyte ==> Extbyte.
4659         (valid_x_font_name_p): SExtbyte ==> Extbyte.
4660         (x_find_charset_font): SExtbyte ==> Extbyte.
4661         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
4662         (truename_via_XListFonts): SExtbyte ==> Extbyte.
4663         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
4664         Use bufbyte_strcmp.
4665
4666         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
4667         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
4668         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
4669         (BYTE_C0_P): Use bit ops for char-signedness safety.
4670         (BYTE_C1_P): Use bit ops for char-signedness safety.
4671         (CHARSET_BY_LEADING_BYTE):
4672         (CHARSET_BY_ATTRIBUTES):
4673         Always use inline function.
4674         Use type_checking_assert.
4675         Hide chlook.
4676
4677         * mule-charset.c (non_ascii_charptr_copy_char):
4678         Modify to work with both ASCII and non-ASCII characters.
4679         Improve docs and variable names.
4680         Replace over-clever fall-through switch with a simple loop.
4681         (Lstream_get_emchar_1):
4682         Replace over-clever fall-through switch with a simple loop.
4683
4684         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4685         Warning suppression.
4686
4687         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
4688         the return value of Lstream_getc, which could be EOF as well.
4689
4690         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
4691
4692         * lisp.h: Make Extbyte a char, not unsigned char, so that external
4693         APIs can be used on Extbytes without casts.  Risky!
4694         (SExtbyte): Remove.
4695         (UExtbyte): Remove.
4696
4697         * input-method-xlib.c (XIM_init_device):
4698         Use Xlib.h instead of IntrinsicP.h.
4699         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
4700         which will break in X11R7.
4701         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
4702         to call XRegisterIMInstantiateCallback with correct types.
4703
4704         * gui-x.c (button_item_to_widget_value): Type correctness.
4705
4706         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
4707
4708         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
4709         (xbm_instantiate_1): Type correctness.
4710         (BUILD_GLYPH_INST):  Type correctness.
4711
4712         * fileio.c (Fsubstitute_in_file_name): Type correctness.
4713
4714         * file-coding.c:
4715         (decode_coding_sjis):
4716         (decode_coding_big5):
4717         (decode_coding_ucs4):
4718         (decode_coding_utf8):
4719         (decode_coding_iso2022):
4720         (decode_coding_no_conversion):
4721         Make all decoding functions take an Extbyte * arg.
4722         (encode_coding_sjis):
4723         (encode_coding_big5):
4724         (encode_coding_ucs4):
4725         (encode_coding_utf8):
4726         (encode_coding_iso2022):
4727         (encode_coding_no_conversion):
4728         Make all encoding functions take a Bufbyte * arg.
4729         Use size_t instead of unsigned int for memory sizes.
4730         Only cast to unsigned char whenever dereferencing Extbyte *.
4731
4732         * doc.c (unparesseuxify_doc_string): Type correctness.
4733
4734         * console-x.c (split_up_display_spec):
4735         Rewrite without using details of internal string representation.
4736         (x_semi_canonicalize_device_connection): Type correctness.
4737
4738         * config.h.in:
4739         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
4740         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
4741         (HAVE_XFREE386): Removed.
4742
4743         * buffer.h (DEC_CHARPTR): `const' correctness.
4744         (bufbyte_strcmp): New.
4745         (bufbyte_memcmp): New.
4746
4747         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
4748
4749         * buffer.h (XCHAR_OR_CHAR_INT):
4750         Always use inline function.
4751         Remove redundant type checking assert() - XINT will abort quite nicely.
4752
4753 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
4754
4755         * search.c (Freplace_match): Set newtext to an empty string.
4756
4757 2000-10-10  Martin Buchholz  <martin@xemacs.org>
4758
4759         * s/decosf1-3.h: Remove #include of stropts.h
4760         * s/ptx.h: Remove #include of stropts.h
4761         * s/usg5-4.h: Remove #include of stropts.h
4762         * sysproc.h:
4763         * config.h.in:
4764         Use stropts.h, not sys/stropts.h.
4765         Use strtio.h, not sys/strtio.h.
4766
4767 2000-10-04  Martin Buchholz <martin@xemacs.org>
4768
4769         * XEmacs 21.2.36 is released.
4770
4771 2000-09-21  Andy Piper  <andy@xemacs.org>
4772
4773         * glyphs-x.c (x_redisplay_widget): make sure non-structural
4774         changes still involve copying the widget tree.
4775         (update_widget_face): make sure a change is register in the widget
4776         tree. Call update_tab_widget_face appropriately.
4777         (update_tab_widget_face): ditto.
4778         (x_tab_control_redisplay): make sure non-structural changes still
4779         involve copying the widget tree.
4780
4781 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
4782
4783         * lread.c (locate_file): Check the path element is non-nil.
4784
4785 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4786
4787         * lisp.h: Warning suppression for SCO compilers.
4788
4789         * redisplay-tty.c (reset_tty_modes): Fix crash.
4790         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
4791
4792 2000-09-27  Martin Buchholz  <martin@xemacs.org>
4793
4794         Big signal/process handling overhaul.  Bugs fixed:
4795         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
4796         M-x comint-kill-subjob should work for both values nil and t of
4797         process-connection-type. It was broken on most platforms.
4798         Testing on Irix and Cygwin still needed.  Other plaforms tested.
4799         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
4800         * process-unix.c: Signal/Process handling overhaul.
4801         (pty_name): make 64 bytes, as `expect' does, for paranoia.
4802         (allocate_pty): Use all available modern methods of allocating
4803         ptys, falling back to old style BSD allocation as a last resort.
4804         Use allegedly more secure Unix98 pty allocation by default.
4805         (allocate_pty_the_old_fashioned_way): New. the last resort.
4806         (unix_create_process): Push ptem, ldterm, ttcompat where
4807         available.  Autoconfiscate.
4808         (try_to_initialize_subtty): New.
4809         (unix_kill_child_process): Proper signal handling for ptys on most
4810         platforms, using special knowledge of AIX, BSD, etc...
4811         (unix_create_process): Always disconnect_controlling_terminal() for
4812         subprocesses, whether using ptys or not.
4813         * process.h: Remove old getpt-dependent PTY code.
4814         * process.c (Fprocess_send_signal): New, obvious generic function.
4815         (decode_signal): New.
4816         (Finterrupt_process):
4817         (Fkill_process):
4818         (Fquit_process):
4819         (Fstop_process):
4820         (Fcontinue_process):
4821         (Fsignal_process): Use decode_signal.
4822         (process_send_signal):
4823         Many docstring corrections.
4824         Allow any signal to be sent to a process object.
4825         * config.h.in: Add symbols for big signal/process overhaul.
4826         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
4827         * sysproc.h: Include process-related headers, where available:
4828         sys/stropts.h sys/strtio.h pty.h libutil.h
4829         * s/irix4-0.h:
4830         * s/irix5-0.h:
4831         * s/cygwin32.h:
4832         * s/gnu.h:
4833         * s/linux.h:
4834         * s/hpux.h:
4835         * s/aix3-1.h:
4836         Remove old S&M pty stuff.
4837         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
4838         * systty.h: Simplify cpp hackery, improve comments.
4839         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
4840
4841         * editfns.c (Fformat_time_string):
4842         Be a little more paranoid with the return value of ctime.
4843
4844         * fileio.c (check_executable):
4845         (check_writable):
4846         Use symbolic constants X_OK, W_OK.
4847
4848         * console-x.c (split_up_display_spec): Fix a warning.
4849
4850 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4851
4852         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
4853         * ntproc.c (sys_spawnve): make_string ==> build_string
4854         Small clarity improvements.
4855
4856 2000-09-30  Martin Buchholz  <martin@xemacs.org>
4857
4858         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
4859
4860         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
4861
4862         * config.h.in (HAVE_STRCASECMP): Remove.
4863
4864 2000-09-29  Martin Buchholz  <martin@xemacs.org>
4865
4866         * redisplay-output.c (redisplay_output_pixmap):
4867         Cleaner and possibly more 64-bit correct code.
4868
4869 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4870
4871         * dumper.c (pdump_load_finish): move restoration of
4872         `noninteractive1' to emacs.c (main_1).
4873         * emacs.c (main_1): protect LISP-visible command-line flags
4874         from pdump_load().
4875
4876 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
4877
4878         * Makefile.in.in (versionclean):  Use EXE_TARGET and
4879         DUMP_TARGET instead of literal program names.
4880
4881 2000-09-20  Martin Buchholz  <martin@xemacs.org>
4882
4883         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
4884
4885 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4886
4887         * *: Spelling mega-patch
4888
4889 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4890
4891         * fns.c (bad_bad_turtle):
4892         Delete "Eek!" comment, since we fixed the bug to which it refers.
4893
4894 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4895
4896         * alloca.c: Replace REGISTER with register.
4897
4898 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
4899
4900         * file-coding.c (ucs_to_char): Use countof.
4901
4902 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4903
4904         * file-coding.c: (ucs_to_char):
4905         (complex_vars_of_file_coding):
4906         Use countof instead of sizeof.
4907         Use CHECK_NATNUM instead of CHECK_INT.
4908
4909         * sysdep.c (strcasecmp): Remove.
4910         * device-x.c (ascii_strcasecmp): New.
4911         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
4912         Avoid using non-standard non-portable strcasecmp.
4913
4914 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4915
4916         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
4917         * font-lock.c: remove reference to emacsfns.h.
4918         * search.c: small doc improvement.
4919         * event-Xt.c: correct file names in comments.
4920         * console-x.h Correct file names in comments.
4921         * frame.c: Correct file names in comments.
4922         * event-stream.c: remove Energize from comments.
4923
4924 2000-09-15  Martin Buchholz  <martin@xemacs.org>
4925
4926         * symeval.h (DEFERROR_STANDARD):
4927         (DEFERROR):
4928         (DEFSYMBOL):
4929         (DEFSYMBOL_NO_DUMP):
4930         (DEFSYMBOL_MULTIWORD_PREDICATE):
4931         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
4932         (DEFKEYWORD):
4933         The construct &##name is not sensible C.
4934         Fixes compilation errors with Unixware native compiler.
4935
4936 2000-09-14  Martin Buchholz  <martin@xemacs.org>
4937
4938         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
4939         (next_frame_internal): Removed.  We now just have next_frame.
4940         (next_frame):
4941         Write a simpler and cleaner one-pass algorithm.
4942         Remove called_from_delete_device arg and #ifdefed-out code.
4943         (previous_frame):
4944         Renamed from prev_frame.  Update callers.
4945         Cleaned up to have an analogous implementation to next_frame.
4946         (other_visible_frames_internal): Remove the
4947         called_from_delete_device bogus arg, and hence, remove this
4948         function.  Just use other_visible_frames().
4949
4950         * window.c (Fnext_window):
4951         Prettify docstring.
4952         Since next_frame() is guaranteed to return a frame, remove check
4953         for nil inserted in previous patch.
4954         (Fprevious_window):
4955         Prettify docstring.
4956         Make code look more like Fnext_window.
4957         (window_loop):
4958         Respect the `console' arg when iterating through windows.
4959         Fixes bug: (get-buffer-window buffer t device) not respecting
4960         the `device' arg.
4961         This function needs more work, as others have pointed out.
4962
4963         * frame.h: Rename prev_frame to previous_frame.
4964         device_matches_console_spec no longer takes a `frame' arg.
4965
4966         * s/gnu.h:
4967         * s/linux.h:
4968         * s/hpux.h:
4969         Use EMACS_BLOCK_SIGNAL instead of sigblock.
4970         From "Golubev I. N." <gin@mo.msk.ru>.
4971
4972         * make-src-depend: Fix typo.
4973
4974 2000-09-13  Martin Buchholz  <martin@xemacs.org>
4975
4976         * window.c (Fnext_window):
4977         next_frame() might return nil, not a frame.
4978         Fixes this crash:
4979         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
4980
4981         * frame.c (next_frame_internal):
4982         We've passed a frame if we've passed its device.
4983         Fixes this crash:
4984         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
4985 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
4986
4987 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4988
4989         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
4990         Allow option to suppress accelerators in menu/dialog items.
4991         (populate_or_checksum_helper): Pass dialog title through above.
4992
4993 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4994
4995         * event-msw.c (mswindows_key_to_emacs_keysym):
4996         Add "pause" key, fix "menu" key.
4997
4998 2000-09-09  Martin Buchholz  <martin@xemacs.org>
4999
5000         * eval.c (reinit_vars_of_eval):
5001         Increase max_lisp_eval_depth to 1000,
5002         required for thai-xtis.el to byte-compile under some circumstances.
5003
5004 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5005
5006         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5007         From Kenichi Handa.
5008
5009 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5010
5011         * make-src-depend: Make the generated Makefiles smaller.
5012
5013         * s/hpux.h (SETUP_SLAVE_PTY):
5014         Provide a %d in the format string for the errno argument.
5015
5016         * editfns.c (Ftemp_directory):
5017         Warning fix.
5018         Avoid buffer overrun on very long file name.
5019
5020         * input-method-xlib.c (XIM_init_device):
5021         6th parameter of XRegisterIMInstantiateCallback has different
5022         pointer types on different OSes, so simply cast to (void *).
5023
5024         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5025
5026         * sysdll.c (dll_open):
5027         shl_load will hang hard if passed a NULL filename.
5028         Simply return NULL for compatibility with dlopen.
5029         * sysdll.c: Conform to XEmacs coding standards.
5030
5031         * sysdep.c (get_pty_max_bytes):
5032         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5033
5034 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5035
5036         * tooltalk.c: Add #include <syssignal.h>
5037
5038 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5039
5040         * s/hpux.h: Don't use undefined function sigunblock().
5041
5042 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5043
5044         * config.h.in: Add HAVE_BALLOON_HELP.
5045         * emacs.c: Use HAVE_BALLOON_HELP.
5046         * Makefile.in.in (x_objs):
5047         Make Balloon Help conditional on finding shape.h.
5048
5049 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5050
5051         * syntax.c (regex_emacs_buffer_p): New variable.
5052         * syntax.h (regex_emacs_buffer_p): extern.
5053         * search.c (looking_at_1):
5054         (string_match_1):
5055         (fast_string_match):
5056         (search_buffer): Set regex_emacs_buffer_p.
5057         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5058         when before_dot, at_dot, after_dot.
5059
5060 2000-08-23  Andy Piper  <andy@xemacs.org>
5061
5062         * gui-x.c (popup_selection_callback): Only set action_occurred
5063         when we really have an image instance.
5064         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5065
5066 2000-08-23  Andy Piper  <andy@xemacs.org>
5067
5068         * gui-msw.c (mswindows_handle_gui_wm_command): set
5069         action_occurred.
5070         * gui-x.c (popup_selection_callback): ditto.
5071
5072         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5073         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5074         (struct Lisp_Image_Instance): add action_occurred flag.
5075
5076         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5077         (image_instance_changed): ditto.
5078         (reset_frame_subwindow_instance_cache): only unmap windows - do
5079         not remove them from the cache also.
5080
5081         * glyphs-widget.c (tab_control_update): better debug.
5082         (progress_gauge_update): ditto.
5083         (layout_update): ditto.
5084         (layout_instantiate): ditto.
5085         (tab_control_order_only_changed): cope with null pending items.
5086
5087         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5088         debug. Force selection of an item when an action occurred. Cope
5089         with null pending_items.
5090         (mswindows_progress_gauge_redisplay): better debug.
5091         * glyphs-x.c (x_tab_control_redisplay): ditto.
5092
5093         * redisplay.c (redisplay_frame): reset the frame cache if the
5094         frame is garbaged.
5095
5096         * window.c (Fset_window_configuration): potentially re-enable
5097         frame cache reset.
5098         (window_unmap_subwindows): need to finalize instances here since
5099         it is only used in mark_window_as_deleted.
5100
5101 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5102
5103         * nas.c (SndOpenDataForReading):
5104         nas.c (WaveOpenDataForReading):
5105         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5106         Somehow escaped from the 2000-08-14 patch.
5107
5108 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5109
5110         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5111         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5112
5113 2000-08-21  Andy Piper  <andy@xemacs.org>
5114
5115         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5116         window if it is not already displayed.
5117
5118         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5119         it is not already displayed.
5120
5121         * window.c (Fset_window_configuration): don't reset the frame
5122         cache.
5123
5124         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5125         instances from the frame cache if we are actually finalizing them.
5126         (reset_frame_subwindow_instance_cache): reset frame cache only
5127         after unmapping everything.
5128         (map_subwindow): set displayed flag after mapping.
5129
5130 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5131
5132         * data.c (indirect_function):
5133         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5134
5135         * eval.c (function_argcount):
5136         Use original function when signaling errors.
5137
5138 2000-08-18  Andy Piper  <andy@xemacs.org>
5139
5140         * frame.c (delete_frame_internal): use new
5141         free_frame_subwindow_instances name.
5142
5143         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5144         (add_tab_item): make return type correct.
5145         (mswindows_tab_control_instantiate): assert index of tab.
5146         (mswindows_tab_control_redisplay): Re-code to use
5147         gui_item_equal_sans_selected and gui_item_list_find_selected.
5148
5149         * glyphs-widget.c (tab_control_update): Correct comment.
5150
5151         * window.c (window_unmap_subwindows): use new
5152         unmap_subwindow_instance_cache_mapper.
5153         (window_unmap_subwindows_cache_mapper): deleted.
5154         (Fset_window_configuration): comparisons should now be with
5155         EQ. Preserve the subwindow instance cache across configuration
5156         changes.
5157         (allocate_window): ditto.
5158         (make_dummy_parent): ditto.
5159
5160         * glyphs.c (free_frame_subwindow_instances): rename from
5161         free_frame_subwindow_instance_cache. finalize all instances rather
5162         than just those in the display cache.
5163         (finalize_all_subwindow_instances): walk windows unmapping and
5164         finalizing subwindows.
5165         (unmap_subwindow_instance_cache_mapper): moved from
5166         window.c. Allow finalization as well as unmapping.
5167
5168         * gui.c (gui_item_list_find_selected): new function.
5169
5170         * gui.h (gui_item_list_find_selected): declare.
5171
5172         * glyphs-x.c (x_tab_control_redisplay): pick tab
5173         explicitly. Re-code to use gui_item_equal_sans_selected and
5174         gui_item_list_find_selected.
5175
5176         * glyphs-x.h: add lwlib-utils.h
5177
5178         * buffer.c (Frecord_buffer): undo previous change.
5179
5180 2000-08-09  Vin Shelton  <acs@xemacs.org>
5181
5182         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5183         possible.  Create temporary files more securely.  The patch was
5184         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5185         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5186         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5187         for details.
5188
5189 2000-08-07  Ben Wing  <ben@xemacs.org>
5190
5191         * getloadavg.c: remove duplicate (and windows-breaking)
5192         includes of fcntl.h and sys/file.h.
5193
5194         * nt.c: remove duplicate getloadavg() definition.
5195
5196         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5197         encodings.
5198
5199 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5200
5201         * eval.c (function_argcount): If function needs to be autoloaded
5202         actually use the loaded definition.
5203         GCPRO function.
5204
5205 2000-08-05  Ben Wing  <ben@xemacs.org>
5206
5207         * getloadavg.c: add prototype for getloadavg().  remove
5208         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5209         of the code).  remove duplicate header includes.
5210
5211         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5212
5213         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5214         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5215         useful load average.
5216
5217         * alloc.c (reinit_alloc_once_early): removed references to
5218         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5219         the lisp vars are the only things referencing the malloc_sbrk_*
5220         vars, and they were already if 0'd out.  these vars only exist
5221         in the older malloc.c, which is basically unused, and they're
5222         only for informational purposes.
5223
5224         * m\*.h: removed useless VIRT_ADDR_VARIES.
5225
5226         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5227
5228 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5229
5230         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5231         color if the image is a mono pixmap.
5232
5233 2000-07-30  Ben Wing  <ben@xemacs.org>
5234
5235         * Makefile.in.in (release):
5236         Remove stray @.
5237
5238         * buffer.c (directory_is_current_directory):
5239         * dired-msw.c (mswindows_get_files):
5240         * dired.c:
5241         * dired.c (Fdirectory_files):
5242         * dired.c (file_name_completion_stat):
5243         * dired.c (Ffile_attributes):
5244         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5245         preprocessor tricks, to avoid problems on some machines
5246         (e.g. SCO).
5247
5248         * callproc.c (egetenv): GC docs.
5249
5250         * console-msw.h:
5251         * console-msw.h (struct mswindows_dialog_id):
5252         * lrecord.h (lrecord_type):
5253         New object for use with MSW dialogs.
5254
5255         * console.h (struct console_methods):
5256         New enable/disable frame methods, for proper modal dialogs.
5257
5258         * device-msw.c (msprinter_default_printer): Fix to follow
5259         proper Mule conventions.
5260
5261         * device-msw.c:
5262         * device-msw.c (signal_open_printer_error):
5263         * device-msw.c (msprinter_init_device):
5264         * device-msw.c (ensure_not_printing):
5265         * device-msw.c (plist_get_margin):
5266         * device-msw.c (Fmsprinter_select_settings):
5267         * device-msw.c (finalize_devmode):
5268         * device-msw.c (Fmsprinter_settings_despecialize):
5269         * device-msw.c (signal_enum_priner_error):
5270         * extents.c (decode_extent):
5271         * extents.c (decode_map_extents_flags):
5272         * extents.c (decode_extent_at_flag):
5273         * extents.c (Fextent_at):
5274         * extents.c (Fextents_at):
5275         * extents.c (symbol_to_glyph_layout):
5276         [[[[2]]]] Use structured errors.
5277
5278         * dialog-msw.c:
5279         * dialog-msw.c (mswindows_is_dialog_msg):
5280         * dialog-msw.c (mark_mswindows_dialog_id):
5281         * dialog-msw.c (dialog_proc):
5282         * dialog-msw.c (handle_question_dialog_box):
5283         * dialog-msw.c (syms_of_dialog_mswindows):
5284         Define new object to clean up marking; use it as a dialog identifier.
5285         Call new delete-dialog-box-hook.
5286
5287         * dialog-x.c (dbox_selection_callback):
5288         * dialog-x.c (dbox_descriptor_to_widget_value):
5289         * dialog-x.c (x_make_dialog_box_internal):
5290         Call new delete-dialog-box-hook.
5291         Return an id.
5292
5293         * dialog.c:
5294         * dialog.c (syms_of_dialog):
5295         * dialog.c (vars_of_dialog):
5296         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5297
5298         * eval.c:
5299         * eval.c (signal_call_debugger):
5300         when noninteractive, output stack traces on the console instead
5301         of in a (never-seen) buffer.
5302
5303         * eval.c (signal_type_error):
5304         * eval.c (invalid_argument_2):
5305         * lisp.h:
5306         new funs for use w/structured errors.
5307
5308         * event-Xt.c:
5309         * event-Xt.c (x_to_emacs_keysym):
5310         * event-Xt.c (describe_event):
5311         * event-Xt.c (emacs_Xt_event_handler):
5312         * event-Xt.c (vars_of_event_Xt):
5313         * event-msw.c:
5314         * event-msw.c (mswindows_wnd_proc):
5315         * event-msw.c (vars_of_event_mswindows):
5316         rename {x,mswindows}-debug-events to debug-{}-events for
5317         consistency with other debug-foo variables.
5318
5319         * event-stream.c:
5320         document next-event more clearly.
5321
5322         * fileio.c (Ffile_name_directory):
5323         * fileio.c (Ffile_name_nondirectory):
5324         * fileio.c (Funhandled_file_name_directory):
5325         * fileio.c (file_name_as_directory):
5326         * fileio.c (Ffile_name_as_directory):
5327         * fileio.c (directory_file_name):
5328         * fileio.c (Fdirectory_file_name):
5329         * fileio.c (Fmake_temp_name):
5330         * fileio.c (Ffile_truename):
5331         * fileio.c (Fsubstitute_in_file_name):
5332         * fileio.c (expand_and_dir_to_file):
5333         * fileio.c (barf_or_query_if_file_exists):
5334         * fileio.c (check_executable):
5335         * fileio.c (Ffile_exists_p):
5336         * fileio.c (Ffile_writable_p):
5337         * fileio.c (Ffile_directory_p):
5338         * fileio.c (Ffile_regular_p):
5339         * fileio.c (Ffile_modes):
5340         * fileio.c (Ffile_newer_than_file_p):
5341         * fileio.c (Fverify_visited_file_modtime):
5342         * fileio.c (Fset_visited_file_modtime):
5343         * fileio.c (auto_save_1):
5344         (1). (2).
5345         fix up gcpro's.
5346
5347         * frame-msw.c:
5348         * frame-msw.c (mswindows_init_frame_1):
5349         * frame-msw.c (mswindows_enable_frame):
5350         * frame-msw.c (error_frame_unsizable):
5351         * frame-msw.c (msprinter_init_frame_1):
5352         * frame-msw.c (msprinter_init_frame_3):
5353         * frame-msw.c (console_type_create_frame_mswindows):
5354         (2).
5355         implement new enable/disable frame methods.
5356
5357         * frame-x.c:
5358         * frame-x.c (x_enable_frame):
5359         * frame-x.c (console_type_create_frame_x):
5360         implement new enable/disable frame methods.
5361
5362         * frame.c:
5363         * frame.c (Fdisable_frame):
5364         * frame.c (syms_of_frame):
5365         * frame.h (struct frame):
5366         implement new enable/disable frame methods/functions.
5367
5368         * general-slots.h:
5369         add initial-focus.
5370
5371         * glyphs-msw.c (mswindows_widget_instantiate):
5372         comment that initial-focus should be implemented.
5373
5374         * glyphs-widget.c:
5375         * glyphs-widget.c (check_valid_instantiator):
5376         * glyphs-widget.c (check_valid_orientation):
5377         * glyphs-widget.c (check_valid_tab_orientation):
5378         * glyphs-widget.c (check_valid_justification):
5379         * glyphs-widget.c (check_valid_border):
5380         * glyphs-widget.c (check_valid_callback):
5381         * glyphs-widget.c (check_valid_int_or_function):
5382         * glyphs-widget.c (check_valid_string_or_vector):
5383         * glyphs-widget.c (check_valid_item_list_1):
5384         * glyphs-widget.c (widget_validate):
5385         * glyphs-widget.c (combo_box_validate):
5386         * glyphs-widget.c (widget_instantiate):
5387         * glyphs-widget.c (syms_of_glyphs_widget):
5388         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5389         * glyphs-widget.c (image_instantiator_combo_box):
5390         * glyphs-widget.c (image_instantiator_scrollbar):
5391         * glyphs-widget.c (image_instantiator_tab_control):
5392         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5393         (2).
5394         support (unimplemented) keyword initial-focus.
5395         reindent long macros.
5396
5397         * glyphs-x.c (x_redisplay_widget):
5398         * glyphs-x.c (x_button_instantiate):
5399         * glyphs-x.c (x_button_redisplay):
5400         * glyphs-x.c (x_progress_gauge_instantiate):
5401         * glyphs-x.c (x_edit_field_instantiate):
5402         * glyphs-x.c (x_combo_box_instantiate):
5403         * glyphs-x.c (x_tab_control_instantiate):
5404         * glyphs-x.c (x_label_instantiate):
5405         * gui-x.c:
5406         * gui-x.c (button_item_to_widget_value):
5407         * gui-x.c (gui_items_to_widget_values_1):
5408         * gui-x.c (gui_item_children_to_widget_values):
5409         * gui-x.c (gui_items_to_widget_values):
5410         * gui-x.h:
5411         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5412         add new flag to gui-parsing routines to indicate whether
5413         accelerator specs should be supported.
5414
5415         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5416
5417         * glyphs.h (struct Lisp_Image_Instance):
5418         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5419         add initial-focus flag.
5420
5421         * gui.c:
5422         * gui.c (syms_of_gui):
5423         * gui.c (vars_of_gui):
5424         clean up menu-no-selection-hook.
5425
5426         * gui.h:
5427         support delete-dialog-box-hook.
5428
5429         * lread.c (Fload_internal):
5430         * lread.c (locate_file_in_directory_mapper):
5431         (1).
5432
5433         * lrecord.h:
5434         * lrecord.h (struct toolbar_button):
5435         * lrecord.h (syms_of_toolbar):
5436         document how to create a new object.
5437
5438         * menubar-msw.c (mswindows_char_is_accelerator):
5439         may be called on frames w/o menus.
5440
5441         * menubar.c (vars_of_menubar):
5442         clean up :filter docs.
5443
5444         * nt.c (readdir):
5445         * ntproc.c:
5446         (1).
5447
5448         * process-nt.c:
5449         * process-nt.c (validate_signal_number):
5450         * process-nt.c (signal_cannot_launch):
5451         * process-nt.c (nt_create_process):
5452         * process-nt.c (nt_send_process):
5453         * process-nt.c (nt_kill_child_process):
5454         * process-nt.c (nt_open_network_stream):
5455         * process-nt.c (syms_of_process_nt):
5456         (2).
5457         delete quote-handling.  call new lisp code that does it better.
5458
5459         * process-unix.c (connect_to_file_descriptor):
5460         * process-unix.c (allocate_pty):
5461         * process-unix.c (unix_send_process):
5462         * process-unix.c (unix_kill_child_process):
5463         * process-unix.c (unix_open_network_stream):
5464         * process-unix.c (unix_open_multicast_group):
5465         (1). (2).
5466
5467         * process.c:
5468         * process.c (Fstart_process_internal):
5469         (2).  need to canonicalize process path even if absolute.
5470
5471         * select-msw.c (symbol_to_ms_cf):
5472         * select-msw.c (ms_cf_to_symbol):
5473         * select-msw.c (cf_is_autofreed):
5474         * select-msw.c (mswindows_destroy_selection):
5475         * select.c:
5476         * select.c (syms_of_select):
5477         * select.h:
5478         support dibv5, fix bugs. (from Mike Alexander)
5479
5480         * select.c (Fget_selection_internal):
5481         * select.c (select_convert_out):
5482
5483         * sysdep.c:
5484         * sysdep.c (xemacs_stat):
5485         renamed.
5486
5487         * sysdep.c (mkdir):
5488         * sysdep.c (rmdir):
5489         but keep original stat() here because we provide encapsulation
5490         around these funs.
5491
5492         * sysfile.h:
5493         * sysfile.h (fstat):
5494         remove stat garbage.
5495
5496         * syswindows.h:
5497         fix X/MSW conflict.
5498         don't include tchar.h.  it's inappropriate because it makes
5499         compile-time distinctions when we want runtime distinctions.
5500         (we provide our own tchar replacements)
5501
5502         * toolbar.c:
5503         use default object printer for toolbar-button.
5504
5505         * unexcw.c:
5506         make sure we don't encapsulate.
5507
5508         * window.c (vars_of_window):
5509         emphasize that temp-buffer-show-hook is obsolete.
5510
5511 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5512
5513         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5514         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5515
5516         * events.c (Fevent_timestamp_lessp):
5517         Not 64-bit clean.  Use EMACS_INT, not int.
5518
5519 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5520
5521         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5522         unsigned int and changed the last enum to
5523         lrecord_type_last_built_in_type.
5524         (lrecord_implementations_table): changed prototype to know how
5525         long the array is supposed to be.
5526         (lrecord_type_count): new unsigned int to keep track of the
5527         current number of lisp lrecord types.
5528         (DEFINE_EXTERNAL_LRECORD):
5529         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5530         dynamic-modules to declare new lisp types. They are the same
5531         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5532         int for each new type, and increment lrecord_type_count by 1.
5533
5534         * alloc.c (lrecord_implementations_table): Changed to reference
5535         lrecord_type_last_built_in_type for the size of the array.
5536         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5537
5538 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5539
5540         * glyphs.h (check_valid_item_list): Renamed from
5541         check_valid_item_list_1.
5542
5543 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5544
5545         * select.c (Qselect_coerce): New.
5546         * select.c (Vselection_coercion_alist): New.
5547         * select.c (syms_of_select): Declare.
5548         * select.c (get-selection-internal): Use it.
5549         Use the new select-coerce functionality.
5550
5551         * select.c (select_coerce): New.
5552         * select.h (select_coerce): Declare.
5553         New function to coerce one type of data into another.
5554
5555 2000-08-03  Martin Buchholz  <martin@xemacs.org>
5556
5557         * callproc.c (Fcall_process_internal):
5558         (Fcall_process_internal):
5559         * process-unix.c (unix_create_process):
5560         Save and restore the value of errno, so that error messages are accurate.
5561
5562 2000-08-01  Martin Buchholz  <martin@xemacs.org>
5563
5564         * elhash.c (print_hash_table):
5565         Fix printing of hash tables to also use `key-and-value' instead of `t'.
5566         Prettify docstrings and indentation.
5567
5568 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5569
5570         * window.c (Fwindow_pixel_edges): Subtract frame border and
5571         gutter size.
5572
5573 2000-07-31  Andy Piper  <andy@xemacs.org>
5574
5575         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
5576         will acknowledge the change.
5577
5578         * glyphs.h: declare tab_control_order_only_changed.
5579
5580         * glyphs-x.c (x_tab_control_redisplay): use
5581         tab_control_order_only_changed.
5582
5583         * glyphs-widget.c (tab_control_order_only_changed): new function.
5584
5585         * glyphs-msw.c (mswindows_tab_control_redisplay): use
5586         tab_control_order_only_changed.
5587
5588         * gui.c (gui_item_equal_sans_selected): new function.
5589         (gui_item_equal): use it.
5590
5591         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
5592         :properties in favor of :items..
5593
5594         * glyphs-widget.c (check_valid_item_list): rename from
5595         check_valid_item_list_1.
5596         (check_valid_item_list_1): renamed.
5597         (combo_box_validate): deprecate :properties in favor of :items.
5598         (widget_instantiate): ditto.
5599         (tab_control_update): ditto.
5600         (image_instantiator_combo_box): ditto.
5601         (image_instantiator_tree_view): ditto.
5602         (image_instantiator_tab_control): ditto.
5603         (layout_post_instantiate): remove dead code.
5604
5605         * print.c (debug_print_no_newline): only write to debugger if in
5606         WIN32_NATIVE.
5607
5608         * elhash.c (Fmake_hash_table): update doc string.
5609
5610         * event-msw.c (mswindows_wnd_proc): don't allow processing of
5611         messages whilst in GC. This at least stops XEmacs crashing but has
5612         the potential for wierd behaviour.
5613
5614 2000-07-31  Martin Buchholz  <martin@xemacs.org>
5615
5616         * config.h.in:
5617         Make existence of s&m files optional.
5618
5619         * s/bsd386.h: Remove HAVE_GETLOADAVG.
5620         * s/freebsd.h: Remove HAVE_GETLOADAVG.
5621         * s/gnu.h: Remove HAVE_GETLOADAVG.
5622         * s/netbsd.h: Remove HAVE_GETLOADAVG.
5623         * s/sol2.h: Remove HAVE_GETLOADAVG.
5624         * lisp.h: Remove getloadavg() declaration.
5625         * fns.c:
5626         Include <sys/loadavg.h> if available.
5627         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
5628         * config.h.in:  Group together getloadavg()-related macros.
5629         Use only configure-time tests to detect getloadavg().
5630
5631 2000-07-30  Martin Buchholz  <martin@xemacs.org>
5632
5633         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
5634
5635 2000-07-25  Andy Piper  <andy@xemacs.org>
5636
5637         * syswindows.h: add tchar.h for native builds.
5638
5639         * frame.c (syms_of_frame): remove set-glyph-image.
5640
5641         * general-slots.h: add Qset_glyph_image.
5642
5643         * glyphs-widget.c (layout_update): add domain arg to
5644         set-glyph-image.
5645         (syms_of_glyphs_widget): remove set-glyph-image.
5646
5647 2000-07-23  Ben Wing  <ben@xemacs.org>
5648
5649         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
5650         Vpopup_frame_list.
5651
5652 2000-07-22  Andy Piper  <andy@xemacs.org>
5653
5654         * symsinit.h: add syms_of_win32().
5655
5656         * gui-msw.c (syms_of_gui_mswindows): remove
5657         Fmswindows_shell_execute.
5658         (Fmswindows_shell_execute): moved to win32.c.
5659
5660         * emacs.c (main_1): add syms_of_win32 ().
5661
5662         * win32.c (init_potentially_nonexistent_functions): rewrite in
5663         compiler-friendly terms.
5664         (Fmswindows_shell_execute): move here from gui-msw.c.
5665         (syms_of_win32): new.
5666
5667         * device-msw.c (Fmswindows_printer_list): clean up args to
5668         EnumPrinters.
5669         Don't include tchar under cygwin or mingw.
5670         (msprinter_default_printer): make cygwin-friendly.
5671
5672 2000-07-21  Andy Piper  <andy@xemacs.org>
5673
5674         * glyphs-widget.c (image_instantiator_tree_view): use tab
5675         control's update function.
5676         (layout_property): new function. Retrieve items.
5677
5678         * glyphs-msw.c (mswindows_tree_view_redisplay): new
5679         function. Re-populate the tree view from the pending items.
5680
5681         * glyphs.c (instantiate_image_instantiator): Make sure the domain
5682         is designated the parent if the domain is an image instance. This
5683         is needed so that dirtiness can be cascade up the hierarchy and
5684         thus for layout children to be redisplayed correctly.
5685         (allocate_image_instance): rename glyph -> parent.
5686
5687         * redisplay.h: change redisplay_output_layout signature.
5688
5689         * redisplay-msw.c (mswindows_output_display_block): use domain
5690         arg.
5691
5692         * redisplay-x.c (x_output_display_block): use domain arg.
5693
5694 2000-07-10  Andy Piper  <andy@xemacs.org>
5695
5696         * window.c (Fset_window_configuration): add comment.
5697
5698         * redisplay-output.c (compare_runes):
5699         (redisplay_output_subwindow): redisplay rather than update subwindow.
5700         (redisplay_output_layout): ditto.
5701
5702         * redisplay-msw.c (mswindows_frame_output_end):
5703         (mswindows_frame_output_end): make defer window pos optional.
5704
5705         * lisp.h: add Flast.
5706
5707         * glyphs.h (struct image_instantiator_methods): add dest_mask top
5708         normalize method. Change update method to be for changed
5709         instantiators. Add redisplay method. Change signature of layout
5710         method.
5711         (struct Lisp_Image_Instance): add instantiator.
5712         (IMAGE_INSTANCE_INSTANTIATOR): new.
5713         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
5714         (XIMAGE_INSTANCE_INSTANTIATOR): new.
5715         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
5716
5717         * glyphs.c:
5718         (find_instantiator_differences): new function.
5719         (Fset_instantiator_property): new convenience function.
5720         (check_image_instance_structure): strictly check for vector
5721         instantiators.
5722         (normalize_image_instantiator): make non-static.
5723         (instantiate_image_instantiator): pass on dest_mask and use new
5724         signatures for image_instance_layout and friends.
5725         (mark_image_instance): mark the instantiator. Mark the subwindow
5726         face not the widget face.
5727         (image_instance_equal): add instantiator.
5728         (image_instance_hash): ditto.
5729         (allocate_image_instance): ditto.
5730         (Fset_image_instance_property): removed.
5731         (Fimage_instance_file_name): ditto.
5732         (Fcolorize_image_instance): ditto.
5733         (image_instance_layout): add offsets to be set.
5734         (update_image_instance): new function. update an image instance
5735         from its changed instantiator.
5736         (inherit_normalize): add dest_mask.
5737         (xbm_normalize): ditto.
5738         (xface_normalize): ditto.
5739         (xpm_normalize): ditto.
5740         (text_update): set_property -> update.
5741         (image_instantiate): use the glyph identity as a hash key, not the
5742         instantiator.
5743         (glyph_width): use new image_instance_layout signature.
5744         (glyph_ascent): ditto.
5745         (glyph_descent): ditto.
5746         (glyph_height): ditto.
5747         (glyph_query_geometry): ressurrect.
5748         (glyph_layout): ditto.
5749         (redisplay_subwindow): update -> redisplay.
5750         (syms_of_glyphs): add Fset_instantiator_property.
5751         (image_instantiator_format_create): set_property -> update.
5752
5753         * glyphs-x.c:
5754         (autodetect_normalize): add dest_maks to signature.
5755         (x_redisplay_subwindow): update -> redisplay.
5756         (x_redisplay_widget): ditto.
5757         (x_button_redisplay): ditto.
5758         (x_progress_gauge_redisplay): ditto.
5759         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
5760         stacking order.
5761         (console_type_create_glyphs_x): update -> redisplay.
5762         (image_instantiator_format_create_glyphs_x): ditto.
5763
5764         * glyphs-widget.c:
5765         (check_valid_instantiator): disallow glyphs in the instantiator,
5766         they must now be vectors.
5767         (check_valid_instantiator_list): ditto.
5768         (glyph_instantiator_to_glyph): use internal symbol rather than
5769         intern.
5770         (widget_update): renamed from widget_set_property. Call cascaded
5771         update methods.
5772         (redisplay_widget): renamed from update_widget.
5773         (widget_layout): image_instance_layout now takes position as well
5774         as size.
5775         (widget_normalize): ditto.
5776         (widget_instantiate): ditto.
5777         (tab_control_query_geometry) ditto.:
5778         (tab_control_update): renamed from tab_control_set_property.
5779         (progress_gauge_update): set_property -> update.
5780         (layout_normalize): rewrite so that child instantiators are
5781         normalized also.
5782         (layout_update): new function. Create glyphs from the normalized
5783         children and cope with any other layout keywords. We do not
5784         instantiate children here that will be take care of by
5785         redisplay_output_layout.
5786         (layout_instantiate): call layout_update and not much else.
5787         (layout_post_instantiate): not sure whether this is needed
5788         anymore.
5789         (layout_query_geometry): query glyph geometry rather than
5790         image_instance geometry.
5791         (layout_layout): set offsets from pass in parameters. Use glyph
5792         geometry and layout functions rather than image instance ones.
5793         (native_layout_layout): ditto.
5794         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
5795         (image_instantiator_widget): set_property -> update.
5796         (image_instantiator_buttons): ditto.
5797         (image_instantiator_progress_guage): ditto.
5798         (image_instantiator_tab_control): ditto.
5799         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
5800         (image_instantiator_layout): add update method.
5801
5802         * glyphs-msw.c (bmp_normalize):
5803         (mswindows_resource_normalize): add dest_mask so that it can be
5804         proprogated by layout_normalize.
5805         (begin_defer_window_pos): make optional because it may not be the
5806         right thing to do and it introduces differences with X.
5807         (mswindows_unmap_subwindow): ditto.
5808         (mswindows_map_subwindow): ditto.
5809         (mswindows_redisplay_subwindow): renamed from
5810         mswindows_update_subwindow.
5811         (mswindows_redisplay_widget): ditto.
5812         (mswindows_button_redisplay): renamed from
5813         mswindows_button_update. Update is now what the instantiation
5814         function does for a changed instantiator.
5815         (mswindows_progress_gauge_instantiate): set the progress value
5816         here if appropriate.
5817         (mswindows_tab_control_redisplay): cope with re-ordering of the
5818         members of the tab widget by simply selecting the new top
5819         widget. This makes things appear ok if you click on a tab.
5820         (mswindows_combo_box_instantiate): image_instance_layout now takes
5821         position as well as size.
5822         (mswindows_progress_gauge_redisplay): renamed from
5823         mswindows_progress_gauge_update.
5824         (console_type_create_glyphs_mswindows): fix update -> redisplay.
5825         (image_instantiator_format_create_glyphs_mswindows): ditto.
5826
5827         * glyphs-eimage.c (jpeg_normalize):
5828         (gif_normalize):
5829         (png_normalize):
5830         (tiff_normalize): add dest_mask so that it can be proprogated by
5831         layout_normalize.
5832
5833         * elhash.c:
5834         (print_hash_table):
5835         (hash_table_weakness_validate):
5836         (decode_hash_table_weakness):
5837         (Fhash_table_weakness):
5838         (Fhash_table_type):
5839         (syms_of_elhash): use Ben's naming scheme for hashtable types..
5840
5841         * console.h (struct console_methods): move update_* to
5842         redisplay_*.
5843
5844 2000-07-20  Ben Wing  <ben@xemacs.org>
5845
5846         * *.[ch] (XSETOBJ): remove unused middle argument.
5847         lisp-disunion.h: correct wrap_object() to one argument.
5848
5849 2000-07-15  Ben Wing  <ben@xemacs.org>
5850
5851         * s/cygwin32.h:
5852         * s/cygwin32.h (CYGWIN_CONV_PATH):
5853         Add missing logb prototype for v1.1.
5854         Use post-b20 names and alias to pre-b20 names when pre-b20.
5855
5856         * s/windowsnt.h: [5].
5857
5858 2000-07-15  Ben Wing  <ben@xemacs.org>
5859
5860         * Makefile.in.in (x_objs):
5861         * Makefile.in.in (sheap_objs):
5862         * Makefile.in.in (objs):
5863         added win32.o, cosmetic cleanups.
5864
5865         * alloc.c (Fmake_byte_code):
5866         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
5867         etc. macros which declare their own args now.
5868
5869         * alloc.c (syms_of_alloc):
5870         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
5871
5872         * buffer.c:
5873         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
5874
5875         * buffer.c (Fget_file_buffer):
5876         Fixed GCPRO problem.
5877
5878         * buffer.c (get_truename_buffer):
5879         Fixed comment about GC checking.
5880
5881         * buffer.c (syms_of_buffer):
5882         Undeclared those dedicated frame funs.
5883         [2].
5884
5885         * buffer.h:
5886         Define convenience macros for internal/external conversions.
5887         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
5888         and Qenvironment_variable_encoding for cleaner code.
5889
5890         * bufslots.h:
5891         Remove dedicated-frame; in lisp.
5892
5893         * bytecode.c (funcall_compiled_function):
5894         [1].
5895
5896         * bytecode.c (syms_of_bytecode):
5897         [2].
5898
5899         * console-msw.c:
5900         * console-msw.c (mswindows_show_console): Rewrote.
5901
5902         * console-msw.c (Fmswindows_debugging_output): New.
5903         Sends to OutputDebugString (special MSWin debugger interface).
5904
5905         * console-msw.c (Fmswindows_message_box):
5906         Fixed stupid bugs so it works when called from kill-emacs.
5907
5908         * console-msw.c (syms_of_console_mswindows):
5909         Declare Fmswindows_debugging_output.
5910
5911         * console-msw.h:
5912         New MSWin prototypes.
5913
5914         * console-msw.h (struct mswindows_frame):
5915         New entry last-click-mods for improved button-modifier support.
5916
5917         * console-msw.h (FRAME_MSWINDOWS_POPUP):
5918         New struct entry `popup' with corresponding accessor.
5919
5920         * console-x.c:
5921         * console-x.c (split_up_display_spec):
5922         * console-x.c (get_display_arg_connection):
5923         * console-x.c (x_semi_canonicalize_console_connection):
5924         * console-x.c (x_canonicalize_device_connection):
5925         [[[6]]]: Change char to more specific type.
5926         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
5927
5928         * console-x.c (x_semi_canonicalize_console_connection):
5929         * console-x.c (x_canonicalize_device_connection):
5930         [[[9]]]: Fix up error signalling to use new structured error system.
5931
5932         * console-x.h:
5933         [[[4]]]: Define codesys aliases:
5934         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
5935         Qx_color_name_encoding, Qx_display_name_encoding.
5936
5937         * console.h (struct console_methods):
5938         New method make_dialog_box_internal supersedes older
5939         popup_dialog_box method.
5940
5941         * data.c:
5942         Define many new errors, part of new structured errors.
5943
5944         * data.c (init_errors_once_early):
5945         * data.c (syms_of_data):
5946         [2].
5947
5948         * device-msw.c (mswindows_init_device):
5949         [[[5]]]: Cleanup to support NT 3.51.
5950
5951         * device-msw.c (decode_devmode): Cleanup.
5952
5953         * device-msw.c (mswindows_handle_print_setup_dialog_box):
5954         * device-msw.c (mswindows_handle_print_dialog_box):
5955         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5956         * device-msw.c (syms_of_device_mswindows):
5957         Delete the dialog box primitives recently introduced by Kirill and
5958         instead interface to general dialog box interface.
5959
5960         * device-x.c:
5961         * device-x.c (compute_x_app_name):
5962         * device-x.c (x_init_device):
5963         * device-x.c (Fx_valid_keysym_name_p):
5964         * device-x.c (Fx_set_font_path):
5965         [6].
5966         [7].
5967
5968         * device.h (wrap_device): New.
5969         First of its kind; meant to replace XSETDEVICE.
5970
5971         * dialog-msw.c: Many file-dialog symbols.
5972
5973         * dialog-msw.c (mswindows_register_popup_frame): New.
5974         * dialog-msw.c (mswindows_is_dialog_msg): New.
5975         For supporting kbd traversal in dialog boxes.
5976
5977         * dialog-msw.c (dialog_proc):
5978         Support hitting ESC in dialogs.
5979
5980         * dialog-msw.c (struct):
5981         Common dialog box errors.
5982
5983         * dialog-msw.c (handle_file_dialog_box): New.
5984         Add file dialog code.
5985
5986         * dialog-msw.c (handle_question_dialog_box):
5987         Redo existing code to support new question dialog syntax.
5988
5989         * dialog-msw.c (console_type_create_dialog_mswindows):
5990         We support new dialog console method.
5991
5992         * dialog-msw.c (syms_of_dialog_mswindows):
5993         * dialog-msw.c (vars_of_dialog_mswindows):
5994         New file dialog symbols, vars.
5995
5996         * dialog-x.c:
5997         * dialog-x.c (maybe_run_dbox_text_callback):
5998         * dialog-x.c (dbox_descriptor_to_widget_value):
5999         * dialog-x.c (x_make_dialog_box_internal):
6000         * dialog-x.c (console_type_create_dialog_x):
6001         Mule-ize entire file.
6002         Redo to support question dialog syntax.
6003         [6].
6004
6005         * dialog.c:
6006         * dialog.c (Fmake_dialog_box_internal):
6007         * dialog.c (syms_of_dialog):
6008         Kill old popup-dialog-box, replace with new primitive.
6009         Just call device method or signal error.
6010
6011         * eldap.c (Fldap_open):
6012         * eldap.c (Fldap_search_basic):
6013         * eldap.c (Fldap_add):
6014         * eldap.c (Fldap_modify):
6015         [1].
6016         [7].
6017
6018         * emacs.c:
6019         * emacs.c (make_arg_list_1):
6020         * emacs.c (make_arg_list):
6021         Mule-ize call to dll_init().
6022         [6].
6023         [8].
6024
6025         * emacs.c (make_argc_argv):
6026         * emacs.c (free_argc_argv):
6027         * emacs.c (init_cmdargs):
6028         * emacs.c (main_1):
6029         * emacs.c (Fkill_emacs):
6030         * emacs.c (Fdump_emacs):
6031         Update comments about what can be used in syms_* etc.
6032         Call init_win32() when necessary.
6033         Fix up MS Win dialog box in kill-buffer to actually work right.
6034         [7].
6035
6036         * eval.c:
6037         * eval.c (For):
6038         * eval.c (Fand):
6039         * eval.c (Fprogn):
6040         * eval.c (Fprog1):
6041         * eval.c (Fprog2):
6042         * eval.c (FletX):
6043         * eval.c (Flet):
6044         * eval.c (condition_case_3):
6045         * eval.c (Feval):
6046         * eval.c (function_argcount):
6047         * eval.c (funcall_lambda):
6048         [1].
6049
6050         * eval.c (type_error): New.
6051         * eval.c (maybe_type_error): New.
6052         * eval.c (continuable_type_error): New.
6053         * eval.c (maybe_continuable_type_error): New.
6054         * eval.c (type_error_with_frob): New.
6055         * eval.c (maybe_type_error_with_frob): New.
6056         * eval.c (continuable_type_error_with_frob): New.
6057         * eval.c (maybe_continuable_type_error_with_frob): New.
6058         New functions for use with structured errors.
6059
6060         * event-Xt.c:
6061         * event-Xt.c (x_event_to_emacs_event):
6062         Buttons are now modifiers too.
6063
6064         * event-Xt.c (emacs_Xt_current_event_timestamp):
6065         Implement new event method.
6066         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6067
6068         * event-msw.c:
6069         * event-msw.c (ntpipe_shove_writer): [5].
6070         * event-msw.c (mswindows_enqueue_mouse_button_event):
6071         * event-msw.c (mswindows_drain_windows_queue):
6072         * event-msw.c (mswindows_wnd_proc): [7].
6073         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6074         * event-msw.c (mswindows_modifier_state):
6075         Throughout: support new button modifiers.
6076
6077         * event-msw.c (emacs_mswindows_current_event_timestamp):
6078         Implement new event method.
6079         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6080
6081         * event-stream.c:
6082         * event-stream.c (event_stream_current_event_timestamp): New.
6083         * event-stream.c (maybe_kbd_translate): New functionality.
6084         * event-stream.c (vars_of_event_stream):
6085         Document new kbd-translate-table functionality.
6086
6087         * event-stream.c (Fcurrent_event_timestamp): New.
6088         New primitive for use in fabricated events.
6089         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6090
6091         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6092
6093         * events.c:
6094         * events.c (Fmake_event):
6095         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6096         [1].
6097         [9].
6098
6099         * events.c (format_event_object): fix gcc warnings.
6100
6101         * events.c (Fevent_timestamp): Document new primitives.
6102
6103         * events.c (TIMESTAMP_HALFSPACE): New.
6104
6105         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6106         comparing timestamps correctly (half-space algorithm).
6107
6108         * events.c (Fevent_modifier_bits): Doc fix.
6109
6110         * events.c (Fevent_modifiers): Major doc addition.
6111         * events.c (event_x_y_pixel_internal): Typo fix.
6112         * events.c (syms_of_events): Declare new primitives.
6113
6114         * events.h:
6115         Update long comment for button modifiers, timestamps.
6116
6117         * events.h (struct event_stream):
6118         New current_event_timestamp method.
6119
6120         * extents.c:
6121         * extents.c (extent_in_region_p):
6122         * extents.c (decode_extent):
6123         * extents.c (Fset_extent_parent):
6124         * extents.c (decode_map_extents_flags):
6125         Fix gcc warnings.
6126         [9].
6127
6128         * extents.c (struct extent_at_arg):
6129         * extents.c (decode_extent_at_flag):
6130         * extents.c (extent_at_mapper):
6131         * extents.c (extent_at_bytind):
6132         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6133         * extents.c (Fextents_at): New primitive. [9].
6134         * extents.c (symbol_to_glyph_layout): [9].
6135         Support new primitive `extents-at'.
6136
6137
6138         * extents.c (get_text_property_bytind):
6139         extent_at_bytind has another arg.
6140         [9].
6141
6142         * extents.c (syms_of_extents): New primitive.
6143
6144         * file-coding.c (Fmake_coding_system): [1].
6145         * file-coding.c (subsidiary_coding_system): fix gcc warning
6146         * file-coding.c (syms_of_file_coding): [2].
6147
6148         * fileio.c (Fexpand_file_name):
6149         * fileio.c (Fsysnetunam):
6150         * fileio.c (Ffile_exists_p):
6151         * fileio.c (Ffile_executable_p):
6152         * fileio.c (Fverify_visited_file_modtime):
6153         Clean up GCPROing.
6154
6155         * fileio.c (syms_of_fileio): [2].
6156
6157         * filelock.c (lock_file_1):
6158         * filelock.c (current_lock_owner):
6159         * filelock.c (lock_if_free):
6160         * filelock.c (lock_file):
6161         * filelock.c (unlock_file):
6162         Clean up GCPROing.
6163
6164         * fns.c (concat): Fix gcc warning.
6165
6166         * fns.c (Fmember):
6167         * fns.c (Fold_member):
6168         * fns.c (Fmemq):
6169         * fns.c (Fold_memq):
6170         * fns.c (memq_no_quit):
6171         * fns.c (Fassoc):
6172         * fns.c (Fold_assoc):
6173         * fns.c (Fassq):
6174         * fns.c (Fold_assq):
6175         * fns.c (assq_no_quit):
6176         * fns.c (Frassoc):
6177         * fns.c (Fold_rassoc):
6178         * fns.c (Frassq):
6179         * fns.c (Fold_rassq):
6180         * fns.c (rassq_no_quit):
6181         * fns.c (Fdelete):
6182         * fns.c (Fold_delete):
6183         * fns.c (Fdelq):
6184         * fns.c (Fold_delq):
6185         * fns.c (delq_no_quit):
6186         * fns.c (Fremassoc):
6187         * fns.c (Fremassq):
6188         * fns.c (remassq_no_quit):
6189         * fns.c (Fremrassoc):
6190         * fns.c (Fremrassq):
6191         * fns.c (remrassq_no_quit):
6192         * fns.c (Freverse):
6193         * fns.c (mapcar1):
6194         [1].
6195
6196         * frame-msw.c (mswindows_init_frame_1):
6197         * frame-msw.c (mswindows_delete_frame):
6198         Register popups with dialog code so keyboard traversing works.
6199
6200         * frame-tty.c (tty_raise_frame_no_select): [1].
6201
6202         * frame-x.c:
6203         * frame-x.c (x_set_frame_text_value):
6204         * frame-x.c (x_set_frame_properties):
6205         * frame-x.c (x_create_widgets):
6206         [7].
6207
6208         * frame.c:
6209         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6210
6211         * frame.h (wrap_frame): New.
6212         Macro like wrap_device.
6213
6214         * general.c:
6215         * general.c (SYMBOL):
6216         * general.c (syms_of_general):
6217         Major reorg.  This is now just a wrapper and symbols themselves
6218         are listed in general-slots.h.
6219
6220         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6221         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6222
6223         * glyphs-msw.c (mswindows_native_layout_instantiate):
6224         Add DS_CONTROL so keyboard traversal will work.
6225
6226         * glyphs-widget.c:
6227         * glyphs-widget.c (syms_of_glyphs_widget):
6228         Move some symbols to general-slots.h.
6229
6230         * glyphs-x.c:
6231         * glyphs-x.c (xbm_instantiate_1):
6232         * glyphs-x.c (x_xbm_instantiate):
6233         * glyphs-x.c (x_xface_instantiate):
6234         * glyphs-x.c (autodetect_instantiate):
6235         * glyphs-x.c (cursor_font_instantiate):
6236         * glyphs-x.c (x_update_widget):
6237         * glyphs-x.c (x_widget_instantiate):
6238         * glyphs.c (bitmap_to_lisp_data):
6239         * glyphs.c (pixmap_to_lisp_data):
6240         [7].
6241
6242         * glyphs.c (syms_of_glyphs):
6243         [2].
6244
6245         * gui-x.c:
6246         * gui-x.c (print_widget_value):
6247         * gui-x.c (menu_separator_style_and_to_external):
6248         * gui-x.c (add_accel_and_to_external):
6249         * gui-x.c (button_item_to_widget_value):
6250         * gui-x.c (gui_items_to_widget_values_1):
6251         * gui-x.c (gui_items_to_widget_values):
6252         * gui-x.c (syms_of_gui_x):
6253         * gui-x.c (vars_of_gui_x):
6254         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6255         [9].
6256
6257         * gui-x.h:
6258         Muleize, prototype changes matching gui-x.c.
6259
6260         * gui.c:
6261         * gui.c (separator_string_p):
6262         * gui.c (gui_item_add_keyval_pair):
6263         * gui.c (make_gui_item_from_keywords_internal):
6264         * gui.c (signal_too_long_error):
6265         * gui.c (parse_gui_item_tree_item):
6266         * gui.c (syms_of_gui):
6267         * gui.c (vars_of_gui):
6268         * gui.h:
6269         menu-no-selection-hook moved here (used by MSWin).
6270         Move some symbols to general-slots.h.
6271         [6].
6272         [9].
6273
6274         * insdel.c (get_buffer_pos_char):
6275         * insdel.c (get_buffer_range_char):
6276         Add GC comments.
6277
6278         * keymap.c (keymap_lookup_directly):
6279         * keymap.c (keymap_store):
6280         * keymap.c (ensure_meta_prefix_char_keymapp):
6281         * keymap.c (describe_map):
6282         * keymap.h:
6283         Support new button modifiers.
6284
6285         * lisp-disunion.h (wrap_object):
6286         * lisp-disunion.h (XSETOBJ):
6287         Rename make_obj to wrap_object.
6288
6289         * lisp-union.h:
6290         * lisp-union.h (make_int):
6291         * lisp-union.h (make_char):
6292         Support wrap_object.
6293
6294         * lisp.h:
6295         * lisp.h (LIST_LOOP):
6296         * lisp.h (EXTERNAL_LIST_LOOP):
6297         * lisp.h (LIST_LOOP_2):
6298         * lisp.h (EXTERNAL_LIST_LOOP_1):
6299         * lisp.h (EXTERNAL_LIST_LOOP_2):
6300         * lisp.h (EXTERNAL_LIST_LOOP_3):
6301         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6302         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6303         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6304         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6305         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6306         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6307         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6308         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6309         * lisp.h (struct Lisp_Symbol):
6310         * lisp.h (maybe_continuable_error_with_frob):
6311         Fix up section comments.
6312         Add new types for char to indicate usage.
6313         Delete symbols auto-generated from general-slots.h.
6314         Add prototypes for structured error functions.
6315         Add long comments describing looping macros and change interface
6316         so that lvalues are automatically declared.
6317         Add NO_DECLARE macro in case callers want to declare lvalues
6318         themselves.
6319
6320         * lread.c (read_syntax_error):
6321         * lread.c (continuable_read_syntax_error):
6322         * lread.c (read_structure):
6323         * lread.c (sequence_reader):
6324         * lread.c (read_list_conser):
6325         * lread.c (read_compiled_function):
6326         Rename syntax_error and continuable_syntax_error to avoid clash
6327         with same-named structured error functions.
6328
6329         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6330         * menubar-msw.c (populate_menu_add_item):
6331         * menubar-msw.c (populate_or_checksum_helper):
6332         [5].
6333         [9].
6334
6335         * menubar-x.c:
6336         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6337         Mule-ize whole file.
6338
6339         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6340
6341         * mule-charset.c (Fmake_charset):
6342         * mule-wnnfns.c (Fwnn_set_param):
6343         [1].
6344
6345         * ntproc.c (create_child):
6346         * ntproc.c (Fwin32_set_current_locale):
6347         Add comments portending doom.
6348
6349         * objects-msw.c:
6350         * objects-msw.c (old_font_enum_callback_2):
6351         * objects-msw.c (font_enum_callback_1):
6352         * objects-msw.c (mswindows_enumerate_fonts):
6353         [5].
6354
6355         * objects-x.c:
6356         * objects-x.c (allocate_nearest_color):
6357         * objects-x.c (x_parse_nearest_color):
6358         * objects-x.c (x_initialize_color_instance):
6359         * objects-x.c (x_print_color_instance):
6360         * objects-x.c (x_finalize_color_instance):
6361         * objects-x.c (x_valid_color_name_p):
6362         * objects-x.c (x_initialize_font_instance):
6363         * objects-x.c (x_print_font_instance):
6364         * objects-x.c (valid_x_font_name_p):
6365         * objects-x.c (truename_via_FONT_prop):
6366         * objects-x.c (truename_via_random_props):
6367         * objects-x.c (truename_via_XListFonts):
6368         * objects-x.c (x_font_truename):
6369         * objects-x.c (x_font_instance_truename):
6370         * objects-x.c (x_font_instance_properties):
6371         * objects-x.c (x_list_fonts):
6372         * objects-x.c (x_find_charset_font):
6373         Mule-ize entire file.
6374         [7].
6375
6376         * objects-x.h:
6377         Mule-verify.
6378
6379         * print.c:
6380         * print.c (std_handle_out_external):
6381         * print.c (debug_print_no_newline):
6382         * print.c (syms_of_print):
6383         Output to all debugger kinds in debug-print.
6384         Fix console-output code under MSWin to actually work.
6385
6386         * process-nt.c (send_signal):
6387         * process-nt.c (nt_create_process):
6388         Use newer Unicode macros.
6389
6390         * process-unix.c (unix_create_process):
6391         * process-unix.c (unix_canonicalize_host_name):
6392         * process-unix.c (unix_open_network_stream):
6393         [7].
6394
6395         * scrollbar-x.c:
6396         Mule-verify.
6397
6398         * search.c (syms_of_search):
6399         [2].
6400
6401         * select-msw.c (mswindows_destroy_selection):
6402         Use LIST_LOOP_2.
6403
6404         * select-x.c (symbol_to_x_atom):
6405         [7].
6406
6407         * select.c (syms_of_select):
6408         [2].
6409
6410         * sound.c (Fplay_sound_file):
6411         [7].
6412
6413         * specifier.c:
6414         * specifier.c (decode_specifier_type):
6415         * specifier.c (Fvalid_specifier_locale_type_p):
6416         * specifier.c (check_valid_locale_or_locale_type):
6417         * specifier.c (decode_locale):
6418         * specifier.c (decode_locale_type):
6419         * specifier.c (decode_locale_list):
6420         * specifier.c (check_valid_domain):
6421         * specifier.c (decode_specifier_tag_set):
6422         * specifier.c (Fcanonicalize_tag_set):
6423         * specifier.c (Fdefine_specifier_tag):
6424         * specifier.c (Fspecifier_tag_predicate):
6425         * specifier.c (check_valid_inst_list):
6426         * specifier.c (check_valid_spec_list):
6427         * specifier.c (decode_how_to_add_specification):
6428         * specifier.c (check_modifiable_specifier):
6429         * specifier.c (specifier_add_spec):
6430         * specifier.c (boolean_validate):
6431         * specifier.c (display_table_validate):
6432         [9].
6433
6434         * specifier.c (syms_of_specifier):
6435         Move some symbols to general-slots.h.
6436         [2].
6437
6438         * symbols.c:
6439         * symbols.c (Fmapatoms):
6440         * symbols.c (Fapropos_internal):
6441         Add GCPROs.
6442
6443         * symbols.c (set_default_buffer_slot_variable):
6444         * symbols.c (set_default_console_slot_variable):
6445         [1].
6446
6447         * symbols.c (defsymbol_massage_name_1):
6448         * symbols.c (defkeyword_massage_name):
6449         * symbols.c (deferror_1):
6450         * symbols.c (deferror):
6451         * symbols.c (deferror_massage_name_and_message):
6452         * symeval.h:
6453         * symeval.h (DEFSYMBOL):
6454         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6455
6456         * symbols.c (syms_of_symbols):
6457         [2].
6458
6459         * symsinit.h:
6460         * symsinit.h (init_win32): New.
6461         Also new is syms_of_dialog_mswindows.
6462
6463         * syswindows.h:
6464         Add new Unicode macros, missing Cygwin wide-char functions,
6465         convenience conversion macros for Qmswindows_tstr, macros for
6466         encapsulating required MSWin <-> Cygwin filename conversions,
6467         prototype for dynamically-extracted (not in NT 3.51) functions.
6468
6469         * toolbar-x.c:
6470         Mule-verify.
6471
6472         * tooltalk.c (Fadd_tooltalk_message_arg):
6473         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6474         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6475         [7].
6476
6477         * tooltalk.c (syms_of_tooltalk):
6478         [2].
6479
6480         * unexnt.c:
6481         * unexnt.c (unexec):
6482         Fix up headers, declaration of unexec() to be more standard.
6483
6484 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6485
6486         * offix.h: Revert change to guard macros - they're used in offix.c!
6487
6488 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6489
6490         * lisp.h: Defsubred Fdelete.
6491
6492         * console-msw.h:  (msprinter_default_printer): Added.
6493
6494         * console-msw.c (msprinter_canonicalize_console_connection):
6495         (msprinter_canonicalize_device_connection): Added.
6496
6497         * device-msw.c (msprinter_default_printer):
6498         (Fmswingows_get_default_printer):
6499         (signal_enum_priner_error):
6500         (Fmswingows_printer_list): Added.
6501
6502 2000-07-19  Martin Buchholz <martin@xemacs.org>
6503
6504         * XEmacs 21.2.35 is released.
6505
6506 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6507
6508         * select-x.c (x_handle_selection_request):
6509         Text selected in xemacs and pasted into xterm failed to appear.
6510         Spelling fixes and cosmetic changes.
6511
6512 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6513
6514         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6515         XEmacs frame (fix for doubling chars in dialog boxes).
6516
6517 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6518
6519         * select.c (select_convert_in, select_convert_out):
6520         Don't call intern() every time.
6521
6522         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6523         * select.c (vars_of_select): Initialise them.
6524
6525 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6526
6527         * select.c (selection-coercible-types): New.
6528
6529         * select.c (own-selection-internal):
6530         * select.c (get-selection-internal):
6531         MULE bug fix - these should default to COMPOUND_TEXT and not
6532         STRING for MULE. I think.
6533
6534         * select.c (select_convert_out): Use selection-coercible-types
6535         to find types that we can attempt to perform coercions on.
6536
6537 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6538
6539         * mule-wnnfns.c:
6540         * mule-canna.c:
6541         Add coding: cookie to identify encoding.
6542
6543         * mule-canna.c (CANNA_mode_keys): make static.
6544         Use proper prototypes, even for functions of no arguments.
6545         Remove external prototype for Fding().
6546
6547         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6548
6549         * select.c (syms_of_select): Add missing DEFSUBR.
6550
6551 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6552
6553         * select.c (get_selection_internal, own_selection_internal):
6554         Make the type default to STRING, rather than placing a nil type
6555         into Vselection_alist.
6556
6557 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6558
6559         * gpmevent.c (tty_selection_exists_p):
6560         * gpmevent.c (tty_own_selection):
6561         Updated parameter lists.
6562
6563 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
6564
6565         * select.h (selection-alist): Removed declaration.
6566
6567         * select.h (get_local_selection):
6568         * select.c (get_local_selection):
6569         Made static.
6570
6571         * select.h (convert_selection): Removed declaration.
6572         * select.c (convert_selection): Removed.
6573         This function belongs in Lisp.
6574
6575         * select.h (select_convert_in): Declare.
6576         * select.h (select_convert_out): Declare.
6577         * select.c (select_convert_in): New.
6578         * select.c (select_convert_out): New.
6579         New conversion functions for other files to call.
6580
6581         * select.h (select_notify_buffer_kill): Declare.
6582         * select.c (select_notify_buffer_kill): New.
6583         New functions that get called from kill-buffer.
6584
6585         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
6586         X-specific lisp code.
6587
6588         * select.h: Declare some of the lisp-visible functions for
6589         external use.
6590
6591         * select.c (clean_local_selection_data): Removed. This was
6592         a disgusting function, and previously should have been in
6593         select-x.c in any case. The functionality is now provided
6594         in select-convert-from-integer (select.el).
6595
6596         * select.c (available-selection-types): Fixed stupidity where
6597         INTEGER and ATOM got added twice. Also add STRING when we see an
6598         extent.
6599
6600         * select.c (get-selection-internal): Removed symbol stripping. No
6601         longer causes conversion when data comes from the internal cache.
6602
6603         * select.c (syms_of_select): Added new functions.
6604
6605         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
6606         error checking - previously this called abort!
6607
6608         * select-x.c (x_own_selection): Changed comment.
6609
6610         * select-x.c (x_handle_selection_request): Use select_convert_out.
6611         Don't mess with selection-alist; it's an internal variable of select.c.
6612
6613         * select-x.c (x_get_foreign_selection): Use select_convert_in.
6614
6615         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
6616         rather than messing with selection-alist.
6617
6618         * select-msw.c (mswindows_get_foreign_selection):
6619         Use TO_INTERNAL_FORMAT rather than hacking.
6620
6621 2000-07-14  Martin Buchholz  <martin@xemacs.org>
6622
6623         * process-unix.c (unix_open_multicast_group):
6624         (unix_open_multicast_group): Remove useless casts.
6625
6626 2000-07-13  Martin Buchholz  <martin@xemacs.org>
6627
6628         * sound.c (Fplay_sound): Fix `unused variable' warning.
6629
6630         * emacs.c (main): Use correct type for _environ on SCO5.
6631
6632 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
6633
6634         * console.h (own_selection_method):
6635         * console.h (selection_exists_p_method):
6636         * console.h (available_selection_types_method): New.
6637         * console.h (register_selection_data_type_method): New.
6638         * console.h (selection_data_type_name): New.
6639
6640         * console-msw.h (mswindows_destroy_selection): Declare it.  New
6641         function & alist to track GlobalAlloc()'d handles that need
6642         releasing when the clipboard data gets replaced or emptied.
6643
6644         * event-msw.c (mswindows_wnd_proc): Call it.
6645
6646         * lisp.h, general.c (Qappend): New symbol representing a
6647         `how-to-add' mode.
6648
6649         * select.c (own-selection-internal):
6650         * select.c (selection-exists-p):
6651         * select.c (available-selection-types): New.
6652         * select.c (register-selection-data-type): New.
6653         * select.c (selection-data-type-name): New.  New functions to deal
6654         with device-specific selection data formats.
6655         * select.c (selection-converter-out-alist): Renamed.
6656         * select.c (selection-converter-in-alist): New.
6657         * select.c (selection-appender-alist): New.  Added new alists.
6658         * select.c (syms_of_select, vars_of_select): Added new symbols &
6659         variables.
6660         * select.c (get_local_selection): Split.
6661         * select.c: Removed spurious type checking - selections may now be
6662         of any type, not just strings.
6663         * select.c (own-selection-internal):
6664
6665         * select.h, select.c (convert_selection): New. Created
6666         convert_selection() function based on get_local_selection().
6667         * select.h, select.c (QCF_*): New symbols representing mswindows
6668         clipboard formats.
6669         * select.h, select.c (Qreplace_all, Qreplace_existing): New
6670         symbols representing `how-to-add' modes.
6671
6672         * select-msw.c (x_sym_p): New.
6673         * select-msw.c (symbol_to_ms_cf): New.
6674         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
6675         symbols & clipboard formats. Can also handle string names.
6676         * select-msw.c (mswindows_own_selection):
6677         * select-msw.c (mswindows_selection_exists_p):
6678         Added `data-type' parameter. Use it.
6679         * select-msw.c (mswindows_available_selection_types): New.
6680         * select-msw.c (mswindows_register_selection_data_type): New.
6681         * select-msw.c (mswindows_selection_data_type_name): New.
6682         * select-msw.c (mswindows_own_selection):
6683         * select-msw.c (mswindows_get_foreign_selection):
6684         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
6685         * select-msw.c (console_create_select_mswindows): Added new methods.
6686         * select-msw.c (mswindows_destroy_selection): New.
6687         * select-msw.c (Vhandle_alist): New list.
6688         * select-msw.c (mswindows_own_selection):
6689
6690         * select-x.c (x_own_selection):
6691         * select-x.c (x_selection_exists_p):
6692         * select-x.c: Added some comments about maybe using new
6693         functionality.
6694         * select-x.c (x_own_selection):
6695
6696         * specifier.c: Remove definition of Qappend (now in general.c)
6697         * specifier.c (syms_of_specifier): Remove Qappend.
6698
6699 2000-07-12  Martin Buchholz  <martin@xemacs.org>
6700
6701         * config.h.in: Add socklen_t.
6702
6703         * s/decosf4-0.h: No special compiler flags needed or desired.
6704         In particular, undefine _BSD for DEC OSF 4.0.
6705
6706 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6707
6708         * redisplay-msw.c (msprinter_frame_output_end): Added.
6709         (console_type_create_redisplay_mswindows): Referred the above.
6710
6711         * frame.c (setup_frame_without_minibuffer): Do not create a
6712         default minibuffer frame on a printer device.
6713
6714         * frame-msw.c (apply_dc_geometry): Added.
6715         (msprinter_start_page):
6716         (msprinter_init_frame_3):
6717         (msprinter_eject_page): Use it.
6718
6719         * console-msw.h (struct msprinter_frame): Added pix_left and top,
6720         and removed residual duplex and orientation properties.
6721
6722 2000-07-11  Martin Buchholz  <martin@xemacs.org>
6723
6724         * eval.c (function_argcount): Work around a DEC CC compiler bug.
6725
6726         * unexalpha.c: Remove system prototypes from C sources!
6727
6728 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
6729
6730         * eval.c: Remove references to M-x edit-options in DEFUNs for
6731         `defvar' and `defconst'.
6732
6733 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6734
6735         * config.h.in: Remove SMART_INCLUDE hackery.
6736
6737         PostgreSQL hacking:
6738         * config.h.in: Don't use SMART_INCLUDE.
6739
6740         * postgresql.h: Include libpq-fe.h here.  Fix typo.
6741         * inline.c: Simply #include "postgresql.h"
6742         * postgresql.c:
6743         - Don't use SMART_INCLUDE
6744         - Use simply "const".
6745         - Use standard doc string conventions.
6746         - Use correct type for result of PQstatus.
6747
6748 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6749
6750         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
6751
6752         C++ compilation changes.
6753         * config.h.in (EXTERN_C): Define.
6754         * config.h.in (not): This is also a C++ keyword.
6755         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
6756         * cm.c: Use EXTERN_C.
6757         * redisplay-tty.c: Use EXTERN_C.
6758         * sysdep.c: Use EXTERN_C.  Remove Gould support.
6759
6760 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6761
6762         * general.c: Remove duplicate definition for Qfunction.
6763
6764 2000-07-08  Ben Wing  <ben@xemacs.org>
6765
6766         * device-msw.c (msprinter_init_device):
6767         * device-msw.c (sync_printer_with_devmode):
6768         * device-msw.c (handle_devmode_changes):
6769         * device-msw.c (print_dialog_worker):
6770         * device-msw.c (Fmsprinter_apply_settings):
6771         * device-msw.c (hash_devmode):
6772         * device-msw.c (Fmsprinter_settings_despecialize):
6773         use Qmswindows_tstr, not Qctext.
6774
6775         * vm-limit.c (check_memory_limits):
6776         avoid infinite loop printing warning messages.
6777
6778 2000-07-05  Craig Lanning  <lanning@scra.org>
6779
6780         * Makefile.in.in: Add support for including the Windows resources
6781         when building with the cygwin and mingw targets.
6782
6783         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
6784         not set or not correct.
6785         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
6786         (init_initial_directory): Don't try to use $PWD on the
6787         WIN32_NATIVE target.
6788
6789         * s\cygwin32.h:
6790         [[Add -mwindows to eliminate console window.]] not required --ben
6791         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6792         (MAIL_USE_POP): removed; now handled by configure.
6793
6794         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
6795         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
6796         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6797         (MAIL_USE_POP): removed; now handled by configure.
6798         (ENCAPSULATE_STAT): from Dan Holmsand, added.
6799         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
6800         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
6801         constant string.
6802         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
6803         up from <winsock.h> via systime.h.
6804         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
6805         (getpagesize): from Dan Holmsand, added.
6806         Added #endif which was left dangling by Ben's mega patch; added
6807         comment to help prevent this in the future.
6808
6809         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
6810
6811 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6812
6813         * console-msw.h (struct mswindows_device): Removed unnecessary
6814         cached device geometry values.
6815         Added update_tick and an accessor macro.
6816         (Lisp_Devmode): Added lrecord declaration.
6817         (struct msprinter_device): Contain devmode as a Lisp object.
6818         Added mswindows_get_selected_frame_hwnd();
6819
6820         * console.h (struct console_methods): Indentation nitpicking.
6821
6822         * device-msw.c (mswindows_init_device): Do not initialize geometry
6823         cache. Initialize update tick.
6824         (mswindows_device_system_metrics): Ask the device for its geometry.
6825         (global_free_2_maybe):
6826         (devmode_to_hglobal):
6827         (handle_printer_changes):
6828         (ensure_not_printing):
6829         (print_dialog_worker):
6830         (Fmsprinter_print_setup_dialog):
6831         (Fmsprinter_print_dialog):
6832         (plist_get_margin):
6833         (plist_set_margin):
6834         (Fmsprinter_page_setup_dialog): Added functions.
6835         (sync_printer_with_devmode):
6836         (handle_devmode_changes):
6837         (Fmsprinter_get_settings):
6838         (Fmsprinter_select_settings):
6839         (Fmsprinter_apply_settings):
6840         (allocate_devmode):
6841         (Fmsprinter_settings_copy):
6842         (Fmsprinter_settings_despecialize):
6843         (print_devmode):
6844         (finalize_devmode):
6845         (equal_devmode):
6846         (hash_devmode): Added functions
6847         (syms_of_device_mswindows): Init devmode lrecord class.
6848
6849         * device.h: Added an exfun for find-device.
6850
6851         * event-msw.c (mswindows_wnd_proc): Do not update the cached
6852         geometry; although, recreate the device compatible DC.
6853
6854         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
6855         (msprinter_init_frame_3):
6856         (msprinter_frame_property):
6857         (msprinter_internal_frame_property_p):
6858         (msprinter_frame_properties):
6859         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
6860         print job properties (will move to device settings).
6861
6862         * lisp.h: Added symbols.
6863
6864         * general.c (syms_of_general): Declared them.
6865
6866         * hash.c (string_hash): Added.
6867
6868         * lrecord.h (lrecord_type): Added devmode lrecord type.
6869
6870 2000-07-02  Mike Sperber <mike@xemacs.org>
6871
6872         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
6873         FreeBSD 4.0.
6874
6875 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
6876
6877         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
6878         integer.
6879
6880 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
6881
6882         * data.c (Fstring_to_number): Don't recognize floating point if
6883         base is not 10.
6884
6885 2000-06-22  Martin Buchholz  <martin@xemacs.org>
6886
6887         * glyphs-widget.c (tab_control_query_geometry):
6888         (widget_query_geometry):
6889         (button_query_geometry):
6890         * glyphs.c (text_query_geometry):
6891         Enforce type correctness.
6892
6893 2000-06-18  Martin Buchholz  <martin@xemacs.org>
6894
6895         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
6896         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
6897
6898 2000-06-17  Martin Buchholz  <martin@xemacs.org>
6899
6900         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
6901         conflicts with gcc's fixincluded version of FOO.h.
6902
6903         * glyphs.h (image_instance_geometry): Remove trailing `,'
6904
6905 2000-06-08  Mike Alexander  <mta@arbortext.com>
6906
6907         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
6908         (shove_thread): Don't write the same output twice
6909         (make_ntpipe_output_stream): Increase priority of shove thread
6910         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
6911         chance to run
6912         (ntpipe_shove_closer): Don't delete the pipe until we're done with
6913         it.
6914
6915 2000-06-12  Ben Wing  <ben@xemacs.org>
6916
6917         * s\mingw32.h (sigset):
6918         * s\windowsnt.h (sigset):
6919         rename msw_ to mswindows_ for consistency with general convention.
6920
6921 2000-06-12  Ben Wing  <ben@xemacs.org>
6922
6923         * console-msw.c:
6924         * console-msw.c (mswindows_get_console_hwnd):
6925         * console-msw.c (mswindows_ensure_console_allocated):
6926         * console-msw.c (mswindows_hide_console):
6927         * console-msw.c (mswindows_show_console):
6928         * console-msw.c (mswindows_ensure_console_buffered):
6929         * console-msw.c (mswindows_output_console_string):
6930         * console-msw.c (mswindows_windows9x_p):
6931         * console-msw.h:
6932         * device-msw.c (mswindows_get_workspace_coords):
6933         * device-msw.c (mswindows_device_system_metrics):
6934         * dialog-msw.c (mswindows_popup_dialog_box):
6935         * event-msw.c (mswindows_wnd_proc):
6936         * frame-msw.c (mswindows_size_frame_internal):
6937         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6938         * menubar-msw.c (displayable_menu_item):
6939         * menubar-msw.c (mswindows_char_is_accelerator):
6940         * nt.c:
6941         * nt.c (mswindows_sigset):
6942         * nt.c (mswindows_sigrelse):
6943         * nt.c (mswindows_sigpause):
6944         * nt.c (mswindows_raise):
6945         * nt.c (timer_proc):
6946         * ntproc.c:
6947         * ntproc.c (find_child_console):
6948         * ntproc.c (sys_kill):
6949         * print.c:
6950         * print.c (std_handle_out_external):
6951         * process-nt.c (find_child_console):
6952         * process-nt.c (send_signal_the_95_way):
6953         * process-nt.c (ensure_console_window_exists):
6954         * process-nt.c (nt_create_process):
6955         * syssignal.h:
6956         rename msw_ to mswindows_ for consistency with general convention.
6957
6958         * emacs.c:
6959         * dumper.c:
6960         include nt.h, not syswindows.h.
6961
6962         * nt.c (mswindows_fstat):
6963         * nt.c (mswindows_stat):
6964         prefix mswindows_ instead of attempting to directly override the
6965         library functions.  fix declarations.
6966
6967         * nt.h:
6968         include syswindows.h.  move some sysdep.h stuff here.
6969
6970         * ntheap.h:
6971         include syswindows.h, not <windows.h>.
6972
6973         * ntplay.c:
6974         clean up headers.
6975
6976         * sysdep.c:
6977         clean up headers.
6978
6979         * sysdep.c (sys_fstat):
6980         * sysdep.c (sys_stat):
6981         call mswindows versions when appropriate.
6982
6983         * sysdep.h:
6984         move mswin decls to nt.h.
6985
6986         * syswindows.h:
6987         add long comment describing appropriate use of the various windows
6988         headers.
6989
6990 2000-06-11  Ben Wing  <ben@xemacs.org>
6991
6992         * device-x.c: Correct doc string for sixth arg of x-get-resource.
6993
6994 2000-06-10  Ben Wing  <ben@xemacs.org>
6995
6996         * Makefile.in.in (release):
6997         Correction to make sure xemacs.exe always dumped when correct.
6998
6999         * alloca.c:
7000         * balloon_help.c:
7001         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7002
7003         * buffer.c (set_buffer_internal):
7004         [[[[2]]]]: Remove HAVE_FEP code.
7005
7006         * buffer.c (init_initial_directory):
7007         [3].
7008
7009         * bytecode.c:
7010         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7011         individual files.
7012
7013         * callproc.c:
7014         * callproc.c (call_process_cleanup):
7015         * callproc.c (Fold_call_process_internal):
7016         * callproc.c (child_setup):
7017         * callproc.c (getenv_internal):
7018         * callproc.c (init_callproc):
7019         * callproc.c (vars_of_callproc):
7020         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7021         __CYGWIN32__ -> CYGWIN.
7022         DOS_NT -> WIN32_NATIVE.
7023         Remove MSDOS support/references, converting to WIN32_NATIVE
7024           where correct.
7025         __MINGW32__ -> MINGW.
7026         Fix windows.h includes.
7027         Remove bogus HAVE_NTGUI.
7028
7029         * config.h.in:
7030         [2].
7031
7032         * console-msw.c:
7033         mswindows_message_outputted added for use in allowing startup
7034         errors on the console to be seen.
7035
7036         * console-msw.c (msw_ensure_console_allocated):
7037         * console-msw.c (msw_output_console_string):
7038         * console-msw.c (DHEADER):
7039         * console-msw.c (DOPAQUE_DATA):
7040         * console-msw.c (DEVENT):
7041         * console-msw.c (DCONS):
7042         * console-msw.c (DCONSCDR):
7043         * console-msw.c (DSTRING):
7044         * console-msw.c (DVECTOR):
7045         * console-msw.c (DSYMBOL):
7046         * console-msw.c (DSYMNAME):
7047         Fix warnings.
7048
7049         * console-stream.c (stream_init_console):
7050         Fix text/binary problems.
7051
7052         * device-msw.c:
7053         * device-msw.c (mswindows_finish_init_device):
7054         * device-msw.c (mswindows_delete_device):
7055         [1].
7056
7057         * device.c (handle_asynch_device_change):
7058         [3].
7059
7060         * dgif_lib.c:
7061         * dgif_lib.c (DGifOpenFileName):
7062         * dgif_lib.c (DGifOpenFileHandle):
7063         * dgif_lib.c (DGifGetLine):
7064         * dgif_lib.c (DGifGetPixel):
7065         Added config.h/lisp.h, fix up includes.
7066         [1].
7067
7068         * dired-msw.c:
7069         [4].
7070
7071         * dired.c:
7072         * dired.c (file_name_completion):
7073         * dired.c (Ffile_attributes):
7074         * dired.c (syms_of_dired):
7075         [1].
7076
7077         * dumper.c:
7078         * dumper.c (pdump_file_unmap):
7079         * dumper.c (pdump_load):
7080         [1].
7081
7082         * editfns.c:
7083         * editfns.c (Ftemp_directory):
7084         * editfns.c (user_login_name):
7085         * editfns.c (Fuser_real_login_name):
7086         * editfns.c (get_home_directory):
7087         [1].
7088
7089         * elhash.c (finish_marking_weak_hash_tables):
7090         [[[[5]]]]: Fix GCC warnings.
7091
7092         * emacs.c:
7093         * emacs.c (mswindows_handle_hardware_exceptions):
7094         * emacs.c (make_arg_list_1):
7095         * emacs.c (main_1):
7096         * emacs.c (Fkill_emacs):
7097         * emacs.c (Fdump_emacs):
7098         [1].
7099         Fix problems with nested crashes, add long comment.
7100
7101         * event-Xt.c (init_event_Xt_late):
7102         [1].
7103
7104         * event-msw.c:
7105         * event-msw.c (mswindows_dde_callback):
7106         * event-msw.c (mswindows_handle_sticky_modifiers):
7107         * event-msw.c (mswindows_wnd_proc):
7108         [1].
7109         [5].
7110
7111         * events.c (character_to_event):
7112         [1].
7113
7114         * fileio.c:
7115         * fileio.c (Ffile_name_directory):
7116         * fileio.c (Ffile_name_nondirectory):
7117         * fileio.c (directory_file_name):
7118         * fileio.c (Fexpand_file_name):
7119         * fileio.c (Fsubstitute_in_file_name):
7120         * fileio.c (Ffile_name_absolute_p):
7121         * fileio.c (check_executable):
7122         * fileio.c (Ffile_readable_p):
7123         * fileio.c (Ffile_accessible_directory_p):
7124         * fileio.c (Ffile_modes):
7125         * fileio.c (Funix_sync):
7126         * fileio.c (vars_of_fileio):
7127         [1]. [4].
7128
7129         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7130
7131         Expand getdefdir defn.
7132         Fix bogus rename() comment.
7133
7134         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7135         to use standard XEmacs include files, e.g. sysfile.h, rather
7136         than system-specific includes.
7137
7138         * fns.c:
7139         * fns.c (Fsubseq):
7140         [5]. [6].
7141
7142         * frame.c (vars_of_frame):
7143         [1].
7144
7145         * getloadavg.c:
7146         * getloadavg.c (getloadavg):
7147         [1]. [6].
7148         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7149         (We don't use it elsewhere in the code; just add a comment.)
7150
7151         * gif_io.c:
7152         [6].
7153         Add config.h.
7154
7155         * glyphs-msw.c:
7156         * glyphs-msw.c (mswindows_resource_instantiate):
7157         [1].
7158
7159         * glyphs-x.c (x_native_layout_instantiate):
7160         [5].
7161
7162         * gui-msw.c (Fmswindows_shell_execute):
7163         [1].
7164
7165         * insdel.c:
7166         [4].
7167
7168         * lisp.h:
7169         [4]. [5].
7170
7171         * lread.c (locate_file_in_directory_mapper):
7172         [1].
7173
7174         * lstream.c:
7175         [4].
7176
7177         * mem-limits.h:
7178         * mem-limits.h (get_lim_data):
7179         [1].
7180
7181         * menubar-msw.c:
7182         [4].
7183
7184         * ndir.h:
7185         [1].
7186
7187         * nt.c:
7188         * nt.c (getwd):
7189         * nt.c (closedir):
7190         * nt.c (rva_to_section):
7191         * nt.c (mswindows_executable_type):
7192         [1]. [6].
7193         Fix closedir() defn.
7194
7195         * nt.h:
7196         [[[[8]]]]: *_OK defs moved to sysfile.h.
7197
7198         * ntproc.c:
7199         [6]. [7].
7200
7201         * objects-x.c:
7202         [4].
7203
7204         * print.c:
7205         * print.c (std_handle_out_external):
7206         [1]. [4].
7207
7208         * process-nt.c:
7209         * process-nt.c (nt_create_process):
7210         [6].
7211         try to fix process quoting somewhat.
7212
7213         * process-unix.c (unix_create_process):
7214         [1].
7215
7216         * process.c:
7217         * process.c (vars_of_process):
7218         Add Vnull_device.
7219
7220         * process.h:
7221         [1].
7222
7223         * realpath.c:
7224         * realpath.c (xrealpath):
7225         [1].
7226
7227         * redisplay-tty.c (init_tty_for_redisplay):
7228         [3].
7229
7230         * redisplay.c:
7231         [4]. [6].
7232
7233         * scrollbar-msw.c:
7234         [4].
7235
7236         * sheap.c:
7237         * sheap.c (more_static_core):
7238         * sheap.c (report_sheap_usage):
7239         [5]. [6].
7240
7241         * signal.c:
7242         * signal.c (alarm_signal):
7243         [1]. [6].
7244
7245         * sound.c:
7246         [6].
7247
7248         * strftime.c:
7249         * strftime.c (zone_name):
7250         [1]. [5].
7251
7252         * symsinit.h (init_sunpro):
7253         [1].
7254
7255         * syscommctrl.h:
7256         commctrl.h not in Cygwin b20.1.
7257
7258         * sysdep.c:
7259         * sysdep.c (endif):
7260         * sysdep.c (sys_subshell):
7261         * sysdep.c (init_baud_rate):
7262         * sysdep.c (emacs_get_tty):
7263         * sysdep.c (emacs_set_tty):
7264         * sysdep.c (tty_init_sys_modes_on_device):
7265         * sysdep.c (init_system_name):
7266         * sysdep.c (sys_open):
7267         * sysdep.c (interruptible_open):
7268         * sysdep.c (sys_fopen):
7269         * sysdep.c (sys_mkdir):
7270         * sysdep.c (sys_rename):
7271         * sysdep.c (get_process_times_1):
7272         [1]. [6].
7273
7274         * sysdep.h:
7275         [1].
7276
7277         * sysdir.h:
7278         * sysdir.h (DIRENTRY_NONEMPTY):
7279         [1]. [6].
7280
7281         * sysdll.c (dll_init):
7282         * sysdll.h:
7283         [1].
7284
7285         * sysfile.h:
7286         [1]. [6]. [8].
7287         added text/binary defs.
7288
7289         * sysfloat.h:
7290         [1].
7291
7292         * sysproc.h:
7293         * sysproc.h (EDESTADDRREQ):
7294         * sysproc.h (poll_fds_for_input):
7295         [1]. [6].
7296
7297         * syspwd.h:
7298         [6].
7299
7300         * syssignal.h:
7301         [1].
7302
7303         * systime.h:
7304         [1]. [6].
7305
7306         * systty.h:
7307         [1].
7308
7309         * syswindows.h:
7310         [1].
7311         Always define WIN32_LEAN_AND_MEAN.
7312
7313         * unexcw.c (unexec):
7314         [5].
7315
7316         * unexec.c:
7317         * unexec.c (copy_text_and_data):
7318         * unexec.c (adjust_lnnoptrs):
7319         [1].
7320
7321         * unexnt.c:
7322         * unexnt.c (_start):
7323         [1].
7324
7325 2000-06-07  Ben Wing  <ben@xemacs.org>
7326
7327         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7328         was used only as a model.  We've long since extracted any useful
7329         logic or code out of this. (I just did an exhaustive search.)
7330
7331         * s\msdos.h: Removed.
7332
7333         * s\windows95.h: Removed.
7334
7335 2000-06-10  Ben Wing  <ben@xemacs.org>
7336
7337         * s\cygwin32.h:
7338         [1]. [5].
7339         Don't use extern with fun defs.
7340
7341         * s\mingw32.h:
7342         [1]. [7].
7343         Remove nt\inc include.
7344         Remove getdisk, getdefdir. (The former is unused, the latter
7345         expanded in fileio.h.)
7346
7347         * s\windowsnt.h:
7348         * s\windowsnt.h (WIN32_NATIVE):
7349         * s\windowsnt.h (HAVE_STRCASECMP):
7350         [1]. [7].
7351         Add long comment about preprocessor changes.
7352         Remove getdisk, getdefdir. (The former is unused, the latter
7353         expanded in fileio.h.)
7354
7355 2000-06-10  Ben Wing  <ben@xemacs.org>
7356
7357         * m\arm.h:
7358         * m\delta.h:
7359         * m\intel386.h:
7360         * m\sequent.h:
7361         * m\template.h:
7362         * m\windowsnt.h:
7363         [1].
7364         Remove bogus/unused NO_SOCK_SIGIO.
7365
7366 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7367
7368         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7369         not an Emchar.
7370
7371 2000-06-04  Mike Sperber <mike@xemacs.org>
7372
7373         * casetab.c (set_case_table): For `set-standard-case-table',
7374         actually deposit the new case tables where the rest of XEmacs can
7375         see them.
7376
7377 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7378
7379         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7380
7381 2000-06-05  Ben Wing  <ben@xemacs.org>
7382
7383         * callproc.c (child_setup): Don't do close_load_descs() under
7384         MS Windows.  Put in a comment explaining why.
7385
7386 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7387
7388         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7389         Toolkit shell" which breaks `kill-compilation' on Windows NT
7390         native, retaining STDERR handling improvements.
7391
7392 2000-06-01  Andreas Jaeger  <aj@suse.de>
7393
7394         * s/s390.h: Support for S390, based on a patch by Martin
7395         Schwidefsky <schwidefsky@de.ibm.com>.
7396
7397 2000-05-30  Andy Piper  <andy@xemacs.org>
7398
7399         * window.c (allocate_window):
7400         (make_dummy_parent):
7401         (Fset_window_configuration): use new hashtable type.
7402
7403         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7404         (struct image_instantiator_methods):
7405         (struct Lisp_Image_Instance): make instance geometry signed.
7406
7407         * glyphs.c (instantiate_image_instantiator):
7408         (image_instance_query_geometry):
7409         (image_instance_layout):
7410         (image_instance_layout):
7411         (query_string_geometry):
7412         (text_query_geometry):
7413         (image_instantiate):
7414         (image_instantiate):
7415         (cache_subwindow_instance_in_frame_maybe):
7416         (subwindow_query_geometry): make instance geometry signed.
7417
7418         * glyphs-widget.c (widget_query_geometry):
7419         (widget_layout):
7420         (button_query_geometry):
7421         (tree_view_query_geometry):
7422         (tab_control_query_geometry):
7423         (layout_query_geometry):
7424         (layout_layout):
7425         (native_layout_layout): make instance geometry signed.
7426
7427 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7428
7429         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7430         constant.
7431
7432         * general.c (syms_of_general): Add Qfull_assoc symbol.
7433
7434         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7435         correctly.
7436         (decode_weak_list_type): Decode full-assoc type.
7437         (encode_weak_list_type): Encode full-assoc type.
7438         (Fmake_weak_list): Update doc string.
7439
7440 2000-05-30  Andy Piper  <andy@xemacs.org>
7441
7442         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7443
7444         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7445         (decode_hash_table_weakness): ditto.
7446         (Fhash_table_weakness): ditto.
7447         (Fhash_table_type): ditto.
7448         (finish_marking_weak_hash_tables): ditto.
7449         (hash_table_weakness_validate): ditto.
7450         (syms_of_elhash): ditto.
7451
7452 2000-05-28  Martin Buchholz <martin@xemacs.org>
7453
7454         * XEmacs 21.2.34 is released.
7455
7456 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7457
7458         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7459         start cache.
7460         (updating_line_start_cache): Gone.
7461         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7462         generic code to force a minimum of 1 line laid out in the
7463         CMOTION_DISP case.
7464
7465 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7466
7467         * glyphs.c (instantiate_image_instantiator): Check for initialized
7468         height & width no longer special cases IMAGE_NOTHING.
7469         (nothing_instantiate): Set height and width of instance.
7470
7471 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7472
7473         * unexelf.c (unexec): Search for ".data" section.
7474         Initialize new_data2_offset from old_data_index.
7475         Remove redundant check for ElfW.
7476
7477 2000-05-23  Andy Piper  <andy@xemacs.org>
7478
7479         * glyphs.c (get_image_instantiator_governing_domain): allow more
7480         specific domains as the governing domain rather than expecting an
7481         exact match. This fixes problems with layouts.
7482
7483 2000-05-22  Andy Piper  <andy@xemacs.org>
7484
7485         * redisplay-output.c (compare_runes): check for non-images
7486
7487         * glyphs.c (set_glyph_dirty_p): ditto.
7488         (update_glyph_cachel_data): ditto.
7489
7490         * glyphs-widget.c (layout_post_instantiate): ditto.
7491         (layout_post_instantiate): ditto.
7492
7493         * event-msw.c (mswindows_wnd_proc): warning removal.
7494
7495 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7496
7497         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7498
7499         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7500
7501         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7502
7503         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7504         (mswindows_executable_type): mingw32 now has enough headers for
7505         this to work.
7506
7507 2000-05-20  Andy Piper  <andy@xemacs.org>
7508
7509         * console-msw.c (mswindows_output_last_error): ; -> ,
7510
7511 2000-05-12  Andy Piper  <andy@xemacs.org>
7512
7513         * console-msw.c (FROB): compare ints with ints.
7514
7515 2000-05-11  Andy Piper  <andy@xemacs.org>
7516
7517         * glyphs-x.c (x_finalize_image_instance): make minimal build
7518         happy.
7519
7520 2000-05-20  Ben Wing  <ben@xemacs.org>
7521
7522         * event-Xt.c:
7523         * event-Xt.c (vars_of_event_Xt):
7524         move modifier-keys-are-sticky to event-stream.c.
7525
7526         * event-msw.c:
7527         * event-msw.c (mswindows_enqueue_mouse_button_event):
7528         * event-msw.c (key_needs_default_processing_p):
7529         * event-msw.c (XEMSW_LCONTROL):
7530         * event-msw.c (mswindows_handle_sticky_modifiers):
7531         * event-msw.c (FROB):
7532         * event-msw.c (clear_sticky_modifiers):
7533         * event-msw.c (output_modifier_keyboard_state):
7534         * event-msw.c (output_alt_keyboard_state):
7535         * event-msw.c (mswindows_wnd_proc):
7536         * event-msw.c (mswindows_modifier_state):
7537         * event-msw.c (emacs_mswindows_handle_magic_event):
7538         implement sticky modifiers.
7539
7540         * event-stream.c:
7541         * event-stream.c (vars_of_event_stream):
7542         move modifier-keys-are-sticky here.
7543
7544         * lisp.h:
7545         add CHECK_FUNCTION.
7546
7547         * rangetab.c:
7548         implement map-range-table.
7549
7550
7551 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7552
7553         * redisplay-tty.c (reset_tty_modes):
7554         (tty_redisplay_shutdown): Adjust argument type to
7555         tty_frame_output_end.
7556
7557 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7558
7559         * eval.c (Fbacktrace): Don't output a line with only right
7560         parenthesis.
7561
7562 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
7563
7564         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
7565         (Fpq_reset_poll): Ditto.
7566
7567 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
7568
7569         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
7570
7571 2000-05-16  Ben Wing  <ben@xemacs.org>
7572
7573         * buffer.c:
7574         * buffer.c (dfc_convert_to/from_internal_format):
7575         * buffer.c (reinit_vars_of_buffer):
7576         Fix conversion functions to allow reentrancy.
7577
7578         * console-msw.c:
7579         * console-msw.c (mswindows_output_last_error):
7580         New fun, generally useful -- output a human-readable
7581         version of GetLastError() on the console.
7582
7583         * console-msw.h:
7584         * console-msw.h (struct mswindows_frame):
7585         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
7586
7587         * console-stream.c (stream_output_begin):
7588         * console-stream.c (stream_output_end):
7589         * console-stream.c (stream_output_vertical_divider):
7590         * console-stream.c (stream_clear_region):
7591         * console-stream.c (stream_flash):
7592         * console-stream.c (console_type_create_stream):
7593         Delete blank stream methods, not needed.
7594
7595         * console.h (struct console_methods):
7596         Split begin/end methods into window and frame.
7597
7598         * event-msw.c:
7599         * event-msw.c (mswindows_handle_paint):
7600         * event-msw.c (output_alt_keyboard_state):
7601         * event-msw.c (mswindows_wnd_proc):
7602         * event-msw.c (vars_of_event_mswindows):
7603         Comment about problems with ignored-expose.
7604         Define mswindows-debug-events; not really implemented.
7605
7606         * frame-msw.c (mswindows_init_frame_1):
7607         random cleanups.
7608
7609         * glyphs-msw.c:
7610         * glyphs-msw.c (begin_defer_window_pos):
7611         * glyphs-msw.c (mswindows_unmap_subwindow):
7612         * glyphs-msw.c (mswindows_map_subwindow):
7613         * glyphs-msw.c (mswindows_resize_subwindow):
7614         Use DeferWindowPos to reduce flashing when mapping/unmapping.
7615
7616         * glyphs.c (make_image_instance_1):
7617         Fix crash.
7618
7619         * gutter.c (Fredisplay_gutter_area):
7620         Use new begin/end methods.
7621
7622         * lisp.h (Dynarr_new2):
7623         New creation fun.
7624
7625         * redisplay-msw.c:
7626         * redisplay-msw.c (mswindows_frame_output_begin):
7627         * redisplay-msw.c (mswindows_frame_output_end):
7628         * redisplay-msw.c (console_type_create_redisplay_mswindows):
7629         New begin/end methods -- handle DeferWindowPos.
7630
7631         * redisplay-output.c (redisplay_move_cursor):
7632         * redisplay-output.c (redraw_cursor_in_window):
7633         * redisplay-output.c (redisplay_update_line):
7634         * redisplay-output.c (redisplay_output_window):
7635         New begin/end methods.
7636
7637         * redisplay-tty.c:
7638         * redisplay-tty.c (tty_frame_output_begin):
7639         * redisplay-tty.c (tty_frame_output_end):
7640         * redisplay-tty.c (console_type_create_redisplay_tty):
7641         New begin/end methods.
7642
7643         * redisplay-x.c:
7644         * redisplay-x.c (x_window_output_begin):
7645         * redisplay-x.c (x_window_output_end):
7646         * redisplay-x.c (console_type_create_redisplay_x):
7647         New begin/end methods.
7648
7649         * redisplay.c (redisplay_frame):
7650         * redisplay.c (Fredisplay_echo_area):
7651         New begin/end methods.
7652         use MAYBE_DEVMETH for clear_frame; it may not exist.
7653
7654         * window.h (WINDOW_XFRAME):
7655         WINDOW_XFOO macros -- get locale and decode struct pointer.
7656
7657
7658 2000-05-12  Ben Wing  <ben@xemacs.org>
7659
7660         * emacs.c:
7661         * emacs.c (ensure_no_quitting_from_now_on):
7662         * emacs.c (fatal_error_signal):
7663         * emacs.c (mswindows_handle_hardware_exceptions):
7664         * emacs.c (main):
7665         * emacs.c (Fkill_emacs):
7666         * emacs.c (shut_down_emacs):
7667         * emacs.c (assert_failed):
7668         various improvements in fatal error handling.
7669
7670         * eval.c:
7671         move preparing_for_armageddon to emacs.c.
7672
7673         * lisp.h:
7674         declare fatal_error_in_progress.
7675
7676         * print.c:
7677         * print.c (std_handle_out_external):
7678         * print.c (std_handle_out_va):
7679         * print.c (stderr_out):
7680         * print.c (stdout_out):
7681         use console under mswin when no standard output.
7682         don't do code conversion during fatal error.
7683
7684         * scrollbar.c (Fscrollbar_page_up):
7685         * scrollbar.c (Fscrollbar_page_down):
7686         fix missing else.  reindent.
7687
7688 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
7689
7690         Emergency fix.
7691
7692         * glyphs.h (GLYPH_CACHEL_DESCENT):
7693         (GLYPH_CACHEL_DESCENT):
7694         (GLYPH_CACHEL_DESCENT):
7695         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
7696         used in case these are inline functions.
7697         Use more absurd values to error check.
7698
7699         include window.h for error check functions.
7700
7701 2000-05-11  Ben Wing  <ben@xemacs.org>
7702
7703         * cmdloop.c (Freally_early_error_handler):
7704         Display message box under windows; otherwise, message will disappear
7705         before it can be viewed.
7706
7707         * console-msw.c:
7708         * console-msw.c (Fmswindows_message_box):
7709         * console-msw.c (FROB):
7710         * console-msw.c (syms_of_console_mswindows):
7711         Define new fun `mswindows-message-box'.
7712         #### I will merge this into `popup-dialog-box'; just give me
7713         a bit of time.
7714
7715         * general.c:
7716         * general.c (syms_of_general):
7717         Some new symbols used in `mswindows-message-box'.
7718
7719         * glyphs.c:
7720         * glyphs.c (Fset_image_instance_property):
7721         put warning in this fun.
7722
7723         * glyphs.h:
7724         * glyphs.h (GLYPH_CACHEL_WIDTH):
7725         * glyphs.h (GLYPH_CACHEL_ASCENT):
7726         * glyphs.h (GLYPH_CACHEL):
7727         * glyphs.h (GLYPH_CACHEL_GLYPH):
7728         define error-checking versions to try to catch a bug i've seen --
7729         redisplay gets in an infinite loop because the glyph width of the
7730         continuation glyph is 65535.
7731
7732         * lisp.h:
7733         Extern message-box stuff.
7734
7735         * window.c (allocate_window):
7736         * window.c (make_dummy_parent):
7737         * window.c (Fset_window_configuration):
7738         Use EQUAL not EQ for subwindow caches to make them work a bit
7739         better. (Something is still very broken.)
7740
7741
7742 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7743
7744         * glyphs.c (image_instantiate): Suppress gcc warnings.
7745         (Fmake_image_instance): Fix doc string.
7746         * specifier.c (Fmake_specifier): Ditto.
7747
7748 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
7749
7750         * paths.h.in (PATH_LOCK): Removed.
7751         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
7752         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
7753
7754 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7755
7756         * fns.c (Ffeaturep): Update e-mail address in doc-string.
7757         Document (featurep '(and xemacs 21.02)).
7758
7759 2000-05-09  Ben Wing  <ben@xemacs.org>
7760
7761         * buffer.c (complex_vars_of_buffer):
7762         update modeline-format doc.
7763
7764         * device.h:
7765         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
7766
7767         * emacs.c:
7768         timeline of all released versions of Emacs, for use in creating
7769         authorship comments and in synching up.
7770
7771         * glyphs-widget.c (image_instantiator_buttons):
7772         * glyphs-widget.c (image_instantiator_edit_fields):
7773         * glyphs-widget.c (image_instantiator_combo_box):
7774         * glyphs-widget.c (image_instantiator_scrollbar):
7775         * glyphs-widget.c (image_instantiator_progress_guage):
7776         * glyphs-widget.c (image_instantiator_tree_view):
7777         * glyphs-widget.c (image_instantiator_tab_control):
7778         * glyphs-widget.c (image_instantiator_labels):
7779         * glyphs-widget.c (image_instantiator_layout):
7780         * glyphs-widget.c (image_instantiator_native_layout):
7781         rename decode_domain method to governing_domain.
7782
7783         * glyphs.c:
7784         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
7785         * glyphs.c (add_entry_to_device_ii_format_list):
7786         make sure we don't put an entry more than once into the list.
7787         * glyphs.c (check_instance_cache_mapper):
7788         *************************************************************
7789         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7790         HAVE BEEN GETTING.
7791         *************************************************************
7792         * glyphs.c (get_image_instantiator_governing_domain):
7793         clean up, expand on new concept of governing domain.
7794         * glyphs.c (instantiate_image_instantiator):
7795         * glyphs.c (allocate_image_instance):
7796         use governing_domain instead of cache_domain in naming.
7797         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
7798         * glyphs.c (make_image_instance_1):
7799         * glyphs.c (Fmake_image_instance):
7800         allow for any domain (not just device), and process the
7801         governing domain correctly.  very big doc fix.
7802         * glyphs.c (Fimage_instance_domain):
7803         new primitive, to retrieve the governing domain of an image instance.
7804         * glyphs.c (image_instantiate):
7805         use new governing_domain stuff.  this fixes a crash you could get
7806         by instantiating certain widget glyphs in frame locales. (should
7807         signal an error instead of crashing.)
7808         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
7809         * glyphs.c (Fglyphp): clean up doc.
7810         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
7811         * glyphs.c (syms_of_glyphs):
7812         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
7813         * glyphs.c (image_instantiator_format_create): add some comments about
7814         bogus code.
7815         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
7816         for current-display-table. (Apparently Hrjove implemented in 1998 a
7817         design I wrote up in 1996, but didn't update the doc string.)
7818
7819         * glyphs.h: clean up a doc string.
7820         * glyphs.h (governing_domain):
7821         * glyphs.h (struct image_instantiator_methods):
7822         changes for governing_domain stuff.
7823
7824         * gutter.c:
7825         * gutter.c (Fgutter_specifier_p):
7826         * gutter.c (Fgutter_size_specifier_p):
7827         * gutter.c (Fgutter_visible_specifier_p):
7828         * objects.c:
7829         * objects.c (Fcolor_specifier_p):
7830         * objects.c (Ffont_specifier_p):
7831         * objects.c (Fface_boolean_specifier_p):
7832         doc strings moved to make-*-specifier.
7833
7834         * redisplay.c (add_disp_table_entry_runes_1):
7835         * redisplay.c (generate_fstring_runes):
7836         * redisplay.c (screen):
7837         add random comments and doc strings.
7838
7839         * specifier.c:
7840         * specifier.c (Fmake_specifier):
7841         major overhaul of this doc string.
7842
7843         * specifier.c (Fvalid_specifier_domain_p):
7844         comment about the bogosity of image instances being domains.
7845         * specifier.c (decode_domain):
7846         now non-static, used in glyphs.c.
7847         * specifier.c (specifier_instance):
7848         comment about the bogosity of image instances being domains.
7849         * specifier.c (Fgeneric_specifier_p):
7850         move doc string to make-generic-specifier.
7851         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
7852         rebackslashify.
7853
7854         * specifier.h:
7855         * specifier.h (DOMAIN_FRAME):
7856         * specifier.h (DOMAIN_LIVE_P):
7857         * specifier.h (DOMAIN_XDEVICE):
7858         rebackslashify.
7859         add comments about problems with these macros.
7860         prototype for decode_domain.
7861
7862         * toolbar.c:
7863         * toolbar.c (Ftoolbar_specifier_p):
7864         move doc string to `make-toolbar-specifier'.
7865
7866         * window.c (window_unmap_subwindows_cache_mapper):
7867         *************************************************************
7868         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7869         HAVE BEEN GETTING.
7870         *************************************************************
7871
7872 2000-05-09  Andy Piper  <andy@xemacs.org>
7873
7874         * glyphs.h: declare reset_frame_subwindow_instance_cache.
7875
7876         * window.c (Fset_window_configuration): reset the frame subwindow
7877         cache and re-initialize the window subwindow caches.
7878
7879         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
7880
7881 2000-05-09  Ben Wing  <ben@xemacs.org>
7882
7883         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
7884         DWORD.
7885
7886 2000-04-26  Mike Woolley  <mike@bulsara.com>
7887
7888         * ntheap.c: Changed recreate_heap to limit the amount reserved
7889         for the heap to that which is actually available. Also now
7890         displays a message box (with some dignostics) in the event that
7891         it still can't start.
7892
7893 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
7894
7895         * callproc.c (Fold_call_process_internal): GCPRO path
7896
7897 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
7898
7899         Patch by Bill Perry.
7900
7901         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
7902         back data instead of #ifdef.
7903         (Fscrollbar_page_down): ditto.
7904
7905 2000-05-07  Ben Wing  <ben@xemacs.org>
7906
7907         * buffer.h:
7908         Kludge for defining Qmswindows_tstr.
7909
7910         * nt.c:
7911         * nt.c (open_input_file):
7912         * nt.c (open_output_file):
7913         * nt.c (rva_to_section):
7914         * nt.c (mswindows_executable_type):
7915         Move all memory-mapped-file routines here (some were in unexnt.c,
7916         which is bad because they are used by process-nt.c, and unexnt
7917         won't be around when portable dumping).  Synched the above routines
7918         with FSF 20.6.
7919
7920         * nt.h:
7921         Removed ifdef'd out bogus code.
7922         Fixed some prototypes.
7923
7924         * nt.h (file_data):
7925         * nt.h (OFFSET_TO_RVA):
7926         * nt.h (RVA_TO_OFFSET):
7927         * nt.h (RVA_TO_PTR):
7928         Moved the memory-mapped-file structures, macros and prototypes
7929         here, to parallel nt.c.  ntheap.h should really be removed
7930         entirely, and it's a non-portable-dumper specific file.
7931
7932         * ntheap.h (round_to_next):
7933         Moved the memory-mapped-file structures, macros and prototypes
7934         to nt.h.
7935
7936         * ntproc.c (compare_env):
7937         Moved rva_to_section and mswindows_executable_type to nt.c.
7938         Moved compare_env to process-nt.c.
7939         ntproc.c will die, one day.
7940
7941         * ntproc.c (sys_spawnve):
7942         Account for win32_ -> mswindows_.
7943
7944         * process-nt.c:
7945         * process-nt.c (struct nt_process_data):
7946         * process-nt.c (ensure_console_window_exists):
7947         * process-nt.c (compare_env):
7948         * process-nt.c (nt_create_process):
7949         * process-nt.c (nt_kill_process_by_pid):
7950         * process-nt.c (syms_of_process_nt):
7951         * process-nt.c (vars_of_process_nt):
7952         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
7953         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
7954         changes).  Eliminate our old `nt-quote-process-args' mechanism.
7955         Synch up nt_create_process with FSF 20.6 sys_spawnve.
7956         Move compare_env here from ntproc.c.
7957
7958         * process.c (Fprocess_send_region):
7959         Takes an optional fourth argument, BUFFER, which should fix some
7960         problems with call-process.
7961
7962         * syscommctrl.h:
7963         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
7964
7965         * syswindows.h:
7966         Move ICC_BAR_CLASSES to syscommctrl.h.
7967         Add preliminary macros for MSWindows/Mule.  More to come.
7968
7969         * unexnt.c:
7970         * unexnt.c (unexec):
7971         open_output_file moved to nt.c.
7972
7973
7974 2000-05-05  Andy Piper  <andy@xemacs.org>
7975
7976         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
7977         instance from the frame cache also since GC may catch up too late
7978         to make frame deletion sane.
7979
7980 2000-05-04  Andy Piper  <andy@xemacs.org>
7981
7982         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
7983         (x_finalize_image_instance): ungcpro on deletion.
7984
7985         * glyphs.c (image_instantiator_format_create): give pointers a
7986         query geometry method so that the geometry is at least set.
7987
7988         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
7989         initialize layouts if using widgets.
7990
7991 2000-05-03  Andy Piper  <andy@xemacs.org>
7992
7993         * nt.c: remove bogus reference to sysmmsystem.h
7994
7995         * gui-x.c (popup_selection_callback): fix no selection abort.
7996
7997 2000-05-02  Andy Piper  <andy@xemacs.org>
7998
7999         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8000         (mswindows_widget_instantiate): ditto.
8001
8002         * glyphs-widget.c (initialize_widget_image_instance): initialize
8003         children correctly.
8004         (widget_instantiate): cope with children and items in the same
8005         instance.
8006
8007         * glyphs.c (mark_image_instance): cope with children as a first
8008         class member.
8009         (image_instance_equal): ditto.
8010         (image_instance_hash): ditto.
8011         (image_instance_changed): ditto.
8012
8013 2000-04-30  Andy Piper  <andy@xemacs.org>
8014
8015         * glyphs.c (subwindow_query_geometry): new function. Return some
8016         defaults.
8017         (subwindow_instantiate): don't assign dimensions if none have been
8018         given.
8019         (image_instantiator_format_create): add subwindow_query_geometry.
8020         (print_image_instance): cope with layouts as widgets.
8021
8022 2000-04-29  Andy Piper  <andy@xemacs.org>
8023
8024         * frame.c (delete_frame_internal): call
8025         free_frame_subwindow_instance_cache so that all subwindows are
8026         finalized before their parent.
8027         (mark_frame): remove subwindow_cachels.
8028         (Fmake_frame): remove subwindow_cachel manipulation.
8029         (allocate_frame_core): subwindow_instance_cache is a weak list.
8030         (delete_frame_internal): set subwindow_instance_cache to nil.
8031
8032         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8033         finalization safe.
8034         (mswindows_finalize_image_instance): use the device
8035         not the domain as the domain may have died already.
8036
8037         * glyphs-x.c (x_finalize_image_instance): ditto.
8038         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8039         HEIGHT.
8040
8041         * redisplay-output.c (redisplay_unmap_subwindows): update for
8042         subwindow instance cache as a weak list.
8043         (redisplay_unmap_subwindows_maybe): ditto.
8044         (redisplay_unmap_subwindows_except_us): ditto.
8045
8046         * glyphs.c (unmap_subwindow): error checking will check the domain
8047         so don't deal with it here. Don't use cachels anymore.
8048         (map_subwindow): ditto.
8049         (update_subwindow_cachel_data): remove old accessor names.
8050         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8051         (Fresize_subwindow): don't update cachel.
8052         (mark_subwindow_cachels):
8053         (update_subwindow_cachel_data):
8054         (add_subwindow_cachel):
8055         (get_subwindow_cachel_index):
8056         (update_subwindow_cachel):
8057         (reset_subwindow_cachels):
8058         (mark_subwindow_cachels_as_not_updated): deleted.
8059         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8060         subwindow instance to the frame cache.
8061         (find_matching_subwindow): update for subwindow instance cache as
8062         a weak list.
8063         (update_widget_instances): ditto.
8064         (image_instance_type_to_mask):inlined.
8065         (free_frame_subwindow_instance_cache): new function. finalize all
8066         subwindows that are instantiated.
8067
8068         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8069         of cachel information.
8070         (IMAGE_INSTANCE_DISPLAY_X):
8071         (IMAGE_INSTANCE_DISPLAY_Y):
8072         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8073         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8074         (XIMAGE_INSTANCE_DISPLAY_X):
8075         (XIMAGE_INSTANCE_DISPLAY_Y):
8076         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8077         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8078         remove subwindow_cachel structure and function references.
8079         (image_instance_type_to_mask): inline from glyphs.c
8080
8081         * redisplay.c (redisplay_frame): remove subwindow_cachel
8082         references.
8083
8084         * frame.h (struct frame): remove subwindow_cachels.
8085         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8086
8087         * frameslots.h: add subwindow_instance_cache.
8088
8089         * window.c (replace_window): check subwindow cache of replacement.
8090         (window_unmap_subwindows_cache_mapper):
8091         (window_unmap_subwindows): new functions. Unmap all subwindows
8092         cached on this window.
8093         (mark_window_as_deleted): unmap all subwindows.
8094
8095 2000-04-27  Andy Piper  <andy@xemacs.org>
8096
8097         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8098
8099         * glyphs-widget.c (widget_layout): return something.
8100         (layout_layout): return something. Fail if not initialized.
8101         (layout_query_geometry): ditto.
8102         (image_instantiator_native_layout): new function. Initialized the
8103         native layout type.
8104         (widget_instantiate): don't do layout stuff here.
8105
8106         * glyphs.c (instantiate_image_instantiator): reorded calling or
8107         instantiate and post_instantiate with layout in between.
8108         (image_instance_layout): be more selective about deciding whether
8109         the layout has been done or not.
8110
8111         * glyphs.h (struct image_instantiator_methods): return a value
8112         from layout_method.
8113
8114 2000-04-26  Andy Piper  <andy@xemacs.org>
8115
8116         * glyphs.c (allocate_image_instance): make initial width and
8117         height unspecified. Set initialized to 0.
8118
8119         * syscommctrl.h new file. Encapsulates commctrl.h.
8120
8121         * syswindows.h new file. Encapsulates windows.h.
8122
8123         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8124         * nt.c: ditto.
8125         * console-msw.h: ditto.
8126
8127         * redisplay-tty.c (tty_output_display_block): remove layout references.
8128
8129         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8130         window handle rather than just the frame.
8131
8132         * glyphs.c (mark_image_instance): remove layout references.
8133         (print_image_instance): ditto.
8134         (image_instance_equal): ditto.
8135         (image_instance_hash): ditto.
8136         (decode_image_instance_type): ditto.
8137         (encode_image_instance_type): ditto.
8138         (image_instantiate): ditto.
8139         (allocate_glyph): ditto.
8140         (Fimage_instance_height): ditto.
8141         (Fimage_instance_width): ditto.
8142         (update_subwindow): ditto.
8143
8144         * redisplay-x.c (x_output_display_block): recode for layouts as
8145         widgets.
8146
8147         * redisplay-output.c (redisplay_output_layout): recode for layouts
8148         as widgets.
8149         (compare_runes): remove layout references.
8150
8151         * redisplay-msw.c (mswindows_output_display_block): recode for
8152         layouts as widgets.
8153
8154         * glyphs-widget.c (image_instantiator_layout): remove
8155         layout_possible_dest_types.
8156         (layout_possible_dest_types): deleted.
8157
8158         * glyphs.h (image_instance_type): remove layout references.
8159         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8160         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8161         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8162
8163 2000-04-25  Andy Piper  <andy@xemacs.org>
8164
8165         * glyphs-widget.c (image_instantiator_buttons):
8166         (image_instantiator_edit_fields):
8167         (image_instantiator_combo_box):
8168         (image_instantiator_scrollbar):
8169         (image_instantiator_progress_guage):
8170         (image_instantiator_tree_view):
8171         (image_instantiator_tab_control):
8172         (image_instantiator_labels):
8173         (image_instantiator_layout): call default post_instantiate method.
8174         (widget_post_instantiate): new function. Simply lays out the
8175         widgets.
8176
8177         * glyphs.h (struct image_instantiator_methods): add
8178         post_instantiate method.
8179
8180         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8181         method calls.
8182
8183 2000-04-23  Andy Piper  <andy@xemacs.org>
8184
8185         * glyphs.h (struct image_instantiator_methods): add
8186         decode_domain_method.
8187         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8188         derived from the domain.
8189         (IMAGE_INSTANCE_FRAME): new accessor.
8190         (XIMAGE_INSTANCE_FRAME): ditto.
8191
8192         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8193         instead of _SUBWINDOW_FRAME.
8194         (finalize_image_instance): ditto.
8195         (Fimage_instance_foreground): ditto.
8196         (Fimage_instance_background): ditto.
8197         (image_instantiate): ditto.
8198         (update_subwindow_cachel): ditto.
8199         (update_subwindow): ditto.
8200         (unmap_subwindow): ditto.
8201         (map_subwindow): ditto
8202         (subwindow_instantiate): ditto.
8203         * glyphs-msw.c (mswindows_update_widget): ditto.
8204         (mswindows_progress_gauge_instantiate): ditto.
8205         (mswindows_tab_control_update): ditto.
8206         * glyphs-x.c (x_update_widget): ditto.
8207         (x_widget_instantiate): ditto.
8208         (x_tab_control_instantiate): ditto.
8209         (x_tab_control_update): ditto.
8210         * event-msw.c (mswindows_wnd_proc): ditto
8211
8212         * glyphs-widget.c (image_instantiator_layout): use
8213         subwindow_decode_domain.
8214         (image_instantiator_buttons): ditto.
8215         (image_instantiator_edit_fields): ditto.
8216         (image_instantiator_combo_box): ditto.
8217         (image_instantiator_scrollbar): ditto.
8218         (image_instantiator_progress_guage): ditto.
8219         (image_instantiator_tree_view): ditto.
8220         (image_instantiator_tab_control): ditto.
8221         (image_instantiator_labels): ditto.
8222         (image_instantiator_layout): ditto.
8223
8224         * glyphs.c: add instance error checking to many functions.
8225         (instantiate_image_instantiator): decode device from cache_domain.
8226         (image_instantiate): partially rewrite by using
8227         decode_image_instantiator_domain to determine what domain the
8228         instance needs to be cached in.
8229         (decode_image_instantiator_domain): new function. Determine what
8230         domain the image needs to be cached in.
8231         (check_window_subwindow_cache): new error checking function.
8232         (check_instance_cache_mapper): ditto.
8233         (check_image_instance_structure): ditto.
8234         (subwindow_decode_domain): new function. Encodes a window as a
8235         subwindow's cache domain.
8236         (image_instantiator_format_create): use it for text and
8237         subwindows.
8238
8239 2000-04-21  Andy Piper  <andy@xemacs.org>
8240
8241         * glyphs.c (image_instance_device): new function.
8242         (image_instance_frame): new function.
8243         (image_instance_window): new function.
8244         (image_instance_live_p): new function.
8245
8246         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8247         cache to nil.
8248
8249         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8250         (IMAGE_INSTANCE_DOMAIN): new accessor.
8251         (XIMAGE_INSTANCE_DOMAIN): ditto.
8252
8253         * glyphs-x.c (x_finalize_image_instance): device->domain.
8254
8255         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8256         (mswindows_finalize_image_instance): ditto.
8257
8258         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8259         (gif_instantiate): ditto.
8260         (png_instantiate): ditto.
8261         (tiff_instantiate): ditto.
8262
8263         * glyphs.c (instantiate_image_instantiator): use domain rather
8264         than device.
8265         (mark_image_instance): device -> domain.
8266         (print_image_instance): ditto.
8267         (finalize_image_instance): ditto.
8268         (image_instance_equal): ditto.
8269         (allocate_image_instance): ditto.
8270         (Fcolorize_image_instance): ditto.
8271         (query_string_geometry): ditto.
8272         (image_instantiate): ditto
8273         (query_string_font): ditto.
8274         (image_instantiate): ditto.
8275         (update_subwindow): ditto.
8276         (unmap_subwindow): ditto.
8277         (map_subwindow): ditto.
8278         (subwindow_instantiate): ditto.
8279
8280         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8281         (DOMAIN_FRAME): ditto.
8282         (DOMAIN_WINDOW): ditto.
8283         (DOMAIN_LIVE_P): ditto.
8284         (XDOMAIN_DEVICE): ditto.
8285         (XDOMAIN_FRAME): ditto.
8286         (XDOMAIN_WINDOW): ditto.
8287
8288         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8289         a valid specifier domain.
8290
8291 2000-04-19  Andy Piper  <andy@xemacs.org>
8292
8293         * glyphs-widget.c (syms_of_glyphs_widget): remove
8294         widget-callback-current-channel.
8295         (vars_of_glyphs_widget): ditto.
8296         * glyphs.h: ditto
8297
8298         * gui.c (get_gui_callback): revert to previous behaviour.
8299
8300 2000-04-18  Andy Piper  <andy@xemacs.org>
8301
8302         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8303         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8304         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8305
8306         * glyphs.c (image_instance_equal): add margin_width.
8307         (image_instance_hash): ditto.
8308
8309         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8310         (layout_query_geometry): ditto.
8311         (layout_layout): ditto.
8312         (syms_of_glyphs_widget): add margin-width.
8313         (image_instantiator_layout): allow margin-width.
8314
8315         * glyphs.c (update_widget_instances): make a normal function.
8316         (syms_of_glyphs): remove Qupdate_widget_instances.
8317         * glyphs.h: ditto.
8318
8319         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8320         so that we don't corrupt ideas about the last event or
8321         command. Remove widget-callback-current-channel fiddling.
8322         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8323
8324 2000-05-01  Martin Buchholz <martin@xemacs.org>
8325
8326         * XEmacs 21.2.33 is released.
8327
8328 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8329
8330         * make-src-depend: Allow dots in header file name.
8331
8332 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8333
8334         * mule-charset.h (struct charset_lookup): Add
8335         next_allocated_1_byte_leading_byte and
8336         next_allocated_2_byte_leading_byte.
8337         * mule-charset.c: Move above two variables so that those values
8338         will be dumped.
8339
8340 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8341
8342         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8343         when string length is zero.
8344         (find_charsets_in_emchar_string): Ditto.
8345
8346 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8347
8348         * lisp.h: extern Qdialog and Qmenubar.
8349
8350         * gui-x.c: added events.h.
8351                 also fixed typo which made the file uncompilable.
8352
8353         * general.c: Added Qmenubar and Qdialog
8354
8355 2000-04-28  Ben Wing  <ben@xemacs.org>
8356
8357         * frame-msw.c (mswindows_init_frame_1):
8358         * frame-msw.c (mswindows_mark_frame):
8359         * event-msw.c (mswindows_enqueue_dispatch_event):
8360         * console-msw.h:
8361         * console-msw.h (struct mswindows_frame):
8362         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8363         there are now three hash tables for callbacks.
8364         mswindows_enqueue_dispatch_event is no longer static.
8365
8366         * dialog-x.c (maybe_run_dbox_text_callback):
8367         * dialog-x.c (dbox_descriptor_to_widget_value):
8368         switch to new cons3 form for callbacks.
8369
8370         * glyphs-msw.c (mswindows_register_gui_item):
8371         * glyphs-msw.c (mswindows_widget_instantiate):
8372         * glyphs-msw.c (add_tree_item):
8373         * glyphs-msw.c (add_tab_item):
8374         new image instance parameter, so it can be passed to callback-ex.
8375         respect :callback-ex as well as :callback.
8376
8377         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8378         add :callback-ex.
8379
8380         * glyphs.c (print_image_instance):
8381         prettify, e.g. now prints widget type.
8382
8383         * gui-x.h:
8384         certain funs have new image instance parameter.
8385
8386         * gui.c:
8387         * gui.c (get_gui_callback):
8388         * gui.c (gui_item_add_keyval_pair):
8389         * gui.c (gui_item_init):
8390         * gui.c (gui_add_item_keywords_to_plist):
8391         * gui.c (mark_gui_item):
8392         * gui.c (gui_item_hash):
8393         * gui.c (gui_item_equal):
8394         * gui.c (copy_gui_item):
8395         * gui.c (syms_of_gui):
8396         recognize callback-ex in a number of places.
8397         also, fix the annoying "can't get out of yes-no dialog" bug.
8398
8399         * gui.h:
8400         * gui.h (struct Lisp_Gui_Item):
8401         recognize callback-ex in a number of places.
8402
8403         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8404         new parameter in button_item_to_widget_value.
8405
8406         * glyphs-x.c (x_update_widget):
8407         * glyphs-x.c (x_button_instantiate):
8408         * glyphs-x.c (x_button_update):
8409         * glyphs-x.c (x_progress_gauge_instantiate):
8410         * glyphs-x.c (x_edit_field_instantiate):
8411         * glyphs-x.c (x_combo_box_instantiate):
8412         * glyphs-x.c (x_tab_control_instantiate):
8413         * glyphs-x.c (x_label_instantiate):
8414         new image instance parameter in various places.
8415
8416         * event-Xt.c:
8417         * event-Xt.c (enqueue_Xt_dispatch_event):
8418         this fun gets exported.
8419
8420         * gui-msw.c:
8421         * gui-msw.c (mswindows_handle_gui_wm_command):
8422         handle both :callback and :callback-ex, and generate our own
8423         event because it's one of the callback-ex arguments.
8424
8425         * gui-x.c:
8426         * gui-x.c (popup_selection_callback):
8427         handle both :callback and :callback-ex, and generate our own
8428         event because it's one of the callback-ex arguments.
8429         * gui-x.c (button_item_to_widget_value):
8430         * gui-x.c (gui_items_to_widget_values_1):
8431         * gui-x.c (gui_item_children_to_widget_values):
8432         * gui-x.c (gui_items_to_widget_values):
8433         new image instance parameter in various places.
8434
8435         * fns.c (Freplace_list):
8436         fix small typo in doc string.
8437
8438         * lisp.h:
8439         declare enqueue_Xt_dispatch_event.
8440
8441 2000-04-28  Ben Wing  <ben@xemacs.org>
8442
8443         * buffer.c:
8444         * buffer.c (Frecord_buffer):
8445         * buffer.c (syms_of_buffer):
8446         delete record-buffer-hook.
8447
8448         * fns.c:
8449         * fns.c (Freplace_list):
8450         * fns.c (syms_of_fns):
8451         new primitive replace-list.
8452
8453         * frameslots.h:
8454         slot for old buffer-alist.
8455
8456         * lisp.h:
8457         exfun replace-list.
8458
8459         * redisplay.c:
8460         * redisplay.c (redisplay_frame):
8461         * redisplay.c (syms_of_redisplay):
8462         * redisplay.c (vars_of_redisplay):
8463         new hook buffer-list-changed-hook.
8464         call it.
8465
8466 2000-04-27  Ben Wing  <ben@xemacs.org>
8467
8468         * extents.h: extern in_modeline_generation.
8469
8470         * redisplay.c (generate_formatted_string_db): set
8471         in_modeline_generation.
8472
8473         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8474         flags if in modeline generation.  otherwise frame-modified-tick
8475         is ticked far too often.
8476         Declare in_modeline_generation.
8477
8478 2000-04-26  Ben Wing  <ben@xemacs.org>
8479
8480         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8481         option.
8482         (vars_of_emacs): add quick-build as an error-checking option.
8483         A bit kludgy, but there doesn't seem much point in creating
8484         a real var for this.
8485
8486         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8487
8488 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8489
8490         * redisplay.h (struct display_line): Add a new variable,
8491         line_continuation.
8492
8493         * redisplay.c (create_text_block): Set dl->line_continuation if
8494         the line continues.
8495         (create_string_text_block): Ditto.
8496         (regenerate_window_incrementally): Use line_continuation instead
8497         of searching continuation glyph.
8498         (add_margin_runes): Call add_glyph_rune.
8499         (add_glyph_rune): Handle margin glyph.
8500
8501 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8502
8503         * filelock.c (fill_in_lock_file_name):
8504         ANSIfy.
8505         Check for IS_ANY_SEP instead of '/'.
8506         (lock_file_1):
8507         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8508         Never check errno without first seeing that system call failed.
8509         (unlock_file): Add GCPRO.
8510         (Flock_buffer): Fix docstring.
8511         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8512
8513 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8514
8515         * sysdep.c (get_pty_max_bytes):
8516         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8517         strings longer than 252 bytes.
8518
8519         * md5.c: Unconditionally include ANSI header <limits.h>
8520
8521         * glyphs-x.c (convert_EImage_to_XImage):
8522         * lisp-union.h (union Lisp_Object):
8523         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8524
8525 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8526
8527         * filelock.c (current_lock_owner): Remove unused variable o, p.
8528
8529 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8530
8531         * callint.c: Remove multiply defined symbol Qlet
8532         (syms_of_callint): ditto.
8533
8534 2000-04-14  Andy Piper  <andy@xemacs.org>
8535
8536         * general.c (syms_of_general): add last-command, this-command, let
8537         and funcall.
8538
8539         * lisp.h: declare various symbols.
8540
8541         * glyphs.h: declare Qwidget_callback_current_channel;
8542
8543         * glyphs-widget.c (syms_of_glyphs_widget): add
8544         Qgui_callback_current_channel.
8545         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8546
8547         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8548         widget-callback-current-channel when invoking the interactive
8549         arg. Also bind last-command and next-command when invoking the
8550         widget updates.
8551         * gui-x.c (popup_selection_callback): ditto.
8552
8553         * gui.c (get_gui_callback): massage args so that we are always
8554         calling eval. This allows us to add our own variable bindings
8555         outside.
8556
8557         * glyphs-x.c (x_button_instantiate): use
8558         gui_items_to_widget_values since this is GC safe.
8559         (x_progress_gauge_instantiate): ditto.
8560         (x_edit_field_instantiate): ditto.
8561         (x_label_instantiate): ditto.
8562
8563         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
8564         (emacs_Xt_event_widget_focus_out): new function
8565         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
8566         focus.
8567         (emacs_Xt_event_add_widget_actions): new function. add focus
8568         functions as actions.
8569         (init_event_Xt_late): use it.
8570
8571 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
8572
8573         * event-stream.c (Fdispatch_event): Doc fix.
8574
8575 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
8576
8577         * postgresql.c: Remove all references to PQsetenv*.
8578
8579         * postgresql.h: Remove references to PGsetenvHandler object.
8580         * lrecord.h (lrecord_type): Ditto.
8581
8582 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8583
8584         * glyphs-msw.h (struct mswindows_image_instance_data): Added
8585         real_heigh and real_width members, and accessor macros for these.
8586
8587         * glyphs-msw.c (init_image_instance_geometry): New function.
8588         (init_image_instance_from_dibitmap): Use it.
8589         (mswindows_resource_instantiate): Use it.
8590         (init_image_instance_from_xbm_inline): Use it.
8591         (mswindows_initialize_image_instance_mask): Use real bitmap
8592         geometry.
8593         (mswindows_create_resized_bitmap): Ditto.
8594         (mswindows_create_resized_mask): Ditto.
8595
8596         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
8597         and bitmap to their surface size.
8598
8599 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
8600
8601         * process-unix.c (unix_send_process): Guard against process MIA
8602         after Faccept_process_output.
8603
8604 2000-04-11  Ben Wing  <ben@xemacs.org>
8605
8606         * eval.c (unbind_to_hairy): fix brokenness introduced by
8607         nanosecond speed improvements.
8608
8609 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
8610
8611         * sunplay.c (init_device): To play sounds correctly, the device
8612         apparently needs to be initialized at least once by XEmacs.  Make
8613         it so.
8614
8615 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8616
8617         * redisplay.c (add_margin_runes): Add text image glyph
8618           handling.
8619
8620 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8621
8622         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
8623         gcc is newer than 2.5.
8624
8625 2000-04-06  Colin Rafferty  <colin@xemacs.org>
8626
8627         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
8628
8629         * fns.c (size_bit_vector):
8630         * alloc.c (size_vector):
8631         (make_vector_internal):
8632         (make_bit_vector_internal):
8633         (sweep_bit_vectors_1):
8634         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
8635
8636 2000-04-06  Andy Piper  <andy@xemacs.org>
8637
8638         * gmalloc.c (malloc): undo previous change.
8639         (malloc): ditto.
8640         (free): ditto.
8641         (realloc): ditto.
8642
8643 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
8644
8645         * line-number.c (buffer_line_number): Revert to former version.
8646
8647 2000-04-06  Andy Piper  <andy@xemacs.org>
8648
8649         * gmalloc.c (malloc): add error checking.
8650         (malloc): ditto.
8651         (free): ditto.
8652         (realloc): ditto.
8653
8654         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
8655         button_item_to_widget_value arg.
8656
8657         * glyphs-x.c (x_button_instantiate): add extra
8658         button_item_to_widget_value arg.
8659         (x_progress_gauge_instantiate): ditto.
8660         (x_edit_field_instantiate): ditto.
8661         (x_label_instantiate): ditto.
8662
8663         * gui-x.c (gui_items_to_widget_values_1): add extra
8664         button_item_to_widget_value arg.
8665         (button_item_to_widget_value): add extra menu_item_p arg.
8666
8667         * gui-x.h: change signature of button_item_to_widget_value.
8668
8669         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
8670         button_item_to_widget_value arg.
8671
8672 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8673
8674         * buffer.h (struct buffer): auto_save_modified should be long.
8675
8676 2000-04-05  Andy Piper  <andy@xemacs.org>
8677
8678         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
8679         type.
8680         (button_query_geometry): give a little more room so that athena
8681         buttons fit.
8682
8683 2000-04-05  Andy Piper  <andy@xemacs.org>
8684
8685         * faces.c (complex_vars_of_faces): The widget face should inherit
8686         the font of the gui-element face.
8687
8688 2000-04-04  Andy Piper  <andy@xemacs.org>
8689
8690         * glyphs-x.c (x_button_update): new function. unconditionally
8691         update a button's state when the instance is dirty.
8692         (image_instantiator_format_create_glyphs_x): add x_button_update.
8693         (x_widget_instantiate): remove old resize cruft.
8694
8695 2000-04-02  Andy Piper  <andy@xemacs.org>
8696
8697         * frame.c (change_frame_size_1): The introduction of gutters means
8698         that we need to allow 0 as a potential frame dimension.
8699
8700 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8701
8702         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
8703         image glyph if allow_cursor.
8704         (add_hscroll_rune): Don't allow cursor to border glyph.
8705         (create_text_block): Ditto.
8706
8707         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
8708         text not in buffer.
8709         (redisplay_output_layout): Call ensure_face_cachel_complete for
8710         text image glyph.
8711
8712
8713 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8714
8715         * redisplay.c (add_glyph_rune): Adding text image as text runes.
8716
8717         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
8718         not in buffer
8719
8720         * redisplay-tty.c (tty_output_display_block): Delete the routine
8721         for text image glyph
8722         * redisplay-x.c (x_output_display_block): ditto
8723         * redisplay-msw.c (mswindows_output_display_block): ditto
8724
8725 2000-02-02  Mike Alexander  <mta@arbortext.com>
8726
8727         Note: Some of these were committed by accident as part of other
8728         patches.
8729
8730         * regex.c (regex_compile): Avoid compiler warnings.
8731
8732         * ntproc.c (sys_spawnve): Avoid compiler warnings.
8733
8734         * nt.h: Declare term_ntproc correctly.
8735
8736         * nt.c: Remove incorrect declaration of get_home_directory which
8737         is declared correctly in lisp.h.
8738
8739         * keymap.c (get_keyelt): Avoid compiler warnings.
8740         (raw_lookup_key_mapper): Avoid compiler warnings.
8741
8742         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
8743
8744         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
8745
8746         * filemode.c (mode_string): Avoid compiler warnings.
8747
8748         * file-coding.c (Fcoding_system_aliasee): Add return statement to
8749         avoid warning.
8750
8751         * events-mod.h: Undef some things that winuser.h defines differently.
8752
8753         * data.c (Faset): Avoid compiler warnings.
8754
8755         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
8756
8757 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8758
8759         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
8760         Fall through to simple beep on error.
8761         Replace "extern" by real header file.
8762
8763         * linuxplay.c: Use nativesound.h
8764         (play_sound_data): Return error code. Be less verbose on error.
8765
8766         * sunplay.c: Use nativesound.h
8767         (play_sound_data): Return error code. Be less verbose on error.
8768
8769         * ntplay.c: Use nativesound.h
8770         (play_sound_data): Return fake error code
8771
8772         * sgiplay.c: Use nativesound.h
8773         (play_sound_data): Return error code
8774
8775         * hpplay.c: Use nativesound.h, partially implement
8776         new error code. Break compilation until finished.
8777         (play_sound_data): error code.
8778
8779         * nativesound.h (play_sound_file):
8780           (play_sound_data): Prototype in new header.
8781
8782 2000-03-31  Andy Piper  <andy@xemacs.org>
8783
8784         * glyphs-widget.c: (button_query_geometry): new function. Adjust
8785         for toggle and radio buttons.
8786         (image_instantiator_buttons): use it.
8787
8788 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8789
8790         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
8791         (x_update_horizontal_scrollbar_callback): Return if no mirror was
8792         found. Scrollbar event probably belonged to some old config.
8793
8794 2000-03-31  Andy Piper  <andy@xemacs.org>
8795
8796         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
8797         than 1.
8798         (initialize_widget_image_instance): default layout to
8799         LAYOUT_HORIZONTAL rather than 0.
8800         (widget_instantiate): reverse the item list at the end rather than
8801         every iteration.
8802         (layout_layout): re-code for the border text at the front of the
8803         item list rather than at the end.
8804         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
8805         provided by the user.
8806         (widget_query_geometry): comment.
8807
8808 2000-03-30  Andy Piper  <andy@xemacs.org>
8809
8810         * glyphs-widget.c (image_instantiator_layout): allow standard
8811         widget keywords in layouts.
8812
8813         * gutter.c (output_gutter): cope with nil gutter contents.
8814
8815         * frame.c (Fset_frame_properties): add gutter docs.
8816
8817 2000-03-29  Andy Piper  <andy@xemacs.org>
8818
8819         * toolbar-msw.c (TBSTYLE_FLAT): add.
8820         (mswindows_output_toolbar): minor fiddling.
8821
8822 2000-03-29  Andy Piper  <andy@xemacs.org>
8823
8824         * gutter.c (output_gutter): force gutter size recalculation if
8825         what we are trying to display won't fit.
8826         (update_gutter_geometry): new function. A per-gutter version of
8827         update_frame_gutter_geometry.
8828         (update_frame_gutter_geometry): use it.
8829         (redraw_exposed_gutter): add extra debugging output.
8830
8831 2000-03-28  Mike Alexander  <mta@arbortext.com>
8832
8833         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
8834         (pdump_file_unmap): Implement it on Windows
8835         (pdump_file_get): Save alocated handles for pdump_file_unmap
8836
8837 2000-03-28  Andy Piper  <andy@xemacs.org>
8838
8839         * gui.c (get_gui_callback): treat Quit specially.
8840
8841 2000-03-27  Andy Piper  <andy@xemacs.org>
8842
8843         * glyphs.c (image_instantiate): be careful to check in the same
8844         way we assigned.
8845
8846 2000-03-27  Didier Verna  <didier@xemacs.org>
8847
8848         * config.h.in: define the proper SMART_INCLUDE macro.
8849         handle renaming of `foo_h_path' to `foo_h_file'.
8850
8851         * database.c: ditto.
8852
8853         * emacs.c: ditto.
8854
8855         * linuxplay.c: ditto.
8856
8857         * terminfo.c: ditto.
8858
8859         * tooltalk.h: ditto.
8860
8861 2000-03-27  Andy Piper  <andy@xemacs.org>
8862
8863         * glyphs-msw.c (mswindows_update_widget): make sure the widget
8864         gets updated whenever the face might have changed.
8865
8866 2000-03-26  Mike Alexander  <mta@arbortext.com>
8867
8868         * dumper.c (pdump_resource_free): Fix the comment.
8869
8870 2000-03-21  Olivier Galibert  <galibert@pobox.com>
8871
8872         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
8873
8874 2000-03-22  Mike Alexander  <mta@arbortext.com>
8875
8876         * dumper.c: Include Windows headers on Windows
8877         (pdump_resource_free): Add a body to the function
8878         (pdump_load): exe_name -> exe_path and add some comments.
8879
8880 2000-03-25  Mike Alexander  <mta@arbortext.com>
8881
8882         * gui.c (copy_gui_item_tree): Return a value in all cases
8883
8884 2000-03-21  Didier Verna  <didier@xemacs.org>
8885
8886         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
8887         lwlib/config.h.in.
8888         (SMART_INCLUDE): new macro.
8889         (POSTGRES_INCLUDE): new macro to include postgresql headers from
8890         the proper location.
8891
8892         * postgresql.c: use it.
8893
8894         * inline.c: ditto.
8895
8896 2000-03-24  Andy Piper  <andy@xemacs.org>
8897
8898         * gutter.c (redraw_exposed_gutters): must be "in display" when we
8899         do this.
8900
8901 2000-03-24  Andy Piper  <andy@xemacs.org>
8902
8903         * redisplay-output.c (compare_runes): use image_instance_changed
8904         to detect changes. Do not depend on glyphs_changed, only depend on
8905         dirtiness.
8906          (redisplay_output_layout): add debug messages.
8907         (compare_runes): ditto.
8908
8909         * glyphs.h: declare new functions.
8910         (struct Lisp_Image_Instance): remove percent and associated
8911         accessors.
8912
8913         * gui.h: declare new copying functions.
8914
8915         * gui.c (copy_gui_item_tree): new function.
8916         (copy_gui_item): new function.
8917         (gui_item_id_hash): revert to standard hash.
8918         (gui_item_hash): ditto.
8919         (gui_item_hash_internal): deleted.
8920         (mark_gui_item): mark value.
8921         (gui_item_add_keyval_pair): add value.
8922         (gui_item_init): ditto.
8923         (gui_add_item_keywords_to_plist): ditto.
8924         (gui_item_equal): ditto.
8925         (syms_of_gui): add Q_value.
8926
8927         * glyphs-x.c (x_progress_gauge_update): use pending items and
8928         value for setting the state.
8929         (x_update_widget): don't set items from pending here.
8930
8931         * glyphs-widget.c (update_widget): update items here.
8932         (progress_gauge_set_property): use items for storing value. Put
8933         new value in pending items.
8934
8935         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
8936         items for new value. Convert percent -> value.
8937         (mswindows_tab_control_update): don't update items here.
8938
8939         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
8940         (update_subwindow): ditto.
8941         (image_instance_changed): new function. Compare hash values and
8942         past and present widget items.
8943         (image_instantiate): We more careful about where we instantiate
8944         things.
8945         (image_instantiate): add error checking.
8946
8947         * gutter.c (syms_of_gutter): use -hook.
8948
8949 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
8950
8951         * console-tty.c (Fset_console_tty_input_coding_system): Use
8952         Qkeyboard.
8953         (Fset_console_tty_output_coding_system): Use Qterminal.
8954         (tty_init_console): Use Qkeyboard and Qterminal.
8955
8956 2000-03-21  Ben Wing  <ben@xemacs.org>
8957
8958         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
8959         From Mike Alexander <mta@arbortext.com>.
8960
8961 2000-03-21  Ben Wing  <ben@xemacs.org>
8962
8963         * event-msw.c (mswindows_need_event): Horrible kludge to fix
8964         process brokenness.  Proper implementation to come.
8965         * callproc.c:
8966         Rename call-process-internal to old-call-process-internal.
8967         New impl. in process.el.
8968
8969 2000-03-21  Martin Buchholz  <martin@xemacs.org>
8970
8971         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
8972
8973 2000-03-20  Andy Piper  <andy@xemacs.org>
8974
8975         * glyphs.c (full_list_hash): make hashes of the same elements in
8976         different orders return different values.
8977
8978 2000-03-20  Martin Buchholz <martin@xemacs.org>
8979
8980         * XEmacs 21.2.32 is released.
8981
8982 2000-03-20  Martin Buchholz  <martin@xemacs.org>
8983
8984         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
8985         (DFC_MALLOC_USE_CONVERTED_DATA):
8986         Add aliasing-safe casts to allow use with char* or unsigned char*
8987         lvalues.
8988
8989         * eldap.c (Fldap_open):
8990         (Fldap_search_basic):
8991         (Fldap_add):
8992         (Fldap_modify):
8993         Make C++-compilable.
8994         Make sure GCPRO'ed variables are initialized.
8995         Use temp variables to avoid repeated calls to Flength.
8996
8997 2000-03-16  Martin Buchholz  <martin@xemacs.org>
8998
8999         * sysfile.h:
9000         Make sure PATH_MAX is always defined.
9001         Include limits.h for PATH_MAX.
9002         Deprecate use of MAXPATHLEN.
9003
9004 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9005
9006         * emacs.c: Add reinit_vars_of_fileio.
9007         * symsinit.h: Add reinit_vars_of_fileio.
9008         * fileio.c (reinit_vars_of_fileio): New.
9009         * fileio.c (Fmake_temp_name):
9010         Initialize temp_name random number from microseconds to make
9011         collisions even less likely.  Initialize always at process startup
9012         time.  (make-temp-name) used to return the same file name twice in
9013         a row when PDUMP.
9014         Random stylistic fiddling.
9015         Comment fixes.
9016
9017 2000-03-20  Andy Piper  <andy@xemacs.org>
9018
9019         * glyphs.c (image_instantiate): allow text glyphs to be
9020         instantiated in the minibuffer window.
9021
9022 2000-03-19  Andy Piper  <andy@xemacs.org>
9023
9024         * glyphs.c (image_instance_hash): be careful about which items we
9025         hash on.
9026
9027         * glyphs-widget.c (tab_control_set_property): record into pending
9028         items rather than the actual items.
9029
9030         * glyphs-x.c (x_update_widget): use pending items to update with.
9031
9032         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9033         to update with.
9034
9035         * glyphs.c (mark_image_instance): mark pending items.
9036
9037         * window.c (Fset_window_configuration): record the buffer.
9038         (Fselect_window): totally revert previous change which breaks many
9039         things.
9040
9041 2000-03-18  Andy Piper  <andy@xemacs.org>
9042
9043         * glyphs-msw.c (mswindows_tab_control_update): force selected
9044         item.
9045
9046         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9047         window domain cache, otherwise we get inconsistencies at
9048         startup. There is something fishy at startup which can lead to the
9049         minibuffer being the selected window when the gutter content is
9050         instantiated.
9051
9052         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9053         gcpros.
9054         (parse_gui_item_tree_children): ditto.
9055         (parse_gui_item_tree_item): ditto.
9056
9057         * glyphs.c (Fupdate_widget_instances): return something.
9058
9059 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9060
9061         * window.c (Fselect_window): Undo 2000-03-17 change.
9062
9063 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9064
9065         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9066         against v7.0 libraries.  Insta-coredump city until the postgres
9067         folks fix it.
9068
9069 2000-03-17  Andy Piper  <andy@xemacs.org>
9070
9071         * faces.c (complex_vars_of_faces): don't give the widget face an
9072         inherited background pixmap.
9073
9074         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9075         selected item.
9076
9077         * event-stream.c (Fdispatch_non_command_events): return something.
9078
9079         * gutter.c (output_gutter): use widget face.
9080         (clear_gutter): ditto.
9081
9082         * NEWS: adjust again.
9083
9084         * window.c (Fselect_window): make sure this runs to completion to
9085         avoid oddities with Fset_window_configuration.
9086         (Fcurrent_window_configuration): in general do not save the
9087         minibuffer as the selected window.
9088
9089         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9090
9091 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9092
9093         * emacs.c (Frunning_temacs_p): Revert previous patch.
9094         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9095
9096 2000-03-16  Andy Piper  <andy@xemacs.org>
9097
9098         * glyphs-x.c (x_tab_control_update): if no widget values then
9099         return.
9100
9101         * NEWS: update for new features.
9102
9103         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9104         synthetic event to the native system.
9105         (reinit_vars_of_event_Xt): set force_event_pending to
9106         emacs_Xt_force_event_pending.
9107
9108         * events.h (struct event_stream): add force_event_pending.
9109
9110         * specifier.c (recompute_one_cached_specifier_in_window): add
9111         comment.
9112
9113         * redisplay.c (redisplay_frame): don't call
9114         update_frame_subwindows. Reset subwindow cachels when
9115         subwindows_changed, removing this was an optimization too far.
9116
9117         * redisplay-output.c (compare_runes): reorganize so that we catch
9118         glyph changes when we want them. Set optimize_output when this
9119         would help layouts.
9120         (redisplay_output_layout): remove frame_really_changed, use
9121         optimize_output instead.
9122
9123         * redisplay-msw.c (mswindows_output_display_block): reset
9124         optimize_output after outputting a glyph.
9125         * redisplay-x.c (x_output_display_block): ditto.
9126         * redisplay-tty.c (tty_output_display_block): ditto.
9127
9128         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9129         functions.
9130         (gutter_specs_changed): do specific gutter positions.
9131         (top_gutter_specs_changed): new function. Only update the
9132         specified gutter specs.
9133         (bottom_gutter_specs_changed): ditto.
9134         (left_gutter_specs_changed): ditto.
9135         (right_gutter_specs_changed): ditto.
9136
9137         * gui.c (gui_item_hash_internal): new function, does a real hash.
9138         (gui_item_id_hash): use it.
9139         (gui_item_hash): hash the eval'ed gui_item.
9140
9141         * gui-x.c (popup_selection_callback): send an eval event to call
9142         Fupdate_widget_instances.
9143
9144         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9145         to call Fupdate_widget_instances.
9146
9147         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9148         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9149
9150         * glyphs.c: (update_frame_subwindows): deleted.
9151         (Fupdate_widget_instances): new function for updating the dirty
9152         state of widgets that might have changed.
9153         (syms_of_glyphs): add Qupdate_widget_instances.
9154         (full_list_hash): hash a list completely.
9155         (image_instance_hash): use it for items and properties.
9156
9157         * frame-msw.c (mswindows_size_frame_internal): remove unused
9158         variable.
9159
9160         * faces.h (struct face_cachel): fix comment.
9161
9162         * event-stream.c (Fdispatch_non_command_events): new
9163         function. Process non-command events, forcing an event cycle
9164         beforehand.
9165         (syms_of_event_stream): declare.
9166         (event_stream_force_event_pending): new function. Force an event
9167         on the native event queue so that an event cycle will occur next
9168         time we check.
9169
9170         * event-msw.c:
9171         (struct ntpipe_shove_stream):
9172         (mswindows_enqueue_dispatch_event):
9173         (mswindows_dequeue_dispatch_event):
9174         (mswindows_cancel_dispatch_event):
9175         (mswindows_pump_outstanding_events):
9176         (mswindows_drain_windows_queue):
9177         (mswindows_handle_paint):
9178         (mswindows_wnd_proc):
9179         (mswindows_key_to_emacs_keysym):
9180         (get_process_input_waitable):
9181         (emacs_mswindows_delete_stream_pair): re-indent file.
9182         (mswindows_need_event): do not process further fds if the windows
9183         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9184         fixes the 100% cpu problem.
9185         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9186
9187 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9188
9189         * alloc.h: New.
9190         * dumper.h: New.
9191         * dumper.c: New.
9192
9193         * emacs.c: Moved dump file searching to dumper.c.
9194         (Frunning_temacs_p): Fixed.
9195
9196         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9197         last_lrecord_type_index_assigned.
9198
9199 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9200
9201         * symsinit.h: Added reinit parameter to init_console_stream
9202         declaration.
9203
9204         * lisp.h: Added file parameter to pdump_load declaration.
9205
9206         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9207         support.  Added dump file searching.
9208
9209         * config.h.in: Added EMACS_PROGNAME.
9210
9211         * console-stream.c (init_console_stream): Fix reinitialisation
9212         when running from temacs.
9213
9214         * alloc.c (pdump): Add id support.
9215         (pdump_load): Add file parameter and signature/id support.
9216
9217         * Makefile.in.in: Add full pdump support.
9218
9219 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9220
9221         * postgresql.c: Update documentation to reflect latest code
9222         status.
9223         (print_result): Show tuple counts in printed representation when
9224         appropriate.
9225         (Fpq_put_nbytes): MULE-ize.
9226         (Fpq_get_line_async): Ditto.
9227
9228 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9229
9230         * postgresql.c (Fpq_lo_import): Fix return value.
9231         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9232
9233 2000-03-13  Ben Wing  <ben@xemacs.org>
9234
9235         * alloc.c (pdump_load):
9236         Fix compile warning under mswin.
9237
9238 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9239
9240         * postgresql.c: Mule-ization, bug fixes.
9241         Use PG_CODING to encapsulate coding system name changes.
9242         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9243         (pg-coding-system): Create.
9244
9245         (Fpq_conn_defaults): Mule-ize.
9246         (Fpq_connectdb): Mule-ize & bug fix.
9247         (Fpq_connect_start): Mule-ize.
9248         (Fpq_set_client_encoding): Mule-ize.
9249         (Fpq_finish): Document `DEAD' connection status.
9250         (Fpq_clear): Ditto.
9251         (Fpq_pgconn): Mule-ize.
9252         (Fpq_exec): Mule-ize & bug fix.
9253         (Fpq_send_query): Ditto.
9254         (Fpq_get_result): Ditto.
9255         (Fpq_res_status): Mule-ize.
9256         (Fpq_result_error_message): Mule-ize.
9257         (Fpq_ntuples): fix comments.
9258         (Fpq_fname): Mule-ize.
9259         (Fpq_fnumber): Mule-ize.
9260         (Fpq_ftype): fix comments.
9261         (Fpq_get_value): Mule-ize.
9262         (Fpq_cmd_status): Ditto.
9263         (Fpq_cmd_tuples): Ditto.
9264         (Fpq_oid_value): Ditto.
9265         (Fpq_notifies): Ditto.
9266         (Fpq_lo_import): Ditto.
9267         (Fpq_lo_export): Ditto.
9268         (Fpq_get_line): Ditto.
9269         (Fpq_put_line): Mule-ize and bug fix.
9270         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9271
9272 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9273
9274         * postgresql.c (vars_of_postgresql): Mule-ize.
9275         (Fpq_conn_defaults): Ditto.
9276
9277 2000-03-12  Ben Wing  <ben@xemacs.org>
9278
9279         * alloc.c (Fmake_byte_code):
9280         * alloc.c (debug_string_purity_print):
9281         * alloc.c (pdump_backtrace):
9282         * alloc.c (pdump_get_indirect_count):
9283         * alloc.c (pdump_register_sub):
9284         * alloc.c (pdump_register_object):
9285         * alloc.c (pdump_register_struct):
9286         * alloc.c (pdump_dump_data):
9287         * alloc.c (pdump_reloc_one):
9288         Minor cleanups.
9289
9290         * console-msw.c:
9291         * console-msw.c (GetConsoleHwnd):
9292         * console-msw.c (msw_hide_console):
9293         * console-msw.c (msw_show_console):
9294         * console-msw.c (msw_ensure_console_buffered):
9295         * console-msw.c (msw_output_console_string):
9296         * console-msw.c (console_type_create_mswindows):
9297
9298         a) Added functions to manipulate the console window for use with
9299         shell support.
9300
9301         b) Added support for writing text to the console, which is now
9302         used under Windows when xemacs is not being run non-interactively,
9303         to write text that would otherwise be destined for stdout because
9304         under these circumstances, text written to stdout tends to
9305         disappear and not be seen.
9306
9307         * console-msw.h:
9308         * event-Xt.c:
9309         * event-Xt.c (x_event_to_emacs_event):
9310         * event-Xt.c (describe_event_window):
9311         * events-mod.h (XEMACS_MOD_CONTROL):
9312         * events.c:
9313         * events.c (Fmake_event):
9314         * events.c (character_to_event):
9315         * events.c (event_to_character):
9316         * events.c (format_event_object):
9317         * events.c (Fevent_modifiers):
9318         * events.h:
9319         * events.h (struct key_data):
9320         * events.h (struct button_data):
9321         * events.h (struct misc_user_data):
9322         * frame-x.c (Fcde_start_drag_internal):
9323         * frame-x.c (Foffix_start_drag_internal):
9324         * gpmevent.c (Freceive_gpm_event):
9325         * keymap.c:
9326         * keymap.c (bucky_sym_to_bucky_bit):
9327         * keymap.c (control_meta_superify):
9328         * keymap.c (make_key_description):
9329         * keymap.c (keymap_lookup_directly):
9330         * keymap.c (create_bucky_submap):
9331         * keymap.c (keymap_store):
9332         * keymap.c (define_key_check_and_coerce_keysym):
9333         * keymap.c (define_key_parser):
9334         * keymap.c (define_key_alternate_name):
9335         * keymap.c (Fdefine_key):
9336         * keymap.c (raw_lookup_key_mapper):
9337         * keymap.c (struct map_keymap_unsorted_closure):
9338         * keymap.c (map_keymap_unsorted_mapper):
9339         * keymap.c (map_keymap_sort_predicate):
9340         * keymap.c (map_keymap_sorted):
9341         * keymap.c (accessible_keymaps_mapper_1):
9342         * keymap.c (where_is_recursive_mapper):
9343         * keymap.c (describe_map_mapper):
9344         * keymap.c (describe_map_sort_predicate):
9345         * keymap.c (describe_map):
9346         * keymap.c (complex_vars_of_keymap):
9347         And a number of other files, the key modifier preprocessor
9348         constants that xemacs uses have names that conflict with constants
9349         defined under MS Windows for other purposes, so they were renamed
9350         to begin with the prefix XEMACS_. The variables that hold such
9351         modifiers were changed to consistently be of type int to fix
9352         various compile warnings.
9353
9354         * console.c (complex_vars_of_console):
9355         * device.c:
9356         * device-msw.c:
9357         * device-msw.c (mswindows_finish_init_device):
9358         * device-msw.c (msw_get_workspace_coords):
9359         * device-msw.c (mswindows_device_system_metrics):
9360         and various other files, added support for a new
9361         device property called offset-workspace which returns the position
9362         of the upper left corner of the workspace area and goes along with
9363         the existing size-workspace property.
9364
9365         * dialog-msw.c:
9366         * dialog-msw.c (push_bufbyte_string_as_unicode):
9367         * dialog-msw.c (mswindows_popup_dialog_box):
9368         Added support for XEmacs-style accelerator specifications in
9369         button text.  Note: I didn't add support for this under X Windows,
9370         and somebody needs to do this.
9371
9372         * dialog.c:
9373         * dialog.c (Fpopup_dialog_box):
9374         Documented the support for accelerators that was just mentioned.
9375
9376         editfns.c (get_home_directory): Changed behavior under Windows
9377         when HOME not defined; former behavior was irretrievably broken.
9378
9379         * emacs.c:
9380         * emacs.c (main_1):
9381         * emacs.c (main):
9382         * minibuf.c (clear_echo_area_internal):
9383         * minibuf.c (echo_area_append):
9384         * print.c:
9385         * print.c (std_handle_out_external):
9386         * print.c (std_handle_out_va):
9387         * print.c (fatal):
9388         * print.c (write_string_to_stdio_stream):
9389         * print.c (output_string):
9390         * print.c (debug_print):
9391         * print.c (debug_backtrace):
9392         * print.c (debug_short_backtrace):
9393         Cleaned up the code that prints text to stdout so that this can be
9394         changed to output into a console window instead under MS Windows,
9395         as described above.
9396
9397         * eval.c:
9398         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9399         * eval.c (internal_catch):
9400         * eval.c (unwind_to_catch):
9401         * eval.c (throw_or_bomb_out):
9402         * eval.c (condition_case_1):
9403         * eval.c (signal_1):
9404         * eval.c (check_error_state_sanity):
9405         * eval.c (call_with_suspended_errors_1):
9406         * eval.c (call_with_suspended_errors):
9407         * eval.c (reinit_vars_of_eval):
9408         Added code to catch throw loops and check for a pesky bug that may
9409         be gone now.
9410
9411         * event-msw.c:
9412         * event-msw.c (key_needs_default_processing_p):
9413         * event-msw.c (mswindows_wnd_proc):
9414         * event-msw.c (mswindows_modifier_state):
9415         * event-msw.c (emacs_mswindows_quit_p):
9416         * event-msw.c (vars_of_event_mswindows):
9417         a) Added support for using the alt key to select menu items as is
9418         standard under MS Windows.  This is controlled using the variable
9419         menu-accelerator-enabled, just like under X Windows.  There is an
9420         option on the options menu to turn this support on.  I really
9421         think that it should be on by default under Windows, but I'm not
9422         going to make this change yet.
9423
9424         b)  Added support for dynamic display size changes under Windows.
9425
9426         * event-stream.c:
9427         * event-stream.c (maybe_echo_keys):
9428         * event-stream.c (Fnext_event):
9429         * event-stream.c (command_builder_find_leaf):
9430         * event-stream.c (lookup_command_event):
9431         * event-stream.c (execute_command_event):
9432         * event-stream.c (pre_command_hook):
9433         * event-stream.c (post_command_hook):
9434         * event-stream.c (syms_of_event_stream):
9435         * event-stream.c (vars_of_event_stream):
9436         * event-stream.c (complex_vars_of_event_stream):
9437         * events.h (struct command_builder):
9438
9439         a) Tried to clean up a little bit the horribly written x-specific
9440         accelerator code that crept into this file.  I moved this code
9441         into menubar-x.c where it belongs. I also needed to move the
9442         command builder structure into the file events.h because it is
9443         accessed directly by this accelerator code.  What I didn't do, but
9444         which should be done at some point, is to properly abstract this
9445         code using device methods instead of the kludgy way that it
9446         currently hooks into the event code.
9447
9448         b) Added the lisp variables this-command-properties and
9449         last-command- properties, which should be used to synchronize two
9450         adjacent commands in preference to playing games with the variable
9451         this-command, which is typically what happens.
9452
9453         c) Added some slightly nasty code to hook into the lisp support
9454         for shifted- motion-key selection.  This is actually necessary for
9455         somewhat complicated reasons, which are described in
9456         simple.el. (NB: I think the proper thing would be to have the code
9457         that calls the pre and post command hooks also call out to generic
9458         lisp functions in simple.el, where all built-in stuff could be
9459         added.  I will think about this more.)
9460
9461         * event-unixoid.c (poll_fds_for_input):
9462         * lread.c (readchar):
9463         * redisplay-tty.c (tty_clear_frame):
9464         * redisplay-x.c (x_get_gc):
9465         * signal.c (interrupt_signal):
9466         And a whole bunch of other files: fixed up places that printed
9467         directly to stderr to instead call the function stderr_out so that
9468         the changes I made under Windows work correctly.
9469
9470         * filemode.c (mode_string):
9471         Warning fixes.
9472
9473         * frame-msw.c:
9474         * frame-msw.c (mswindows_size_frame_internal):
9475         Fixed the computation of frame size and position to keep the frame
9476         within the workspace area, rather than within the physical
9477         dimensions of the screen, so that the frame doesn't overlap window
9478         manager decorations, such as the start menu and toolbar, typically
9479         at the bottom of the screen.
9480
9481         * frame.c (vars_of_frame):
9482         Changed the default frame title format under MS Windows to consist
9483         of buffername-XEmacs, which is standard under MS Windows.  I think
9484         it might be a good idea to change this everywhere because I think
9485         it is superior to the current frame title format, but this is the
9486         kind of change that is likely to cause some people to get annoyed,
9487         so I'm not making it.
9488
9489         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9490
9491         * gui-msw.c (mswindows_handle_gui_wm_command):
9492         Fixed compile warnings.
9493
9494         * gui-x.c:
9495         * gui-x.c (strdup_and_add_accel):
9496         * gui-x.c (button_item_to_widget_value):
9497         * gui-x.h:
9498         Added code to automatically put an accelerator onto the beginning
9499         of menu items that don't have one as is now the standard, and is
9500         described more later.  Also fixed things so that the menu item
9501         name can be an evaluated expression, again a new standard.
9502
9503         * gui.c:
9504         * gui.c (gui_item_add_keyval_pair):
9505         * gui.c (make_gui_item_from_keywords_internal):
9506         * gui.c (gui_add_item_keywords_to_plist):
9507         * gui.c (gui_item_accelerator):
9508         * gui.c (gui_name_accelerator):
9509         * gui.c (gui_item_included_p):
9510         * gui.c (gui_item_display_flush_left):
9511         * gui.c (gui_item_display_flush_right):
9512         * gui.c (parse_gui_item_tree_item):
9513         * gui.c (parse_gui_item_tree_children):
9514         * gui.c (parse_gui_item_tree_list):
9515         Mule-ized.  Cleanup.  GCPRO addition.
9516
9517         * line-number.c (buffer_line_number):
9518         * lisp.h:
9519         * lisp.h (EMACS_INT_MAX):
9520         Added the manifest constant EMACS_INT_MIN corresponding to the
9521         existing constant EMACS_INT_MAX.  This is partially to fix compile
9522         warnings under Windows, and partly for cleanliness.
9523
9524         * menubar-msw.c:
9525         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9526         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9527         * menubar-msw.c (displayable_menu_item):
9528         * menubar-msw.c (populate_menu_add_item):
9529         * menubar-msw.c (populate_or_checksum_helper):
9530         * menubar-msw.c (populate_menu):
9531         * menubar-msw.c (update_frame_menubar_maybe):
9532         * menubar-msw.c (prune_menubar):
9533         * menubar-msw.c (msw_char_is_accelerator):
9534         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9535         * menubar-msw.c (mswindows_handle_wm_command):
9536         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9537         * menubar-msw.c (mswindows_handle_wm_initmenu):
9538         * menubar-msw.c (mswindows_update_frame_menubars):
9539         * menubar-msw.c (mswindows_free_frame_menubars):
9540         * menubar-msw.c (mswindows_popup_menu):
9541         Fixed a bug in handling accelerators where an extra character
9542         would be displayed in the menu item.  Also generalized the
9543         function displayable_menu_item because it is now used by the
9544         dialog box code as well.  And finally, added code in the functions
9545         that create the menubar to extract a list of accelerators for the
9546         top level menubar, which is used in the event code to determine
9547         whether a particular alt-key combination should be used to invoke
9548         a menu item, or should be passed through to access the standard
9549         XEmacs keymap binding for this key combination.
9550
9551         Much needed GCPROing.
9552
9553         * menubar-x.c:
9554         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9555         * menubar-x.c (menu_item_descriptor_to_widget_value):
9556         * menubar-x.c (restore_in_menu_callback):
9557         * menubar-x.c (x_popup_menu):
9558         * menubar-x.c (menu_move_up):
9559         * menubar-x.c (menu_move_down):
9560         * menubar-x.c (menu_move_left):
9561         * menubar-x.c (menu_move_right):
9562         * menubar-x.c (menu_select_item):
9563         * menubar-x.c (command_builder_operate_menu_accelerator):
9564         * menubar-x.c (menu_accelerator_junk_on_error):
9565         * menubar-x.c (command_builder_find_menu_accelerator):
9566         * menubar-x.c (Faccelerate_menu):
9567         * menubar.h:
9568         Moved a whole bunch of code here that was previously in
9569         event-stream.c as described above.  There is also code connected
9570         to the new standard of adding an accelerator to the beginning of
9571         menu items that don't have one as described above and below.
9572
9573         * menubar.c:
9574         * menubar.c (menu_parse_submenu_keywords):
9575         * menubar.c (Fmenu_find_real_submenu):
9576         * menubar.c (Fnormalize_menu_item_name):
9577         * menubar.c (syms_of_menubar):
9578         * menubar.c (vars_of_menubar):
9579         * menubar.c (complex_vars_of_menubar):
9580
9581         a) Cleaned up a bunch of documentation and improved it.
9582
9583         b) XEmacs now automatically adds an accelerator onto the beginning
9584         of any menu items that don't have one.  I did this because there
9585         will inevitably be some menu items on the main menubar that don't
9586         have accelerators on them because the package that adds that
9587         particular menu item hasn't yet been fixed up to have accelerators
9588         in them and it looked rather strange to have some items with and
9589         some items without accelerators, especially since even in items
9590         without accelerators, you can, at least under windows, still
9591         access the item through an accelerator corresponding to the first
9592         character in the item's name.  If people don't like this behavior,
9593         I can add a variable to turn it off optionally, but I'm not sure
9594         this is a good idea because we really do need to have accelerators
9595         on all of the menu items, and if a package doesn't like the
9596         accelerators being put on the first character, then it should put
9597         the accelerators where they belong.
9598
9599         c) I made a behavior change, which is that the descriptor that
9600         specifies the text of the menu item, which formerly was just a
9601         string, can now also be an evaluated expression.  This makes this
9602         descriptor parallel with all of the others, which could also be
9603         evaluated expressions.  This also obviates the need for the
9604         keyword :label, which was previously listed in the documentation
9605         as unimplemented, and which was for the same purpose.
9606
9607         d) GCPROing.
9608
9609         * ntproc.c:
9610         * ntproc.c (new_child):
9611         * ntproc.c (sys_spawnve):
9612         * ntproc.c (find_child_console):
9613         * ntproc.c (sys_kill):
9614         Fixed compile warnings.  By the way, this file should really go
9615         away entirely, and this will happen as soon as Kirill makes his
9616         final round of process cleanups, which affect the function
9617         call-process.
9618
9619         * process-nt.c:
9620         * process-nt.c (struct nt_process_data):
9621         * process-nt.c (find_process_from_pid):
9622         * process-nt.c (send_signal_the_nt_way):
9623         * process-nt.c (enable_child_signals):
9624         * process-nt.c (find_child_console):
9625         * process-nt.c (send_signal_the_95_way):
9626         * process-nt.c (nt_finalize_process_data):
9627         * process-nt.c (ensure_console_window_exists):
9628         * process-nt.c (nt_create_process):
9629         * process-nt.c (nt_kill_child_process):
9630         * process-nt.c (nt_kill_process_by_pid):
9631         * process-nt.c (nt_open_network_stream):
9632         * process-nt.c (vars_of_process_nt):
9633         Copied over code from Emacs 20.5 to correctly send signals to sub-
9634         processes under Windows 95.  Also added code to automatically
9635         create and hide console window when a sub-process is created under
9636         Windows 95, which obviates the need for the separate runemacs.exe
9637         executable, and finally implemented some variables that were
9638         implemented in Emacs 20.5, but previously not in XEmacs.  These
9639         include mswindows- start-process-share-console and
9640         mswindows-start-process-inherit-error-mode. (Both of these only
9641         apply to Windows 95.)
9642
9643         * regex.c (regex_compile): Fixed a compile warning.
9644
9645         * select-msw.c:
9646         * select-msw.c (mswindows_own_selection):
9647         * select-msw.c (mswindows_get_foreign_selection):
9648         * select-msw.c (mswindows_disown_selection):
9649         * select-msw.c (console_type_create_select_mswindows):
9650         * select-msw.c (syms_of_select_mswindows):
9651         Cleaned up the file and implemented the device method
9652         selection_exists_p, which had accidentally been left out.  Also
9653         removed four lisp functions that were remnants from before the
9654         time when the selection code was properly device abstracted.
9655         These functions are no longer needed because there are generic
9656         equivalents, and because they were added recently and don't exist
9657         in FSF Emacs, I don't think there's any problem with just deleting
9658         them.
9659
9660         * sysdep.c:
9661         * sysdep.c (sys_subshell):
9662         Fixed a compile warning, although in this case there's probably
9663         something wrong with this code, and it ought to be looked into
9664         more thoroughly by somebody who understands it.
9665
9666         * window.c:
9667         * window.c (Fwindow_text_area_height):
9668         * window.c (Fwindow_width):
9669         * window.c (Fwindow_full_width):
9670         * window.c (Fwindow_pixel_width):
9671         * window.c (debug_print_window):
9672         * window.c (syms_of_window):
9673         Added functions window-text-area-height and window-full-width,
9674         which are functions for returning various width and height
9675         characteristics of a window. (One of these functions is necessary
9676         for making the file dialog box work correctly, and the other one
9677         was added for completeness.)  Also added a table to the
9678         documentation for window-height which describes the entire scheme
9679         for accessing width and height characteristics of a window.
9680
9681 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9682
9683         * nt.c (fstat): Added a comment for another problem with
9684         non-encapsulated [f]stat(), reported by Adrian Aichner
9685         <aichner@ecf.teradyne.com>.
9686
9687 2000-03-11  Andy Piper  <andy@xemacs.org>
9688
9689         * window.c (make_dummy_parent): initialize subwindow instance
9690         cache.
9691         (Fset_window_configuration): zero extent_modiff.
9692
9693 2000-03-10  Andy Piper  <andy@xemacs.org>
9694
9695         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
9696         more changes can be triggered.
9697         (Fredisplay_frame): ditto.
9698         (Fredraw_device): ditto.
9699         (Fredisplay_device): ditto.
9700         (redisplay_frame): make non-static.
9701         (redisplay_frame): call update_frame_gutter_geometry outside of
9702         display proper.
9703
9704         * gutter.h: declare update_frame_gutter_geometry.
9705
9706         * redisplay.h: declare redisplay_frame.
9707
9708         * gutter.c (update_frame_gutter_geometry): move geometry changes
9709         in update_frame_gutters here. Geometry changes can only occur
9710         outside of redisplay.
9711         (update_frame_gutters): remove geometry change code.
9712         (Fredisplay_gutter_area): make sure that we are in display when we
9713         update and that we have flushed any size changes.
9714
9715 2000-03-11  Andy Piper  <andy@xemacs.org>
9716
9717         * alloc.c (pdump_dump_data): remove i & count shadows.
9718
9719 2000-02-27  Mike Alexander  <mta@arbortext.com>
9720
9721         * sysdep.h: Declare pdump_read_file
9722
9723         * sysdep.c (pdump_read_file): New function
9724
9725         * alloc.c (pdump_load): Call pdump_read_file to get the portable
9726         dump data
9727
9728 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9729
9730         * lrecord.h: add `lrecord_type_pgsetenv'.
9731
9732 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
9733
9734         * symsinit.h: declare (vars|syms)_of* functions.
9735         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
9736
9737 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
9738
9739         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
9740
9741         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
9742         GCCs.
9743
9744         * emacs.c (main_1): Call postgres initialization code.
9745
9746         * postgresql.h: New file.  PostgreSQL RDBMS support.
9747         * postgresql.c: New file.
9748
9749 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9750
9751         * redisplay-output.c (redisplay_output_display_block): Disable
9752         redundant code.
9753
9754 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9755
9756         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
9757         (Fcanna_henkan_next): Ditto.
9758         (Fcanna_bunsetu_henkou): Ditto.
9759         (Fcanna_henkan_kakutei): Ditto.
9760         (Fcanna_henkan_end): Ditto.
9761         (Fcanna_henkan_quit): Ditto.
9762         (Fcanna_henkan_next): Set retun value correctly.
9763         (c2mu): Use unsigned char instead of signed char.
9764
9765 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9766
9767         * emacs.c (main_1): Always call syms_of_gui.
9768         * inline.c: include gui.h
9769
9770 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9771
9772         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
9773         converted to Lisp_Object.
9774         (Qtop_bottom): New variable.
9775         (syms_of_redisplay): Initialize it.
9776         * redisplay.h (Vvisible_bell): Ditto.
9777         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
9778         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
9779         only flash top and bottom.
9780
9781 2000-03-08  Andy Piper  <andy@xemacs.org>
9782
9783         * buffer.c (Frename_buffer): record new buffer name the right way.
9784
9785 2000-03-08  Andy Piper  <andy@xemacs.org>
9786
9787         * glyphs.c (update_subwindow): increase hash depth so that widget
9788         items get picked up properly.
9789
9790         * redisplay-output.c (compare_runes): increase hash depth so that
9791         widget items get picked up properly.
9792
9793 2000-03-08  Andy Piper  <andy@xemacs.org>
9794
9795         * gutter.c (output_gutter): add some debug.
9796
9797         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
9798         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
9799         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
9800
9801         * redisplay-output.c (compare_runes): use display_hash to
9802         determine if glyphs really are not the same.
9803
9804         * glyphs.c (update_subwindow): check display_hash to see if
9805         anything really needs to be updated. If not then do
9806         nothing. Record the display_hash after updating.
9807         (image_instance_equal): compare the image_instance face also.
9808
9809 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
9810
9811         * redisplay.h: Fix comment style.
9812
9813 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9814
9815         * consle-msw.h (struct mswindows_frame):
9816         Added new member paint_pending to indicate whether a WM_PAINT
9817         magic event has been queued for this frame.
9818
9819         * event-msw.c (mswindows_drain_windows_queue):
9820         Don't queue a WM_PAINT magic event if one is already queued.
9821         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
9822
9823         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
9824
9825 2000-03-07  Didier Verna  <didier@xemacs.org>
9826
9827         * dired.c: #include `regex.h' after `sysfile.h'.
9828
9829 2000-03-06  Martin Buchholz  <martin@xemacs.org>
9830
9831         * sound.c (init_nas_sound): Fix compiler warning.
9832
9833         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
9834         (FREE_STRUCT_P):
9835         (MARK_STRUCT_AS_FREE):
9836         (MARK_STRUCT_AS_NOT_FREE):
9837         Make `gcc -fstrict-aliasing' work properly.
9838
9839 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9840
9841         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
9842         (mswindows_delete_device): Call CoUnnitialize().
9843
9844         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
9845
9846 2000-02-25    <CraigL@DyCon.com>
9847
9848         * process-nt.c: MinGW now has <shellapi.h>, but still needs
9849         <errno.h>.
9850
9851         * sysdep.c: This extern declaration for environ prevents MinGW
9852         from finding the variable in CRTDLL.DLL.
9853
9854         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
9855         windows headers.
9856         (SHGFI_EXETYPE): ..
9857         (WM_MOUSEWHEEL): ..
9858         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
9859         definitions.
9860         (MMRESULT): Removed, now defined in cygwin's windows headers.
9861         (TIMECAPS): ..
9862         (uid_t,gid_t,pid_t,ssize_t): ..
9863         (_timeb): Removed, MinGW defines both _timeb and timeb.
9864         (HAVE_H_ERRNO): Added.
9865         (HAVE_TZNAME): Added, configure is not detecting this.
9866
9867 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
9868
9869         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
9870         * syntax.c (syntax_match): Use it.
9871
9872         * cmds.c: Import auto-fill-chars from FSF Emacs.
9873         (Vauto_fill_chars): New variables.
9874         (internal_self_insert): Check Vauto_fill_chars.
9875         (vars_of_cmds):
9876         Declare auto-fill-chars as a Lisp variable and initialize it.
9877
9878 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9879
9880         * fileio.c (Fmake_symbolic_link):
9881         (Ffile_symlink_p):
9882         Run handlers even if local machine doesn't have symlinks.
9883
9884 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9885
9886         * event-msw.c (mswindows_drain_windows_queue):
9887         Don't generate paint magic events for non-XEmacs frames.
9888
9889 2000-03-05  Andy Piper  <andy@xemacs.org>
9890
9891         * redisplay.c (redisplay_frame): generate_displayable_area and
9892         friends assumes that we are not in GC, we therefore have to make
9893         sure that this doesn't happen.
9894
9895         * gutter.c (calculate_gutter_size): generate_displayable_area
9896         assumes that we are not in GC, we therefore have to make sure that
9897         this doesn't happen.
9898
9899 2000-03-05  Martin Buchholz  <martin@xemacs.org>
9900
9901         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
9902
9903 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9904
9905         * redisplay.c (regenerate_window): Make sure we set a sane value
9906         for end_pos even if we jump out of the loop.
9907         (regenerate_window): Answer Ben's question :-).
9908         (start_end_of_last_line): Add may_error argument.
9909         (start_of_last_line):
9910         (end_of_last_line): Pass may_error = 0.
9911         (end_of_last_line_may_error): New function.
9912         (pixel_to_glyph_translation): Use it, so we don't crash in
9913         event_to_glyph.
9914
9915 2000-03-04  Andy Piper  <andy@xemacs.org>
9916
9917         * window.h (struct window): add gutter_extent_modiff.
9918
9919         * window.c (allocate_window): zero out gutter_extent_modiff.
9920
9921         * redisplay.h: declare sync_display_line_structs.
9922
9923         * redisplay.c (add_glyph_rune): add a better comment.
9924
9925         * redisplay-output.c (sync_display_line_structs): made non-static.
9926         (compare_runes): remove unneccesary glyph cachel access.
9927
9928         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
9929
9930         * gutter.c (output_gutter): don't output the gutter if extent
9931         changes only involve extents in buffers. use 4 sets of display
9932         lines.
9933         (gutter_extent_signal_changed_region_maybe): new function. Mark
9934         extents in gutters as changed.
9935         (update_frame_gutters): use 4 sets of display lines.
9936         (reset_gutter_display_lines): ditto.
9937         (free_frame_gutters): ditto.
9938         (redraw_exposed_gutter): force output of gutters.
9939
9940         * frame.h (struct frame): add 4 sets of gutter display lines.
9941
9942         * extents.c: (extent_changed_for_redisplay): signal changes to
9943         extents in strings in the gutter as well as extents in buffers.
9944
9945 2000-03-02  Andy Piper  <andy@xemacs.org>
9946
9947         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
9948
9949         * frame.c (Fmake_frame): make sure the gutters get initialized
9950         after the frame is visible.
9951         (set_frame_selected_window): re-arrange compilation macros a
9952         little.
9953         (change_frame_size_1): mark gutters changed.
9954
9955         * device.c (Fset_device_class): mark gutters changed.
9956
9957 2000-03-01  Andy Piper  <andy@xemacs.org>
9958
9959         * window.c (window_top_frame_gutter_height): deleted.
9960         (window_bottom_frame_gutter_height): ditto.
9961         (window_left_frame_gutter_height): ditto.
9962         (window_right_frame_gutter_height): ditto.
9963         (window_top_gutter_height): don't use them.
9964         (window_bottom_gutter_height): ditto.
9965         (window_left_gutter_width): ditto.
9966         (window_right_gutter_width): ditto.
9967         (Fsplit_window): ditto.
9968         (Fwindow_pixel_edges): don't use border dimensions here.
9969
9970         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
9971         (update_scrollbar_instance): ditto.
9972
9973         * redisplay.c (generate_modeline): don't take gutters into account.
9974         (generate_modeline): ditto.
9975         (redisplay_frame): small gutter display optimization.
9976
9977         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
9978
9979         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
9980         gutters into account.
9981
9982         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
9983         for window position and type.
9984
9985         * gutter.c (get_gutter_coords): fix for frame gutters.
9986         (update_frame_gutters): update frame geometry if the gutters have
9987         changed.
9988         (init_frame_gutters): record current gutter geometries.
9989
9990         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
9991         var.
9992         (mswindows_widget_instantiate): ditto.
9993
9994         * frame.h (struct frame): add current_gutter_bounds.
9995
9996         * frame.c (change_frame_size_1): position window and minibuffer
9997         appropriately taking into account the frame gutters.
9998
9999         * frame-x.c: (x_initialize_frame_size): take into account the
10000         frame gutters.
10001
10002 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10003
10004         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10005
10006 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10007
10008         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10009
10010 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10011
10012         * file-coding.c (reset_decoding_stream): Clear previous
10013         detection state when autodetect.
10014
10015 2000-02-29  Didier Verna  <didier@xemacs.org>
10016
10017         * extents.c (set_extent_glyph_1): don't require extents to be
10018         attached.
10019
10020 2000-02-27  Andy Piper  <andy@xemacs.org>
10021
10022         * gutter.c (Fset_default_gutter_position): don't default left and
10023         right gutter visibility to t.
10024         (Fset_default_gutter_position): run
10025         default-gutter-position-changed-hook.
10026         (syms_of_gutter): add default-gutter-position-changed-hook.
10027
10028 2000-02-26  Andy Piper  <andy@xemacs.org>
10029
10030         * specifier.c (Fmake_specifier): add gutter references.
10031
10032         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10033
10034         * lisp.h: declare Fvalid_plist_p.
10035
10036         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10037         as changed.
10038         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10039         well as its visibility so that it gets reconstructed.
10040         (construct_window_gutter_spec): new function. Construct a string
10041         to be displayed in the gutter from a plist of strings. Take care
10042         to only use elements that are declared as visible.
10043         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10044         WINDOW_GUTTER.
10045         (gutter_validate): allow plists of strings in the specifier.
10046         (gutter_specs_changed): construct the real_gutter from the gutter
10047         specs using construct_window_gutter_spec.
10048         (gutter_visible_validate): gutter-visible is a new specifier type.
10049         (Fgutter_visible_specifier_p): new function for the new specifier.
10050         (syms_of_gutter): declare gutter-visible and
10051         Fgutter_visible_specifier_p.
10052         (specifier_type_create_gutter): intitalize new gutter-visible
10053         specifier.
10054         (reinit_specifier_type_create_gutter): ditto.
10055         (specifier_vars_of_gutter): use new specifier type for gutter
10056         visibility.
10057         (init_frame_gutters): construct real_gutter correctly.
10058         (Fgutter_specifier_p): beef up documentation.
10059         (Fgutter_size_specifier_p): ditto.
10060
10061         * winslots.h: add real_gutter slots.
10062
10063 2000-02-25  Andy Piper  <andy@xemacs.org>
10064
10065         * device-msw.c: Be kind to older cygwin versions. From Raymond
10066         Toy <toy@rtp.ericsson.se>.
10067
10068         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10069         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10070
10071 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10072
10073         * elhash.c (MARK_OBJ): Practice macro hygiene.
10074
10075 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10076
10077         * miscplay.c: s/__inline__/inline/g;
10078         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10079         (get_device_compdc): INLINE ==> static inline
10080         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10081         find -name '*.h' | \
10082         xargs global-replace \
10083         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10084
10085 2000-02-25  Andy Piper  <andy@xemacs.org>
10086
10087         * window.c (window_top_frame_gutter_height): new function.
10088         (window_top_window_gutter_height): ditto.
10089         (window_top_gutter_height): use them.
10090         (window_bottom_frame_gutter_height): new function.
10091         (window_bottom_window_gutter_height): ditto.
10092         (window_bottom_gutter_height): use them.
10093         (window_left_window_gutter_width): new function.
10094         (window_left_frame_gutter_width): ditto.
10095         (window_left_gutter_width): use them.
10096         (window_right_window_gutter_width): new function.
10097         (window_right_frame_gutter_width): ditto.
10098         (window_right_gutter_width): use them.
10099         (window_pixel_height): new function. calulate window pixel height
10100         with frame gutter involvement.
10101         (Fsplit_window): calculate new sizes taking frame gutters into
10102         account.
10103         (window_char_height_to_pixel_height): don't include frame gutters.
10104         (window_char_height): use window_pixel_height.
10105         (window_pixheight): rename from window_pixel_height.
10106         (change_window_height): use it.
10107         (window_pixel_height_to_char_height): don't include frame gutters.
10108         (window_char_width_to_pixel_width): ditto.
10109
10110 2000-02-25  Andy Piper  <andy@xemacs.org>
10111
10112         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10113         if it is.
10114
10115 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10116
10117         * alloc.c (staticpro):
10118         (staticpro_nodump):
10119         (dumpstruct):
10120         (dumpopaque):
10121         (pdump_wire):
10122         (pdump_wire_list):
10123         (compact_string_chars):
10124         (pdump_dump_wired):
10125         Convert:  if (foo) abort();  ==>  assert (! foo);
10126
10127         * eldap.c (Fldap_search_basic):
10128         (Fldap_add):
10129         (Fldap_modify):
10130         (Fldap_delete):
10131         Fix compiler warnings, and possible crashes if (random) return
10132         value were to be used.
10133
10134 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10135
10136         * device-msw.c: Workaround ResetDC failure.
10137
10138         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10139         applying a devmode.
10140
10141         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10142         (mswindows_text_width): Do not start printer page.
10143
10144         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10145
10146         * glyphs-msw.c: Added image methods to msprinter console and
10147         msprinter-specific image instantiation.
10148
10149 2000-02-20  Mike Alexander  <mta@arbortext.com>
10150
10151         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10152         to avoid crashes when selection-sets-clipboard is on
10153         (mswindows_own_selection): ditto
10154
10155 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10156
10157         * glyphs-msw.c:
10158         * redisplay-msw.c (get_frame_dc):
10159         (get_frame_compdc):
10160         * console-msw.h:
10161         * device-msw.c (mswindows_init_device):
10162         (mswindows_delete_device):
10163         (msprinter_init_device):
10164         (msprinter_delete_device):
10165         * frame-msw.c (mswindows_init_frame_1):
10166         (mswindows_delete_frame):
10167         (msprinter_init_frame_3):
10168         (msprinter_delete_frame): Move compatible DC to device object from
10169         frame object, for both mswindows and msprinter. Only one at a time
10170         is needed, it is a real waste to have one per frame!
10171
10172 2000-02-23  Andy Piper  <andy@xemacs.org>
10173
10174         * glyphs.c: add dynamic width and height elements.
10175         (image_instance_equal): ditto.
10176
10177         * glyphs-widget.c (widget_query_geometry): calculate width and
10178         height dynamically if required.
10179         (initialize_widget_image_instance): initialize dynamic dimensions.
10180         (widget_instantiate): pick-up dynamic dimensions.
10181
10182         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10183         dynamic determination. Add appropriate macros.
10184
10185         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10186         dimensions safe.
10187         (WINDOW_GUTTER_SIZE): ditto.
10188         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10189
10190         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10191         inline.
10192         (get_frame_dc): ditto.
10193
10194         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10195         here.
10196
10197 2000-02-23  Martin Buchholz <martin@xemacs.org>
10198
10199         * XEmacs 21.2.31 is released.
10200
10201 2000-02-22  Ben Wing <ben@xemacs.org>
10202
10203         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10204
10205 2000-02-22  Andy Piper  <andy@xemacs.org>
10206
10207         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10208
10209 2000-02-21  Mike Sperber <mike@xemacs.org>
10210
10211         * .dbxrc:
10212         * .gdbinit:
10213         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10214         variables.
10215
10216 2000-02-21  Mike Sperber <mike@xemacs.org>
10217
10218         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10219
10220 2000-02-21  Martin Buchholz <martin@xemacs.org>
10221
10222         * XEmacs 21.2.30 is released.
10223
10224 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10225
10226         Performance hacking.
10227         * *.c (syms_of_*):
10228         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10229         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10230         * emacs.c (main_1):
10231         * lisp.h (DEFUN):
10232         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10233         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10234         * symeval.h (DEFVAR_SYMVAL_FWD):
10235         * symbols.c (guts_of_unbound_marker):
10236         Make all c_readonly objects also lisp_readonly and marked for life.
10237         * lrecord.h (struct lrecord_implementation):
10238         Document flags better.
10239         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10240         * lrecord.h (DECLARE_LRECORD):
10241         * lrecord.h (XSETRECORD):
10242         * lrecord.h (RECORDP):
10243         * lrecord.h (RECORD_TYPEP):
10244         * lrecord.h (RECORD_MARKER): New.
10245         * lrecord.h (error_check_*):
10246         * lrecord.h (CONCHECK_NONRECORD):
10247         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10248         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10249         * lrecord.h (set_lheader_implementation):
10250         * lrecord.h (enum lrecord_type): New.
10251         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10252         * alloc.c (disksave_object_finalization_1):
10253         * alloc.c (mark_object):
10254         * alloc.c (lrecord_type_index):
10255         * alloc.c (tick_lcrecord_stats):
10256         * alloc.c (Fgarbage_collect):
10257         * alloc.c (init_alloc_once_early):
10258         * alloc.c (pdump_load):
10259         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10260         * alloc.c (lrecord_type_index): Delete.
10261         Make lisp object type indexes be constant.
10262           Makes (byte-compile) 5% faster.
10263         Put all marker functions into their own array.
10264           Makes (garbage-collect) 5% faster.
10265         Optimize SYMBOL_VALUE_MAGIC_P.
10266           Makes (byte-compile) 2-3% faster.
10267         * config.h.in (gc_checking_assert): New.
10268         * alloc.c: Use gc_checking_assert().
10269         * .dbxrc: Make compatible with new object type implementation.
10270         * .gdbinit: Make compatible with new object type implementation.
10271         * alloc.c: Delete all symbols defined only for debugging, such as
10272         Lisp_Type_Vector and lrecord_charset.
10273
10274 2000-02-21  Andy Piper  <andy@xemacs.org>
10275
10276         * gui-msw.c (Fmswindows_shell_execute): fix file location
10277         problems.
10278
10279         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10280         unshowing so that set_window_buffer doesn't undo
10281         kill_buffer_hook's hard work.
10282
10283         * glyphs-widget.c (tab_control_query_geometry): don't count the
10284         first item when calculating geometry.
10285
10286         * glyphs.c (map_subwindow): remove redundant code.
10287         (update_frame_subwindows): be more circumspect about when to
10288         update subwindows.
10289
10290         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10291         when items haven't changed. Update faces if faces have changed as
10292         well as just the widget face.
10293         (x_tab_control_update): Update faces if faces have changed as well
10294         as just the widget face.
10295
10296 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10297
10298         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10299         registration.
10300         (build_syscolor_string): Use mswindows_color_to_string to try to
10301         get a named color.
10302         (mswindows_device_system_metrics): Reverse the foreground and
10303         background colors so that they match the documentation.
10304
10305         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10306         they match the default Windows palette.
10307         (mswindows_color_to_string): New function.
10308
10309 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10310
10311         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10312
10313 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10314
10315         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10316         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10317
10318         * symbols.c (init_symbols_once_early): Removed obsolete
10319         DATA_SEG_BITS related kludge.
10320         (defvar_magic): Ditto.
10321
10322         * malloc.c: Removed obsolete DATA_SEG_BITS
10323         * ralloc.c: Ditto.
10324         * mem-limits.h: Ditto.
10325
10326         * Makefile.in.in: Removed obsolete HAVE_SHM
10327         * emacs.c: Ditto.
10328
10329 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10330
10331         *  device-msw.c (mswindows_delete_device): Free DDE string
10332         handles.
10333
10334 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10335
10336         * keymap.c (get_keyelt):
10337         * unexnt.c (unexec):
10338         * vm-limit.c (memory_warnings):
10339         * ntheap.c (recreate_heap):
10340         * ntheap.h (UNINIT_PTR):
10341         * select-msw.c (Fmswindows_get_clipboard):
10342         (Fmswindows_set_clipboard):
10343         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10344         * objects-msw.c:
10345         * menubar-msw.c (displayable_menu_item):
10346         * glyphs-msw.c:
10347         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10348         * sysdep.c (sys_subshell):
10349         * process-nt.c (nt_create_process):
10350         * nt.c (normalize_filename):
10351         (dostounix_filename):
10352         (unixtodos_filename):
10353         * ntproc.c (win32_executable_type):
10354         * ntplay.c (play_sound_data_1):
10355         (play_sound_file):
10356         * editfns.c (get_home_directory):
10357         * event-msw.c (struct winsock_stream):
10358         (mswindows_dde_callback):
10359         * device-msw.c (msprinter_init_device):
10360         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10361
10362         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10363         mswindows_clear_toolbar were swapped!
10364
10365         * objects-msw.c:(colormap_t):
10366         (fontmap_t):
10367         * emacs.c (struct standard_args): Fixed const jumble.
10368
10369         * glyphs-widget.c (update_widget): Fixed comparison notation.
10370
10371         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10372
10373         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10374         __declspec(noreturn) syntax.
10375
10376 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10377
10378         * eldap.c (Fldap_open):
10379         (Fldap_search_basic):
10380         (Fldap_add):
10381         (Fldap_modify):
10382         Use new coding system conversion macros.
10383
10384 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10385
10386         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10387
10388 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10389
10390         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10391         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10392
10393         * eldap.c (Qadd, Qreplace): New constant symbols
10394         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10395         interruptions by XEmacs signals
10396         Remove unnecessary calls to slow_down_interrupts and
10397         speed_up_interrupts
10398         (Fldap_search_basic): Renamed from Fldap_search_internal
10399         Added new optional parameter VERBOSE that triggers the
10400         display of progress messages
10401         Remove unnecessary calls to slow_down_interrupts and
10402         speed_up_interrupts
10403         LDAP result code analysis rewritten
10404         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10405         (syms_of_eldap): Define the new symbols and functions
10406
10407
10408 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10409
10410         * realpath.c: Determine PATH_MAX maximally portably.
10411
10412         * insdel.c (bytecount_to_charcount): Optimize.
10413         The function used to be optimized for entirely ASCII sequences.
10414         Now it is optimized for successive characters from the same
10415         charset.  This also wins big for _mostly_ ASCII sequences.
10416
10417         * fileio.c (Ffile_truename): convert return from realpath() using
10418         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10419         - Rewrite GCPROing slightly.
10420
10421         * sysdep.c (sys_open): Do filename conversion, like all other
10422         sys_* functions.  Fixes bug:
10423         (let ((file-name-coding-system 'iso-8859-2))
10424            (write-region x y latin2-name))
10425         ==> writes filename using internal encoding.
10426
10427 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10428
10429         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10430         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10431         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10432         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10433         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10434         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10435         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10436         (CONST_IF_NOT_DEBUG): Delete.
10437         * alloc.c (this_one_is_unmarkable): Delete.
10438         (mark_object): Don't check for this_one_is_unmarkable. Use the
10439         c_readonly flag instead.
10440         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10441
10442 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10443
10444         * event-msw.c (mswindows_drain_windows_queue):
10445         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10446         away redundant repaint events.
10447
10448 2000-02-17  Andy Piper  <andy@xemacs.org>
10449
10450         * redisplay.h: declare mark_redisplay_structs.
10451
10452         * redisplay.c (redisplay_window):
10453         (redisplay_frame): don't check subwindows_state_changed.
10454         (mark_redisplay): mark gutters here.
10455
10456         * glyphs.c: (instantiate_image_instantiator): always layout if we
10457         haven't done so already.
10458         (allocate_image_instance): don't mark as dirty.
10459         (update_subwindow): bind inhibit_quit.
10460
10461         * gutter.c (mark_gutters): new function.
10462
10463         * glyphs-x.c (x_update_widget): Always resize to get round a
10464         widget bug.
10465
10466         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10467         breaking absolutely everything.
10468
10469         * gutter.h: declare mark_gutters.
10470
10471 2000-02-16  Martin Buchholz <martin@xemacs.org>
10472
10473         * XEmacs 21.2.29 is released.
10474
10475 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10476
10477         * fns.c (size_bit_vector): Fix computation of the size.
10478
10479 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10480
10481         * *.[ch]: Change CONST to const globally.
10482         find -name '*.[ch]' | \
10483         xargs global-replace \
10484         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10485         - Remove vestigial references to CONST_IS_LOSING
10486
10487 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10488
10489         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10490         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10491         events instead of dispatching them directly.
10492         (mswindows_handle_paint): New function to do repainting.
10493         (mswindows_wnd_proc):
10494         (emacs_mswindows_handle_magic_event): Call above function.
10495
10496 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10497
10498         * objects-msw.c (mswindows_create_font_variant): Return the new
10499         font handle.
10500         (initialize_font_instance): Get font metrics from the underlined
10501         variant of the font to cope with the case where the underlined
10502         font has a bigger descent.
10503
10504 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10505
10506         * gui.c (gui_item_accelerator): Return the first underlined
10507         character in item name.
10508
10509 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10510
10511         * lisp.h: Added Qprinter.
10512
10513         * general.c (syms_of_general): Initialized it.
10514
10515         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10516         (get_frame_dc):
10517         (get_frame_compdc): Made inline.
10518
10519         * console.h (struct console_methods): Added eject_page method.
10520
10521         * frame.h: Added FRAME_DISPLAY_P and friends.
10522         Aligned backslahes in many macros in more readable fashion.
10523         Added page_number to struct frame, and an accessor macro
10524         for it.
10525
10526         * defice.h: Added DEVICE_DISPLAY_P and friends.
10527
10528         * device.c (Fdevice_printer_p): Used these.
10529
10530         * frame.c (allocate_frame_core): Initialize page number.
10531         (Fprint_job_page_number):
10532         (Fprint_job_eject_page): Implemented.
10533
10534         * frame-msw.c (msprinter_eject_page): Added method.
10535         (msprinter_start_page): Added.
10536
10537         * window.c (Fwindow_truncated_p): Fixed docstring.
10538         (Fwindow_last_line_visible_height): Implemented.
10539
10540 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10541
10542         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10543
10544 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10545
10546         * syntax.c (scan_words): Always advance at least one character.
10547
10548 2000-02-13  Andy Piper  <andy@xemacs.org>
10549
10550         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10551         to make sure the glyph is in the cachels.
10552
10553         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
10554         global image instance flag.
10555         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
10556         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
10557
10558         * glyphs.c (allocate_image_instance): set dirty bits correctly.
10559         (Fset_image_instance_property): mark layout as changed.
10560         (invalidate_glyph_geometry_maybe): mark layout as changed.
10561         (glyph_width): use new NEEDS_LAYOUT macro.
10562         (glyph_ascent): ditto.
10563         (glyph_descent): ditto.
10564         (glyph_height): ditto.
10565         (image_instance_layout): mark layout as clean after laying out.
10566         (update_subwindow): don't mark layout as clean here.
10567
10568         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
10569         should no longer be needed.
10570
10571         * glyphs-x.c (x_update_widget): sanitize asserts.
10572         (x_finalize_image_instance): sanitize assignment to widgets.
10573
10574         * glyphs-widget.c (widget_instantiate): don't need to clear the
10575         layout flag here.
10576
10577 2000-02-13  Martin Buchholz  <martin@xemacs.org>
10578
10579         * sysdep.c (getcwd): Use standard prototype.
10580         * sysdep.h (getcwd): Use standard prototype.
10581
10582         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
10583         (sequence, start, end).
10584         Remove redundant type checking.
10585         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
10586         view of `caller-protects') to avoid a crash where the real fix was
10587         found elsewhere.
10588
10589 2000-02-12  Martin Buchholz  <martin@xemacs.org>
10590
10591         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
10592
10593         * s/sol2.h: Remove feature macro initialization.
10594
10595         * alloc.c (alloc_lcrecord): Add more type checking assertions.
10596         (vector_hash): New.  Code from internal_hash.
10597         * lrecord.h:
10598         Fix up allocation subsystem comments.
10599
10600         * config.h.in: Add __EXTENSIONS__ for Solaris.
10601
10602         * systime.h (EMACS_GETTIMEOFDAY): New.
10603         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
10604         Remove Solaris-specific code.
10605         Use void* for the (ignored) second arg for gettimeofday().
10606
10607         * elhash.c (hash_table_hash): Implement it, finally.
10608         * elhash.c:  Use hashcode_t.
10609
10610         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
10611         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
10612
10613         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
10614         * fns.c (size_bit_vector):
10615         * alloc.c (size_vector):
10616         (make_vector_internal):
10617         (make_bit_vector_internal):
10618         (sweep_bit_vectors_1):
10619         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
10620
10621 2000-02-10  Martin Buchholz  <martin@xemacs.org>
10622
10623         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
10624         Include strings.h to avoid warnings for bzero and strcasecmp.
10625
10626 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10627
10628         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
10629         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
10630
10631         * fns.c (size_bit_vector): New.  Declare bit vectors as a
10632         sequence.
10633
10634 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10635
10636         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
10637         use a value field instead.
10638         (symbol_value_forward_forward): Use value field.
10639         (DEFVAR_SYMVAL_FWD): Use value field.
10640         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
10641         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
10642         (DEFVAR_CONST_INT): Ditto.
10643         (DEFVAR_BOOL): Ditto.
10644         (DEFVAR_CONST_BOOL): Ditto.
10645         (DEFVAR_INT_MAGIC): Ditto.
10646         (DEFVAR_BOOL_MAGIC): Ditto.
10647
10648         * symbols.c (guts_of_unbound_marker): Use value field.
10649         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
10650         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
10651
10652         * lisp.h: Declare dumpopaque and noninteractive1.
10653
10654         * alloc.c (dumpopaque): Added.
10655         (pdump_dump_opaquevec): Added.
10656         (pdump): Call pdump_dump_opaquevec to dump opaque data.
10657         (pdump_load): Reload opaque data.  Sync noninteractive1 with
10658         noninteractive.
10659
10660 2000-02-10  Andy Piper  <andy@xemacs.org>
10661
10662         * glyphs.c (image_instance_layout): if the size changes, mark it
10663         as such.
10664
10665         * redisplay-output.c (redisplay_output_layout): Update the
10666         subwindow here.
10667         (redisplay_output_subwindow): ditto.
10668
10669         * glyphs.c (update_subwindow): make sure we reset flags for
10670         layouts as well as everything else.
10671
10672         * glyphs-widget.c (layout_layout): don't need to set the instances
10673         dimensions here.
10674
10675 2000-02-09  Martin Buchholz  <martin@xemacs.org>
10676
10677         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
10678         not HAVE_DLOPEN, which is a lower-level thing.
10679
10680         * .cvsignore: Ignore gmon.out
10681
10682 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
10683
10684         * .cvsignore: Ignore portable dumper xemacs.dmp file
10685
10686 2000-02-09  Andy Piper  <andy@xemacs.org>
10687
10688         * redisplay-output.c (redisplay_output_layout): be more clever
10689         about when we output based on the changed flags.
10690
10691         * glyphs.h (struct image_instantiator_methods): add update_method.
10692         (struct Lisp_Image_Instance): add changed flags. Declare new
10693         macros for manipulating them.
10694
10695         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
10696         (image_instance_parent_glyph): find an image_instance's parent
10697         glyph or image_instance.
10698         (image_instance_layout): mark the size as changed.
10699         (set_image_instance_dirty_p): new function. mark an image
10700         instance, plus all of its parents, as dirty.
10701         (Fset_image_instance_property): use it.
10702         (Fglyph_animated_timeout_handler): use it.
10703         (update_subwindow): call update_widget and device methods for
10704         update_subwindow. Mark all changed flags as clean.
10705         (Fresize_subwindow): mark size as changed.
10706
10707         * glyphs-x.c (x_finalize_image_instance): try and detect gc
10708         failures.
10709         (x_update_subwindow): only resize subwindows here.
10710         (x_update_widget): new function. Update all changed properties of
10711         a widget.
10712         (x_resize_subwindow): deleted.
10713         (x_widget_set_property): deleted.
10714         (x_progress_gauge_set_property): deleted.
10715         (x_progress_gauge_update): new function. Implement recorded
10716         changes.
10717         (x_tab_control_update): ditto.
10718         (x_tab_control_set_property): deleted.
10719         (console_type_create_glyphs_x): declare new functions.
10720         (image_instantiator_format_create_glyphs_x): ditto.
10721
10722         * glyphs-widget.c (widget_set_property): mark text changed.
10723         (update_widget): new function. Update properties of a widget.
10724         (widget_instantiate): for layouts make sure we set their
10725         children's parent correctly.
10726         (tab_control_set_property): new function. Record changes that will
10727         take place under redisplay's control.
10728         (progress_gauge_set_property): ditto.
10729         (image_instantiator_progress_guage): declare new functions.
10730         (image_instantiator_tab_control): ditto.
10731
10732         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
10733         now.
10734         (mswindows_update_widget): new function. Update all properties on
10735         a widget that have changed.
10736         (mswindows_button_update): new function. Update a button's set
10737         state.
10738         (mswindows_tab_control_update): new function. Update the items in
10739         a tab.
10740         (mswindows_tab_control_set_property): deleted.
10741         (mswindows_progress_gauge_update): new function. Update the
10742         progress gauge's progress.
10743         (mswindows_widget_set_property): deleted. This is all done
10744         asynchronously now.
10745         (mswindows_progress_gauge_set_property): ditto.
10746         (console_type_create_glyphs_mswindows): declare new methods.
10747         (image_instantiator_format_create_glyphs_mswindows): ditto.
10748
10749         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
10750         (msprinter_set_frame_properties): ditto.
10751
10752         * console.h (struct console_methods): Add update_widget_method.
10753
10754 2000-02-09  Andy Piper  <andy@xemacs.org>
10755
10756         * gui-msw.c (Fmswindows_shell_execute): Make
10757         mswindows-shell-execute industrial strength.
10758
10759 2000-02-08  Martin Buchholz  <martin@xemacs.org>
10760
10761         * lrecord.h: Make macro argument `props' match member function `plist'.
10762         * fns.c (Fget):
10763         * fns.c (Fput):
10764         * fns.c (Fremprop):
10765         * fns.c (Fobject_plist):
10766         * alloc.c:
10767         * symbols.c:
10768         Object property list frobbing cleanup.
10769         - Allow any lisp object (compared with `eq'), not just symbols, as
10770           keys in object plists.
10771         - Move symbol plist frobbing into symbols.c, where it belongs.
10772         - Move string plist frobbing into alloc.c, where it belongs.
10773         - Everything's an lrecord now, so no need to test for symbolp, etc.
10774         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
10775
10776         * extents.c: Reorder code to remove declarations.
10777
10778         * frame.h (store_in_alist): Remove useless declaration.
10779
10780 2000-02-07  Martin Buchholz  <martin@xemacs.org>
10781
10782         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
10783         * config.h.in: Add HAVE_XCONVERTCASE.
10784
10785 2000-02-07  Andy Piper  <andy@xemacs.org>
10786
10787         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
10788         it breaks many things.
10789
10790 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
10791
10792         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
10793         actually can start a common comment type.
10794         * src/syntax.h (SYNTAX_END_P): ditto for end.
10795
10796 2000-02-07  Martin Buchholz <martin@xemacs.org>
10797
10798         * XEmacs 21.2.28 is released.
10799
10800 2000-02-06  Martin Buchholz  <martin@xemacs.org>
10801
10802         * event-Xt.c (x_keysym_to_character): New.
10803         (maybe_define_x_key_as_self_inserting_character): New.
10804         (x_has_keysym): New.
10805         Auto-define all keys on the keyboard as self-insert-key.
10806
10807 2000-02-02  Martin Buchholz  <martin@xemacs.org>
10808
10809         * menubar.c (vars_of_menubar): A small code simplification.
10810
10811         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
10812
10813         * ExternalShell.c:
10814         * ExternalClient.c:
10815         * EmacsShell-sub.c:
10816         * EmacsManager.c:
10817         * EmacsFrame.c:
10818         Use consistent style for specifying X resources.
10819
10820         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
10821         This makes (dontusethis-set-symbol-value-handler) actually usable.
10822
10823         * lrecord.h (lrecord_decription_type):
10824         * alloc.c (pdump_register_sub):
10825         (pdump_dump_data):
10826         (pdump_reloc_one):
10827         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
10828         Comply with XEmacs coding style.
10829         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
10830         args, and XD_LISP_OBJECT_ARRAY with 3 args.
10831
10832         * keymap.c (Faccessible_keymaps):
10833         Make (accessible-keymaps map "\C-h") do the Right Thing.
10834         Make (accessible-keymaps map []) do the Right Thing.
10835         Make (accessible-keymaps map "") do the Right Thing.
10836         (check_keymap_definition_loop): New function.
10837         (keymap_store_internal): Keep luser from shooting self in foot,
10838           via (define-key ctl-x-4-map "p" global-map).
10839         Remove fullness slot from struct Lisp_Keymap, since hash tables
10840         are now reliable.
10841         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
10842
10843 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10844
10845         * redisplay.c (init_redisplay): Fix small memory leak.
10846         * elhash.h:
10847         * elhash.c (pdump_reorganize_hash_table):
10848         Rename from reorganize_hash_table. Change prototype.
10849         Reuse the original memory for hentries.  Save 100k.
10850         * alloc.c (PDUMP_READ): new macro.
10851         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
10852         * alloc.c: No need to #ifndef before #undef.
10853
10854         * print.c: Allow debug_print() to print readably by modifying
10855         debug_print_readably.  Use consistent variable names.
10856
10857         * .dbxrc: Try to get things to work even if stopped in a function
10858         without source available by explicitly specifying source files.
10859 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10860
10861         * unexnt.c (_start): Removed bogus code which caused loading heap
10862         from differrent executable file.
10863         Removed bogus assignment to _fmode, which caused inconsistencies.
10864
10865 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10866
10867         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
10868         Have spawnve encapsulation regard DONT_ENCAPSULATE.
10869         Do not preliminary `#define signal sigset'.
10870
10871         * systime.h: Do not prototype environ on windows nt and cygwin,
10872         this conflicts with system header.
10873
10874         * syssignal.h: Use correct define for WINDOWSNT
10875
10876         * sysdep.h: Do not prototype environ on windows nt, this conflicts
10877         with system header.
10878
10879         * sysdep.c (near start of file): Fixed commentary and rearranged
10880         ifdefs in readable order.
10881         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
10882         (start_of_text):
10883         (end_of_text):
10884         (end_of_data): Do not compile in if using PDUMP.
10885
10886         * symsinit.h: Prototyped vars_of_nt().
10887
10888         * ntproc.c (windows9x_p): Added, instead of os_subtype.
10889         (find_child_console): Use it.
10890         (sys_kill): Use it.
10891
10892         * ntheap.h: Do not extern os_subtype.
10893
10894         * ntheap.c (cache_system_info): Do not cache unneeded:
10895         nt_major_version, nt_minor_version and os_subtype.
10896         (recreate_heap): Do not compile in when PDUMPing.
10897
10898         * nt.c (geteuid and friends): Use the new varibale
10899         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
10900         (init_user_info): Removed the above mentioned hackery.
10901         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
10902         stat has been fixed in the C runtime.
10903         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
10904
10905         * file-coding.c (struct file_coding_dump): Do not define
10906         ucs_to_mule_table in the struct if not MULE.
10907         (struct struct lrecord_description fcd_description_1): Do not dump
10908         the above.
10909
10910         * emacs.c (main_1): Call vars_of_nt().
10911         (right before Fdump_emacs_data): Don't need lastfile if using both
10912         portabe dumper and system malloc.
10913
10914         * alloc.c (Fmemory_limit): Conditionalized out.
10915         (pdump): Use OPEN_BINARY for the portable dump file.
10916         (pdump_load): Ditto.
10917
10918 2000-02-02  Mike Alexander  <mta@arbortext.com>
10919
10920         * nt.c (convert_time): Set tm_isdst before calling mktime and
10921         avoid calling it at all if the compiler supports 64 bit integers.
10922         Also initialize utc_base_ft before using it.
10923
10924 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10925
10926         * frame.c (change_frame_size_1): Take f->internal_border_width
10927         into consideration when calculating the width of the frame.
10928
10929 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10930
10931         * window.c (frame_min_height):
10932         (frame_size_valid_p):
10933         (frame_pixsize_valid_p): Added.
10934         (check_frame_size): Generalized.
10935
10936         * window.h: Prototyped the above.
10937
10938         * lisp.h:
10939         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
10940         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
10941         Deleted Vwin32_* and Vbinary_process_* unused variables.
10942
10943         * device-msw.c (msprinter_init_device): Do not get printer font
10944         list; Added DEVMODE functions.
10945
10946         * frame-msw.c: Added lots of printer code.
10947
10948         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
10949         general.c.
10950
10951         * console-msw.h: Added more msprinter device private slots.
10952
10953 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10954
10955         * event-msw.c (key_needs_default_processing_p): Added.
10956         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
10957
10958 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10959
10960         * glyphs.c (image_instance_layout): Mark image instance as clean
10961         after layout.
10962         (glyph_dirty_p): Removed redundant function.
10963         (invalidate_glyph_geometry_maybe): Added.
10964         (update_glyph_cachel_data): Call it.
10965
10966         * glyphs.h: Prototyped it.
10967
10968         * redisplay.c (add_glyph_rune): Call it.
10969         (redisplay_window): Reset glyphs cachels when frame faces have
10970         changed, thus forcing recomputation of built-in border glyphs.
10971
10972 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10973
10974         * Makefile.in.in: Make portable dumper and purify play well together.
10975         Add imperfect, but better than nothing, support for pdump.
10976         Remove xemacs.dmp when temacs is re-generated.
10977         Don't ignore errors when dumping xemacs.
10978
10979         * symbols.c (maybe_call_magic_handler): Remove one magic number.
10980
10981 2000-01-28  Andy Piper  <andy@xemacs.org>
10982
10983         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
10984         (setup_normal_frame): ditto.
10985         (setup_frame_without_minibuffer): ditto.
10986         (setup_minibuffer_frame): ditto.
10987         (delete_frame_internal): ditto.
10988         (Fmake_frame_invisible): ditto.
10989         (Ficonify_frame): ditto.
10990
10991         * window.h: change Fset_window_buffer signature.
10992
10993         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
10994         (Fset_window_buffer): allow recording of buffer if the window is
10995         the selected window.
10996         (window_loop): Use new Fset_window signature.
10997
10998 2000-01-23  Daniel Pittman  <daniel@danann.net>
10999
11000         * config.h.in: Added template for `HAVE_ATHENA_3D'
11001
11002 2000-01-29  Andy Piper  <andy@xemacs.org>
11003
11004         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11005
11006         * gutter.c (output_gutter): Don't output if the window isn't live.
11007
11008 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11009
11010         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11011         of 01/12/00: Moved SetFocus back here where it belongs.
11012
11013 2000-01-23  Andy Piper  <andy@xemacs.org>
11014
11015         * s/cygwin32.h: declare printer things.
11016
11017 2000-01-26  Andy Piper  <andy@xemacs.org>
11018
11019         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11020         Alexander.
11021
11022 2000-01-24  Andy Piper  <andy@xemacs.org>
11023
11024         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11025         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11026
11027         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11028
11029         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11030
11031         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11032
11033         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11034         (mswindows_output_display_block): Avoid local shadows.
11035
11036         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11037         (mswindows_enqueue_mouse_button_event): ditto.
11038         (mswindows_handle_gui_wm_command): remove declaration.
11039
11040         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11041         warnings.
11042
11043         * console-msw.h: Avoid shadows.
11044         (mswindows_get_toolbar_button_text):
11045         (emacs_mswindows_create_stream_pair):
11046         (emacs_mswindows_delete_stream_pair):
11047         (mswindows_handle_toolbar_wm_command): declare.
11048
11049         * device-msw.c (build_syscolor_string): Avoid shadows.
11050
11051 2000-01-23  Andy Piper  <andy@xemacs.org>
11052
11053         * glyphs-widget.c (widget_instantiate): reverse the items for
11054         layouts so that children are in the expected order.
11055
11056 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11057
11058         * ralloc.c: safe_bcopy ==> memmove
11059         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11060         * s/msdos.h: Remove BCOPY macros.
11061         * insdel.c (gap_right): Remove BCOPY conditional code.
11062         * insdel.c (gap_left): Remove BCOPY conditional code.
11063         XEmacs demands a working ANSI C compiler - hence memmove.
11064
11065         * regex.c (regex_compile): Remove accidental use of trigraphs.
11066
11067 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11068
11069         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11070         event timestamp.
11071
11072 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11073
11074         * event-msw.c (mswindows_drain_windows_queue): Added the
11075         parameter.
11076         (mswindows_need_event): Commented the call to
11077         mswindows_drain_windows_queue().
11078         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11079         only.
11080
11081         * console-msw.h: Moved a few function prototypes here from
11082         event-msw.c.
11083
11084         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11085         parameter from unsigned short to unsigned long.
11086         (Fmswindows_shell_execute): Added return value.
11087
11088 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11089
11090         * sysdep.c (init_system_name):
11091           process-unix.c (unix_canonicalized_host_name):
11092         Don't call freeaddrinfo() if getaddrinfo() fails.
11093
11094         * process-unix.c (unix_open_unix_network_stream):
11095         Moved the code to get a port # into address loop.
11096
11097 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11098
11099         * buffer.c (reinit_vars_of_buffer):
11100         The right place to initialize conversion_in_dynarr and
11101         conversion_out_dynarr.
11102
11103         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11104
11105         * process-unix.c (unix_canonicalize_host_name): Muleize.
11106         (unix_open_network_stream): Muleize.
11107
11108         * buffer.h: Fix up prototypes for ralloc.c functions.
11109
11110 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11111         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11112         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11113                 instead of gethostbyname()
11114         * process-unix.c: In unix_canonicalize_host_name() and
11115                 unix_open_network_stream(), add code to use getaddrinfo()
11116                 instead of gethostbyname().
11117
11118 2000-01-27  Daniel Pittman <daniel@danann.net>
11119
11120         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11121         libs when built with flat Athena.
11122
11123 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11124
11125         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11126         Use coding standards for function prototypes.
11127
11128 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11129
11130         * dialog-msw.c (push_lisp_string_as_unicode):
11131         * doc.c (unparesseuxify_doc_string):
11132         * dired.c (Fuser_name_completion_1):
11133         * dired.c (Fuser_name_all_completions):
11134         * dired.c (free_user_cache):
11135         * dired.c (user_name_completion):
11136         * console-x.c (get_display_arg_connection):
11137         * minibuf.c (clear_echo_area_internal):
11138         * minibuf.c (echo_area_append):
11139         * eldap.c (Fldap_open):
11140         * eldap.c (Fldap_search_internal):
11141         * frame-x.c (x_set_frame_text_value):
11142         * frame-x.c (x_set_frame_properties):
11143         * frame-x.c (x_create_widgets):
11144         * redisplay-tty.c (term_get_fkeys_1):
11145         * objects-x.c (x_parse_nearest_color):
11146         * objects-x.c (x_valid_color_name_p):
11147         * objects-x.c (x_initialize_font_instance):
11148         * objects-x.c (x_list_fonts):
11149         * objects-x.c (x_find_charset_font):
11150         * tooltalk.c (Fadd_tooltalk_message_arg):
11151         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11152         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11153         * process-unix.c (unix_create_process):
11154         * ntproc.c (sys_spawnve):
11155         * sound.c (Fplay_sound_file):
11156         * sound.c (Fplay_sound):
11157         * buffer.c (init_initial_directory):
11158         * buffer.c (init_buffer):
11159         * editfns.c (init_editfns):
11160         * editfns.c (Ftemp_directory):
11161         * editfns.c (Fuser_full_name):
11162         * editfns.c (uncache_home_directory):
11163         * editfns.c (get_home_directory):
11164         * editfns.c (Fuser_home_directory):
11165         * editfns.c (Fformat_time_string):
11166         * editfns.c (Fcurrent_time_string):
11167         * gui-x.c (button_item_to_widget_value):
11168         * database.c (Fopen_database):
11169         * event-Xt.c (x_to_emacs_keysym):
11170         * event-Xt.c (x_event_to_emacs_event):
11171         * event-Xt.c (describe_event_window):
11172         * event-msw.c (mswindows_wnd_proc):
11173         * glyphs-eimage.c (jpeg_instantiate):
11174         * glyphs-eimage.c (gif_instantiate):
11175         * glyphs-eimage.c (png_instantiate):
11176         * glyphs-eimage.c (tiff_instantiate):
11177         * glyphs-x.c (xbm_instantiate_1):
11178         * glyphs-x.c (x_xbm_instantiate):
11179         * glyphs-x.c (x_xface_instantiate):
11180         * glyphs-x.c (autodetect_instantiate):
11181         * glyphs-x.c (cursor_font_instantiate):
11182         * glyphs-x.c (x_widget_instantiate):
11183         * glyphs-x.c (x_widget_set_property):
11184         * glyphs-x.c (x_widget_property):
11185         * glyphs-x.c (BUILD_GLYPH_INST):
11186         * print.c (write_string_to_stdio_stream):
11187         * print.c (output_string):
11188         * print.c (Falternate_debugging_output):
11189         * print.c (Fexternal_debugging_output):
11190         * glyphs-msw.c (extract_xpm_color_names):
11191         * glyphs-msw.c (mswindows_xpm_instantiate):
11192         * glyphs-msw.c (bmp_instantiate):
11193         * glyphs-msw.c (resource_name_to_resource):
11194         * glyphs-msw.c (mswindows_resource_instantiate):
11195         * glyphs-msw.c (xbm_instantiate_1):
11196         * glyphs-msw.c (mswindows_xbm_instantiate):
11197         * glyphs-msw.c (mswindows_xface_instantiate):
11198         * glyphs-msw.c (mswindows_widget_instantiate):
11199         * glyphs-msw.c (add_tree_item):
11200         * glyphs-msw.c (add_tab_item):
11201         * glyphs-msw.c (mswindows_combo_box_instantiate):
11202         * glyphs-msw.c (mswindows_widget_property):
11203         * glyphs-msw.c (mswindows_combo_box_property):
11204         * glyphs-msw.c (mswindows_widget_set_property):
11205         * console.c (stuff_buffered_input):
11206         * objects-msw.c (mswindows_initialize_color_instance):
11207         * objects-msw.c (mswindows_valid_color_name_p):
11208         * objects-msw.c (mswindows_list_fonts):
11209         * objects-msw.c (mswindows_font_instance_truename):
11210         * bytecode.c (optimize_compiled_function):
11211         * select-x.c (symbol_to_x_atom):
11212         * select-x.c (x_atom_to_symbol):
11213         * select-x.c (hack_motif_clipboard_selection):
11214         * select-x.c (selection_data_to_lisp_data):
11215         * select-x.c (lisp_data_to_selection_data):
11216         * select-x.c (Fx_get_cutbuffer_internal):
11217         * select-x.c (Fx_store_cutbuffer_internal):
11218         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11219         * buffer.h (TO_INTERNAL_FORMAT): New function.
11220         * emacs.c (make_arg_list_1):
11221         * emacs.c (make_argc_argv):
11222         * emacs.c (main_1):
11223         * emacs.c (Fdump_emacs):
11224         * emacs.c (split_string_by_emchar_1):
11225         * file-coding.h:
11226         * lisp.h:
11227         * lstream.h:
11228         * symsinit.h:
11229         * device-x.c (x_init_device):
11230         * device-x.c (Fx_valid_keysym_name_p):
11231         * device-x.c (Fx_get_font_path):
11232         * device-x.c (Fx_set_font_path):
11233         * glyphs.c (bitmap_to_lisp_data):
11234         * glyphs.c (pixmap_to_lisp_data):
11235         * alloc.c (make_ext_string): Use coding system arguments.  Update
11236         all callers.
11237         * alloc.c (build_string):
11238         * callproc.c (child_setup):
11239         * callproc.c (init_callproc):
11240         * fileio.c (lisp_strerror):
11241         * fileio.c (directory_file_name):
11242         * fileio.c (Fexpand_file_name):
11243         * fileio.c (Ffile_truename):
11244         * fileio.c (Fsysnetunam):
11245         * fileio.c (Fdo_auto_save):
11246         * sysdep.c (sys_readdir):
11247         * tests.c: New file.  Allow adding C tests.
11248         Replace GET_* macros with a more comprehensible and flexible
11249         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11250         Modify all calls.
11251         Any coding system can be used to do format conversion.
11252         Eliminate enum external_data_format.
11253         Eliminate convert_to_external_format.
11254         Eliminate convert_to_internal_format.
11255         Make sure file-name, keyboard, terminal, and ctext are always
11256         defined as coding systems or aliases.  Make
11257         file-name-coding-system, terminal-coding-system, and
11258         keyboard-coding-system magical variables that are equivalent to
11259         defining the corresponding coding system aliases.
11260
11261         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11262         * file-coding.c (Fcoding_system_alias_p): New function.
11263         * file-coding.c (Fcoding_system_aliasee): New function.
11264         * file-coding.c (append_suffix_to_symbol): New function.
11265         * file-coding.c (dangling_coding_system_alias_p): New function.
11266         * file-coding.c (Ffind_coding_system):
11267         * file-coding.c (Fcopy_coding_system):
11268         * file-coding.c (encode_coding_no_conversion):
11269         * file-coding.c (syms_of_file_coding):
11270         * file-coding.c (vars_of_file_coding):
11271         Rewrite coding system alias code.
11272         Allow nested aliases, like symbolic links.
11273         Allow redefinition of coding system aliases.
11274         Prevent existence of dangling coding system aliases.
11275
11276         * dired.c (Fuser_name_completion_1):
11277         * dired.c (Fuser_name_all_completions):
11278         A crash would happen if user did QUIT in the middle of building
11279         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11280
11281         * lisp.h:
11282         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11283
11284         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11285         an unsigned char *.  Update all callers.
11286
11287 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11288
11289         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11290
11291 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11292
11293         * elhash.c (hentry_description): Use more portable definition.
11294         (resize_hash_table): Initialize new hentries using
11295         xnew_array_and_zero, thereby simplifying the code.
11296
11297         * mule-charset.c (make_charset): Make sure entire object is
11298         initialized, to avoid Purify warnings.
11299
11300         * alloc.c (resize_string): Fix unlikely crash with big strings.
11301
11302 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11303
11304         * realpath.c (xrealpath):
11305         Don't call getwd().
11306
11307 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11308
11309         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11310
11311 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11312
11313         * unexelfsgi.c (unexec): Change the way we decide which segment
11314         should be extended.
11315
11316         Assumption that .bss section should be outside the PT_LOADable
11317         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11318         it's present) is inside the 'data' segment. This would fail the
11319         test which was used to find a segment to grow and cover new
11320         heap. Instead of this assumption, I created another one - on IRIX
11321         the segment to grow should start below .bss and it's address
11322         should extent above the end of .bss. Once this segment is
11323         identified, it's grown to accommodate the new heap and new
11324         zero-length .bss section is added at the end of .data2.
11325
11326 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11327
11328         * eval.c (Feval): Wrong number of arguments should use original
11329         function, not the indirect_function version of it.
11330
11331 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11332
11333         * glyphs-x.c (x_button_instantiate): Don't add image if
11334         it is not a pixmap.
11335         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11336         is relative.
11337
11338 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11339
11340         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11341         declaration.
11342         (DEFVAR_INT_MAGIC): Ditto.
11343         (DEFVAR_BOOL_MAGIC): Ditto.
11344         * glyphs.h: Reindent backslash.
11345
11346 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11347
11348         * glyphs-widget.c (layout_query_geometry):
11349         (layout_layout): Use correct types for gheight, gwidth.
11350
11351 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11352
11353         * EmacsManager.c (QueryGeometry): Purified.
11354
11355 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11356
11357         * alloc.c (make_float): Make sure entire object is initialized, to
11358         avoid Purify warnings.
11359         (pdump_register_sub): Remove useless assignment.
11360         (pdump): Use xmalloc, not malloc.
11361         (pdump_load): Use xmalloc, not malloc.
11362
11363 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11364
11365         * callproc.c:
11366         * dired-msw.c:
11367         * fileio.c:
11368         * process-nt.c:
11369         * redisplay-msw.c:
11370         * sysdep.c: Removed redundant #include <windows.h>
11371
11372 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11373
11374         * frame.c (delete_frame_internal): Do not delete device when its
11375         implementation so declares.
11376         (delete_frame_internal): Set device selected frame to nil when
11377         last frame goes away.
11378
11379         * device-msw.c (msprinter_device_system_metrics): Implemented.
11380         (mswindows_device_system_metrics): Added 'device-dpi property.
11381
11382         * device.c: (Fdevice_printer_p): Added.
11383         Added 'offset-workspace device metric.
11384
11385         * console.h (device_metrics): Declared DM_offset_workspace.
11386
11387 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11388
11389         * fileio.c (Ffile_truename): Remove pointless and confusing
11390         initialization of elen.
11391
11392         * glyphs-widget.c: Compiler warning fixes.
11393
11394 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11395
11396         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11397         instead of a Lisp_Object as argument to make it consistent with
11398         the other LIVE_P macros.
11399         (CHECK_LIVE_PROCESS): New macro.
11400
11401         * process.c: Declare Qprocess_live_p.
11402         (Fprocess_live_p): New function.
11403         (create_process): Use PROCESS_LIVE_P.
11404         (read_process_output): Ditto.
11405         (set_process_filter): Ditto.
11406         (Fdelete_process): Ditto.
11407         (kill_buffer_processes): Ditto
11408         (process_send_signal): Use CHECK_LIVE_PROCESS.
11409         (Fprocess_input_coding_system): Check whether process is still
11410         alive (fix PR#1061).
11411         (Fprocess_output_coding_system): Ditto.
11412         (Fprocess_coding_system): Ditto.
11413         (Fset_process_input_coding_system): Ditto.
11414         (Fset_process_output_coding_system): Ditto.
11415
11416 2000-01-23  Andy Piper  <andy@xemacs.org>
11417
11418         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11419         layout and widget.
11420
11421         * glyphs.c (mark_image_instance): take into account changed
11422         image_instance format.
11423         (image_instance_equal): ditto.
11424         (image_instance_hash): ditto.
11425
11426         * glyphs-widget.c (widget_instantiate): Incorporate layout
11427         instantiation here. Delay layout of the layout until later.
11428         (layout_instantiate): deleted.
11429         (layout_query_geometry): new function. get the geometry of a
11430         layout.
11431         (layout_layout): layout a layout dynamically.
11432         (image_instantiator_widget): New function - splitting up
11433         image_instantiator_format_create_glyphs_widget for netwinder
11434         compilation.
11435         (image_instantiator_buttons):
11436         (image_instantiator_edit_fields):
11437         (image_instantiator_combo_box):
11438         (image_instantiator_scrollbar):
11439         (image_instantiator_progress_guage):
11440         (image_instantiator_tree_view):
11441         (image_instantiator_tab_control):
11442         (image_instantiator_labels):
11443         (image_instantiator_layout): ditto.
11444         (image_instantiator_format_create_glyphs_widget): Call preceding
11445         functions.
11446
11447 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11448
11449         * process.c (Fset_process_coding_system):
11450         * device-x.c (Fx_keysym_hash_table):
11451         Docstring fixes.
11452
11453         * lstream.c (Lstream_write): Return documented value, not 0.
11454
11455         * fileio.c (directory_file_name):
11456         (Fsubstitute_in_file_name):
11457         (Fsubstitute_insert_file_contents_internal):
11458         (Fwrite_region_internal):
11459         * emacs.c:
11460         * sysdep.c:
11461         * getloadavg.c:
11462         * systty.h:
11463         Remove vestigial APOLLO-conditional code.
11464
11465 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11466
11467         * getpagesize.h: Add guard macros.
11468         * libsst.h: Add guard macros.
11469         * libst.h: Add guard macros.
11470         * line-number.h: Add guard macros.
11471         * ndir.h: Add guard macros.
11472         * sysfloat.h: Add guard macros.
11473         * sysfile.h: Add guard macros.
11474         * sysproc.h: Add guard macros.
11475         * syswait.h: Add guard macros.
11476         * xintrinsic.h: Add guard macros.
11477         * xintrinsicp.h: Add guard macros.
11478         * xmmanager.h: Add guard macros.
11479         * xmmanagerp.h: Add guard macros.
11480         * xmprimitive.h: Add guard macros.
11481         * xmu.h: Add guard macros.
11482         * gpmevent.h: Add copyright statement. Add guard macros.
11483         * miscplay.h: Add guard macros.
11484         * *.h: Use consistent C-standards-approved guard macro names.
11485
11486         * opaque.c (make_opaque): Switch parameter order.
11487         * opaque.h (make_opaque): Switch parameter order.
11488         Update all callers.
11489         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11490
11491         * config.h.in (type_checking_assert): Added.
11492         (bufpos_checking_assert): Added.
11493
11494 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11495
11496         * alloc.c: Harmless pdump changes.
11497         - Use countof().
11498         - spell alignment correctly.
11499         * sysdep.c: Use countof()
11500
11501 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11502
11503         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11504         initially_selected_for_input() console method, default to 0.
11505         (semi_canonicalize_console_connection): Try to delegate to
11506         canonicalize_console_connection if no such console method.
11507         (canonicalize_console_connection): Vice versa.
11508         (print_console): Do not print nil connection.
11509
11510         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11511         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11512         (XDEVIMPF_FRAMELESS_OK): Added.
11513         (CONSOLE_INHERITS_METHOD): Added.
11514
11515         * console-msw.c (mswindows_canonicalize_console_connection):
11516         Added.
11517         (mswindows_canonicalize_device_connection): Added.
11518
11519         * console-msw.h (struct msprinter_device): Added this struct and
11520         accessor macros.
11521         (mswindows_device): Made fontlist a lisp object.
11522
11523         * device.c (semi_canonicalize_device_connection):  Try to delegate
11524         to canonicalize_device_connection if no such console method.
11525         (canonicalize_device_connection): Vice versa.
11526         (print_device): Do not print nil connection.
11527
11528         * device-msw.c (mswindows_init_device): Call InitCommonControls
11529         when have widgets.
11530         (mswindows_delete_device): Removed fontlist deallocation.
11531         (mswindows_mark_device): Added.
11532
11533         * events.c (event_equal): Added abort() at unreached code.
11534         (event_hash): Ditto.
11535
11536         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11537         fallback tags of Windows devices.
11538
11539         * general.c (syms_of_general): Initialized Qmsprinter.
11540
11541         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11542         of fallback tags of Windows devices.
11543
11544         * lisp.h: Declared Qmsprinter.
11545
11546         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11547         of strings.
11548         (mswindows_list_fonts): Ditto.
11549         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11550         that it can be used by both mswindows and msprinter devices.
11551         (initialize_font_instance): Added.
11552         (mswindows_initialize_font_instance): Use it.
11553         (msprinter_initialize_font_instance): Added.
11554
11555         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
11556         and implementation flags check.
11557         (redisplay_without_hooks): Changed the call to the above.
11558         (Fredraw_device): Ditto.
11559         (Fredisplay_device): Ditto.
11560
11561         * redisplay-msw.c (get_frame_dc): Implemented.
11562         (get_frame_compdc): Implemented.
11563         (many functions): Use the two functions above to get device
11564         contexts, ether for a window or a printer.
11565
11566 2000-01-21  Olivier Galibert  <galibert@pobox.com>
11567
11568         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
11569         initialization here.
11570         (init_symbols_once_early): Call it.
11571         * emacs.c (main_1): Call it.
11572         * symsinit.h: Declare it.
11573
11574 2000-01-19  Olivier Galibert  <galibert@pobox.com>
11575
11576         * alloc.c: Use a lrecord_header * in the backtrace instead of a
11577         Lisp_Object.
11578         (pdump_backtrace): Ditto.
11579         (pdump_register_object): Ditto.  Cleanup use of the pointers.
11580         (pdump_get_entry): Abort if trying to register a null pointer.
11581         (pdump_dump_data): Cleanup types when relocating.
11582         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
11583         (pdump_dump_rtables): Remove bad casts.
11584         (pdump_load): Cleanup relocation w.r.t union type.  Use a
11585         Lisp_Object instead of a EMACS_INT for the hashtable
11586         reorganization.
11587
11588 2000-01-20  Martin Buchholz  <martin@xemacs.org>
11589
11590         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
11591
11592         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
11593
11594         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
11595
11596         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
11597
11598 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11599
11600         * faces.h (FACE_STRIKETHRU_P): Added.
11601
11602         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
11603         of font variants.
11604
11605         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
11606         (mswindows_set_dc_font): New function, aware of font variants,
11607         separated from mswindows_update_dc.
11608
11609         * objects-msw.h (struct mswindows_font_instance_data): Added
11610         definition.
11611
11612         * objects-msw.c (mswindows_finalize_font_instance): Delete all
11613         cached fonts and the data structure.
11614         (mswindows_initialize_font_instance): Added creation of font data
11615         structure.
11616         (mswindows_print_font_instance): Print at least something.
11617         (mswindows_create_font_variant): Implemented.
11618         (mswindows_get_hfont): Implemented.
11619
11620 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
11621
11622         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
11623         prototyping problem with msvc.
11624
11625         * emacs.c (main_1): added syms_of_gui_mswindows() call
11626
11627         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
11628         syms_of_gui_mswindows() function
11629
11630         * symsinit.h: added the prototype for syms_of_gui_mswindows()
11631
11632 2000-01-18  Martin Buchholz <martin@xemacs.org>
11633
11634         * XEmacs 21.2.27 is released.
11635
11636 2000-01-18  Martin Buchholz  <martin@xemacs.org>
11637
11638         * glyphs-eimage.c (struct tiff_error_struct):
11639         (tiff_error_func):
11640         (tiff_warning_func):
11641         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
11642
11643         * unexmips.c:
11644         * unexhp9k3.c:
11645         * unexfreebsd.c:
11646         * unexec.c: Remove vestigial Lucid C code.
11647         * unexalpha.c:
11648         * unexaix.c:
11649         * termcap.c:
11650         * libsst.c: Ansify.
11651         Remove declarations of errno and strerror().
11652
11653         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
11654
11655         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
11656
11657 2000-01-16  Martin Buchholz  <martin@xemacs.org>
11658
11659         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
11660         Optimize.
11661
11662 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11663
11664         * md5.c:
11665         * file-coding.c:
11666         * file-coding.h:
11667         Change enum eol_type to eol_type_t.
11668
11669 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11670
11671         * gui.c (get_gui_callback): Check cons before accessing car.
11672
11673 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11674
11675         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
11676         (XSETSPECIFIER_TYPE): Ditto.
11677
11678 2000-01-17  Didier Verna  <didier@xemacs.org>
11679
11680         * redisplay.c (generate_fstring_runes): compute string size in
11681         characters, not bytes.
11682
11683 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11684
11685         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
11686
11687 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
11688
11689         * print.c (print_error_message): Call print_prepare().
11690
11691 2000-01-14  Martin Buchholz  <martin@xemacs.org>
11692
11693         * .dbxrc: Renamed from dbxrc.
11694
11695         * events.c (event_to_character):
11696         Use `assert (foo)' instead of `if (!foo) abort()'
11697
11698         * .gdbinit (xtype): Add documentation.
11699         * .gdbinit (check-temacs): New function.
11700         * .gdbinit (check-xemacs): New function.
11701         * dbxrc (check-xemacs): New function.
11702         * dbxrc (check-xemacs): New function.
11703
11704 2000-01-14  Andy Piper  <andy@xemacs.org>
11705
11706         * glyphs-widget.c (widget_query_geometry): Make sure that we
11707         calculate default dimensions correctly.
11708
11709 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11710
11711         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
11712
11713         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
11714         pdump_wire'd variable.
11715
11716         * emacs.c: (main_1): Conditionalized calls to
11717         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
11718
11719 2000-01-13  Martin Buchholz  <martin@xemacs.org>
11720
11721         * window.c (Fset_window_configuration):
11722         * sysdep.c (_start):
11723         * input-method-motif.c (res):
11724         * event-Xt.c (Xt_process_to_emacs_event):
11725         Simple compiler warning fixes.
11726
11727         * bytecode.c (funcall_compiled_function): Use the original
11728         function symbol on the backtrace list in preference to the
11729         compiled_function object in error messages.
11730
11731 2000-01-13  Andy Piper  <andy@xemacs.org>
11732
11733         * glyphs-x.c (update_widget_face): Make sure we update the widget
11734         background as well as foreground.
11735
11736 2000-01-13  Andy Piper  <andy@xemacs.org>
11737
11738         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
11739         fields to subwindow.
11740         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
11741         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
11742         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11743         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11744
11745         * glyphs-widget.c (check_valid_tab_orientation): new function.
11746         (initialize_widget_image_instance): zero orientation and
11747         justification.
11748         (widget_instantiate): pick up orientation.
11749         (tab_control_query_geometry): return appropriate values for
11750         vertical tabs.
11751
11752         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
11753         appropriate creation flags for left, right and bottom tabs.
11754
11755         * s/cygwin32.h: add tab definitions.
11756
11757 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11758
11759         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
11760         frame upon hiding a subwindow.
11761         (mswindows_button_instantiate): Changed the push button style to
11762         BS_PUSHBUTTON.
11763         (mswindows_button_instantiate): Removed button BS_NOTIFY
11764         style.
11765         (mswindows_button_instantiate): Removed redundant check for
11766         a disabled gui item.
11767         (mswindows_button_instantiate): Made use of WS_TABSTOP
11768         consistent: "operable" controls (edit, button, tree, scroll) have
11769         this style, "display-only" ones (static, progress gauge) do
11770         not. This style is currently ignored by XEmacs though. Also,
11771         removed the WS_EX_CONTROLPARENT style - it is not for children,
11772         it is for their parents!
11773         (mswindows_edit_field_instantiate): Ditto.
11774         (mswindows_progress_gauge_instantiate): Ditto.
11775         (mswindows_tree_view_instantiate): Ditto.
11776         (mswindows_tab_control_instantiate): Ditto.
11777         (mswindows_scrollbar_instantiate): Ditto.
11778         (mswindows_combo_box_instantiate): Ditto.
11779         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
11780         style to the "clip" window.
11781         (mswindows_button_instantiate): Removed compilation warning by
11782         equally typing terms of the ?: operator.
11783
11784 2000-01-12  Didier Verna  <didier@xemacs.org>
11785
11786         * redisplay.c (generate_fstring_runes): new parameter holding the
11787         last modeline-format extent.
11788         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
11789         extent, fill the glyph block with it.
11790         (generate_fstring_runes): handle these parameters.
11791         (generate_formatted_string_db): ditto.
11792
11793         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
11794         glyphs'extents in the modeline.
11795
11796 1999-01-11  Mike Woolley  <mike@bulsara.com>
11797
11798         * ntheap.c: Reduced the reserved heap space from 1Gb down to
11799         256Mb, as a workaround for the non-starting problem many people
11800         have experienced.
11801
11802 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11803
11804         * console-tty.c (Fset_console_tty_output_coding_system):
11805         Force redrawing tty frame.
11806
11807 2000-01-10  Didier Verna  <didier@xemacs.org>
11808
11809         * redisplay.c (generate_fstring_runes): fix size computation bug.
11810
11811 2000-01-09  William M. Perry <wmperry@aventail.com>
11812
11813         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
11814
11815 2000-01-09  Andy Piper  <andy@xemacs.org>
11816
11817         * glyphs-msw.c: index -> i to avoid shadows.
11818         (xbm_create_bitmap_from_data): make static.
11819         (check_valid_string_or_int): deleted.
11820         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
11821
11822         * glyphs-x.c (x_update_subwindow): remove unused args.
11823
11824         * glyphs.c (glyph_image_instance): return the thing. Don't set the
11825         back pointer - this is done in allocate_image_instance.
11826         (query_string_font): return Qnil to make the compiler happy.
11827         (unmap_subwindow): set to ~0 to make the compiler happy.
11828         (glyph_query_geometry): comment out until used.
11829         (glyph_layout): ditto.
11830
11831 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11832
11833         * insdel.c (signal_after_change): Remove extraneous unbind_to().