7ce77735af238a33c3df916dac33eb017c29954a
[chise/xemacs-chise.git] / src / ChangeLog
1 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.h (get_char_id_table): New inline function.
4
5         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
6         function.
7
8 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
9
10         * chartab.h (decode_char_table_range): New prototype in XEmacs
11         UTF-2000.
12         (put_char_id_table): New inline function in XEmacs UTF-2000.
13
14         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
15         function.
16         (decode_char_table_range): Delete static declaration in XEmacs
17         UTF-2000.
18
19 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
20
21         * chartab.c (put_char_id_table): Use `put_char_table'.
22
23 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
24
25         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
26         (map_over_uint16_byte_table): Likewise.
27         (map_over_byte_table): Likewise.
28         (map_char_table): Modify for `map_over_uint8_byte_table',
29         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
30         UTF-2000.
31
32 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
33
34         * chartab.c (struct map_char_table_for_charset_arg): New
35         structure.
36         (map_char_table_for_charset_fun): New function.
37         (map_char_table): Use `map_char_table' for encoding_table of
38         `range->charset'.
39
40 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
41
42         * chartab.c (map_char_table): Check a character is found in
43         range->charset instead of non default value is defined in
44         char-table when range is CHARTAB_RANGE_ROW.
45
46 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
47
48         * chartab.c (map_char_id_table): Deleted.
49         (Fmap_char_attribute): Use `map_char_table' instead of
50         `map_char_id_table'.
51
52 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
53
54         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
55         UTF-2000.
56         (update_syntax_table): Deleted in XEmacs UTF-2000.
57
58         * syntax.c (find_defun_start): Use `syntax_table' instead of
59         `mirror_syntax_table' in XEmacs UTF-2000.
60         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
61         UTF-2000.
62         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
63         XEmacs UTF-2000.
64         (Fmatching_paren): Likewise.
65         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
66         in XEmacs UTF-2000.
67         (find_start_of_comment): Likewise.
68         (find_end_of_comment): Likewise.
69         (Fforward_comment): Likewise.
70         (scan_lists): Likewise.
71         (char_quoted): Likewise.
72         (Fbackward_prefix_chars): Likewise.
73         (scan_sexps_forward): Likewise.
74         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
75         (update_syntax_table): Likewise.
76
77         * search.c (skip_chars): Use `syntax_table' instead of
78         `mirror_syntax_table' in XEmacs UTF-2000.
79         (wordify): Likewise.
80         (Freplace_match): Likewise.
81
82         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
83         `mirror_syntax_table' in XEmacs UTF-2000.
84         (WORDCHAR_P_UNSAFE): Likewise.
85         (re_match_2_internal): Likewise.
86
87         * font-lock.c (find_context): Use `buf->syntax_table' instead of
88         `buf->mirror_syntax_table' in XEmacs UTF-2000.
89
90         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
91         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
92
93         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
94         XEmacs UTF-2000.
95
96         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
97         UTF-2000.
98         (print_char_table): Print `default_value' in XEmacs UTF-2000.
99         (char_table_description): Delete `mirror_table' in XEmacs
100         UTF-2000.
101         (fill_char_table): Don't call `update_syntax_table' in XEmacs
102         UTF-2000.
103         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
104         (Fcopy_char_table): Likewise.
105         (put_char_table): Don't call `update_syntax_table' in XEmacs
106         UTF-2000.
107
108         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
109         `buf->mirror_syntax_table' in XEmacs UTF-2000.
110         (casify_region_internal): Likewise.
111
112         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
113
114         * buffer.c (common_init_complex_vars_of_buffer): Don't use
115         `mirror_syntax_table' in XEmacs UTF-2000.
116
117         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
118         `buf->mirror_syntax_table' in XEmacs UTF-2000.
119         (Fexpand_abbrev): Likewise.
120
121 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
122
123         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
124
125 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
126
127         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
128         (map_over_uint16_byte_table): Likewise.
129         (map_over_byte_table): Likewise.
130         (get_char_id_table): Refer `cit->default_value'.
131         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
132         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
133         of character-id ranges.
134         (mark_char_table): Mark `ct->default_value'.
135         (char_table_description): Add `default_value'.
136         (fill_char_table): Use `default_value'.
137         (decode_char_table_range): Decode `nil' as
138         `CHARTAB_RANGE_DEFAULT'.
139         (get_char_id_table): Refer `cit->default_value'.
140         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
141         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
142         temporary hack; check value of char-table is bound or not.
143         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
144
145         * chartab.h (struct Lisp_Char_Table): Add new member
146         `default_value' in XEmacs UTF-2000.
147         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
148         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
149         UTF-2000.
150
151 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
152
153         * chartab.h (Lisp_Char_ID_Table): Deleted.
154
155         * chartab.c (char_table_description): Fix typo.
156         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
157         `Lisp_Char_ID_Table'.
158
159 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
160
161         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
162         `CHAR_ID_TABLE_P'.
163
164         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
165         `CHAR_ID_TABLE_P'.
166
167         * chartab.h (XCHAR_ID_TABLE): Deleted.
168         (XSETCHAR_ID_TABLE): Deleted.
169         (CHAR_ID_TABLE_P): Deleted.
170
171         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
172         `CHAR_ID_TABLE_P'.
173         (Fget_composite_char): Likewise.
174         (put_char_table): Likewise.
175         (add_char_attribute_alist_mapper): Fixed.
176         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
177         `CHAR_ID_TABLE_P'.
178         (Fget_char_attribute): Likewise.
179         (Fget_char_attribute): Likewise.
180         (Fmap_char_attribute): Likewise.
181
182         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
183         `CHAR_ID_TABLE_P'.
184         (encode_char_1): Likewise.
185
186 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
187
188         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
189         `XCHAR_ID_TABLE'.
190
191         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
192         instead of `XCHAR_ID_TABLE'.
193         (remove_char_ccs): Likewise.
194
195         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
196         `XCHAR_ID_TABLE'.
197         (Fget_composite_char): Likewise.
198         (Fchar_variants): Likewise.
199         (put_char_table): Likewise.
200         (add_char_attribute_alist_mapper): Likewise.
201         (Fchar_attribute_alist): Likewise.
202         (Fget_char_attribute): Likewise.
203         (Fput_char_attribute): Likewise.
204         (Fmap_char_attribute): Likewise.
205         (Fmap_char_attribute): Likewise.
206
207         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
208         `XCHAR_ID_TABLE'.
209         (encode_char_1): Likewise.
210
211 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
212
213         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
214         `Lisp_Char_ID_Table'.
215         (mark_char_id_table): Deleted.
216         (print_char_id_table): Likewise.
217         (char_id_table_equal): Likewise.
218         (char_id_table_hash): Likewise.
219         (char_id_table_description): Likewise.
220         (char_id_table): Likewise.
221         (make_char_id_table): Use `Fmake_char_table' and
222         `fill_char_table'.
223         (get_char_id_table): Use `Lisp_Char_Table' instead of
224         `Lisp_Char_ID_Table'.
225         (put_char_id_table): Likewise.
226         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
227         `XCHAR_ID_TABLE'.
228         (Fremove_char_attribute): Likewise.
229         (syms_of_chartab): Don't define type `char-id-table'.
230
231         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
232         (char_id_table): Likewise.
233         (GC_CHAR_ID_TABLE_P): Likewise.
234         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
235         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
236         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
237         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
238         (get_char_id_table): Use `Lisp_Char_Table' instead of
239         `Lisp_Char_ID_Table'.
240         (put_char_id_table_0): Likewise.
241         (put_char_id_table): Likewise.
242
243 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
244
245         * chartab.h: Lisp_Byte_Table related codes are moved from
246         chartab.h.
247
248         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
249
250 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
251
252         * chartab.h: Don't include "chartab.h".
253         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
254         (Lisp_Char_ID_Table): Likewise.
255         (char_id_table): Likewise.
256         (XCHAR_ID_TABLE): Likewise.
257         (XSETCHAR_ID_TABLE): Likewise.
258         (CHAR_ID_TABLE_P): Likewise.
259         (GC_CHAR_ID_TABLE_P): Likewise.
260         (get_char_id_table): Likewise.
261
262         * char-ucs.h: Include "chartab.h".
263         (struct Lisp_Char_ID_Table): Moved to chartab.h.
264         (Lisp_Char_ID_Table): Likewise.
265         (char_id_table): Likewise.
266         (XCHAR_ID_TABLE): Likewise.
267         (XSETCHAR_ID_TABLE): Likewise.
268         (CHAR_ID_TABLE_P): Likewise.
269         (GC_CHAR_ID_TABLE_P): Likewise.
270         (get_char_id_table): Likewise.
271
272 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
273
274         * chartab.c (copy_uint8_byte_table): New function.
275         (copy_uint16_byte_table): New function.
276         (copy_byte_table): New function.
277         (map_over_uint8_byte_table): Modify to avoid huge numbers of
278         characters to call.
279         (map_over_uint16_byte_table): Likewise.
280         (map_over_byte_table): Likewise.
281         (get_byte_table): Move prototype to chartab.h.
282         (put_byte_table): Likewise.
283         (put_char_id_table_0): Moved to chartab.h.
284         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
285         (char_table_entry_equal): Likewise.
286         (char_table_entry_hash): Likewise.
287         (char_table_entry_description): Likewise.
288         (char_table_entry): Likewise.
289         (make_char_table_entry): Likewise.
290         (copy_char_table_entry): Likewise.
291         (get_non_ascii_char_table_value): Likewise.
292         (map_over_charset_ascii): Likewise.
293         (map_over_charset_control_1): Likewise.
294         (map_over_charset_row): Likewise.
295         (map_over_other_charset): Likewise.
296         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
297         (print_char_table): Likewise.
298         (char_table_equal): Likewise.
299         (char_table_hash): Likewise.
300         (char_table_description): Likewise.
301         (fill_char_table): Likewise.
302         (Fcopy_char_table): Likewise.
303         (get_char_table): Likewise.
304         (Fget_range_char_table): Likewise.
305         (put_char_table): Likewise.
306         (map_char_table): Likewise.
307         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
308         UTF-2000.
309
310 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
311
312         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
313         `Vauto_fill_chars' in XEmacs UTF-2000.
314
315         * chartab.h (get_byte_table): New prototype [moved from
316         chartab.c].
317         (put_byte_table): Likewise [moved from chartab.c].
318         (put_char_id_table_0): New inline function [moved from chartab.c].
319         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
320         (Lisp_Char_Table_Entry): Likewise.
321         (char_table_entry): Likewise.
322         (XCHAR_TABLE_ENTRY): Likewise.
323         (XSETCHAR_TABLE_ENTRY): Likewise.
324         (CHAR_TABLE_ENTRYP): Likewise.
325         (CHECK_CHAR_TABLE_ENTRY): Likewise.
326         (NUM_ASCII_CHARS): Likewise.
327         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
328         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
329
330 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
331
332         * chartab.c (get_char_id_table): Change interface.
333         (put_char_id_table_0): New function.
334         (put_char_id_table): Change interface; new implementation.
335         (Fget_composite_char): Modify for interface change of
336         `get_char_id_table'.
337         (Fchar_variants): Likewise.
338         (add_char_attribute_alist_mapper): Likewise.
339         (Fchar_attribute_alist): Likewise.
340         (Fget_char_attribute): Likewise.
341         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
342         as same as character as the first argument like `put-char-table';
343         modify for interface change of `put_char_id_table'.
344         (Fremove_char_attribute): Modify for interface change of
345         `put_char_id_table'.
346
347 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
348
349         * text-coding.c: Sync up with XEmacs 21.2.41.
350         (COMPOSE_ADD_CHAR): Modify for interface change of
351         `get_char_id_table'.
352
353         * mule-charset.c (put_char_ccs_code_point): Modify for interface
354         change of `put_char_id_table'.
355         (remove_char_ccs): Likewise.
356
357         * chartab.h (put_char_id_table): Change interface.
358
359         * char-ucs.h (get_char_id_table): Change interface.
360         (charset_code_point): Modify for interface change of
361         `get_char_id_table'.
362         (encode_char_1): Likewise.
363
364 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
365
366         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
367         argument `ccs'.
368         (map_over_uint16_byte_table): Likewise.
369         (map_over_byte_table): Likewise.
370         (map_char_id_table): Add new argument `range' like
371         `map_char_table'.
372         (Fmap_char_attribute): Add new argument `range' like
373         `Fmap_char_table'.
374
375 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
376
377         * chartab.c (map_over_uint8_byte_table): Change interface of
378         mapping function to use struct chartab_range instead of Emchar.
379         (map_over_uint16_byte_table): Likewise.
380         (map_over_byte_table): Likewise.
381         (map_char_id_table): Likewise.
382         (struct slow_map_char_id_table_arg): Deleted.
383         (slow_map_char_id_table_fun): Deleted.
384         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
385         function `slow_map_char_table_fun' instead of struct
386         `slow_map_char_id_table_arg' and function
387         `slow_map_char_id_table_fun'.
388
389 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
390
391         * mule-charset.c: Move char-it-table related codes to chartab.c.
392         (Vutf_2000_version): Moved to chartab.c.
393         (Fdefine_char): Likewise.
394         (Ffind_char): Likewise.
395         (syms_of_mule_charset): Move types `uint8-byte-table',
396         `uint16-byte-table', `byte-table' and `char-id-table' to
397         chartab.c; move functions `char_attribute_list,
398         `find_char_attribute_table, `char_attribute_alist,
399         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
400         `map_char_attribute, `define_char, `find_char, `char_variants and
401         `get_composite_char to chartab.c; move symbols `=>ucs',
402         `->decomposition', `compat', `isolated', `initial', `medial',
403         `final', `vertical', `noBreak', `fraction', `super', `sub',
404         `circle', `square', `wide', `narrow', `small' and `font' to
405         chartab.c.
406         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
407         setting codes for `Vcharacter_composition_table' and
408         `Vcharacter_variant_table' to chartab.c.
409         (complex_vars_of_mule_charset): Move setting code for
410         `Vchar_attribute_hash_table' to chartab.c.
411
412         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
413         (make_char_id_table): New prototype.
414         (put_char_id_table): Likewise.
415         (Fget_char_attribute): Likewise.
416
417         * chartab.c: Move char-id-table related code from mule-charset.c.
418         (Vutf_2000_version): Moved from mule-charset.c.
419
420         * char-ucs.h (Qucs): New external variable.
421         (put_char_ccs_code_point): New prototype.
422         (remove_char_ccs): Likewise.
423
424 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
425
426         * mule-charset.c (Vcharset_ucs_jis): New variable.
427         (Qucs_jis): Likewise.
428         (syms_of_mule_charset): Add new symbol `ucs-jis'.
429         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
430
431         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
432
433 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
434
435         * mule-charset.c (map_over_uint8_byte_table): New function.
436         (map_over_uint16_byte_table): Likewise.
437         (map_over_byte_table): Likewise.
438         (map_char_id_table): Likewise.
439         (slow_map_char_id_table_fun): Likewise.
440         (Fmap_char_attribute): Likewise.
441         (syms_of_mule_charset): Add new function `map-char-attribute'.
442
443 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
444
445         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
446         (syms_of_mule_charset): Add new function `find-char'.
447
448 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
449
450         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
451         XEmacs UTF-2000.
452         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
453         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
454         XEmacs UTF-2000.
455         (complex_vars_of_mule_charset): Add new coded-charset
456         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
457         `ideograph-gt-pj-*'.
458
459         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
460
461 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
462
463         * mule-charset.c (encode_builtin_char_1): Purge codes about
464         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
465         {MIN|MAX}_CHAR_HEBREW.
466         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
467         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
468
469         * char-ucs.h (MIN_CHAR_GREEK): Purged.
470         (MAX_CHAR_GREEK): Purged.
471         (MIN_CHAR_CYRILLIC): Purged.
472         (MAX_CHAR_CYRILLIC): Purged.
473         (MIN_CHAR_HEBREW): Commented out.
474         (MAX_CHAR_HEBREW): Likewise.
475
476 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
477
478         * mule-charset.c (Qto_ucs): New variable.
479         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
480         (Fdefine_char): Likewise.
481         (syms_of_mule_charset): Add new symbol `=>ucs'.
482
483 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
484
485         * mule-charset.c (Fdecode_char): Fixed.
486
487 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
488
489         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
490         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
491         "tcvn5712-1".
492
493 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
494
495         * mule-charset.c (Vcharset_ucs_big5): New variable.
496         (Qucs_big5): Likewise.
497         (syms_of_mule_charset): Add new symbol `ucs-big5'.
498         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
499
500         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
501
502 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
503
504         * mule-charset.c (decode_builtin_char): Check Big5 code range
505         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
506
507 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
508
509         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
510         (Qchinese_gb12345): Likewise.
511         (Fdecode_builtin_char): Fixed.
512         (syms_of_mule_charset): Add `chinese-gb12345'.
513         (complex_vars_of_mule_charset): Add coded-charset
514         `chinese-gb12345'.
515
516         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
517         (LEADING_BYTE_CHINESE_GB12345): New macro.
518
519 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
520
521         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
522         and `latin-viscii-upper' for `latin-viscii'.
523
524 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
525
526         * mule-charset.c (Fdecode_builtin_char): Comment out
527         regularization code for ISO-IR GR representation.
528
529 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
530
531         * mule-charset.c (decode_builtin_char): New function; renamed from
532         `make_builtin_char'; return -1 instead of signal.
533         (Fdecode_builtin_char): Use `decode_builtin_char'.
534
535         * char-ucs.h (decode_builtin_char): New prototype; renamed from
536         `make_builtin_char'.
537         (DECODE_CHAR): Use `decode_builtin_char' instead of
538         `make_builtin_char'; use mapping table of `chinese-big5' for
539         `chinese-big5-{1,2}'.
540
541 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
542
543         * text-coding.c (char_encode_big5): New function.
544         (char_finish_big5): Likewise.
545         (reset_encoding_stream): Use `char_encode_big5' and
546         `char_finish_big5' for CODESYS_BIG5.
547         (mule_encode): Don't use `encode_coding_big5'.
548         (encode_coding_big5): Deleted.
549
550 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
551
552         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
553         0x81- in XEmacs UTF-2000.
554         (detect_coding_big5): Likewise.
555
556 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
557
558         * mule-charset.c (Fdefine_char): Don't use a CCS property to
559         generate character-id if the CCS property does not have
560         corresponding predefined character.
561         (make_builtin_char): Return -1 if corresponding predefined
562         character is not found.
563         (Fdecode_char): Return nil if corresponding character is not
564         found.
565         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
566         don't map to builtin ucs space.
567
568 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
569
570         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
571         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
572
573 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
574
575         * mule-charset.c (Vcharset_ideograph_gt): New variable.
576         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
577         (Qideograph_gt): Likewise.
578         (Qideograph_gt_pj_{1..11}): Likewise.
579         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
580         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
581         `ideograph-gt-pj-11'.
582         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
583         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
584         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
585
586         * char-ucs.h (LEADING_BYTE_GT): New macro.
587         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
588         (MIN_CHAR_GT): Likewise.
589         (MAX_CHAR_GT): Likewise.
590
591 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
592
593         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
594         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
595
596         * doprnt.c (unsigned_int_converters): Add `c'.
597         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
598
599         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
600         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
601         `MIN_CHAR_MOJIKYO'.
602         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
603         (MAX_CHAR_MOJIKYO_0): New macro.
604         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
605
606 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
607
608         * mule-charset.c (Fdefine_char): Delete cemented out code.
609         (encode_builtin_char_1): Modify for new allocation of builtin
610         Mojikyo characters.
611
612         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
613
614 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
615
616         * mule-charset.c (Vcharset_ucs_cns): New variable.
617         (Qucs_cns): New variable.
618         (syms_of_mule_charset): Add new symbol `ucs-cns'.
619         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
620
621 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
622
623         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
624
625 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
626
627         * search.c (search_buffer): Make `charset_base_code' as
628         character-id >> 6 to eliminate the corresponding last byte in
629         UTF-8 representation [I'm not sure it is right thing].
630         (boyer_moore): Likewise.
631
632 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
633
634         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
635         representation in MULE.
636
637 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
638
639         * text-coding.c (Fmake_coding_system): Use
640         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
641         `EXTERNAL_PROPERTY_LIST_LOOP'.
642
643 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
644
645         * text-coding.c (decode_output_utf8_partial_char): New function.
646         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
647
648 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
649
650         * text-coding.c (decode_coding_utf8): Output original byte
651         sequence if it is broken; change order of conditions.
652
653         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
654         of conditions.
655
656         * mb-multibyte.h (BYTE_ASCII_P):
657         Use bit ops for char-signedness safety.
658         (BYTE_C0_P): Use bit ops for char-signedness safety.
659         (BYTE_C1_P): Use bit ops for char-signedness safety.
660
661         * character.h: (XCHAR_OR_CHAR_INT):
662         Always use inline function.
663         Remove redundant type checking assert() - XINT will abort quite
664         nicely.
665
666 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
667
668         * text-coding.c: (Fencode_shift_jis_char):
669         (Fencode_big5_char):
670         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
671         Replace 0 with '\0' when working with bytes.
672         Replace initial "(" with "\(" in docstrings.
673
674         (Fmake_coding_system):
675         When type is ccl and value is vector, register it with a proper
676         symbol.  And checks whether the given ccl program is valid.
677         (mule_decode): When calling ccl_driver, if src indicates
678         NULL pointer, set an empty string instead.
679         (mule_encode): Likewise.
680
681         (detect_eol_type):
682         (detect_coding_sjis):
683         (decode_coding_sjis):
684         (detect_coding_big5):
685         (decode_coding_big5):
686         (detect_coding_ucs4):
687         (decode_coding_ucs4):
688         (detect_coding_utf8):
689         (decode_coding_utf8):
690         (detect_coding_iso2022):
691         (decode_coding_iso2022):
692         (decode_coding_no_conversion):
693         (mule_decode):
694         Make all detecting and decoding functions take an Extbyte * arg.
695         (text_encode_generic):
696         (encode_coding_big5):
697         (encode_coding_no_conversion):
698         (mule_encode):
699         Make all encoding functions take a Bufbyte * arg.
700         Use size_t instead of unsigned int for memory sizes.
701         Only cast to unsigned char whenever dereferencing Extbyte *.
702
703         (struct lrecord_description fcd_description_1): Use countof.
704         (complex_vars_of_file_coding):
705         Use countof instead of sizeof.
706         Use CHECK_NATNUM instead of CHECK_INT.
707
708 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
709
710         * mule-charset.c (Fget_char_attribute): Add new optional argument
711         `default-value'.
712         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
713         (remove_char_ccs): Likewise.
714
715 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
716
717         * text-coding.c (char_encode_shift_jis): New implementation in
718         UTF-2000.
719         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
720         ...)'.
721
722         * mule-charset.c (Vcharset_chinese_big5): New variable in
723         UTF-2000.
724         (Qchinese_big5): New variable in UTF-2000.
725         (BIG5_SAME_ROW): New macro in UTF-2000.
726         (make_builtin_char): Use builtin characters of
727         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
728         characters of `Vcharset_chinese_big5'.
729         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
730         (complex_vars_of_mule_charset): Add new coded-charset
731         `chinese-big5' in UTF-2000.
732
733         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
734         (Vcharset_chinese_big5): New external variable declaration.
735         (Vcharset_japanese_jisx0208_1990): Likewise.
736
737 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
738
739         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
740         function.
741         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
742
743 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
744
745         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
746         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
747         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
748         `mojikyo-pj-*'.
749
750 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
751
752         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
753
754 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
755
756         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
757         to 0.17.
758
759 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
760
761         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
762         for `CHARSET_BY_ATTRIBUTES'.
763         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
764         `CHARSET_BY_ATTRIBUTES'.
765
766         * text-coding.c (struct decoding_stream): Rename member `CH' to
767         `CPOS'.
768         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
769         (decode_coding_sjis): Likewise.
770         (decode_coding_big5): Likewise.
771         (decode_coding_ucs4): Likewise.
772         (decode_coding_utf8): Likewise.
773         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
774         `CHARSET_BY_ATTRIBUTES'.
775         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
776         `str->counter'; decode 3, 4 bytes sets.
777         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
778         sets.
779         (decode_coding_no_conversion): Use `str->cpos' instead of
780         `str->ch'.
781
782         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
783         (Qmojikyo_2022_1): New variable.
784         (make_charset): Don't use `CHARSET_TYPE_*'.
785         (range_charset_code_point): Support coded-charset
786         `mojikyo-2022-1'.
787         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
788         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
789         `CHARSET_BY_ATTRIBUTES'.
790         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
791         `CHARSET_BY_ATTRIBUTES'.
792         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
793         (complex_vars_of_mule_charset): Add new coded-charset
794         `mojikyo-2022-1'.
795
796         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
797         interface; changed to inline function.
798
799         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
800         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
801         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
802         (CHARSET_TYPE_94): Deleted.
803         (CHARSET_TYPE_94X94): Deleted.
804         (CHARSET_TYPE_96): Deleted.
805         (CHARSET_TYPE_96X96): Deleted.
806         (CHARSET_TYPE_128): Deleted.
807         (CHARSET_TYPE_128X128): Deleted.
808         (CHARSET_TYPE_256): Deleted.
809         (CHARSET_TYPE_256X256): Deleted.
810         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
811         to inline function.
812         (DECODE_MOJIKYO_2022): New inline function.
813         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
814         `Vcharset_mojikyo_2022_1'.
815
816 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
817
818         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
819         instead of `EQ'.
820         (put_byte_table): Likewise.
821         (char_id_table_equal): Use `get_byte_table' [new implementation].
822
823 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
824
825         * mule-charset.c: Include <limits.h> in UTF-2000.
826         (BT_UINT8_MIN): New macro in UTF-2000.
827         (BT_UINT8_MAX): New macro in UTF-2000.
828         (BT_UINT8_t): New macro in UTF-2000.
829         (BT_UINT8_nil): New macro in UTF-2000.
830         (BT_UINT8_unbound): New macro in UTF-2000.
831         (INT_UINT8_P): New inline function in UTF-2000.
832         (UINT8_VALUE_P): New inline function in UTF-2000.
833         (UINT8_ENCODE): New inline function in UTF-2000.
834         (UINT8_DECODE): New inline function in UTF-2000.
835         (mark_uint8_byte_table): New function in UTF-2000.
836         (print_uint8_byte_table): New function in UTF-2000.
837         (uint8_byte_table_equal): New function in UTF-2000.
838         (uint8_byte_table_hash): New function in UTF-2000.
839         (make_uint8_byte_table): New function in UTF-2000.
840         (uint8_byte_table_same_value_p): New function in UTF-2000.
841         (BT_UINT16_MIN): New macro in UTF-2000.
842         (BT_UINT16_MAX): New macro in UTF-2000.
843         (BT_UINT16_t): New macro in UTF-2000.
844         (BT_UINT16_nil): New macro in UTF-2000.
845         (BT_UINT16_unbound): New macro in UTF-2000.
846         (INT_UINT16_P): New inline function in UTF-2000.
847         (UINT16_VALUE_P): New inline function in UTF-2000.
848         (UINT16_ENCODE): New inline function in UTF-2000.
849         (UINT16_DECODE): New inline function in UTF-2000.
850         (UINT8_TO_UINT16): New inline function in UTF-2000.
851         (mark_uint16_byte_table): New function in UTF-2000.
852         (print_uint16_byte_table): New function in UTF-2000.
853         (uint16_byte_table_equal): New function in UTF-2000.
854         (uint16_byte_table_hash): New function in UTF-2000.
855         (make_uint16_byte_table): New function in UTF-2000.
856         (uint16_byte_table_same_value_p): New function in UTF-2000.
857         (print_byte_table): New function in UTF-2000.
858         (byte-table): Use `print_byte_table' as printer.
859         (make_byte_table): Delete second argument `older'.
860         (byte_table_same_value_p): New function in UTF-2000.
861         (copy_byte_table): Deleted.
862         (get_byte_table): New function in UTF-2000.
863         (put_byte_table): New function in UTF-2000.
864         (print_char_id_table): New function in UTF-2000.
865         (char-id-table): Use `print_char_id_table' as printer.
866         (make_char_id_table): Delete second argument `older'.
867         (get_char_id_table): Use `get_byte_table [new implementation].
868         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
869         implementation].
870         (Ffind_char_attribute_table): New function in UTF-2000.
871         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
872         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
873         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
874         (syms_of_mule_charset): Add new function
875         `find-char-attribute-table' in UTF-2000.
876
877         * lrecord.h (enum lrecord_type): Add
878         `lrecord_type_uint16_byte_table' and
879         `lrecord_type_uint8_byte_table'.
880
881         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
882         (Lisp_Uint8_Byte_Table): New type.
883         (XUINT8_BYTE_TABLE): New macro.
884         (XSETUINT8_BYTE_TABLE): New macro.
885         (UINT8_BYTE_TABLE_P): New macro.
886         (GC_UINT8_BYTE_TABLE_P): New macro.
887         (struct Lisp_Uint16_Byte_Table): New structure.
888         (Lisp_Uint16_Byte_Table): New type.
889         (XUINT16_BYTE_TABLE): New macro.
890         (XSETUINT16_BYTE_TABLE): New macro.
891         (UINT16_BYTE_TABLE_P): New macro.
892         (GC_UINT16_BYTE_TABLE_P): New macro.
893
894 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
895
896         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
897         (Vcharacter_ideographic_strokes_table): Deleted.
898         (Vcharacter_total_strokes_table): Deleted.
899         (Vcharacter_morohashi_daikanwa_table): Deleted.
900         (Vcharacter_decomposition_table): Deleted.
901         (Qname): Deleted because it is duplicated.
902         (Qideographic_radical): Deleted.
903         (Qideographic_strokes): Deleted.
904         (Qtotal_strokes): Deleted.
905         (Qmorohashi_daikanwa): Deleted.
906         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
907         `ideographic-radical', `ideographic-strokes', `total-strokes',
908         `morohashi-daikanwa' and `->decomposition'.
909         (Fget_char_attribute): Likewise.
910         (Fput_char_attribute): Likewise; use `make-vector' instead of
911         `make_older_vector' for `->decomposition' value.
912         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
913         `ideograph-daikanwa'.
914         (syms_of_mule_charset): Delete builtin symbols `name',
915         `ideographic-radical', `ideographic-strokes', `total-strokes' and
916         `morohashi-daikanwa'.
917         (vars_of_mule_charset): Don't setup
918         `Vcharacter_ideographic_radical_table',
919         `Vcharacter_ideographic_strokes_table',
920         `Vcharacter_total_strokes_table',
921         `Vcharacter_morohashi_daikanwa_table' and
922         `Vcharacter_decomposition_table'.
923
924 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
925
926         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
927         `make_older_vector', `make_vector_newer_1' and
928         `make_vector_newer'.
929
930         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
931         `make_older_vector' and `make_vector_newer'.
932
933         * config.h.in (HAVE_GGC): New macro.
934
935 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
936
937         * mule-charset.c (struct char_attribute_list_closure): New
938         structure in UTF-2000.
939         (add_char_attribute_to_list_mapper): New function in UTF-2000.
940         (Fchar_attribute_list): Likewise.
941         (Fset_charset_mapping_table): Use `make_vector_newer'.
942         (Fdecode_builtin_char): New function in UTF-2000.
943         (syms_of_mule_charset): Add new function `char-attribute-list' and
944         `decode-builtin-char' in UTF-2000.
945
946         * lisp.h (make_vector_newer): New prototype.
947
948         * alloc.c (make_vector_newer_1): New function.
949         (make_vector_newer): New function.
950
951 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
952
953         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
954         50100)'.
955
956 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
957
958         * mule-charset.c (Vchar_attribute_hash_table): New variable.
959         (Vcharacter_attribute_table): Deleted.
960         (Vcharacter_name_table): Deleted.
961         (put_char_attribute): Deleted.
962         (remove_char_attribute): Deleted.
963         (struct char_attribute_alist_closure): New structure.
964         (add_char_attribute_alist_mapper): New function.
965         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
966         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
967         (Fget_char_attribute): Likewise.
968         (Fput_char_attribute): Likewise.
969         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
970         of `remove_char_attribute'.
971         (Fdefine_char): Return character.
972         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
973         and `Vcharacter_name_table'.
974         (complex_vars_of_mule_charset): Likewise
975         `Vchar_attribute_hash_table'.
976
977 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
978
979         * character.h (CHARC_CHARSET): New macro.
980         (CHARC_CHARSET_ID): New macro.
981         (CHARC_CODE_POINT): New macro.
982         (CHARC_COLUMNS): New macro.
983         (CHARC_TO_CHAR): New inline function.
984         (CHARC_EQ): New inline function.
985         (CHARC_ASCII_EQ): New inline function.
986         (CHARC_IS_SPACE): New inline function.
987         (ASCII_TO_CHARC): New inline function.
988
989         * char-ucs.h (encode_char_2): Deleted.
990         (ENCODE_CHAR): Use `encode_char_1' again.
991         (breakup_char_1): Likewise.
992         (CHAR_TO_CHARC): New inline function.
993
994         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
995
996 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
997
998         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
999         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1000         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1001         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1002         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1003         `CHARC_IS_SPACE'.
1004         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1005
1006         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1007         `CHARC_CODE_POINT'.
1008         (x_output_display_block): Use `CHARC_CHARSET' and
1009         `CHARC_ASCII_EQ'.
1010
1011         * redisplay-tty.c (tty_output_display_block): Use
1012         `CHARC_ASCII_EQ'.
1013         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1014
1015         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1016
1017         * insdel.c (find_charsets_in_charc_string): Use
1018         `CHARC_CHARSET_ID'.
1019         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1020         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1021         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1022         (convert_charc_string_into_malloced_string): Likewise.
1023
1024 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1025
1026         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1027         instead of <Emchar_dynarr *> for buf; use
1028         `convert_bufbyte_string_into_charc_dynarr' instead of
1029         `convert_bufbyte_string_into_emchar_dynarr'; use
1030         `find_charsets_in_charc_string' instead of
1031         `find_charsets_in_emchar_string'.
1032
1033         * redisplay.h:
1034         - Include "character.h".
1035         (struct rune): New member `cglyph'; delete member `chr'.
1036
1037         * redisplay.c (redisplay_text_width_charc_string): New function;
1038         delete `redisplay_text_width_emchar_string'.
1039         (rtw_charc_dynarr): New variable; renamed from
1040         `rtw_emchar_dynarr'.
1041         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1042         `rtw_emchar_dynarr'; use
1043         `convert_bufbyte_string_into_charc_dynarr' instead of
1044         `convert_bufbyte_string_into_emchar_dynarr'; use
1045         `redisplay_text_width_charc_string' instead of
1046         `redisplay_text_width_emchar_string'.
1047         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1048         instead of `rtw_emchar_dynarr'; use
1049         `convert_bufbyte_string_into_charc_dynarr' instead of
1050         `convert_bufbyte_string_into_emchar_dynarr'.
1051         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1052         `redisplay_text_width_charc_string' instead of
1053         `redisplay_text_width_emchar_string'.
1054         (create_text_block): Modify for <struct rune> change.
1055         (generate_formatted_string_db): Likewise.
1056         (create_string_text_block): Likewise.
1057         (pixel_to_glyph_translation): Likewise.
1058
1059         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1060         instead of <const Emchar *>.
1061         (x_text_width): Likewise.
1062         (x_output_display_block): Use <Charc_dynarr *> instead
1063         <Emchar_dynarr *>; modify for <structure rune> change.
1064         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1065         *>.
1066
1067         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1068         <const Emchar *>; use `charc_string_displayed_columns' instead of
1069         `emchar_string_displayed_columns'.
1070         (tty_output_display_block): Use <Charc_dynarr *> instead of
1071         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1072         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1073         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1074         `tty_output_emchar_dynarr_dynarr'.
1075         (tty_output_charc_dynarr): New function; delete
1076         `tty_output_charc_dynarr'.
1077
1078         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1079         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1080         <Emchar_dynarr *> for buf; use
1081         `convert_bufbyte_string_into_charc_dynarr' instead of
1082         `convert_bufbyte_string_into_emchar_dynarr'.
1083
1084         * frame.c (title_string_charc_dynarr): New variable; renamed from
1085         `title_string_emchar_dynarr'.
1086         (generate_title_string): Use `title_string_charc_dynarr' instead
1087         of `title_string_emchar_dynarr'; use
1088         `convert_charc_string_into_malloced_string' instead of
1089         `convert_emchar_string_into_malloced_string'.
1090         (init_frame): Use `title_string_charc_dynarr' instead of
1091         `title_string_emchar_dynarr'.
1092
1093         * console.h:
1094         - Include "character.h".
1095         (struct console_methods): Use <const Charc *> instead of <const
1096         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1097         <Emchar_dynarr *> in output_string_method.
1098
1099         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1100         <Emchar_dynarr *>.
1101
1102         * console-stream.c (stream_text_width): Use <const Charc *>
1103         instead of <const Emchar *>.
1104
1105         * character.h (Charc_dynarr): New type.
1106
1107         * char-ucs.h (structure Charc): New structure; define new type
1108         `Charc'.
1109
1110         * char-lb.h (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         * char-1byte.h (Vcharset_control_1): New macro.
1116         (Vcharset_latin_iso8859_1): New macro.
1117         (DECODE_CHAR): New inline function.
1118         (encode_char_1): New inline function.
1119         (ENCODE_CHAR): New macro.
1120         (structure Charc): New structure; define new type `Charc'.
1121
1122         * insdel.c (find_charsets_in_charc_string): New function; delete
1123         `find_charsets_in_emchar_string'.
1124         (charc_string_displayed_columns): New function; delete
1125         `emchar_string_displayed_columns'.
1126         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1127         `convert_bufbyte_string_into_emchar_dynarr'.
1128         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1129         `convert_charc_string_into_bufbyte_dynarr'.
1130         (convert_charc_string_into_malloced_string): New function; delete
1131         `convert_charc_string_into_malloced_string'.
1132
1133         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1134         `find_charsets_in_emchar_string'.
1135         (charc_string_displayed_columns): New prototype; delete
1136         `emchar_string_displayed_columns'.
1137         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1138         `convert_charc_string_into_bufbyte_dynarr'.
1139         (convert_charc_string_into_malloced_string): New prototype; delete
1140         `convert_charc_string_into_malloced_string'.
1141
1142 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1143
1144         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1145
1146 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1147
1148         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1149
1150         * char-ucs.h: Use <short> for <Charset_ID>.
1151
1152         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1153         <Charset_ID>.
1154
1155 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1156
1157         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1158         to 0.16.
1159
1160 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1161
1162         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1163         variable.
1164         (Qmorohashi_daikanwa): New variable.
1165         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1166         for `morohashi-daikanwa' attribute.
1167         (Fget_char_attribute): Likewise.
1168         (Fput_char_attribute): Likewise.
1169         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1170         has the same value of `ideograph-daikanwa'.
1171         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1172         (vars_of_mule_charset): Setup
1173         `Vcharacter_morohashi_daikanwa_table'.
1174
1175 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1176
1177         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1178         attributes.
1179         (add_charset_to_list_mapper): Add `key' instead of
1180         `XCHARSET_NAME (value)' to return aliases.
1181
1182 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1183
1184         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1185         variable.
1186         (Vcharacter_ideographic_strokes_table): New variable.
1187         (Qideographic_radical): New variable.
1188         (Qideographic_strokes): New variable.
1189         (Fchar_attribute_alist): Use
1190         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1191         attribute; use `Vcharacter_ideographic_strokes_table' for
1192         `ideographic-strokes' attribute.
1193         (Fget_char_attribute): Likewise.
1194         (Fput_char_attribute): Likewise.
1195         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1196         `ideographic-strokes'.
1197         (vars_of_mule_charset): Setup
1198         `Vcharacter_ideographic_radical_table' and
1199         `Vcharacter_ideographic_strokes_table'.
1200
1201 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1202
1203         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1204         (Qtotal_strokes): New variable.
1205         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1206         `total-strokes' attribute.
1207         (Fget_char_attribute): Likewise.
1208         (Fput_char_attribute): Likewise.
1209         (syms_of_mule_charset): Add new symbol `total-strokes'.
1210         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1211
1212 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1213
1214         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1215         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1216         are found.
1217         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1218         `->decomposition' attribute.
1219         (Fput_char_attribute): Likewise.
1220         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1221
1222 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1223
1224         * mule-charset.c (decoding_table_check_elements): New function.
1225         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1226
1227 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1228
1229         * mule-charset.c (Fset_charset_mapping_table): Use
1230         `put_char_ccs_code_point'.
1231
1232 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1233
1234         * mule-charset.c (decoding_table_put_char): New inline function.
1235         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1236
1237 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1238
1239         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1240         (XCHARSET_BYTE_SIZE): New macro.
1241         (decoding_table_remove_char): New inline function.
1242         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1243         `decoding_table_remove_char'.
1244         (remove_char_ccs): Use `decoding_table_remove_char'.
1245         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1246
1247 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1248
1249         * mule-charset.c (Vcharacter_name_table): New variable.
1250         (Qname): New variable.
1251         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1252         attribute.
1253         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1254         `Vcharacter_name_table' for `name' attribute.
1255         (Fremove_char_attribute): Use function `remove_char_ccs'.
1256         (put_char_ccs_code_point): New function.
1257         (remove_char_ccs): New function.
1258         (syms_of_mule_charset): Add new symbol `name'.
1259         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1260
1261 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1262
1263         * mule-charset.c (make_byte_table): Add new argument `older'.
1264         (make_char_id_table): Likewise.
1265         (copy_char_id_table): Comment out because it is not used.
1266         (put_char_id_table): Modify for `make_byte_table'.
1267         (Fput_char_attribute): Make encoding_table as older object;
1268         inherit older bit of `Vcharacter_composition_table'.
1269         (mark_charset): Don't mark `cs->encoding_table'.
1270         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1271         normal object; make `Vcharacter_composition_table' as an older
1272         object; delete staticpro for `Vcharacter_composition_table'; make
1273         `Vcharacter_variant_table' as a normal object.
1274
1275         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1276         (mark_object): Don't check older object in UTF-2000.
1277
1278         * lrecord.h (struct lrecord_header): Add new member `older' in
1279         UTF-2000.
1280         (set_lheader_implementation): Setup `SLI_header->older' in
1281         UTF-2000.
1282         (set_lheader_older_implementation): New macro in UTF-2000.
1283         (OLDER_RECORD_P): New macro in UTF-2000.
1284         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1285         (alloc_older_lcrecord): New prototype in UTF-2000.
1286         (alloc_older_lcrecord_type): New macro in UTF-2000.
1287
1288 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1289
1290         * mule-charset.c (byte_table_description): Use
1291         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1292         (char_id_table_description): Delete bogus `, 1'.
1293         (Fget_char_attribute): Refer encoding_table of each coded-charset
1294         to get value of coded-charset attribute of a character.
1295         (Fput_char_attribute): Use `make_older_vector' instead of
1296         `make_vector'; use encoding_table of each coded-charset to store
1297         value of coded-charset attribute of a character.
1298         (Fremove_char_attribute): Use encoding_table of each coded-charset
1299         to store value of coded-charset attribute of a character.
1300         (mark_charset): Mark `cs->encoding_table'; don't mark
1301         `cs->decoding_table'.
1302         (charset_description): Add description of new member
1303         `encoding_table'.
1304         (make_charset): Initialize `encoding_table'.
1305
1306         * char-ucs.h (struct Lisp_Charset): Add new member
1307         `encoding_table'.
1308         (CHARSET_ENCODING_TABLE): New macro.
1309         (XCHARSET_ENCODING_TABLE): New macro.
1310         (charset_code_point): New implementation.
1311         (encode_char_1): Likewise.
1312
1313         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1314         (disksave_object_finalization_1): Call finalizers of
1315         `all_older_lcrecords' in UTF-2000.
1316         (make_older_vector): New function in UTF-2000.
1317         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1318         UTF-2000.
1319
1320         * lisp.h (make_older_vector): New prototype in UTF-2000.
1321
1322 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1323
1324         * lrecord.h (enum lrecord_type): Rename
1325         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1326
1327         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1328         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1329         `get_char_code_table'.
1330
1331         * mule-charset.c (mark_char_id_table): Renamed from
1332         `mark_char_code_table'.
1333         (char_id_table_equal): Renamed from `char_code_table_equal'.
1334         (char_id_table_hash): Renamed from `char_code_table_hash'.
1335         (make_char_id_table): Renamed from `make_char_code_table'.
1336         (copy_char_id_table): Renamed from `copy_char_code_table'.
1337         (get_char_id_table): Renamed from `get_char_code_table'.
1338         (put_char_id_table): Renamed from `put_char_code_table'.
1339         (to_char_id): Renamed from `to_char_code'.
1340
1341         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1342         `Lisp_Char_Code_Table'.
1343         (char_id_table): Renamed from `char_code_table'.
1344         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1345         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1346         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1347         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1348         (get_char_id_table): Renamed from `get_char_code_table'.
1349
1350 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1351
1352         * lrecord.h (enum lrecord_type): Rename
1353         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1354
1355         * mule-charset.c (mark_byte_table): Renamed from
1356         `mark_char_byte_table'.
1357         (byte_table_equal): Renamed from `char_byte_table_equal'.
1358         (byte_table_hash): Renamed from `byte_table_hash'.
1359         (make_byte_table): Renamed from `make_byte_table'.
1360         (copy_byte_table): Renamed from `copy_char_byte_table'.
1361
1362         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1363         `Lisp_Char_Byte_Table'.
1364         (byte_table): Renamed from `char_byte_table'.
1365         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1366         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1367         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1368         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1369
1370 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1371
1372         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1373         (dfc_convert_to_internal_format): Likewise.
1374         
1375         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1376         * text-coding.c (Fcoding_system_alias_p): New function.
1377         * text-coding.c (Fcoding_system_aliasee): New function.
1378         * text-coding.c (append_suffix_to_symbol): New function.
1379         * text-coding.c (dangling_coding_system_alias_p): New function.
1380         * text-coding.c (Ffind_coding_system):
1381         * text-coding.c (Fcopy_coding_system):
1382         * text-coding.c (encode_coding_no_conversion):
1383         * text-coding.c (syms_of_file_coding):
1384         * text-coding.c (vars_of_file_coding):
1385         Rewrite coding system alias code.
1386         Allow nested aliases, like symbolic links.
1387         Allow redefinition of coding system aliases.
1388         Prevent existence of dangling coding system aliases.
1389         Eliminate convert_to_external_format.
1390         Eliminate convert_to_internal_format.
1391         
1392         * text-coding.c: Change enum eol_type to eol_type_t.
1393
1394 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1395
1396         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1397         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1398
1399         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1400         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1401
1402 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1403
1404         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1405         `ideograph-daikanwa'.
1406
1407         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1408         (Vcharset_ucs_bmp): Likewise.
1409         (Vcharset_mojikyo): Add new extern variable definition.
1410         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1411         (Vcharset_latin_iso8859_3): Likewise.
1412         (Vcharset_latin_iso8859_4): Likewise.
1413         (Vcharset_latin_iso8859_9): Likewise.
1414         (Vcharset_latin_viscii_lower): Likewise.
1415         (Vcharset_latin_viscii_upper): Likewise.
1416         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1417         `mojikyo' code-point is used to decode.
1418         (encode_char_2): New function [to convert `mojikyo' code-point to
1419         Mojikyo font encoding].
1420         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1421         (breakup_char_1): Likewise.
1422         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1423
1424 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1425
1426         * text-coding.c (Fmake_coding_system): Add document about
1427         `disable-composition' property.
1428
1429 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1430
1431         * text-coding.c (Qdisable_composition): New variable; delete
1432         `Qcomposite'.
1433         (Fmake_coding_system): Add new property `disable-composite';
1434         delete property `composite'.
1435         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1436         instead of `!CODING_SYSTEM_COMPOSITE'.
1437         (syms_of_file_coding): Add new symbol `disable-composition';
1438         delete symbol `composite'.
1439
1440         * file-coding.h (struct Lisp_Coding_System): Add
1441         `disable_composition'; delete `enable_composition'.
1442         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1443         `CODING_SYSTEM_COMPOSITE'.
1444         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1445         `XCODING_SYSTEM_COMPOSITE'.
1446
1447 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1448
1449         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1450         to 0.15.
1451
1452 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1453
1454         * text-coding.c (Qcomposite): New variable.
1455         (Fmake_coding_system): Add new property `composite'.
1456         (struct decoding_stream): Add `combined_char_count',
1457         `combined_chars' and `combining_table' in UTF-2000.
1458         (COMPOSE_FLUSH_CHARS): New macro.
1459         (COMPOSE_ADD_CHAR): New macro.
1460         (reset_decoding_stream): Reset `str->combined_char_count' and
1461         `str->combining_table' in UTF-2000.
1462         (decode_coding_iso2022): Modify for character-decomposition.
1463         (syms_of_file_coding): Add new symbol `composite'.
1464
1465 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1466
1467         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1468         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1469         of `Vcharacter_composition_table' if `->decomposition' property
1470         has only 1 element.
1471         (Qlatin_tcvn5712): New variable.
1472         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1473         (complex_vars_of_mule_charset): Add new coded-charset
1474         `latin-tcvn5712'.
1475
1476         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1477
1478 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1479
1480         * file-coding.h (struct Lisp_Coding_System): Add
1481         `enable_composition'.
1482         (CODING_SYSTEM_COMPOSITE): New macro.
1483         (XCODING_SYSTEM_COMPOSITE): New macro.
1484
1485 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1486
1487         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1488
1489 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1490
1491         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1492         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1493
1494 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1495
1496         * mule-charset.c (Vcharset_mojikyo): New variable.
1497         (Fdefine_char): Don't use coded-charset which does not have
1498         non-builtin character range to allocate character-id.
1499         (Qmojikyo): New variable.
1500         (syms_of_mule_charset): Add new symbol `mojikyo'.
1501         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1502
1503         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1504         (LEADING_BYTE_MOJIKYO): New macro.
1505         (MIN_CHAR_MOJIKYO): New macro.
1506         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1507         (MAX_CHAR_MOJIKYO): New macro.
1508
1509 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1510
1511         * mule-charset.c (remove_char_attribute): Fixed.
1512
1513 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1514
1515         * mule-charset.c (remove_char_attribute): New function.
1516         (Fremove_char_attribute): New function.
1517         (encode_builtin_char_1): Comment out builtin-support for
1518         greek-iso8859-7 and cyrillic-iso8859-5.
1519         (Fdecode_char): Check `code' is an integer.
1520         (syms_of_mule_charset): Add `remove-char-attribute'.
1521         (MIN_CHAR_GREEK): Deleted.
1522         (MAX_CHAR_GREEK): Likewise.
1523         (MIN_CHAR_CYRILLIC): Likewise.
1524         (MAX_CHAR_CYRILLIC): Likewise.
1525         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1526         MAX_CHAR_GREEK for `greek-iso8859-7'.
1527
1528         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1529         (MAX_CHAR_GREEK): Likewise.
1530         (MIN_CHAR_CYRILLIC): Likewise.
1531         (MAX_CHAR_CYRILLIC): Likewise.
1532
1533 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1534
1535         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1536         format is used without `ucs' property.
1537         (Fdecode_char): Fix problem with GR representation.
1538         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1539         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1540
1541 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1542
1543         * mule-charset.c (make_builtin_char): New function.
1544         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1545         (Fset_charset_mapping_table): Modify for new representation of
1546         code-point.
1547         (Fdecode_char): New function.
1548         (syms_of_mule_charset): Add new builtin function `decode-char' in
1549         UTF-2000.
1550
1551         * char-ucs.h (make_builtin_char): New prototype.
1552         (DECODE_CHAR): New inline function.
1553         (MAKE_CHAR): Use `DECODE_CHAR'.
1554
1555 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1556
1557         * text-coding.c (parse_charset_conversion_specs): Use
1558         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1559         `XCHARSET_TYPE'.
1560         (iso2022_designate): Likewise.
1561
1562         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1563         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1564
1565         * mule-charset.c (Vcharset_ucs): New variable.
1566         (print_charset): Change design; use `CHARSET_CHARS' and
1567         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1568         (make_charset): Change signature to specify `chars' and
1569         `dimension' instead of `type'.
1570         (range_charset_code_point): Modify for 256^n-set.
1571         (encode_builtin_char_1): Encode as `ucs' in default.
1572         (Fmake_charset): Modify for `make_charset'.
1573         (Fmake_reverse_direction_charset): Likewise.
1574         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1575         UTF-2000.
1576         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1577         for `make_charset'.
1578
1579         * char-ucs.h (Vcharset_ucs): New variable.
1580         (LEADING_BYTE_UCS): New macro.
1581         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1582         and `chars' to `unsigned short' from `unsigned int'.
1583         (CHARSET_TYPE): Deleted.
1584         (XCHARSET_TYPE): Deleted.
1585
1586 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1587
1588         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1589
1590         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1591         (ENCODE_CHAR): New macro.
1592
1593 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1594
1595         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1596         to 0.14 (Kawachi-Katakami).
1597
1598 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1599
1600         * text-coding.c (char_encode_shift_jis): Modify for
1601         `charset_code_point'.
1602         (char_encode_iso2022): Likewise.
1603
1604         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1605         (integer) instead of list of <Lisp_Object>s (integers) as the
1606         format of code-point of a coded-charset.
1607         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1608         (encode_builtin_char_1): New function; delete
1609         `split_builtin_char'.
1610         (charset_code_point): Return <int> instead of <Lisp_Object>.
1611         (Fsplit_char): Don't use `SPLIT_CHAR'.
1612
1613         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1614         prototype for `split_builtin_char'.
1615         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1616         (charset_code_point): Likewise.
1617         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1618         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1619
1620 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1621
1622         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1623         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1624
1625 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1626
1627         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1628
1629         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1630         (MAX_CHAR_OBS_94x94): Deleted.
1631
1632 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1633
1634         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1635
1636         * char-ucs.h (MAX_CHAR_BMP): New macro.
1637
1638 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1639
1640         * text-coding.c: Sync with r21-2-24.
1641
1642 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1643
1644         * file-coding.c: Modify for UTF-2000.
1645
1646 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1647
1648         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1649         to 0.13 (Takaida).
1650
1651 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1652
1653         * mule-charset.c (split_builtin_char): Delete builtin support for
1654         `katakana-jisx0201'.
1655         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1656         BMP area in builtin representation.
1657
1658         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1659         `Vcharset_katakana_jisx0201'.
1660
1661 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1662
1663         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1664         (Qisolated): New variable.
1665         (Qinitial): New variable.
1666         (Qmedial): New variable.
1667         (Qfinal): New variable.
1668         (Qvertical): New variable.
1669         (Qsmall): New variable.
1670         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1671         `Qvertical' and `Qsmall'.
1672         (Qmojikyo_pj_[1 .. 21]): New variable.
1673         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1674         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1675         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1676         .. 21]'.
1677
1678 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1679
1680         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1681         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1682         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1683
1684 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1685
1686         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1687         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1688         BMP.
1689         (Qjapanese_jisx0208_1990): New variable.
1690         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1691         (complex_vars_of_mule_charset): Add new coded-charset
1692         `japanese-jisx0208-1990'.
1693
1694         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1695         (MIN_CHAR_JIS_X0208_1990): New macro.
1696         (MAX_CHAR_JIS_X0208_1990): New macro.
1697
1698 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1699
1700         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1701         coded-charset is not found.
1702
1703 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1704
1705         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1706         (Fdefine_char): Use `Fmake_char'.
1707
1708 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1709
1710         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1711         (Vcharset_hiragana_jisx0208): Deleted.
1712         (Vcharset_katakana_jisx0208): Deleted.
1713         (Qideograph_daikanwa): New variable.
1714         (Qhiragana_jisx0208): Deleted.
1715         (Qkatakana_jisx0208): Deleted.
1716         (split_builtin_char): Split `ideograph-daikanwa'.
1717         (Fsplit_char): New implementation for UTF-2000.
1718         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1719         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1720         (complex_vars_of_mule_charset): Add new coded-charset
1721         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1722         `katakana-jisx0208'.
1723
1724         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1725         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1726         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1727         (MIN_CHAR_DAIKANWA): New macro.
1728         (MAX_CHAR_DAIKANWA): New macro.
1729
1730 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1731
1732         * data.c (Fstring_to_number): Don't recognize floating point if
1733         base is not 10.
1734
1735 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1736
1737         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1738
1739 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1740
1741         * mule-charset.c (Qsquare): New variable.
1742         (to_char_code): Add `Qsquare'.
1743         (syms_of_mule_charset): Add new symbol `square'.
1744
1745 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1746
1747         * mule-charset.c (Qcircle): New variable.
1748         (to_char_code): Add `Qcircle'.
1749         (syms_of_mule_charset): Add new symbol `circle'.
1750
1751 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1752
1753         * mule-charset.c (Qfont): New variable.
1754         (to_char_code): Add `Qfont'.
1755         (syms_of_mule_charset): Add new symbol `font'.
1756
1757 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1758
1759         * mule-charset.c (Qsub): New variable.
1760         (to_char_code): Add `Qsub'.
1761         (syms_of_mule_charset): Add new symbol `sub'.
1762
1763 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1764
1765         * mule-charset.c (Fput_char_attribute): Convert each element of
1766         VALUE to GL position if ATTRIBUTE is a GR-set,
1767
1768 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1769
1770         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1771         coded-charset is a GR-set.
1772
1773 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1774
1775         * mule-charset.c (Fput_char_attribute): Check each element of
1776         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1777
1778 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1779
1780         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1781         UTF-2000.
1782         (Qethiopic_ucs): New variable in UTF-2000.
1783         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1784         (complex_vars_of_mule_charset): Add new coded-charset
1785         `ethiopic-ucs' in UTF-2000.
1786
1787         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1788         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1789         9)'.
1790         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1791         10)'.
1792         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1793
1794 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1795
1796         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1797         `ascii'.
1798
1799 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1800
1801         * mule-charset.c (Vcharacter_variant_table): New variable.
1802         (Q_ucs): New variable.
1803         (Fchar_variants): New function.
1804         (Fput_char_attribute): Register `->ucs' value to
1805         `Vcharacter_variant_table'.
1806         (syms_of_mule_charset): Add new function `char-variants' and new
1807         symbol `->ucs'.
1808         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
1809
1810 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1811
1812         * mule-charset.c (get_char_code_table): Allow negative character
1813         code.
1814         (put_char_code_table): Likewise.
1815         (Vcharacter_composition_table): New variable.
1816         (Q_decomposition): New variable.
1817         (Qwide): New variable.
1818         (Qnarrow): New variable.
1819         (Qcompat): New variable.
1820         (QnoBreak): New variable.
1821         (Qsuper): New variable.
1822         (Qfraction): New variable.
1823         (to_char_code): New function.
1824         (Fget_composite_char): New function.
1825         (Fput_char_attribute): Register `->decomposition' value to
1826         `Vcharacter_composition_table'.
1827         (syms_of_mule_charset): Add new function `get-composite-char', new
1828         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
1829         `super' and `fraction'.
1830         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
1831
1832 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1833
1834         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
1835         character; copy the return value.
1836
1837 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1838
1839         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
1840
1841         * mule-charset.c (range_charset_code_point): Must use make_int.
1842         (split_builtin_char): New function.
1843
1844 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1845
1846         * mule-charset.c (char_byte_table): Change name from
1847         "char-code-table" to "char-byte-table".
1848         (mark_char_code_table): New function.
1849         (char_code_table_equal): New function.
1850         (char_code_table_hash): New function.
1851         (char_code_table_description): New constant.
1852         (char_code_table): New type.
1853         (make_char_code_table): New function.
1854         (copy_char_code_table): New function.
1855         (get_char_code_table): Modify for `char_code_table' type.
1856         (put_char_code_table): Likewise.
1857         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
1858         (Kashiwara).
1859
1860         * char-ucs.h (char_code_table): New type.
1861         (XCHAR_CODE_TABLE): New macro.
1862         (XSETCHAR_CODE_TABLE): New macro.
1863         (CHAR_CODE_TABLE_P): New macro.
1864         (GC_CHAR_CODE_TABLE_P): New macro.
1865         (struct Lisp_Char_Code_Table): New structure.
1866
1867 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1868
1869         * mule-charset.c (Fmake_charset): Setup byte_offset for
1870         {94|96}^n-set.
1871
1872 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1873
1874         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
1875         character.
1876
1877 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1878
1879         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
1880         is found.
1881
1882 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1883
1884         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
1885         charset, it is regarded as a charset.
1886         (put_char_attribute): New function in UTF-2000.
1887         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
1888         charset, mapping-table of the charset is modified.
1889         (Fdefine_char): New function in UTF-2000.
1890         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
1891         `Fput_char_attribute'.
1892         (syms_of_mule_charset): Add new function `define-char' and new
1893         symbol `ucs' in UTF-2000.
1894         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
1895
1896 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1897
1898         * mule-charset.c (Fcharset_name): Define `byte_offset' in
1899         non-UTF-2000 configuration.
1900
1901 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1902
1903         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
1904         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
1905
1906         * mule-charset.c (mark_charset): `cs->encoding_table' has been
1907         deleted.
1908         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
1909         (Fset_charset_mapping_table): Likewise.
1910
1911         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
1912         (CHARSET_ENCODING_TABLE): Delete.
1913         (XCHARSET_ENCODING_TABLE): Delete.
1914         (charset_code_point): New interface.
1915
1916 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1917
1918         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
1919         instead of `charset_get_byte1' and `charset_get_byte2'.
1920
1921         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
1922         (charset_get_byte2): Deleted.
1923
1924 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1925
1926         * char-ucs.h (SPLIT_CHAR): New inline function.
1927         (breakup_char_1): Use `SPLIT_CHAR'.
1928
1929         * mule-charset.c (range_charset_code_point): New function.
1930         (charset_code_point): New function.
1931
1932         * char-ucs.h (range_charset_code_point): New interface.
1933         (breakup_char_1): Use `range_charset_code_point'.
1934
1935 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1936
1937         * mule-charset.c (Fmake_charset): Delete unused local variable
1938         `code_offset'.
1939
1940         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
1941         (breakup_char_1): Find a charset and code-point in
1942         `Vcharacter_attribute_table'.
1943
1944 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1945
1946         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1947         to 0.10 (Yao).
1948
1949 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1950
1951         * mule-charset.c (Vcharacter_attribute_table): New variable.
1952         (Fchar_attribute_alist): New function.
1953         (Fget_char_attribute): New function.
1954         (Fput_char_attribute): New function.
1955         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
1956         too.
1957         (syms_of_mule_charset): Add new function `char-attribute-alist',
1958         `get-char-attribute' and `put-char-attribute'.
1959         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
1960
1961 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
1962
1963         * mule-charset.c (Fmake_charset): Just use
1964         `get_unallocated_leading_byte'.
1965
1966         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
1967         sets; don't use final-byte based number for private sets.
1968
1969 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1970
1971         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
1972         integer.
1973
1974 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1975
1976         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1977         to 0.9.
1978
1979 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1980
1981         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
1982         of `CHAR_LEADING_BYTE' in UTF-2000.
1983
1984         * insdel.c (find_charsets_in_bufbyte_string): Use
1985         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1986         (find_charsets_in_emchar_string): Likewise.
1987
1988         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
1989         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1990
1991         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
1992         (CHAR_CHARSET_ID): New macro.
1993
1994 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1995
1996         * chartab.c (get_char_table): Don't use type `Charset_ID' for
1997         charset-id - MIN_LEADING_BYTE.
1998         (put_char_table): Likewise.
1999
2000 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2001
2002         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2003         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2004         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2005         (CHARSET_ID_OFFSET): New macro.
2006         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2007         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2008         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2009         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2010         4).
2011         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2012         5).
2013         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2014         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2015         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2016         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2017         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2018
2019 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2020
2021         * mule-charset.c (next_allocated_leading_byte): New variable in
2022         UTF-2000.
2023         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2024         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2025         (get_unallocated_leading_byte): Simply use
2026         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2027         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2028         UTF-2000.
2029
2030         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2031         (MAX_LEADING_BYTE_PRIVATE): New macro.
2032         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2033         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2034
2035 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2036
2037         * mule-charset.c (Fmake_charset): Allocate final-byte based
2038         charset-id for 94-set, 96-set and 94x94-set.
2039
2040 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2041
2042         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2043         ambiguous `else'.
2044         (Fmake_charset): Likewise.
2045         (complex_vars_of_mule_charset): Modify the font registry of
2046         `ucs-bmp' not to match `Ethiopic-Unicode'.
2047
2048 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2049
2050         * mule-charset.c (complex_vars_of_mule_charset): Add font
2051         registory of `ucs-bmp'.
2052
2053 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2054
2055         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2056         coded-charsets in `default-coded-charset-priority-list' when
2057         breaking up a character.
2058
2059         * mule-charset.c (Vcharset_latin_viscii): New variable.
2060         (Qlatin_viscii): New variable.
2061         (make_charset): Don't use `decoding_table'.
2062         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2063         byte_offset.
2064         (Fset_charset_mapping_table): New implementation.
2065         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2066         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2067         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2068         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2069         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2070         charset `latin_viscii'.
2071
2072         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2073         (CHARSET_TYPE_94X94): Change to 1 from 2.
2074         (CHARSET_TYPE_96): Change to 2 from 1.
2075         (CHARSET_TYPE_128): New macro.
2076         (CHARSET_TYPE_128X128): Change to 5 from 4.
2077         (CHARSET_TYPE_256): New macro.
2078         (CHARSET_TYPE_256X256): Change to 7 from 5.
2079         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2080
2081 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2082
2083         * text-coding.c (char_encode_shift_jis): Refer
2084         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2085         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2086
2087         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2088         (char_byte_table_equal): New function in UTF-2000.
2089         (char_byte_table_hash): New function in UTF-2000.
2090         (char_byte_table_description): New constant in UTF-2000.
2091         (char_byte_table): New type in UTF-2000.
2092         (make_char_byte_table): New function in UTF-2000.
2093         (copy_char_byte_table): New function in UTF-2000.
2094         (make_char_code_table): New macro in UTF-2000.
2095         (get_char_code_table): New function in UTF-2000.
2096         (put_char_code_table): New function in UTF-2000.
2097         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2098         (charset_description): Add setting in UTF-2000.
2099         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2100         `CHARSET_TO_BYTE1_TABLE(cs)'.
2101         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2102         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2103         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2104         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2105         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2106         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2107         `CHARSET_TO_BYTE2_TABLE(cs)'.
2108
2109         * char-ucs.h (char_byte_table): New type.
2110         (XCHAR_BYTE_TABLE): New macro.
2111         (XSETCHAR_BYTE_TABLE): New macro.
2112         (CHAR_BYTE_TABLE_P): New macro.
2113         (GC_CHAR_BYTE_TABLE_P): New macro.
2114         (struct Lisp_Char_Byte_Table): New structure.
2115         (get_char_code_table): New interface.
2116         (Emchar_to_byte_table): Deleted.
2117         (get_byte_from_character_table): Deleted.
2118         (struct Lisp_Charset): Add `encoding_table'; delete
2119         `to_byte1_table' and `to_byte2_table'.
2120         (CHARSET_ENCODING_TABLE): New macro.
2121         (CHARSET_TO_BYTE1_TABLE): Deleted.
2122         (CHARSET_TO_BYTE2_TABLE): Deleted.
2123         (XCHARSET_ENCODING_TABLE): New macro.
2124         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2125         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2126
2127 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2128
2129         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2130         `vietnamese-viscii-*'.
2131
2132 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2133
2134         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2135         (Qvietnamese_viscii_upper): New variable.
2136         (Fdefine_charset_alias): New function.
2137         (syms_of_mule_charset): Add new function `define-charset-alias'.
2138         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2139         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2140         `latin-viscii-*'.
2141
2142 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2143
2144         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2145         (MAX_CHAR_OBS_94x94): New macro.
2146         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2147         for 94x94 sets.
2148
2149         * mule-charset.c (put_byte_from_character_table): Change unit size
2150         from 128 to 256.
2151         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2152         not defined.
2153         (Fmake_reverse_direction_charset): Modify dummy argument of
2154         `make_charset' for non-UTF-2000 environment.
2155
2156 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2157
2158         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2159
2160         * mule-charset.c (destroy_byte_from_character_table): New macro.
2161         (latin_jisx0201_to_ucs): Deleted.
2162         (latin_iso8859_2_to_ucs): Deleted.
2163         (latin_iso8859_3_to_ucs): Deleted.
2164         (latin_iso8859_4_to_ucs): Deleted.
2165         (latin_iso8859_9_to_ucs): Deleted.
2166         (latin_viscii_lower_to_ucs): Deleted.
2167         (latin_viscii_upper_to_ucs): Deleted.
2168         (mark_charset): Mark `cs->decoding_table'.
2169         (Fcharset_mapping_table): Fix DOC-string.
2170         (Fset_charset_mapping_table): New function.
2171         (syms_of_mule_charset): Add nwe function
2172         `set-charset-mapping-table'.
2173         (complex_vars_of_mule_charset): Don't setup and use
2174         `latin_*_to_ucs'.
2175
2176 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2177
2178         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2179         charset.
2180
2181 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2182
2183         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2184         (Vcharset_katakana_jisx0208): New variable.
2185         (Qhiragana_jisx0208): New variable.
2186         (Qkatakana_jisx0208): New variable.
2187         (make_charset): Add new argument `byte_offset'.
2188         (charset_get_byte1): Modify for new coded-charset definition; use
2189         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2190         `XCHARSET_BYTE_OFFSET'.
2191         (Fmake_charset): Modify for `make_charset'.
2192         (Fmake_reverse_direction_charset): Likewise.
2193         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2194         `katakana-jisx0208'.
2195         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2196         `.'  in font registry of charset `katakana-jisx0201',
2197         `latin-jisx0201', `vietnamese-viscii-lower' and
2198         `vietnamese-viscii-upper'; modify DOC-string of charset
2199         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2200         registry of charset `japanese-jisx0208' not to use font for JIS
2201         X0208:1990; add new charset `hiragana-jisx0208' and
2202         `katakana-jisx0208'.
2203
2204         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2205         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2206         (struct Lisp_Charset): Add `byte_offset'.
2207         (CHARSET_BYTE_OFFSET): New macro.
2208         (XCHARSET_UCS_MIN): New macro.
2209         (XCHARSET_UCS_MAX): New macro.
2210         (XCHARSET_CODE_OFFSET): New macro.
2211         (XCHARSET_BYTE_OFFSET): New macro.
2212         (MIN_CHAR_HIRAGANA): New macro.
2213         (MAX_CHAR_HIRAGANA): New macro.
2214         (MIN_CHAR_KATAKANA): New macro.
2215         (MAX_CHAR_KATAKANA): New macro.
2216         (MAKE_CHAR): Modify for new coded-charset definition; use
2217         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2218         `XCHARSET_BYTE_OFFSET'.
2219
2220 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2221
2222         * mule-charset.c (CHAR96): Deleted.
2223         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2224         <Lisp_Object>.
2225         (latin_iso8859_2_to_ucs): Likewise.
2226         (latin_iso8859_3_to_ucs): Likewise.
2227         (latin_iso8859_4_to_ucs): Likewise.
2228         (latin_iso8859_9_to_ucs): Likewise.
2229         (latin_viscii_lower_to_ucs): Likewise.
2230         (latin_viscii_upper_to_ucs): Likewise.
2231         (latin_tcvn5712_to_ucs): Commented out.
2232         (make_charset): Change type of argument `decoding_table' from
2233         <Emchar*> to <Lisp_Object> [vector of characters].
2234         (Fmake_charset): Modify for `make_charset'.
2235         (Fmake_reverse_direction_charset): Likewise.
2236         (Fcharset_mapping_table): New function in UTF-2000.
2237         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2238         UTF-2000.
2239         (complex_vars_of_mule_charset): Modify for type change of
2240         `*_to_ucs'; modify for `make_charset'.
2241
2242         * char-ucs.h (struct Lisp_Charset): Change type of
2243         `decoding_table' from <Emchar*> to <Lisp_Object>.
2244         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2245
2246 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2247
2248         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2249         error with non-UTF-2000-Mule.
2250
2251 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2252
2253         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2254         in lisp again].
2255         (Vcharset_chinese_cns11643_4): Likewise.
2256         (Vcharset_chinese_cns11643_5): Likewise.
2257         (Vcharset_chinese_cns11643_6): Likewise.
2258         (Vcharset_chinese_cns11643_7): Likewise.
2259         (Qchinese_cns11643_3): Likewise.
2260         (Qchinese_cns11643_4): Likewise.
2261         (Qchinese_cns11643_5): Likewise.
2262         (Qchinese_cns11643_6): Likewise.
2263         (Qchinese_cns11643_7): Likewise.
2264         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2265         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2266         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2267         (complex_vars_of_mule_charset): Likewise.
2268
2269 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2270
2271         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2272         96-set.
2273         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2274         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2275
2276 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2277
2278         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2279         0xFF60.
2280         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2281         (breakup_char_1): Likewise.
2282
2283         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2284         one of them includes the specified character.
2285
2286 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2287
2288         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2289
2290 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2291
2292         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2293
2294 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2295
2296         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2297         definition for non-UTF-2000 Mule.
2298         (latin_iso8859_3_to_ucs): Likewise.
2299         (latin_iso8859_4_to_ucs): Likewise.
2300         (latin_iso8859_9_to_ucs): Likewise.
2301         (latin_jisx0201_to_ucs): Likewise.
2302         (MIN_CHAR_THAI): Likewise.
2303         (MAX_CHAR_THAI): Likewise.
2304         (MIN_CHAR_GREEK): Likewise.
2305         (MAX_CHAR_GREEK): Likewise.
2306         (MIN_CHAR_HEBREW): Likewise.
2307         (MAX_CHAR_HEBREW): Likewise.
2308         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2309         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2310         (MIN_CHAR_CYRILLIC): Likewise.
2311         (MAX_CHAR_CYRILLIC): Likewise.
2312
2313 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2314
2315         * char-ucs.h (breakup_char_1): Use
2316         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2317         thai-tis620 and katakana-jisx0201 area.
2318
2319 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2320
2321         * char-ucs.h (breakup_char_1): Use
2322         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2323         area.
2324
2325         * text-coding.c (reset_encoding_stream): Fixed.
2326         (char_encode_ucs4): Delete `& 255'.
2327
2328         * char-ucs.h (breakup_char_1): Use
2329         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2330
2331 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2332
2333         * file-coding.c (Fmake_coding_system): Don't set up
2334         `codesys->fixed.size'.
2335         (encode_coding_no_conversion): Don't refer
2336         `str->codesys->fixed.size'.
2337
2338 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2339
2340         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2341         (latin_a_char_to_byte1): Deleted.
2342         (latin_a_char_to_byte2): Deleted.
2343
2344 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2345
2346         * mule-charset.c (make_charset): Add new argument `ucs_min',
2347         `ucs_max' and `code_offset'.
2348         (charset_get_byte1): New implementation [delete specific charset
2349         depended implementations].
2350         (Fmake_charset): Modify for `make_charset'.
2351         (Fmake_reverse_direction_charset): Likewise.
2352         (complex_vars_of_mule_charset): Likewise.
2353
2354         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2355         `code_offset'.
2356         (CHARSET_UCS_MIN): New macro.
2357         (CHARSET_UCS_MAX): New macro.
2358         (CHARSET_CODE_OFFSET): New macro.
2359         (MAKE_CHAR): Delete charset depended definitions [except
2360         katakana-jisx0201].
2361
2362 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2363
2364         * char-ucs.h (breakup_char_1): Use
2365         `Vdefault_coded_charset_priority_list' for C0-Controls,
2366         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2367
2368 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2369
2370         * char-ucs.h (charset_get_byte1): New function.
2371         (XCHARSET_GET_BYTE1): Deleted.
2372         (charset_get_byte2): New function.
2373         (XCHARSET_GET_BYTE2): Deleted.
2374         (Vdefault_coded_charset_priority_list): New external variable.
2375         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2376         `Vdefault_preferred_coded_charset_list'.
2377
2378         * mule-charset.c (charset_get_byte1): New function.
2379         (charset_get_byte2): New function.
2380         (Vdefault_coded_charset_priority_list): New variable.
2381         (vars_of_mule_charset): Add new variable
2382         `default-coded-charset-priority-list'.
2383
2384 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2385
2386         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2387         (XCHARSET_GET_BYTE2): New inline function.
2388         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2389         `XCHARSET_GET_BYTE2'.
2390
2391 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2392
2393         * mule-charset.c (make_charset): Initialize
2394         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2395         NULL if table is not defined.
2396
2397 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2398
2399         * text-coding.c (char_encode_shift_jis): Use
2400         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2401         `ucs_to_latin_jisx0201'.
2402
2403         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2404         (ucs_to_latin_iso8859_2): Deleted.
2405         (ucs_to_latin_iso8859_3): Deleted.
2406         (ucs_to_latin_iso8859_4): Deleted.
2407         (ucs_to_latin_iso8859_9): Deleted.
2408         (ucs_to_latin_viscii_lower): Deleted.
2409         (ucs_to_latin_viscii_upper): Deleted.
2410         (ucs_to_latin_tcvn5712): Deleted.
2411         (make_charset): Add new argument `decoding_table'; set up
2412         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2413         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2414         `decoding_table' is defined in UTF-2000.
2415         (Fmake_charset): Modify for `make_charset'.
2416         (Fmake_reverse_direction_charset): Likewise.
2417         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2418         and `GENERATE_96_SET'.
2419
2420         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2421         (ucs_to_latin_jisx0201): Deleted.
2422         (latin_iso8859_2_to_ucs): Deleted.
2423         (ucs_to_latin_iso8859_2): Deleted.
2424         (latin_iso8859_3_to_ucs): Deleted.
2425         (ucs_to_latin_iso8859_3): Deleted.
2426         (latin_iso8859_4_to_ucs): Deleted.
2427         (ucs_to_latin_iso8859_4): Deleted.
2428         (latin_iso8859_9_to_ucs): Deleted.
2429         (ucs_to_latin_iso8859_9): Deleted.
2430         (latin_viscii_lower_to_ucs): Deleted.
2431         (ucs_to_latin_viscii_lower): Deleted.
2432         (latin_viscii_upper_to_ucs): Deleted.
2433         (ucs_to_latin_viscii_upper): Deleted.
2434         (struct Lisp_Charset): Renamed `encoding_table' to
2435         `to_byte1_table'; add `to_byte2_table'.
2436         (CHARSET_DECODING_TABLE): New macro.
2437         (CHARSET_TO_BYTE1_TABLE): New macro.
2438         (CHARSET_TO_BYTE2_TABLE): New macro.
2439         (XCHARSET_DECODING_TABLE): New macro.
2440         (XCHARSET_TO_BYTE1_TABLE): New macro.
2441         (XCHARSET_TO_BYTE2_TABLE): New macro.
2442         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2443         tables.
2444         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2445         don't use `ucs_to_*' tables.
2446
2447 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2448
2449         * text-coding.c (Fmake_coding_system): Don't set up
2450         `codesys->fixed.size'.
2451         (encode_coding_no_conversion): Use `if' instead of `switch'.
2452
2453         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2454
2455 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2456
2457         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2458         (Fmake_charset): Modify for `make_charset'.
2459         (Fmake_reverse_direction_charset): Likewise.
2460         (complex_vars_of_mule_charset): Likewise.
2461
2462 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2463
2464         * text-coding.c (char_encode_shift_jis): Use table
2465         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2466
2467 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2468
2469         * text-coding.c (text_encode_generic): Use `if' instead of
2470         `switch'.
2471         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2472         decode JIS-Latin.
2473
2474 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2475
2476         * text-coding.c (encode_coding_sjis): Deleted.
2477         (char_encode_shift_jis): New function.
2478         (char_finish_shift_jis): New function.
2479         (reset_encoding_stream): Set up `encode_char' and `finish' for
2480         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2481         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2482         (char_encode_utf8): Treat `eol_type'.
2483
2484 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2485
2486         * file-coding.c (decode_coding_iso2022): Use
2487         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2488
2489 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2490
2491         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2492         to 0.7 (Hirano).
2493
2494 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2495
2496         * char-lb.h (CHAR_COLUMNS): New macro.
2497
2498 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2499
2500         * text-coding.c (char_encode_ucs4): New function.
2501         (char_finish_ucs4): New function.
2502         (encode_coding_ucs4): Deleted.
2503         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2504         (text_encode_generic): Delete local variable `charset' and `half'.
2505         (ucs_to_mule_table): Deleted.
2506         (mule_to_ucs_table): Deleted.
2507         (Fset_ucs_char): Deleted.
2508         (ucs_to_char): Deleted.
2509         (Fucs_char): Deleted.
2510         (Fset_char_ucs): Deleted.
2511         (Fchar_ucs): Deleted.
2512         (decode_ucs4): Deleted.
2513         (mule_char_to_ucs4): Deleted.
2514         (encode_ucs4): Deleted.
2515         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2516         (decode_coding_utf8): Likewise.
2517         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2518         (char_encode_iso2022): Fixed.
2519         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2520         `Fset_char_ucs' and `Fchar_ucs'.
2521         (complex_vars_of_file_coding): Don't initialize
2522         `ucs_to_mule_table'.
2523
2524         * objects-tty.c (tty_initialize_font_instance): Don't use
2525         `XCHARSET_COLUMNS'.
2526
2527         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2528         UTF-2000.
2529
2530         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2531         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2532
2533         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2534         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2535         (emchar_string_displayed_columns): Likewise.
2536
2537         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2538         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2539         (string_column_at_point): Likewise.
2540         (Fmove_to_column): Likewise.
2541
2542         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2543         `encoding_table' and `decoding_table'.
2544         (CHARSET_REP_BYTES): Deleted.
2545         (XCHARSET_REP_BYTES): Deleted.
2546         (XCHARSET_COLUMNS): Deleted.
2547         (CHAR_COLUMNS): New macro.
2548         (lookup_composite_char): Deleted unconditionally.
2549         (composite_char_string): Likewise.
2550
2551 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2552
2553         * char-ucs.h (Emchar_to_byte_table): New type.
2554         (get_byte_from_character_table): New function interface.
2555         (Vcharset_latin_jisx0201): New variable.
2556         (latin_jisx0201_to_ucs): New variable.
2557         (ucs_to_latin_jisx0201): New variable.
2558         (Vcharset_latin_iso8859_2): New variable.
2559         (latin_iso8859_2_to_ucs): New variable.
2560         (ucs_to_latin_iso8859_2): New variable.
2561         (Vcharset_latin_iso8859_3): New variable.
2562         (latin_iso8859_3_to_ucs): New variable.
2563         (ucs_to_latin_iso8859_3): New variable.
2564         (Vcharset_latin_iso8859_4): New variable.
2565         (latin_iso8859_4_to_ucs): New variable.
2566         (ucs_to_latin_iso8859_4): New variable.
2567         (Vcharset_latin_iso8859_9): New variable.
2568         (latin_iso8859_9_to_ucs): New variable.
2569         (ucs_to_latin_iso8859_9): New variable.
2570         (Vcharset_latin_viscii_lower): New variable.
2571         (latin_viscii_lower_to_ucs): New variable.
2572         (ucs_to_latin_viscii_lower): New variable.
2573         (Vcharset_latin_viscii_upper): New variable.
2574         (latin_viscii_upper_to_ucs): New variable.
2575         (ucs_to_latin_viscii_upper): New variable.
2576         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2577         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2578         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2579         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2580         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2581         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2582         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2583         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2584         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2585         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2586
2587         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2588         (Vcharset_latin_viscii_upper): New variable.
2589         (make_byte_from_character_table): New function.
2590         (put_byte_from_character_table): New function.
2591         (get_byte_from_character_table): New function.
2592         (CHAR96): New macro.
2593         (ucs_to_latin_jisx0201): New variable.
2594         (latin_jisx0201_to_ucs): New variable.
2595         (ucs_to_latin_iso8859_2): New variable.
2596         (latin_iso8859_2_to_ucs): New variable.
2597         (ucs_to_latin_iso8859_3): New variable.
2598         (latin_iso8859_3_to_ucs): New variable.
2599         (ucs_to_latin_iso8859_4): New variable.
2600         (latin_iso8859_4_to_ucs): New variable.
2601         (ucs_to_latin_iso8859_9): New variable.
2602         (latin_iso8859_9_to_ucs): New variable.
2603         (ucs_to_latin_viscii_lower): New variable.
2604         (latin_viscii_lower_to_ucs): New variable.
2605         (ucs_to_latin_viscii_upper): New variable.
2606         (latin_viscii_upper_to_ucs): New variable.
2607         (ucs_to_latin_tcvn5712): New variable.
2608         (latin_tcvn5712_to_ucs): New variable.
2609         (Qlatin_viscii_lower): New variable.
2610         (Qlatin_viscii_upper): New variable.
2611         (syms_of_mule_charset): Set up new symbol
2612         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2613         (complex_vars_of_mule_charset): Set up new charset
2614         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2615         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2616         `ucs_to_<CHARSET>' tables.
2617
2618 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2619
2620         * text-coding.c: New file.
2621
2622 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2623
2624         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2625
2626         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2627         (MAKE_CHAR): Modify for `ucs-bmp'.
2628         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2629         non-MULE characters of BMP.
2630
2631 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2632
2633         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2634         to 0.6.
2635
2636 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2637
2638         * lstream.h:
2639         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2640         - Include character.h for `CHAR_ASCII_P'.
2641
2642         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2643
2644         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2645         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2646
2647         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2648         (BYTE_C0_P): Likewise.
2649         (BYTE_C1_P): Likewise.
2650         (Lstream_get_emchar_1): Likewise.
2651         (Lstream_fput_emchar): Likewise.
2652         (Lstream_funget_emchar): Likewise.
2653         (copy_internal_to_external): Likewise.
2654         (copy_external_to_internal): Likewise.
2655
2656         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2657         (BYTE_C0_P): Likewise.
2658         (BYTE_C1_P): Likewise.
2659         (Lstream_get_emchar_1): Likewise.
2660         (Lstream_fput_emchar): Likewise.
2661         (Lstream_funget_emchar): Likewise.
2662         (copy_internal_to_external): Likewise.
2663         (copy_external_to_internal): Likewise.
2664
2665         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2666         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2667
2668         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2669         (BYTE_ASCII_P): Moved to mb-1byte.h.
2670
2671 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2672
2673         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2674
2675         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2676         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2677         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2678         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2679         (VALIDATE_CHARPTR_FORWARD): Likewise.
2680         (simple_charptr_emchar): Moved to mb-multibyte.h.
2681         (simple_set_charptr_emchar): Likewise.
2682         (simple_charptr_copy_char): Likewise.
2683         (non_ascii_charptr_emchar): Likewise.
2684         (non_ascii_set_charptr_emchar): Likewise.
2685         (non_ascii_charptr_copy_char): Likewise.
2686         (charptr_emchar): Moved to mb-*byte.h.
2687         (set_charptr_emchar): Likewise.
2688         (charptr_copy_char): Likewise.
2689
2690         * mb-1byte.h, mb-multibyte.h: New files.
2691
2692 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2693
2694         * mb-utf-8.h (MULTIBYTE): New macro.
2695         (MAX_EMCHAR_LEN): Moved from buffer.h.
2696         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2697
2698         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2699
2700         * mb-lb.h, multibyte.h: New files.
2701
2702         * char-1byte.h (Charset_ID): Moved from buffer.h.
2703         (MIN_LEADING_BYTE): Likewise.
2704         (LEADING_BYTE_ASCII): Likewise.
2705         (NUM_LEADING_BYTES): Likewise.
2706         (CHARSETP): Likewise.
2707         (CHARSET_BY_LEADING_BYTE): Likewise.
2708         (XCHARSET_LEADING_BYTE): Likewise.
2709         (XCHARSET_GRAPHIC): Likewise.
2710         (XCHARSET_COLUMNS): Likewise.
2711         (XCHARSET_DIMENSION): Likewise.
2712         (CHAR_CHARSET): Likewise.
2713         (CHAR_LEADING_BYTE): Likewise.
2714         (BREAKUP_CHAR): Likewise.
2715         (Vcharset_ascii): Likewise.
2716
2717         * buffer.h: Include multibyte.h unconditionally.
2718         (VALID_CHARPTR_P): Moved to multibyte.h.
2719         (ASSERT_VALID_CHARPTR): Likewise.
2720         (REAL_INC_CHARPTR): Likewise.
2721         (REAL_INC_CHARBYTIND): Likewise.
2722         (REAL_DEC_CHARPTR): Likewise.
2723         (INC_CHARPTR): Likewise.
2724         (INC_CHARBYTIND): Likewise.
2725         (DEC_CHARPTR): Likewise.
2726         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2727         (VALIDATE_CHARPTR_FORWARD): Likewise.
2728         (charptr_n_addr): Likewise.
2729         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2730         (simple_charptr_emchar): Moved to multibyte.h.
2731         (simple_set_charptr_emchar): Likewise.
2732         (simple_charptr_copy_char): Likewise.
2733         (non_ascii_charptr_emchar): Likewise.
2734         (non_ascii_set_charptr_emchar): Likewise.
2735         (non_ascii_charptr_copy_char): Likewise.
2736         (charptr_emchar): Likewise.
2737         (set_charptr_emchar): Likewise.
2738         (charptr_copy_char): Likewise.
2739         (charptr_emchar_n): Likewise.
2740         (Charset_ID): Moved to char-1byte.h.
2741         (Vcharset_ascii): Likewise.
2742         (CHAR_CHARSET): Likewise.
2743         (CHAR_LEADING_BYTE): Likewise.
2744         (LEADING_BYTE_ASCII): Likewise.
2745         (NUM_LEADING_BYTES): Likewise.
2746         (MIN_LEADING_BYTE): Likewise.
2747         (CHARSETP): Likewise.
2748         (CHARSET_BY_LEADING_BYTE): Likewise.
2749         (XCHARSET_LEADING_BYTE): Likewise.
2750         (XCHARSET_GRAPHIC): Likewise.
2751         (XCHARSET_COLUMNS): Likewise.
2752         (XCHARSET_DIMENSION): Likewise.
2753         (BREAKUP_CHAR): Likewise.
2754
2755 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2756
2757         * character.h: Add document about interface for characters.
2758
2759         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2760         (MAKE_CHAR): Delete comment about
2761         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2762         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2763         (BREAKUP_CHAR): Modify name of arguments.
2764         (CHAR_CHARSET): Modify name of argument.
2765
2766         * buffer.h: Delete document about Emchar accessors.
2767
2768 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2769
2770         * character.h (CHAR_INTP): Moved from buffer.h
2771         (CHAR_OR_CHAR_INTP): Likewise.
2772         (XCHAR_OR_CHAR_INT): Likewise.
2773         (CHECK_CHAR_COERCE_INT): Likewise.
2774
2775         * buffer.h (CHAR_INTP): Moved to character.h
2776         (CHAR_OR_CHAR_INTP): Likewise.
2777         (XCHAR_OR_CHAR_INT): Likewise.
2778         (CHECK_CHAR_COERCE_INT): Likewise.
2779
2780 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2781
2782         * character.h:
2783         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2784         - Include char-1byte.h, char-lb.h or char-ucs.h.
2785
2786         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2787
2788         * buffer.h: Include character unconditionally.
2789         (valid_char_p): Moved to char-*.h.
2790         (non_ascii_valid_char_p): Moved to char-lb.h.
2791
2792         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2793
2794 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2795
2796         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2797         in UTF-2000 because it is not ported yet and not to use
2798         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2799         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2800         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2801
2802         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2803         (CHAR_ASCII_P): Moved from character.h.
2804
2805         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
2806         (CHAR_ASCII_P): Likewise.
2807         (CHAR_FIELD1_MASK): Deleted.
2808         (CHAR_FIELD2_MASK): Deleted.
2809         (CHAR_FIELD3_MASK): Deleted.
2810         (MAX_CHAR_BASIC_LATIN): New macro.
2811         (CHAR_FIELD1): Deleted.
2812         (CHAR_FIELD2_INTERNAL): Deleted.
2813         (CHAR_FIELD3_INTERNAL): Deleted.
2814         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
2815         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
2816         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
2817         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
2818         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
2819         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
2820         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
2821         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
2822         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
2823         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
2824         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
2825         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
2826         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
2827         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
2828         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
2829         (MIN_CHAR_COMPOSITION): Deleted.
2830         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
2831         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
2832
2833 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
2834
2835         * buffer.h: Include mb-utf-8.h in UTF-2000.
2836
2837         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
2838
2839         * mb-utf-8.h: New file.
2840
2841 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
2842
2843         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
2844         instead of `int'.
2845
2846         * mule-charset.h, buffer.h (Charset_ID): New type.
2847
2848 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2849
2850         * mule-canna.c (c2mu): Use `MAKE_CHAR',
2851         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
2852         instead of `MULE_CHAR_PRIVATE_OFFSET',
2853         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
2854         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
2855         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
2856
2857         * character.h (Vcharset_japanese_jisx0212): New variable
2858         definition.
2859
2860 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2861
2862         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
2863         (charset_by_attributes): Delete array about direction.
2864         (latin_a_char_to_charset): New variable in UTF-2000.
2865         (latin_a_char_to_byte1): New variable in UTF-2000.
2866         (latin_a_char_to_byte2): New variable in UTF-2000.
2867         (Qucs_bmp): New variable.
2868         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
2869         `Bufbyte'.
2870         (next_allocated_2_byte_leading_byte): Likewise.
2871         (non_ascii_set_charptr_emchar): Likewise.
2872         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
2873         `CHARSET_TYPE_256X256' in UTF-2000; modify for
2874         `charset_by_attributes'.
2875         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
2876         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
2877         and `CHARSET_BY_LEADING_BYTE'.
2878         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
2879         `utf-2000-version' to `vars_of_mule_charset'.
2880         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
2881         define `leading-code-private-11' in UTF-2000; move setting of
2882         `utf-2000-version' from `syms_of_mule_charset'.
2883         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
2884         UTF-2000.
2885
2886         * character.h (Charset_ID): New type.
2887         (LEADING_BYTE_UCS_BMP): New macro.
2888         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
2889         (CHARSET_ID_OFFSET_94): New macro.
2890         (MIN_CHARSET_ID_PRIVATE_94): New macro.
2891         (MAX_CHARSET_ID_PRIVATE_94): New macro.
2892         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
2893         final-byte.
2894         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
2895         (LEADING_BYTE_LATIN_JISX0201): Likewise.
2896         (CHARSET_ID_OFFSET_96): New macro.
2897         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
2898         CHARSET_ID_OFFSET_96 and final-byte.
2899         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
2900         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
2901         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
2902         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
2903         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
2904         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
2905         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
2906         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
2907         (LEADING_BYTE_THAI_TIS620): Likewise.
2908         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
2909         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
2910         (CHARSET_ID_OFFSET_94x94): New macro.
2911         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
2912         CHARSET_ID_OFFSET_94x94 and final-byte.
2913         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
2914         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
2915         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
2916         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
2917         (LEADING_BYTE_CHINESE_GB2312): Likewise.
2918         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
2919         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
2920         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
2921         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
2922         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
2923         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
2924         (CHARSET_TYPE_128X128): New macro.
2925         (CHARSET_TYPE_256X256): New macro.
2926         (XCHARSET_PRIVATE_P): Delete unconditionally.
2927         (charset_by_attributes): Delete array about direction.
2928         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
2929         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
2930         (MIN_CHAR_94): New macro.
2931         (MAX_CHAR_94): New macro.
2932         (MIN_CHAR_96): New macro.
2933         (MAX_CHAR_96): New macro.
2934         (MIN_CHAR_94x94): New macro.
2935         (MAX_CHAR_94x94): New macro.
2936         (MIN_CHAR_96x96): New macro.
2937         (MAX_CHAR_96x96): New macro.
2938         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
2939         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
2940         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
2941         - 32)'.
2942         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
2943         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
2944         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
2945         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
2946         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
2947         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
2948         `XCHARSET_LEADING_BYTE' to make code-point.
2949         (latin_a_char_to_charset): New variable.
2950         (latin_a_char_to_byte1): New variable.
2951         (latin_a_char_to_byte2): New variable.
2952         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
2953         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
2954         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
2955
2956         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
2957         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
2958         (find_charsets_in_emchar_string): Likewise.
2959         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
2960
2961         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
2962         `int'.
2963         (decode_coding_iso2022): Likewise.
2964
2965         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
2966         of `unsigned char'.
2967
2968         * redisplay.c (redisplay_text_width_emchar_string): Use
2969         `Charset_ID' instead of `unsigned char'.
2970         (redisplay_frame_text_width_string): Likewise.
2971
2972         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
2973         `unsigned char'.
2974
2975         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
2976         instead of `unsigned char'.
2977         (face_cachel_charset_font_metric_info): Likewise.
2978
2979         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
2980         (get_non_ascii_char_table_value): Likewise.
2981         (get_char_table): Likewise.
2982         (put_char_table): Likewise.
2983         (map_over_other_charset): Likewise.
2984         (map_char_table): Likewise.
2985
2986         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
2987         instead of `unsigned char'.
2988
2989 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
2990
2991         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
2992         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
2993
2994         * mule-charset.c (leading_code_private_11): Don't define in
2995         UTF-2000.
2996
2997         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
2998         in UTF-2000 because it is not ported yet and not to use
2999         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3000
3001 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3002
3003         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3004
3005 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3006
3007         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3008         in UTF-2000.
3009
3010         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3011         of unsigned char to store leading-byte.
3012
3013         * chartab.c (get_non_ascii_char_table_value): Don't use
3014         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3015
3016         * file-coding.c (encode_coding_big5): Delete bogus implementation
3017         in UTF2000.
3018
3019         * character.h (LEADING_BYTE_*): Delete definition for
3020         non-UTF-2000.
3021         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3022         (LEADING_BYTE_PREFIX_P): Deleted.
3023         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3024         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3025         (BUFBYTE_LEADING_BYTE_P): Deleted.
3026         (CHARSET_PRIVATE_P): Deleted unconditionally.
3027         (rep_bytes_by_first_byte): Deleted unconditionally.
3028         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3029         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3030         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3031         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3032         (CHAR_FIELD2): Deleted.
3033         (CHAR_FIELD3): Deleted.
3034         (MAKE_CHAR): Delete definition for non-UTF-2000.
3035         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3036         (breakup_char_1): New implementation.
3037         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3038         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3039
3040 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3041
3042         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3043         condition.
3044
3045 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3046
3047         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3048         (CHARSET_PRIVATE_P): Likewise.
3049         (XCHARSET_PRIVATE_P): Likewise.
3050         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3051
3052         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3053         UTF2000.
3054         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3055
3056 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3057
3058         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3059         (NUM_LEADING_BYTES): Changed from 128 to 256.
3060         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3061         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3062         UTF2000.
3063         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3064
3065         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3066         UTF2000.
3067         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3068         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3069         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3070         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3071         (Qchinese_cns11643_3): New variable in UTF2000.
3072         (Qchinese_cns11643_4): New variable in UTF2000.
3073         (Qchinese_cns11643_5): New variable in UTF2000.
3074         (Qchinese_cns11643_6): New variable in UTF2000.
3075         (Qchinese_cns11643_7): New variable in UTF2000.
3076         (syms_of_mule_charset): Define `chinese-cns11643-3',
3077         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3078         and `chinese-cns11643-7' in UTF2000.
3079         (vars_of_mule_charset): Initialize
3080         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3081         + 1 in UTF2000.
3082         (complex_vars_of_mule_charset): Setup charset
3083         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3084         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3085
3086 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3087
3088         * mule-charset.c: Move setting for `leading-code-private-11' from
3089         `syms_of_mule_charset' to `vars_of_mule_charset'.
3090
3091 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3092
3093         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3094         and `NUM_LEADING_BYTES' in assert.
3095
3096 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3097
3098         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3099         instead of 128.
3100         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3101         `NUM_LEADING_BYTES' instead of 128.
3102
3103 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3104
3105         * mule-charset.h (charset_by_leading_byte): Use
3106         `NUM_LEADING_BYTES' instead of 128.
3107         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3108
3109         * mule-charset.c (charset_by_leading_byte): Use
3110         `NUM_LEADING_BYTES' instead of 128.
3111         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3112
3113         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3114         128.
3115
3116 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3117
3118         * mule-charset.c (syms_of_mule_charset): Update to
3119         0.4 (Shin-Imamiya).
3120
3121 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3122
3123         * file-coding.c (encode_coding_sjis): New implementation for
3124         UTF2000.  (decode_coding_sjis): Ditto.
3125
3126 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3127
3128         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3129         Don't define in UTF2000.
3130
3131         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3132         defined.
3133
3134         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3135         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3136         MULE.
3137
3138 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3139
3140         * config.h.in (CHAR_IS_UCS4): New macro.
3141
3142         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3143         conventional MULE representation.
3144         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3145
3146         * mule-charset.h: Reverted to original.
3147
3148         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3149         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3150         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3151
3152         * character.h: New file.
3153
3154         * file-coding.c (Fmake_coding_system): Set 1 to
3155         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3156         defined.
3157         (encode_coding_no_conversion): New implementation for UTF2000.
3158
3159         * file-coding.h (struct Lisp_Coding_System): Add new member
3160         `fixed.size'.
3161
3162 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3163
3164         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3165         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3166         (encode_coding_iso2022): New implementation for UTF2000.
3167
3168 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3169
3170         * mule-canna.c (c2mu): New implementation for UTF2000.
3171         (m2c): Likewise.
3172
3173 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3174
3175         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3176
3177 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3178
3179         * file-coding.c (reset_encoding_stream): Set 0 to
3180         `str->iso2022.current_char_boundary' in UTF2000.
3181         (encode_utf8): Don't define in UTF2000.
3182         (encode_coding_utf8): New implementation for UTF-8 representation
3183         of UTF2000.
3184         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3185
3186 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3187
3188         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3189
3190         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3191         UTF2000.
3192         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3193
3194         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3195
3196         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3197         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3198         as UTF-8 in UTF2000.
3199         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3200         (non_ascii_valid_char_p): Don't define in UTF2000.
3201         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3202         (Lstream_get_emchar_1): Likewise.
3203         (utf-2000-version): New variable in UTF2000.
3204
3205         * lread.c (read_escape): Add new reader `u'.
3206
3207         * insdel.c (three_to_one_table): Don't define in UTF2000.
3208         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3209         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3210         UTF2000.
3211         (bytind_to_bufpos_func): Likewise.
3212         (buffer_mule_signal_inserted_region): Likewise.
3213         (vars_of_insdel): Don't initialize `three_to_one_table'.
3214         (init_buffer_text): Use `buf->text->mule_size' instead of
3215         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3216         UTF2000.
3217
3218         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3219         UTF-8 representation in UTF2000.
3220         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3221         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3222         (decode_coding_iso2022): Don't define local variable `lb' in
3223         UTF2000; don't use LEADING_BYTE in UTF2000; use
3224         `DECODE_ADD_UCS_CHAR' in UTF2000.
3225         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3226
3227         * config.h.in (UTF2000): New macro.
3228
3229         * buffer.h (struct buffer_text): Add new member `mule_size' and
3230         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3231         (valid_char_p): Return always 1 in UTF2000.
3232         (MAX_EMCHAR_LEN): 6 in UTF2000.
3233         (three_to_one_table): Don't define in UTF2000.
3234         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3235         UTF2000.
3236         (real_bytind_to_bufpos): Likewise.
3237
3238         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3239
3240 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3241
3242         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3243         representation change.
3244         (Vutf_2000_version): New variable.
3245         (leading_code_private_11): New variable.
3246         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3247         `leading-code-private-11'.
3248
3249         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3250         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3251         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3252         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3253         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3254         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3255         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3256         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3257         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3258         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3259         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3260         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3261         (MIN_CHAR_GREEK): New macro.
3262         (MAX_CHAR_GREEK): New macro.
3263         (MIN_CHAR_CYRILLIC): New macro.
3264         (MAX_CHAR_CYRILLIC): New macro.
3265         (MIN_CHAR_HEBREW): New macro.
3266         (MAX_CHAR_HEBREW): New macro.
3267         (MIN_CHAR_THAI): New macro.
3268         (MAX_CHAR_THAI): New macro.
3269         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3270         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3271         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3272         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3273         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3274         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3275         (CHAR_FIELD2): New inline function.
3276         (CHAR_FIELD3): New inline function.
3277         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3278         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3279         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3280         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3281         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3282         (MIN_CHAR_COMPOSITION): Likewise.
3283         (CHAR_LEADING_BYTE): Modified for character representation change.
3284         (MAKE_CHAR): Likewise.
3285
3286         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3287         (Vcharset_greek_iso8859_7): Likewise.
3288         (Vcharset_cyrillic_iso8859_5): Likewise.
3289         (Vcharset_hebrew_iso8859_8): Likewise.
3290         (Vcharset_thai_tis620): Likewise.
3291         (Vcharset_katakana_jisx0201): Likewise.
3292
3293 2001-01-17  Martin Buchholz <martin@xemacs.org>
3294
3295         * XEmacs 21.2.41 "Polyhymnia" is released.
3296
3297 2001-01-16  Didier Verna  <didier@xemacs.org>
3298
3299         * glyphs.c (image_instantiate): don't use fallbacks when
3300         instantiating a face's background pixmap by inheritance.
3301
3302 2001-01-14  Mike Sperber <mike@xemacs.org>
3303
3304         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3305         Conditionalize accordingly.
3306
3307 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3308
3309         * dumper.c (pdump_file_get): Fix a compiler warning.
3310
3311 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3312
3313         Make Purify happy when pdumping.
3314         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3315         iniitalizing all bits of new lisp object memory.
3316         * symbols.c (Fmake_local_variable): Likewise.
3317         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3318         * symbols.c (Fdefvaralias): Likewise.
3319         * mule-charset.c (vars_of_mule_charset): Likewise.
3320
3321 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3322         Add the `-nd' flag when running pre-dump operations under the debugger.
3323         * .dbxrc (run-temacs): Add `-nd'.
3324         * .dbxrc (update-elc): Likewise.
3325         * .dbxrc (dump-temacs): Likewise.
3326         * .gdbinit (run-temacs): Likewise.
3327         * .gdbinit (check-temacs): Likewise.
3328         * .gdbinit (update-elc): Likewise.
3329         * .gdbinit (dump-temacs): Likewise.
3330
3331 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3332
3333         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3334         export OBJECT_MODE=64
3335         configure --pdump --use-union-type=no
3336         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3337         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3338
3339         * miscplay.c (sndcnv8U_2mono):
3340         Avoid two uses of `++' in the same expression.
3341         Suppresses a GCC warning.
3342
3343 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3344
3345         Make sure future compilers don't miscompile alloc.c.
3346         * alloc.c:
3347         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3348         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3349
3350 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3351
3352         * dumper.c: A little post-pdump-rename comment fixup.
3353
3354 2001-01-09  Jerry James  <james@eecs.ku.edu>
3355
3356         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3357
3358 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3359
3360         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3361         script:
3362         #!/bin/sh
3363         replace_symbol () {
3364           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3365         }
3366
3367         replace_symbol pdump_wire_lists pdump_weak_object_chains
3368         replace_symbol pdump_wire_list dump_add_weak_object_chain
3369
3370         replace_symbol pdump_wires pdump_root_objects
3371         replace_symbol pdump_wire dump_add_root_object
3372
3373         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3374         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3375
3376         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3377         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3378         replace_symbol dumpstructinfo pdump_root_struct_ptr
3379         replace_symbol dumpstruct dump_add_root_struct_ptr
3380
3381         replace_symbol dumpopaque dump_add_opaque
3382         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3383         replace_symbol dumpopaqueinfos pdump_opaques
3384         replace_symbol dumpopaqueinfo pdump_opaque
3385
3386         replace_symbol nb_structdump nb_root_struct_ptrs
3387         replace_symbol nb_opaquedump nb_opaques
3388
3389         replace_symbol align_table pdump_align_table
3390         replace_symbol dump_header pdump_header
3391
3392         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3393         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3394
3395
3396 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3397
3398         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3399         optimizing bytecount_to_charcount().
3400
3401 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3402
3403         * config.h.in:
3404         (HAVE_DLFCN_H): Removed.
3405         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3406
3407 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3408
3409         Portable dumper maintainability improvements.
3410         * alloc.c (staticpro):
3411         * alloc.c (staticpro_nodump):
3412         * alloc.c (garbage_collect_1):
3413         * alloc.c (reinit_alloc_once_early):
3414         * alloc.c (init_alloc_once_early):
3415         * alloc.c: Move dumper functions to alloc.c.
3416         * dumper.c (pdump_backtrace):
3417         * dumper.c (pdump_dump_structs):
3418         * dumper.c (pdump_dump_opaques):
3419         * dumper.c (pdump_dump_rtables):
3420         * dumper.c (pdump_dump_wired):
3421         * dumper.c (pdump):
3422         * dumper.c (pdump_load_check):
3423         * dumper.c (pdump_load_finish):
3424         * dumper.c (pdump_file_unmap):
3425         * dumper.c (pdump_file_get):
3426         * dumper.c (pdump_resource_free):
3427         * dumper.c (pdump_resource_get):
3428         * dumper.c (pdump_file_free):
3429         * dumper.c (pdump_file_try):
3430         * dumper.c (pdump_load):
3431         Remove fixed size limits on staticpro(), staticpro_nodump(),
3432         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3433         Remove custom code for dumping lrecord_implementations_table - use
3434         dumpopaque instead.
3435         Remove (most of the) custom code for dumping staticpros - dump it
3436         like any other dynarr.
3437
3438         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3439         * dumper.c: Moved functions from alloc.c.
3440         * alloc.c (dumpstruct): Moved to dumper.c.
3441         * alloc.c (dumpopaque): Likewise.
3442         * alloc.c (pdump_wire): Likewise.
3443         * alloc.c (pdump_wire_list): Likewise.
3444
3445         * lisp.h (Dynarr_sizeof): New.
3446         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3447         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3448         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3449
3450         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3451         * lisp.h (dumpopaque): ditto.
3452         * lisp.h (pdump_wire): ditto.
3453         * lisp.h (pdump_wire_list): ditto.
3454
3455 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3456
3457         * make-src-depend (PrintPatternDeps):
3458         Use `sort' to make output independent of perl version.
3459
3460 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3461
3462         Port to Netbsd 1.5.
3463         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3464         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3465
3466 2001-01-03  Didier Verna  <didier@xemacs.org>
3467
3468         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3469         that `focus_frame' is alive before thinking of calling
3470         `redisplay_redraw_cursor' on it.
3471
3472 2001-01-08  Martin Buchholz <martin@xemacs.org>
3473
3474         * XEmacs 21.2.40 is released.
3475
3476 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3477
3478         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3479
3480 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3481
3482         * alloc.c (dbg_valmask): Make const.
3483         * alloc.c (dbg_typemask): Make const.
3484         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3485         * alloc.c (dbg_valbits): Make const.
3486         * alloc.c (dbg_gctypebits): Make const.
3487
3488 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3489
3490         * redisplay-x.c (x_bevel_area):
3491         redisplay.h (struct rune):
3492         Typo fixes in comments.
3493
3494 2001-01-05  Andy Piper  <andy@xemacs.org>
3495
3496         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3497         adjustment.
3498
3499         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3500
3501 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3502
3503         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3504
3505         * mule-ccl.c (stack_idx_of_map_multiple):
3506         Non const global data must not be initialized!
3507         Found by MIYASHITA Hisashi.
3508
3509 2001-01-02  Andy Piper  <andy@xemacs.org>
3510
3511         * frame.c (change_frame_size): make sure frame size is always
3512         marked as changed.
3513
3514         * glyphs.c (image_instance_layout): minor code reuse.
3515
3516         * window.c (Fcurrent_window_configuration): revert previous
3517         change.
3518
3519 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3520
3521         * glyphs.h:
3522         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3523
3524 2000-12-31  Andy Piper  <andy@xemacs.org>
3525
3526         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3527         when widget gets unmapped.
3528
3529         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3530         function. Make sure widgets losing focus don't just drop it.
3531         (handle_focus_event_1): record the widget with focus.
3532
3533 2000-12-31  Andy Piper  <andy@xemacs.org>
3534
3535         * window.c (allocate_window): use
3536         make_image_instance_cache_hash_table.
3537         (make_dummy_parent): ditto.
3538         (Fset_window_configuration): ditto.
3539
3540         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3541
3542         * glyphs.c (process_image_string_instantiator): use
3543         INSTANTIATOR_TYPE.
3544         (get_image_instantiator_governing_domain): ditto.
3545         (normalize_image_instantiator): ditto.
3546         (instantiate_image_instantiator): ditto.
3547         (make_image_instance_1): ditto.
3548         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3549         (instantiator_eq_equal): new function for use with instance hash
3550         tables.
3551         (instantiator_eq_hash): ditto.
3552         (make_image_instance_cache_hash_table): create a suitable hash
3553         table for storing image instances.
3554
3555         * elhash.h (hash_table_weakness): new internal weakness type
3556         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3557         declare new functions.
3558
3559         * elhash.c (finish_marking_weak_hash_tables): introduce yet
3560         another weakness type for glyphs.
3561         (make_standard_lisp_hash_table): new function split out from
3562         make_general_lisp_hash_table.
3563         (make_lisp_hash_table): call make_standard_lisp_hash_table.
3564         (hash_table_instantiate): ditto.
3565         (Fmake_hash_table): ditto.
3566
3567 2000-12-31  Martin Buchholz <martin@xemacs.org>
3568
3569         * XEmacs 21.2.39 is released.
3570
3571 2000-12-29  Andy Piper  <andy@xemacs.org>
3572
3573         * menubar.c (menubar_visible_p_changed): signal the frame changed.
3574
3575         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
3576         the frame has changed so that we pick up geometry changes such as
3577         menubar visibility.
3578
3579 2000-12-28  Andy Piper  <andy@xemacs.org>
3580
3581         * lastfile.c (my_ebss): make a char array so we can pad the
3582         bss. Fixes cygwin unexec.
3583
3584         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
3585
3586 2000-12-26  Andy Piper  <andy@xemacs.org>
3587
3588         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
3589         comments and try and be more precise about a non-/SIGIO world.
3590         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
3591         SIGIO.
3592
3593         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
3594         we don't normalize to zero width or height.
3595
3596 2000-12-24  Andy Piper  <andy@xemacs.org>
3597
3598         * Makefile.in.in (ldflags): add -mwindows when appropriate.
3599
3600 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
3601
3602         * s/sco5.h: SCO 5 has pty support.
3603
3604 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
3605
3606         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
3607         input-method-xlib.c contains whole contents of input-method-xfs.c,
3608         so we can use input-method-xlib.c's code for USE_XFONTSET
3609         using #ifdefs.
3610         * input-method-xfs.c: removed.
3611
3612 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
3613
3614         * file-coding.h (enum coding_category_type): reorder enumerators to
3615         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
3616         (now one greater than largest real coding_category_type enumerator).
3617         * file-coding.c (coding_category_symbol, coding_category_by_priority,
3618         coding_category_system, fcd_descriptihon_1, decode_coding_category,
3619         Fcoding_category_list, Fset_coding_priority_list,
3620         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
3621         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
3622
3623 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3624
3625         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
3626         * redisplay-output.c (redisplay_output_window): Clear top of window
3627         when face is changed.
3628         * redisplay-x.c (x_redraw_exposed_window): Call
3629         redisplay_clear_top_of_window.
3630         * redisplay.h: Publish redisplay_clear_top_of_window.
3631
3632 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3633
3634         * buffer.c (Fkill_buffer): Map over all devices.
3635         * window.c (window_loop): Remove UNSHOW_BUFFER code.
3636         (list_windows): New function.
3637         (list_all_windows): Ditto.
3638         (Freplace_buffer_in_windows): Use them.
3639
3640 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3641
3642         * database.c (berkdb_subtype): Recognize new subtype `queue'.
3643         (Fopen_database): Use `db_create' instead of `db_open'.
3644         (syms_of_database): Initialize Qqueue.
3645
3646 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3647
3648         * buffer.c (common_init_complex_vars_of_buffer): Initialize
3649         buffer_local_face_property.
3650         * buffer.h (struct buffer): New member buffer_local_face_property.
3651         * window.c (Fset_window_buffer):  Mark window's face as changed
3652         when buffer has buffer local face.
3653         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
3654         * objects.c (color_after_change): Set buffer_local_face_property
3655         when locale of face specifier is buffer.
3656         * objects.c (font_after_change): Ditto.
3657         * objects.c (face_boolean_after_change): Ditto.
3658         * glyphs.c (image_after_change): Ditto.
3659
3660 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3661
3662         * nt.c (mswindows_fstat): Report file permissions, volume serial
3663         number, etc. Code adapted from FSF Emacs 20.7.
3664
3665 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3666
3667         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
3668         of stat when we don't have symbolic links, to make sure
3669         mswindows_stat is called on mswindows.
3670
3671 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
3672
3673         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
3674
3675 2000-12-12  Martin Buchholz  <martin@xemacs.org>
3676
3677         * doprnt.c (emacs_doprnt_1): More printing fixes.
3678         Make printing of numbers compatible with libc and FSF Emacs.
3679         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
3680         Use the system printf to do most of the hard work of formatting,
3681         instead of doprnt_1().
3682         Calculate memory to allocate for format string.
3683         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
3684         (doprnt_1): Cleaner code and documentation.
3685
3686 2000-12-01  Jerry James  <james@eecs.ukans.edu>
3687
3688         * Makefile.in.in: Use the loop variable to install headers.
3689
3690 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3691
3692         * window.c (Fsplit_window): Don't invalidate face cache.
3693
3694 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3695
3696         * minibuf.c (Fall_completions): Undo the previous change
3697         which removed checking elements start with space.
3698
3699 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3700
3701         * mule-canna.c: Didier suppression.
3702
3703 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3704
3705         * mule-canna.c: rename static unsigned char buf[] to key_buffer
3706         (warning suppression).  Add English comment translations.
3707
3708 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3709
3710         * unexelfsgi.c (unexec): Better test for mmap failure.
3711
3712 2000-12-05  Martin Buchholz <martin@xemacs.org>
3713
3714         * XEmacs 21.2.38 is released.
3715
3716 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3717
3718         * redisplay.c (bar-cursor): Make a user variable.
3719
3720         * symsinit.h: Add init_postgresql_from_environment.
3721
3722 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3723
3724         * regex.c: Convert to clean C.
3725
3726 2000-12-05  Dan Holmsand  <dan@eyebee.com>
3727
3728         * realpath.c:
3729         Don't #include sysfile.h. Revert to duplicating PATH_MAX
3730         initialization.
3731         (sys_readlink): renamed to system_readlink to avoid conflict with
3732         the other sys_readlink.
3733
3734 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
3735
3736         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
3737
3738 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
3739
3740         * postgresql.c (init_postgresql_from_environment): new function.
3741         (vars_of_postgresql): Move code initializing Lisp variables out and
3742         into init_postgresql_from_environment.
3743         emacs.c (main_1): Call init_postgresql_from_environment if and only
3744         if running a dumped XEmacs.
3745
3746 2000-08-31  Dan Holmsand  <dan@eyebee.com>
3747
3748         * buffer.c: Make find-file-compare-truenames default to true on
3749         windows.
3750
3751         * realpath.c (win32_abs_start):
3752         (cygwin_readlink):
3753         (win32_readlink): New functions.
3754         (xrealpath): Return really real filenames on windows.
3755
3756         * fileio.c (Ffile_truename): Make file-truename work on windows.
3757
3758 2000-11-29  Didier Verna  <didier@xemacs.org>
3759
3760         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
3761         * faces.c (update_face_cachel_data): use it.
3762         * faces.c (add_face_cachel): use it. Complete background pixmap
3763         frobbing in face cache if `update_face_cachel_data' has not done so.
3764
3765 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
3766
3767         * search.c (string_match_1): Don't set last_thing_searched
3768         when search failed.
3769
3770 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
3771
3772         * buffer.c: Include casetab.h
3773         (common_init_complex_vars_of_buffer): Use new case-table object.
3774         * buffer.h: Include casetab.h
3775         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
3776         (DOWNCASE_TABLE_OF): Ditto.
3777         * bufslots.h: Remove char-tables and add case-table.
3778         * casetab.c: Include casetab.h
3779         (CASE_TABLE_P): Removed.
3780         (mark_case_table): New function.
3781         (allocate_case_table): New function.
3782         (Fcase_table_p): Use new case-table.
3783         (case_table_char): New function.
3784         (Fget_case_table): Ditto.
3785         (Fput_case_table): Ditto.
3786         (Fput_case_table_pair): Ditto.
3787         (Fcopy_case_table): Ditto.
3788         (Fcurrent_case_table): Return case-table.
3789         (Fstandard_case_table): Return case-table.
3790         (Fset_case_table): Fix doc-string.
3791         (set_case_table): Use case-table
3792         (syms_of_casetab): DEFSUBR new functions.
3793         (complex_vars_of_casetab): Set up standard case-table.
3794         * casetab.h: New file.
3795         * editfns.c: Include casetab.h
3796         (Fcompare_buffer_substrings): Use case-table.
3797         * inline.c: Include casetab.h
3798         * lisp.h: Remove bogus extern.
3799         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
3800         * search.c: Include casetab.h
3801         (TRANSLATE_ASCII): Removed.
3802         (TRANSLATE): Unconditionally translate character.
3803         (looking_at_1): Use case-table.
3804         (string_match_1): Ditto.
3805         (fast_string_match): Ditto.
3806         (search_command): Ditto.
3807         (search_buffer): Separate boyer_moore.  Check whether
3808         boyer_moore is poosible.
3809         (simple_search): New function.
3810         (boyer_moore): Separated from search_buffer. Translate char.
3811
3812 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
3813
3814         * regex.c (RE_TR_ASCII): Removed.
3815         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
3816         (PATFETCH): Call PATFETCH_RAW.
3817         (PATFETCH_RAW): Fetch Emchar.
3818         (PATUNFETCH): Decrement charptr.
3819         (GET_BUFFER_SPACE): Rename b to buf_end.
3820         (BUF_PUSH): Ditto.
3821         (BUF_PUSH_2): Ditto.
3822         (BUF_PUSH_3): Ditto.
3823         (EXTEND_BUFFER): Ditto.
3824         (SET_LIST_BIT): Ditto.
3825         (regex_compile): Ditto.  Translate non ASCII char.
3826         (compile_range): Ditto.
3827         (re_search_2): Ditto.
3828         (re_match_2_internal): Compare Emchar.
3829         (bcmp_translate): Ditto.
3830
3831 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
3832
3833         * lisp.h (basic char/int typedefs):  comment improvement.
3834
3835 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
3836
3837         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
3838         unstomp inhibit_site_lisp.  Improve comments.
3839
3840 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
3841
3842         * mule-charset.c (Fcharset_property):  improve type checking, comments.
3843
3844 2000-11-28  Andy Piper  <andy@xemacs.org>
3845
3846         * redisplay-output.c (redisplay_output_subwindow): make sure we do
3847         clipped display for windows in the gutter also.
3848         (redisplay_display_boxes_in_window_p): change semantics of return
3849         codes to be more intuitive.
3850
3851         * gutter.h: declare display_boxes_in_gutter_p.
3852
3853         * gutter.c (display_boxes_in_gutter_p): new function for
3854         redisplay.
3855
3856 2000-11-22  Andy Piper  <andy@xemacs.org>
3857
3858         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
3859         autodetect domain.
3860
3861 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
3862
3863         * callproc.c (Fold_call_process_internal):
3864         * gpm.c (Freceive_gpm_event):
3865         (tty_get_foreign_selection): Might be just warning supression.
3866         * fileio.c (Fwrite_region_internal):
3867         (Fset_visited_file_modtime):
3868         * keymap.c (event_matches_key_specifier_p):
3869         Initialize GCPROed variable.
3870
3871         * menubar-x.c (command_builder_find_menu_accelerator):
3872         Initialize before use.
3873
3874 2000-11-23  Andy Piper  <andy@xemacs.org>
3875
3876         * unexcw.c (unexec): make the resulting executable executable.
3877
3878 2000-11-21  Martin Buchholz  <martin@xemacs.org>
3879
3880         * doc.c (get_doc_string):
3881         Use size_t, not int, for result of XSTRING_LENGTH.
3882
3883         * cmds.c (Fdelete_char):
3884         * cmds.c (Fpoint_at_eol):
3885         * cmds.c (Fself_insert_command):
3886         Use EMACS_INT, not int, for result of XINT.
3887         Someday, someone will want to insert more than 2**31 identical characters.
3888
3889         * cmds.c (Fdelete_char):
3890         * cmds.c (Fdelete_backward_char):
3891         * syntax.c (Fforward_word):
3892         * syntax.c (Fforward_comment):
3893         Make COUNT argument optional, for consistency with forward-char et al.
3894
3895 2000-11-22  Martin Buchholz  <martin@xemacs.org>
3896
3897         * lisp.h:
3898         * print.c (long_to_string):
3899         Return a useful value: the pointer at end of data written.
3900
3901         * doprnt.c:
3902         Use `static const char * const' for constant strings.
3903         (union printf_arg): Delete `i', `ui' members.
3904         (get_doprnt_args):
3905         (emacs_doprnt_1):
3906         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
3907         Do all printf-ing via the `l' specifier.
3908         Use EMACS_INT instead of int.
3909         Optimize.
3910
3911 2000-11-20  Didier Verna  <didier@xemacs.org>
3912
3913         * faces.c (update_face_cachel_data): don't frob the background
3914         pixmap when the window is being created. The face is needed but
3915         does not exist yet.
3916
3917 2000-11-20  Andy Piper  <andy@xemacs.org>
3918
3919         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
3920         messing with a debug environment.
3921
3922 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3923
3924         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
3925
3926 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3927
3928         * casetab.c (Fcase_table_p): Fix compile error and crash.
3929
3930 2000-11-18  Philip Aston  <philipa@mail.com>
3931
3932         * s/cygwin32.h: Cygwin has SVR4-like pty support.
3933
3934 2000-11-18  Martin Buchholz  <martin@xemacs.org>
3935
3936         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
3937         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
3938
3939 2000-11-17  Martin Buchholz  <martin@xemacs.org>
3940
3941         * config.h.in: Define HAVE_ELF_H if elf.h exists.
3942         * unexelf.c: Use HAVE_ELF_H.
3943         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
3944         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
3945         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
3946         Greg Harrington <greg_harrington@hotmail.com> provided a machine
3947         for testing.
3948         So this is an unexelfsgi.c from a different line of development.
3949
3950 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3951
3952         * regex.c (RE_TR_ASCII): New function.
3953         (RE_TRANSLATE): Call it.
3954
3955 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3956
3957         * buffer.h (TRT_TABLE_OF): Remove assert.
3958         (IN_TRT_TABLE_DOMAIN): Removed.
3959
3960 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
3961
3962         * free-hook.c (log_gcpro):
3963         (show_gcprohist): Add support for GCPRO5.
3964
3965 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
3966
3967         * emacs.c (main_1): Improve -sd error message when --pdump=no.
3968
3969 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
3970
3971         * symeval.h: Declare flush_all_buffer_local_cache.
3972
3973         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
3974         (flush_buffer_local_cache): Added.
3975         (flush_all_buffer_local_cache): Added.
3976
3977         * lrecord.h: Remove unused XD_LO_RESET_NIL.
3978
3979         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
3980         (pdump_dump_data): Ditto.
3981         (pdump_reloc_one): Ditto.
3982         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
3983         before dumping.
3984
3985
3986 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
3987
3988         * buffer.c: Remove if 0'ed entry.
3989         * buffer.h: Rewrite TRT to use char-table.
3990         * bufslots.h: Remove mirror tables.
3991         * casetab.c: Remove mirror tables.
3992         (CASE_TABLE_P): New macro.
3993         (Fcase_table_p): Element of a case table is string or char-table.
3994         (make_mirror_trt_table): Removed.
3995         (set_case_table): Setup char-table from strings for backward
3996         compatibility.
3997         * dired.c (Fdirectory_files):
3998         * dired-msw.c: (mswindows_get_files):
3999         * lisp.h: Change prototype of re_pattern_buffer.
4000         * regex.c: (RE_TRANSLATE): New macro.
4001         (TRANSLATE_P): Ditto.
4002         Change translate to type RE_TRANSLATE_TYPE.
4003         * regex.h: Define RE_TRANSLATE_TYPE
4004         * search.c (TRANSLATE): New macro.
4005         (TRANSLATE_ASCII): New macro.
4006         Translate table is changed to Lisp_Object.
4007         (signal_failure): Inhibit return.
4008
4009 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4010
4011         * device-msw.c:
4012         * eldap.c:
4013         * event-Xt.c:
4014         * event-stream.c:
4015         * print.c:
4016         Do UNGCPRO before return.
4017
4018 2000-11-14  Martin Buchholz <martin@xemacs.org>
4019
4020         * XEmacs 21.2.37 is released.
4021
4022 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4023
4024         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4025         Add comments about discarded return value.
4026
4027 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4028
4029         * callint.c:
4030         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4031
4032 2000-10-27  Andy Piper  <andy@xemacs.org>
4033
4034         * gutter.c (Fset_default_gutter_position): default left and right
4035         gutters to visible.
4036         (calculate_gutter_size): calculate resonable heuristic for left
4037         and right gutter sizes.
4038         (specifier_vars_of_gutter): change left and right gutter sizes to
4039         autodetect.
4040         (calculate_gutter_size_from_display_lines): new function.
4041         (output_gutter): check for resizing on left and right gutters.
4042         (clear_gutter): don't special case top and left gutters.
4043         (specifier_vars_of_gutter): use new signature for
4044         set_specifier_caching.
4045
4046         * glyphs-x.c (x_redisplay_widget): spelling fix.
4047         * glyphs.c (specifier_vars_of_glyphs):
4048         * menubar.c (specifier_vars_of_menubar):
4049         * redisplay.c (specifier_vars_of_redisplay):
4050         * toolbar.c (specifier_vars_of_toolbar):
4051         * window.c (specifier_vars_of_window):
4052         * scrollbar.c (specifier_vars_of_scrollbar):
4053         (complex_vars_of_scrollbar): use new signature for
4054         set_specifier_caching.
4055
4056         * specifier.c (set_specifier_caching): include recompute flag.
4057         (recompute_one_cached_specifier_in_window): always recompute if
4058         flag set.
4059         (recompute_one_cached_specifier_in_frame): ditto.
4060
4061         * specifier.h (struct specifier_caching): add recompute flag.
4062
4063 2000-10-24  Andy Piper  <andy@xemacs.org>
4064
4065         * unexcw.c (copy_executable_and_dump_data_section): add new
4066         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4067         5.0 happy.
4068
4069 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4070
4071         * console-x.h (x_device): New member modifier_release_time.
4072         * event-Xt.c (x_handle_sticky_modifiers):
4073         Bound interval modifier keys are sticky.
4074         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4075         * events.h: extern it.
4076
4077 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4078
4079         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4080
4081 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4082
4083         * event-stream.c (execute_command_event): Preserve current_events
4084         and the like when event is misc-user-event.
4085         Inhibit quit during the call to maybe_echo_keys.
4086
4087 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4088
4089         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4090         symlink when buffer is killed.
4091         (inhibit_clash_detection): New variable.
4092
4093 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4094
4095         * console.c (Fset_input_method): Trigger redisplay on tty.
4096
4097 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4098
4099         * process.c (Fprocess_status): Revert to previous behavior:
4100         (process-status "nosuchprocess") ==> nil
4101
4102 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4103
4104         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4105         Work around another GCC 2.95.2 optimizer bug.
4106
4107 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4108
4109         * process.c (Fget_process): Use LIST_LOOP_2.
4110         (kill_buffer_processes): Use LIST_LOOP_2.
4111
4112         * minibuf.c (Fall_completions):
4113         Delete old non-functional code for FSF fourth argument.
4114
4115         * frame.c (frame_matches_frame_spec):
4116         Renamed from `frame_matches_frametype'.  Update all callers.
4117         (device_matches_device_spec):
4118         Renamed from 'device_matches_console_spec'.  Update all callers.
4119
4120         * doc.c (Fsubstitute_command_keys):
4121         Remove buffer overflow crash.  Small code cleanups.
4122
4123         * casetab.c (check_case_table): Simpler code.
4124
4125         * window.c (Freplace_buffer_in_windows):
4126         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4127         (and similar implementation) as Fdelete_windows_on.
4128         Update all callers.
4129
4130         * alloc.c (Fmake_list):
4131         * alloc.c (make_vector):
4132         * alloc.c (Fmake_vector):
4133         * alloc.c (make_bit_vector):
4134         * alloc.c (Fmake_bit_vector):
4135         * alloc.c (Fbit_vector):
4136         * alloc.c (Fmake_string):
4137         * alloc.c (Fpurecopy):
4138         * alloc.c (Fmemory_limit):
4139         * buffer.c:
4140         * buffer.c (Fget_buffer):
4141         * buffer.c (Fkill_buffer):
4142         * buffer.c (complex_vars_of_buffer):
4143         * bytecode.c (Fcompiled_function_stack_depth):
4144         * callint.c (Fprefix_numeric_value):
4145         * event-stream.c:
4146         * event-stream.c (Fread_key_sequence):
4147         * casetab.c:
4148         * casetab.c (Fcase_table_p):
4149         * casetab.c (check_case_table):
4150         * casetab.c (Fset_case_table):
4151         * casetab.c (Fset_standard_case_table):
4152         * chartab.c:
4153         * chartab.c (Fchar_table_type):
4154         * chartab.c (Freset_char_table):
4155         * chartab.c (Fget_char_table):
4156         * chartab.c (Fget_range_char_table):
4157         * chartab.c (Fput_char_table):
4158         * chartab.c (Fmap_char_table):
4159         * chartab.c (Fcategory_table_p):
4160         * chartab.c (Fcheck_category_at):
4161         * chartab.c (Fchar_in_category_p):
4162         * chartab.c (Fcategory_table):
4163         * chartab.c (Fcopy_category_table):
4164         * chartab.c (Fset_category_table):
4165         * chartab.c (Fcategory_designator_p):
4166         * chartab.c (Fcategory_table_value_p):
4167         * cmds.c (Fdelete_char):
4168         * cmds.c (Fdelete_backward_char):
4169         * cmds.c (Fself_insert_command):
4170         * cmds.c (Fself_insert_internal):
4171         * console.c (Fvalid_console_type_p):
4172         * console.c (Fcdfw_console):
4173         * console.c (Fconsole_type):
4174         * console.c (Fconsole_name):
4175         * console.c (Fconsole_device_list):
4176         * console.c (Fconsole_on_window_system_p):
4177         * data.c:
4178         * data.c (Feq):
4179         * data.c (Fold_eq):
4180         * data.c (Fsubr_interactive):
4181         * data.c (Fchar_to_int):
4182         * data.c (Fint_to_char):
4183         * data.c (Fsetcar):
4184         * data.c (Fsetcdr):
4185         * data.c (Fnumber_to_string):
4186         * data.c (Fstring_to_number):
4187         * data.c (Frem):
4188         * database.c (mark_database):
4189         * database.c (finalize_database):
4190         * database.c (Fdatabase_live_p):
4191         * database.c (Fdatabasep):
4192         * device-x.c (Fx_get_resource):
4193         * device.c (Fdfw_device):
4194         * dired.c:
4195         * dired.c (Ffile_name_completion):
4196         * dired.c (Ffile_name_all_completions):
4197         * dired.c (Fuser_name_completion):
4198         * dired.c (Fuser_name_completion_1):
4199         * dired.c (Fuser_name_all_completions):
4200         * doc.c (Fdocumentation):
4201         * doc.c (Fdocumentation_property):
4202         * doc.c (Fsubstitute_command_keys):
4203         * editfns.c:
4204         * editfns.c (Fchar_to_string):
4205         * editfns.c (Fstring_to_char):
4206         * editfns.c (Ftemp_directory):
4207         * editfns.c (Finsert_char):
4208         * editfns.c (Fbuffer_substring_no_properties):
4209         * editfns.c (Fnarrow_to_region):
4210         * editfns.c (Fchar_equal):
4211         * editfns.c (Fchar_Equal):
4212         * editfns.c (Ftranspose_regions):
4213         * emacs.c (Fdump_emacs):
4214         * eval.c (Fthrow):
4215         * eval.c (Fcommand_execute):
4216         * eval.c (Fautoload):
4217         * eval.c (Fbacktrace):
4218         * eval.c (Fbacktrace_frame):
4219         * events.c:
4220         * events.c (Fcopy_event):
4221         * events.c (Fcharacter_to_event):
4222         * events.c (Fevent_button):
4223         * events.c (Fevent_process):
4224         * extents.c:
4225         * extents.c (Fnext_extent_change):
4226         * extents.c (Fextent_property):
4227         * faces.c (Ffacep):
4228         * faces.c (Fmake_face):
4229         * file-coding.c:
4230         * file-coding.c (Fencode_shift_jis_char):
4231         * file-coding.c (Fencode_big5_char):
4232         * fileio.c (Ffile_name_directory):
4233         * fileio.c (Ffile_name_nondirectory):
4234         * fileio.c (Ffile_name_as_directory):
4235         * fileio.c (Fdirectory_file_name):
4236         * fileio.c (Ffile_truename):
4237         * fileio.c (Fsubstitute_in_file_name):
4238         * fileio.c (Ffile_modes):
4239         * fileio.c (Fset_file_modes):
4240         * fileio.c (Fset_default_file_modes):
4241         * fileio.c (Fverify_visited_file_modtime):
4242         * floatfns.c (Facos):
4243         * floatfns.c (Fasin):
4244         * floatfns.c (Fatan):
4245         * floatfns.c (Fcos):
4246         * floatfns.c (Fsin):
4247         * floatfns.c (Ftan):
4248         * floatfns.c (Fbessel_j0):
4249         * floatfns.c (Fbessel_j1):
4250         * floatfns.c (Fbessel_jn):
4251         * floatfns.c (Fbessel_y0):
4252         * floatfns.c (Fbessel_y1):
4253         * floatfns.c (Fbessel_yn):
4254         * floatfns.c (Ferf):
4255         * floatfns.c (Ferfc):
4256         * floatfns.c (Flog_gamma):
4257         * floatfns.c (Fexp):
4258         * floatfns.c (Fexpt):
4259         * floatfns.c (Flog):
4260         * floatfns.c (Flog10):
4261         * floatfns.c (Fsqrt):
4262         * floatfns.c (Fcube_root):
4263         * floatfns.c (Facosh):
4264         * floatfns.c (Fasinh):
4265         * floatfns.c (Fatanh):
4266         * floatfns.c (Fcosh):
4267         * floatfns.c (Fsinh):
4268         * floatfns.c (Ftanh):
4269         * floatfns.c (Fabs):
4270         * floatfns.c (Ffloat):
4271         * floatfns.c (Flogb):
4272         * floatfns.c (Fceiling):
4273         * floatfns.c (Ffloor):
4274         * floatfns.c (Fround):
4275         * floatfns.c (Ftruncate):
4276         * floatfns.c (Ffceiling):
4277         * floatfns.c (Fffloor):
4278         * floatfns.c (Ffround):
4279         * floatfns.c (Fftruncate):
4280         * fns.c (Fstring_equal):
4281         * fns.c (Fstring_lessp):
4282         * fns.c (concat2):
4283         * fns.c (concat3):
4284         * fns.c (vconcat2):
4285         * fns.c (vconcat3):
4286         * fns.c (Fsubstring):
4287         * fns.c (Fassoc):
4288         * fns.c (Fold_assoc):
4289         * fns.c (assoc_no_quit):
4290         * fns.c (Fassq):
4291         * fns.c (Fold_assq):
4292         * fns.c (assq_no_quit):
4293         * fns.c (Frassoc):
4294         * fns.c (Fold_rassoc):
4295         * fns.c (Frassq):
4296         * fns.c (Fold_rassq):
4297         * fns.c (rassq_no_quit):
4298         * fns.c (Fremassoc):
4299         * fns.c (remassoc_no_quit):
4300         * fns.c (Fremassq):
4301         * fns.c (remassq_no_quit):
4302         * fns.c (Fremrassoc):
4303         * fns.c (Fremrassq):
4304         * fns.c (remrassq_no_quit):
4305         * fns.c (Fsort):
4306         * fns.c (Fplist_get):
4307         * fns.c (Fplist_put):
4308         * fns.c (Fplist_remprop):
4309         * fns.c (Fplist_member):
4310         * fns.c (Flax_plist_get):
4311         * fns.c (Flax_plist_put):
4312         * fns.c (Flax_plist_remprop):
4313         * fns.c (Flax_plist_member):
4314         * fns.c (Fequal):
4315         * fns.c (Fold_equal):
4316         * fns.c (Frequire):
4317         * fns.c (Fbase64_encode_region):
4318         * fns.c (Fbase64_encode_string):
4319         * fns.c (Fbase64_decode_region):
4320         * frame.c:
4321         * frame.c (frame_matches_frame_spec):
4322         * frame.c (device_matches_device_spec):
4323         * frame.c (next_frame):
4324         * frame.c (previous_frame):
4325         * frame.c (Fnext_frame):
4326         * frame.c (Fprevious_frame):
4327         * frame.c (Fframe_property):
4328         * frame.c (Fset_frame_height):
4329         * frame.c (Fset_frame_size):
4330         * frame.h:
4331         * glyphs.c:
4332         * glyphs.c (if):
4333         * glyphs.c (decode_error_behavior_flag):
4334         * glyphs.c (Fmake_image_instance):
4335         * indent.c (Findent_to):
4336         * intl.c (Fignore_defer_gettext):
4337         * keymap.c (Fkeymapp):
4338         * keymap.c (Flookup_key):
4339         * lread.c:
4340         * lread.c (Fload_internal):
4341         * lread.c (Feval_buffer):
4342         * lread.c (Feval_region):
4343         * macros.c (Fexecute_kbd_macro):
4344         * marker.c (set_marker_internal):
4345         * marker.c (Fset_marker):
4346         * marker.c (set_marker_restricted):
4347         * marker.c (Fcopy_marker):
4348         * marker.c (noseeum_copy_marker):
4349         * menubar.c:
4350         * menubar.c (Fpopup_menu):
4351         * minibuf.c:
4352         * mule-charset.c (Fcharset_name):
4353         * mule-charset.c (Fchar_charset):
4354         * mule-charset.c (Fchar_octet):
4355         * mule-charset.c (Fsplit_char):
4356         * mule-wnnfns.c (Fwnn_open):
4357         * mule-wnnfns.c (Fwnn_dict_comment):
4358         * mule-wnnfns.c (Fwnn_quit_henkan):
4359         * mule-wnnfns.c (Fwnn_word_toroku):
4360         * mule-wnnfns.c (Fwnn_word_sakujo):
4361         * mule-wnnfns.c (Fwnn_word_use):
4362         * mule-wnnfns.c (Fwnn_hindo_set):
4363         * objects.c:
4364         * objects.c (Fmake_color_instance):
4365         * objects.c (Fmake_font_instance):
4366         * print.c (Fwrite_char):
4367         * process.c:
4368         * process.c (mark_process):
4369         * process.c (print_process):
4370         * process.c (get_process_from_usid):
4371         * process.c (Fprocessp):
4372         * process.c (Fprocess_live_p):
4373         * process.c (Fget_process):
4374         * process.c (Fget_buffer_process):
4375         * process.c (get_process):
4376         * process.c (Fprocess_id):
4377         * process.c (Fprocess_name):
4378         * process.c (Fprocess_command):
4379         * process.c (init_process_io_handles):
4380         * process.c (start_process_unwind):
4381         * process.c (Fstart_process_internal):
4382         * process.c (Fopen_multicast_group_internal):
4383         * process.c (Fset_process_window_size):
4384         * process.c (read_process_output):
4385         * process.c (send_process):
4386         * process.c (Fprocess_tty_name):
4387         * process.c (Fset_process_buffer):
4388         * process.c (Fprocess_buffer):
4389         * process.c (Fprocess_mark):
4390         * process.c (set_process_filter):
4391         * process.c (Fset_process_filter):
4392         * process.c (Fprocess_filter):
4393         * process.c (Fprocess_send_region):
4394         * process.c (Fprocess_send_string):
4395         * process.c (exec_sentinel):
4396         * process.c (Fset_process_sentinel):
4397         * process.c (Fprocess_sentinel):
4398         * process.c (status_notify):
4399         * process.c (Fprocess_status):
4400         * process.c (Fprocess_exit_status):
4401         * process.c (process_send_signal):
4402         * process.c (Fprocess_send_eof):
4403         * process.c (deactivate_process):
4404         * process.c (remove_process):
4405         * process.c (Fdelete_process):
4406         * process.c (kill_buffer_processes):
4407         * process.c (Fprocess_kill_without_query):
4408         * process.c (Fprocess_kill_without_query_p):
4409         * rangetab.c:
4410         * rangetab.c (Fget_range_table):
4411         * rangetab.c (Fput_range_table):
4412         * rangetab.c (Fremove_range_table):
4413         * rangetab.c (Fclear_range_table):
4414         * search.c:
4415         * search.c (Fskip_chars_forward):
4416         * search.c (Fskip_chars_backward):
4417         * search.c (Fskip_syntax_forward):
4418         * search.c (Fskip_syntax_backward):
4419         * search.c (search_command):
4420         * search.c (Freplace_match):
4421         * search.c (Fregexp_quote):
4422         * select.c (Fown_selection_internal):
4423         * select.c (Fselection_owner_p):
4424         * select.c (Fselection_exists_p):
4425         * select.c (Fget_selection_internal):
4426         * specifier.c:
4427         * symbols.c:
4428         * symbols.c (Fintern):
4429         * symbols.c (Fintern_soft):
4430         * symbols.c (Funintern):
4431         * symbols.c (Fapropos_internal):
4432         * symbols.c (Fset_default):
4433         * syntax.c:
4434         * syntax.c (Fsyntax_table_p):
4435         * syntax.c (Fcopy_syntax_table):
4436         * syntax.c (Fset_syntax_table):
4437         * syntax.c (Fchar_syntax):
4438         * syntax.c (syntax_match):
4439         * syntax.c (Fmatching_paren):
4440         * syntax.c (Fforward_word):
4441         * syntax.c (scan_lists):
4442         * syntax.c (Fscan_lists):
4443         * syntax.c (Fscan_sexps):
4444         * syntax.c (Fparse_partial_sexp):
4445         * toolbar.c (Fcheck_toolbar_button_syntax):
4446         * tooltalk.doc:
4447         * window.c:
4448         * window.c (Fwindowp):
4449         * window.c (Fwindow_live_p):
4450         * window.c (Fwindow_point):
4451         * window.c (Fdelete_window):
4452         * window.c (Fnext_window):
4453         * window.c (Fprevious_window):
4454         * window.c (Fother_window):
4455         * window.c (window_loop):
4456         * window.c (Fget_lru_window):
4457         * window.c (Fsplit_window):
4458         * window.c (Fenlarge_window):
4459         * window.c (Fenlarge_window_pixels):
4460         * window.c (Fshrink_window):
4461         * window.c (Fshrink_window_pixels):
4462         * window.c (change_window_height):
4463         * window.c (Fwindow_configuration_p):
4464         * window.c (Fcurrent_window_configuration):
4465         * window.h:
4466         * casefiddle.c (casify_object):
4467         * casefiddle.c (Fupcase):
4468         * casefiddle.c (Fdowncase):
4469         * casefiddle.c (Fcapitalize):
4470         * casefiddle.c (Fupcase_initials):
4471         * casefiddle.c (casify_region_internal):
4472         * casefiddle.c (casify_region):
4473         * casefiddle.c (Fupcase_region):
4474         * casefiddle.c (Fdowncase_region):
4475         * casefiddle.c (Fcapitalize_region):
4476         * casefiddle.c (Fupcase_initials_region):
4477         * casefiddle.c (Fupcase_word):
4478         * casefiddle.c (Fdowncase_word):
4479         * casefiddle.c (Fcapitalize_word):
4480         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4481         Replace 0 with '\0' when working with bytes.
4482         Replace initial "(" with "\(" in docstrings.
4483
4484 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4485
4486         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4487
4488         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4489
4490 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4491
4492         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4493
4494 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4495
4496         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4497         correctly.
4498
4499 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4500
4501         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4502         (inhibit_auto_save_session): New variable.
4503         (vars_of_fileio): Declare and initialize them.
4504         * fileio.c (Fdo_auto_save): Don't create session file if
4505         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4506
4507 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4508
4509         * sgiplay.c (play_internal): C++ compilability.
4510         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4511         * callproc.c (Fold_call_process_internal):
4512         Remove unused vars `env', `first'.
4513         * scrollbar.c (update_scrollbar_instance):
4514         #### unused var `current_window'.
4515         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4516         etc. within #ifdef NOT_YET.
4517         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4518         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4519         * specifier.c (specifier_instance):
4520         #### unused var `tag'.
4521         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4522
4523 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4524
4525         * fns.c (Fbutlast):
4526         * fns.c (list_sort):
4527         * fns.c (Ffillarray):
4528         * fns.c (bytecode_nconc2):
4529         * fns.c (Fnconc):
4530         * fns.c (mapcar1):
4531         * fns.c (Fmapconcat):
4532         Be pedantically 64-bit correct.  For the time when someone will
4533         want to have a list with length > 2**32.
4534
4535         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4536         Work around MIPSpro compiler bug.
4537
4538         * process-unix.c (unix_kill_child_process): Add snarky comment.
4539         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4540
4541         * config.h.in: Oops, _getpt ==> _getpty
4542
4543 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4544
4545         * config.h.in:
4546         * regex.c:
4547         Use void*, not char*, as return type of alloca().
4548
4549         * alloc.c (free_marker): Side effect inside assert expression!
4550
4551 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4552
4553         * mule-charset.c (Fset_charset_ccl_program): To check
4554         if the given ccl program is valid, use setup_ccl_program()
4555         instead of CHECK_VECTOR().
4556         (Fmake_charset): Likewise.
4557
4558 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4559
4560         * faces.c (get_extent_fragment_face_cache_index):
4561         Fix cachel.merged_faces memory leak.
4562
4563 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
4564
4565         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
4566         Reset MSB of octets obtained by DECODE_SJIS
4567         because of the incompatibility with Emacs.
4568         (ccl_driver)<CCL_ENCODE_SJIS>:
4569         Set MSB of octets before passing them to
4570         ENCODE_SJIS because of the incompatibility
4571         with Emacs.
4572
4573 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
4574
4575         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
4576         (DECLARE_LRECORD): Undo the last change.
4577         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
4578
4579 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
4580
4581         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
4582         the implementation to lrecord_implementations_table.
4583
4584 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
4585
4586         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
4587         initial value of `lrecord_type_##c_name' and
4588         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
4589         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
4590         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
4591         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
4592         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
4593
4594 2000-10-17  Martin Buchholz  <martin@xemacs.org>
4595
4596         * miscplay.c (sndcnv8S_2mono):
4597         (sndcnv2monounsigned):
4598         (sndcnvULaw_2linear):
4599         (sndcnv16swap):
4600         Remove implementation-defined behavior.
4601
4602 2000-10-12  Martin Buchholz  <martin@xemacs.org>
4603
4604         * input-method-xlib.c: Warning suppression.
4605
4606 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
4607
4608         * mule-ccl.c: Sync up with Emacs 21.0.90.
4609         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
4610         Do nothing.
4611         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
4612         Likewise.
4613         (ccl_driver[WriteMultibyteChar2]): Bug fix.
4614         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
4615         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
4616         leading char belongs to official 2-dimensional charset.
4617         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
4618         write the given character as is.  Otherwise,
4619         if it is a multibyte char, convert it by
4620         non_ascii_set_charptr_emchar, then write it.
4621         (CCL_WRITE_STRING): Likewise.
4622         (ccl_get_compiled_code): New function.
4623         (setup_ccl_program): When ccl_prog is invalid,
4624         return -1.
4625         (Fregister_code_conversion_map): New function.
4626         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
4627
4628         * mule-ccl.h: Sync up with Emacs 21.0.90.
4629         (Fregister_ccl_program): export it.
4630
4631         * redisplay-msw.c (separate_textual_runs):
4632         If ccl program is not valid, don't do ccl conversion.
4633
4634         * redisplay-x.c (separate_textual_runs): Ditto.
4635
4636         * file-coding.c (Fmake_coding_system):
4637         When type is ccl and value is vector, register it
4638         with a proper symbol.  And checks whether the
4639         given ccl program is valid.
4640         (mule_decode): When calling ccl_driver, if src indicates
4641         NULL pointer, set an empty string instead.
4642         (mule_encode): Likewise.
4643
4644 2000-10-11  Martin Buchholz  <martin@xemacs.org>
4645
4646         The following large batch of changes gets us back to a state of
4647         C++ compilability.  Extbyte is now a char, which means that
4648         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
4649
4650         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
4651
4652         * sound.c (Fplay_sound): Type correctness.
4653
4654         * select-x.c (hack_motif_clipboard_selection): Type correctness.
4655         (x_get_window_property): Type correctness.
4656         (receive_incremental_selection): unsigned char ==> Extbyte
4657         (selection_data_to_lisp_data): unsigned char ==> Extbyte
4658         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
4659         (Fx_store_cutbuffer_internal): Type correctness.
4660
4661         * process-unix.c (try_to_initialize_subtty): Type correctness.
4662
4663         * objects-x.c (x_print_color_instance): Type correctness.
4664         (x_print_font_instance): Type correctness.
4665         (x_list_fonts): SExtbyte ==> Extbyte.
4666         (valid_x_font_name_p): SExtbyte ==> Extbyte.
4667         (x_find_charset_font): SExtbyte ==> Extbyte.
4668         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
4669         (truename_via_XListFonts): SExtbyte ==> Extbyte.
4670         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
4671         Use bufbyte_strcmp.
4672
4673         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
4674         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
4675         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
4676         (BYTE_C0_P): Use bit ops for char-signedness safety.
4677         (BYTE_C1_P): Use bit ops for char-signedness safety.
4678         (CHARSET_BY_LEADING_BYTE):
4679         (CHARSET_BY_ATTRIBUTES):
4680         Always use inline function.
4681         Use type_checking_assert.
4682         Hide chlook.
4683
4684         * mule-charset.c (non_ascii_charptr_copy_char):
4685         Modify to work with both ASCII and non-ASCII characters.
4686         Improve docs and variable names.
4687         Replace over-clever fall-through switch with a simple loop.
4688         (Lstream_get_emchar_1):
4689         Replace over-clever fall-through switch with a simple loop.
4690
4691         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4692         Warning suppression.
4693
4694         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
4695         the return value of Lstream_getc, which could be EOF as well.
4696
4697         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
4698
4699         * lisp.h: Make Extbyte a char, not unsigned char, so that external
4700         APIs can be used on Extbytes without casts.  Risky!
4701         (SExtbyte): Remove.
4702         (UExtbyte): Remove.
4703
4704         * input-method-xlib.c (XIM_init_device):
4705         Use Xlib.h instead of IntrinsicP.h.
4706         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
4707         which will break in X11R7.
4708         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
4709         to call XRegisterIMInstantiateCallback with correct types.
4710
4711         * gui-x.c (button_item_to_widget_value): Type correctness.
4712
4713         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
4714
4715         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
4716         (xbm_instantiate_1): Type correctness.
4717         (BUILD_GLYPH_INST):  Type correctness.
4718
4719         * fileio.c (Fsubstitute_in_file_name): Type correctness.
4720
4721         * file-coding.c:
4722         (decode_coding_sjis):
4723         (decode_coding_big5):
4724         (decode_coding_ucs4):
4725         (decode_coding_utf8):
4726         (decode_coding_iso2022):
4727         (decode_coding_no_conversion):
4728         Make all decoding functions take an Extbyte * arg.
4729         (encode_coding_sjis):
4730         (encode_coding_big5):
4731         (encode_coding_ucs4):
4732         (encode_coding_utf8):
4733         (encode_coding_iso2022):
4734         (encode_coding_no_conversion):
4735         Make all encoding functions take a Bufbyte * arg.
4736         Use size_t instead of unsigned int for memory sizes.
4737         Only cast to unsigned char whenever dereferencing Extbyte *.
4738
4739         * doc.c (unparesseuxify_doc_string): Type correctness.
4740
4741         * console-x.c (split_up_display_spec):
4742         Rewrite without using details of internal string representation.
4743         (x_semi_canonicalize_device_connection): Type correctness.
4744
4745         * config.h.in:
4746         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
4747         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
4748         (HAVE_XFREE386): Removed.
4749
4750         * buffer.h (DEC_CHARPTR): `const' correctness.
4751         (bufbyte_strcmp): New.
4752         (bufbyte_memcmp): New.
4753
4754         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
4755
4756         * buffer.h (XCHAR_OR_CHAR_INT):
4757         Always use inline function.
4758         Remove redundant type checking assert() - XINT will abort quite nicely.
4759
4760 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
4761
4762         * search.c (Freplace_match): Set newtext to an empty string.
4763
4764 2000-10-10  Martin Buchholz  <martin@xemacs.org>
4765
4766         * s/decosf1-3.h: Remove #include of stropts.h
4767         * s/ptx.h: Remove #include of stropts.h
4768         * s/usg5-4.h: Remove #include of stropts.h
4769         * sysproc.h:
4770         * config.h.in:
4771         Use stropts.h, not sys/stropts.h.
4772         Use strtio.h, not sys/strtio.h.
4773
4774 2000-10-04  Martin Buchholz <martin@xemacs.org>
4775
4776         * XEmacs 21.2.36 is released.
4777
4778 2000-09-21  Andy Piper  <andy@xemacs.org>
4779
4780         * glyphs-x.c (x_redisplay_widget): make sure non-structural
4781         changes still involve copying the widget tree.
4782         (update_widget_face): make sure a change is register in the widget
4783         tree. Call update_tab_widget_face appropriately.
4784         (update_tab_widget_face): ditto.
4785         (x_tab_control_redisplay): make sure non-structural changes still
4786         involve copying the widget tree.
4787
4788 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
4789
4790         * lread.c (locate_file): Check the path element is non-nil.
4791
4792 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4793
4794         * lisp.h: Warning suppression for SCO compilers.
4795
4796         * redisplay-tty.c (reset_tty_modes): Fix crash.
4797         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
4798
4799 2000-09-27  Martin Buchholz  <martin@xemacs.org>
4800
4801         Big signal/process handling overhaul.  Bugs fixed:
4802         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
4803         M-x comint-kill-subjob should work for both values nil and t of
4804         process-connection-type. It was broken on most platforms.
4805         Testing on Irix and Cygwin still needed.  Other plaforms tested.
4806         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
4807         * process-unix.c: Signal/Process handling overhaul.
4808         (pty_name): make 64 bytes, as `expect' does, for paranoia.
4809         (allocate_pty): Use all available modern methods of allocating
4810         ptys, falling back to old style BSD allocation as a last resort.
4811         Use allegedly more secure Unix98 pty allocation by default.
4812         (allocate_pty_the_old_fashioned_way): New. the last resort.
4813         (unix_create_process): Push ptem, ldterm, ttcompat where
4814         available.  Autoconfiscate.
4815         (try_to_initialize_subtty): New.
4816         (unix_kill_child_process): Proper signal handling for ptys on most
4817         platforms, using special knowledge of AIX, BSD, etc...
4818         (unix_create_process): Always disconnect_controlling_terminal() for
4819         subprocesses, whether using ptys or not.
4820         * process.h: Remove old getpt-dependent PTY code.
4821         * process.c (Fprocess_send_signal): New, obvious generic function.
4822         (decode_signal): New.
4823         (Finterrupt_process):
4824         (Fkill_process):
4825         (Fquit_process):
4826         (Fstop_process):
4827         (Fcontinue_process):
4828         (Fsignal_process): Use decode_signal.
4829         (process_send_signal):
4830         Many docstring corrections.
4831         Allow any signal to be sent to a process object.
4832         * config.h.in: Add symbols for big signal/process overhaul.
4833         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
4834         * sysproc.h: Include process-related headers, where available:
4835         sys/stropts.h sys/strtio.h pty.h libutil.h
4836         * s/irix4-0.h:
4837         * s/irix5-0.h:
4838         * s/cygwin32.h:
4839         * s/gnu.h:
4840         * s/linux.h:
4841         * s/hpux.h:
4842         * s/aix3-1.h:
4843         Remove old S&M pty stuff.
4844         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
4845         * systty.h: Simplify cpp hackery, improve comments.
4846         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
4847
4848         * editfns.c (Fformat_time_string):
4849         Be a little more paranoid with the return value of ctime.
4850
4851         * fileio.c (check_executable):
4852         (check_writable):
4853         Use symbolic constants X_OK, W_OK.
4854
4855         * console-x.c (split_up_display_spec): Fix a warning.
4856
4857 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4858
4859         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
4860         * ntproc.c (sys_spawnve): make_string ==> build_string
4861         Small clarity improvements.
4862
4863 2000-09-30  Martin Buchholz  <martin@xemacs.org>
4864
4865         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
4866
4867         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
4868
4869         * config.h.in (HAVE_STRCASECMP): Remove.
4870
4871 2000-09-29  Martin Buchholz  <martin@xemacs.org>
4872
4873         * redisplay-output.c (redisplay_output_pixmap):
4874         Cleaner and possibly more 64-bit correct code.
4875
4876 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4877
4878         * dumper.c (pdump_load_finish): move restoration of
4879         `noninteractive1' to emacs.c (main_1).
4880         * emacs.c (main_1): protect LISP-visible command-line flags
4881         from pdump_load().
4882
4883 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
4884
4885         * Makefile.in.in (versionclean):  Use EXE_TARGET and
4886         DUMP_TARGET instead of literal program names.
4887
4888 2000-09-20  Martin Buchholz  <martin@xemacs.org>
4889
4890         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
4891
4892 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4893
4894         * *: Spelling mega-patch
4895
4896 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4897
4898         * fns.c (bad_bad_turtle):
4899         Delete "Eek!" comment, since we fixed the bug to which it refers.
4900
4901 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4902
4903         * alloca.c: Replace REGISTER with register.
4904
4905 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
4906
4907         * file-coding.c (ucs_to_char): Use countof.
4908
4909 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4910
4911         * file-coding.c: (ucs_to_char):
4912         (complex_vars_of_file_coding):
4913         Use countof instead of sizeof.
4914         Use CHECK_NATNUM instead of CHECK_INT.
4915
4916         * sysdep.c (strcasecmp): Remove.
4917         * device-x.c (ascii_strcasecmp): New.
4918         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
4919         Avoid using non-standard non-portable strcasecmp.
4920
4921 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4922
4923         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
4924         * font-lock.c: remove reference to emacsfns.h.
4925         * search.c: small doc improvement.
4926         * event-Xt.c: correct file names in comments.
4927         * console-x.h Correct file names in comments.
4928         * frame.c: Correct file names in comments.
4929         * event-stream.c: remove Energize from comments.
4930
4931 2000-09-15  Martin Buchholz  <martin@xemacs.org>
4932
4933         * symeval.h (DEFERROR_STANDARD):
4934         (DEFERROR):
4935         (DEFSYMBOL):
4936         (DEFSYMBOL_NO_DUMP):
4937         (DEFSYMBOL_MULTIWORD_PREDICATE):
4938         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
4939         (DEFKEYWORD):
4940         The construct &##name is not sensible C.
4941         Fixes compilation errors with Unixware native compiler.
4942
4943 2000-09-14  Martin Buchholz  <martin@xemacs.org>
4944
4945         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
4946         (next_frame_internal): Removed.  We now just have next_frame.
4947         (next_frame):
4948         Write a simpler and cleaner one-pass algorithm.
4949         Remove called_from_delete_device arg and #ifdefed-out code.
4950         (previous_frame):
4951         Renamed from prev_frame.  Update callers.
4952         Cleaned up to have an analogous implementation to next_frame.
4953         (other_visible_frames_internal): Remove the
4954         called_from_delete_device bogus arg, and hence, remove this
4955         function.  Just use other_visible_frames().
4956
4957         * window.c (Fnext_window):
4958         Prettify docstring.
4959         Since next_frame() is guaranteed to return a frame, remove check
4960         for nil inserted in previous patch.
4961         (Fprevious_window):
4962         Prettify docstring.
4963         Make code look more like Fnext_window.
4964         (window_loop):
4965         Respect the `console' arg when iterating through windows.
4966         Fixes bug: (get-buffer-window buffer t device) not respecting
4967         the `device' arg.
4968         This function needs more work, as others have pointed out.
4969
4970         * frame.h: Rename prev_frame to previous_frame.
4971         device_matches_console_spec no longer takes a `frame' arg.
4972
4973         * s/gnu.h:
4974         * s/linux.h:
4975         * s/hpux.h:
4976         Use EMACS_BLOCK_SIGNAL instead of sigblock.
4977         From "Golubev I. N." <gin@mo.msk.ru>.
4978
4979         * make-src-depend: Fix typo.
4980
4981 2000-09-13  Martin Buchholz  <martin@xemacs.org>
4982
4983         * window.c (Fnext_window):
4984         next_frame() might return nil, not a frame.
4985         Fixes this crash:
4986         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
4987
4988         * frame.c (next_frame_internal):
4989         We've passed a frame if we've passed its device.
4990         Fixes this crash:
4991         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
4992 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
4993
4994 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4995
4996         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
4997         Allow option to suppress accelerators in menu/dialog items.
4998         (populate_or_checksum_helper): Pass dialog title through above.
4999
5000 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5001
5002         * event-msw.c (mswindows_key_to_emacs_keysym):
5003         Add "pause" key, fix "menu" key.
5004
5005 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5006
5007         * eval.c (reinit_vars_of_eval):
5008         Increase max_lisp_eval_depth to 1000,
5009         required for thai-xtis.el to byte-compile under some circumstances.
5010
5011 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5012
5013         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5014         From Kenichi Handa.
5015
5016 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5017
5018         * make-src-depend: Make the generated Makefiles smaller.
5019
5020         * s/hpux.h (SETUP_SLAVE_PTY):
5021         Provide a %d in the format string for the errno argument.
5022
5023         * editfns.c (Ftemp_directory):
5024         Warning fix.
5025         Avoid buffer overrun on very long file name.
5026
5027         * input-method-xlib.c (XIM_init_device):
5028         6th parameter of XRegisterIMInstantiateCallback has different
5029         pointer types on different OSes, so simply cast to (void *).
5030
5031         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5032
5033         * sysdll.c (dll_open):
5034         shl_load will hang hard if passed a NULL filename.
5035         Simply return NULL for compatibility with dlopen.
5036         * sysdll.c: Conform to XEmacs coding standards.
5037
5038         * sysdep.c (get_pty_max_bytes):
5039         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5040
5041 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5042
5043         * tooltalk.c: Add #include <syssignal.h>
5044
5045 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5046
5047         * s/hpux.h: Don't use undefined function sigunblock().
5048
5049 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5050
5051         * config.h.in: Add HAVE_BALLOON_HELP.
5052         * emacs.c: Use HAVE_BALLOON_HELP.
5053         * Makefile.in.in (x_objs):
5054         Make Balloon Help conditional on finding shape.h.
5055
5056 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5057
5058         * syntax.c (regex_emacs_buffer_p): New variable.
5059         * syntax.h (regex_emacs_buffer_p): extern.
5060         * search.c (looking_at_1):
5061         (string_match_1):
5062         (fast_string_match):
5063         (search_buffer): Set regex_emacs_buffer_p.
5064         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5065         when before_dot, at_dot, after_dot.
5066
5067 2000-08-23  Andy Piper  <andy@xemacs.org>
5068
5069         * gui-x.c (popup_selection_callback): Only set action_occurred
5070         when we really have an image instance.
5071         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5072
5073 2000-08-23  Andy Piper  <andy@xemacs.org>
5074
5075         * gui-msw.c (mswindows_handle_gui_wm_command): set
5076         action_occurred.
5077         * gui-x.c (popup_selection_callback): ditto.
5078
5079         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5080         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5081         (struct Lisp_Image_Instance): add action_occurred flag.
5082
5083         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5084         (image_instance_changed): ditto.
5085         (reset_frame_subwindow_instance_cache): only unmap windows - do
5086         not remove them from the cache also.
5087
5088         * glyphs-widget.c (tab_control_update): better debug.
5089         (progress_gauge_update): ditto.
5090         (layout_update): ditto.
5091         (layout_instantiate): ditto.
5092         (tab_control_order_only_changed): cope with null pending items.
5093
5094         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5095         debug. Force selection of an item when an action occurred. Cope
5096         with null pending_items.
5097         (mswindows_progress_gauge_redisplay): better debug.
5098         * glyphs-x.c (x_tab_control_redisplay): ditto.
5099
5100         * redisplay.c (redisplay_frame): reset the frame cache if the
5101         frame is garbaged.
5102
5103         * window.c (Fset_window_configuration): potentially re-enable
5104         frame cache reset.
5105         (window_unmap_subwindows): need to finalize instances here since
5106         it is only used in mark_window_as_deleted.
5107
5108 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5109
5110         * nas.c (SndOpenDataForReading):
5111         nas.c (WaveOpenDataForReading):
5112         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5113         Somehow escaped from the 2000-08-14 patch.
5114
5115 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5116
5117         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5118         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5119
5120 2000-08-21  Andy Piper  <andy@xemacs.org>
5121
5122         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5123         window if it is not already displayed.
5124
5125         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5126         it is not already displayed.
5127
5128         * window.c (Fset_window_configuration): don't reset the frame
5129         cache.
5130
5131         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5132         instances from the frame cache if we are actually finalizing them.
5133         (reset_frame_subwindow_instance_cache): reset frame cache only
5134         after unmapping everything.
5135         (map_subwindow): set displayed flag after mapping.
5136
5137 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5138
5139         * data.c (indirect_function):
5140         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5141
5142         * eval.c (function_argcount):
5143         Use original function when signaling errors.
5144
5145 2000-08-18  Andy Piper  <andy@xemacs.org>
5146
5147         * frame.c (delete_frame_internal): use new
5148         free_frame_subwindow_instances name.
5149
5150         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5151         (add_tab_item): make return type correct.
5152         (mswindows_tab_control_instantiate): assert index of tab.
5153         (mswindows_tab_control_redisplay): Re-code to use
5154         gui_item_equal_sans_selected and gui_item_list_find_selected.
5155
5156         * glyphs-widget.c (tab_control_update): Correct comment.
5157
5158         * window.c (window_unmap_subwindows): use new
5159         unmap_subwindow_instance_cache_mapper.
5160         (window_unmap_subwindows_cache_mapper): deleted.
5161         (Fset_window_configuration): comparisons should now be with
5162         EQ. Preserve the subwindow instance cache across configuration
5163         changes.
5164         (allocate_window): ditto.
5165         (make_dummy_parent): ditto.
5166
5167         * glyphs.c (free_frame_subwindow_instances): rename from
5168         free_frame_subwindow_instance_cache. finalize all instances rather
5169         than just those in the display cache.
5170         (finalize_all_subwindow_instances): walk windows unmapping and
5171         finalizing subwindows.
5172         (unmap_subwindow_instance_cache_mapper): moved from
5173         window.c. Allow finalization as well as unmapping.
5174
5175         * gui.c (gui_item_list_find_selected): new function.
5176
5177         * gui.h (gui_item_list_find_selected): declare.
5178
5179         * glyphs-x.c (x_tab_control_redisplay): pick tab
5180         explicitly. Re-code to use gui_item_equal_sans_selected and
5181         gui_item_list_find_selected.
5182
5183         * glyphs-x.h: add lwlib-utils.h
5184
5185         * buffer.c (Frecord_buffer): undo previous change.
5186
5187 2000-08-09  Vin Shelton  <acs@xemacs.org>
5188
5189         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5190         possible.  Create temporary files more securely.  The patch was
5191         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5192         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5193         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5194         for details.
5195
5196 2000-08-07  Ben Wing  <ben@xemacs.org>
5197
5198         * getloadavg.c: remove duplicate (and windows-breaking)
5199         includes of fcntl.h and sys/file.h.
5200
5201         * nt.c: remove duplicate getloadavg() definition.
5202
5203         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5204         encodings.
5205
5206 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5207
5208         * eval.c (function_argcount): If function needs to be autoloaded
5209         actually use the loaded definition.
5210         GCPRO function.
5211
5212 2000-08-05  Ben Wing  <ben@xemacs.org>
5213
5214         * getloadavg.c: add prototype for getloadavg().  remove
5215         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5216         of the code).  remove duplicate header includes.
5217
5218         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5219
5220         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5221         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5222         useful load average.
5223
5224         * alloc.c (reinit_alloc_once_early): removed references to
5225         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5226         the lisp vars are the only things referencing the malloc_sbrk_*
5227         vars, and they were already if 0'd out.  these vars only exist
5228         in the older malloc.c, which is basically unused, and they're
5229         only for informational purposes.
5230
5231         * m\*.h: removed useless VIRT_ADDR_VARIES.
5232
5233         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5234
5235 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5236
5237         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5238         color if the image is a mono pixmap.
5239
5240 2000-07-30  Ben Wing  <ben@xemacs.org>
5241
5242         * Makefile.in.in (release):
5243         Remove stray @.
5244
5245         * buffer.c (directory_is_current_directory):
5246         * dired-msw.c (mswindows_get_files):
5247         * dired.c:
5248         * dired.c (Fdirectory_files):
5249         * dired.c (file_name_completion_stat):
5250         * dired.c (Ffile_attributes):
5251         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5252         preprocessor tricks, to avoid problems on some machines
5253         (e.g. SCO).
5254
5255         * callproc.c (egetenv): GC docs.
5256
5257         * console-msw.h:
5258         * console-msw.h (struct mswindows_dialog_id):
5259         * lrecord.h (lrecord_type):
5260         New object for use with MSW dialogs.
5261
5262         * console.h (struct console_methods):
5263         New enable/disable frame methods, for proper modal dialogs.
5264
5265         * device-msw.c (msprinter_default_printer): Fix to follow
5266         proper Mule conventions.
5267
5268         * device-msw.c:
5269         * device-msw.c (signal_open_printer_error):
5270         * device-msw.c (msprinter_init_device):
5271         * device-msw.c (ensure_not_printing):
5272         * device-msw.c (plist_get_margin):
5273         * device-msw.c (Fmsprinter_select_settings):
5274         * device-msw.c (finalize_devmode):
5275         * device-msw.c (Fmsprinter_settings_despecialize):
5276         * device-msw.c (signal_enum_priner_error):
5277         * extents.c (decode_extent):
5278         * extents.c (decode_map_extents_flags):
5279         * extents.c (decode_extent_at_flag):
5280         * extents.c (Fextent_at):
5281         * extents.c (Fextents_at):
5282         * extents.c (symbol_to_glyph_layout):
5283         [[[[2]]]] Use structured errors.
5284
5285         * dialog-msw.c:
5286         * dialog-msw.c (mswindows_is_dialog_msg):
5287         * dialog-msw.c (mark_mswindows_dialog_id):
5288         * dialog-msw.c (dialog_proc):
5289         * dialog-msw.c (handle_question_dialog_box):
5290         * dialog-msw.c (syms_of_dialog_mswindows):
5291         Define new object to clean up marking; use it as a dialog identifier.
5292         Call new delete-dialog-box-hook.
5293
5294         * dialog-x.c (dbox_selection_callback):
5295         * dialog-x.c (dbox_descriptor_to_widget_value):
5296         * dialog-x.c (x_make_dialog_box_internal):
5297         Call new delete-dialog-box-hook.
5298         Return an id.
5299
5300         * dialog.c:
5301         * dialog.c (syms_of_dialog):
5302         * dialog.c (vars_of_dialog):
5303         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5304
5305         * eval.c:
5306         * eval.c (signal_call_debugger):
5307         when noninteractive, output stack traces on the console instead
5308         of in a (never-seen) buffer.
5309
5310         * eval.c (signal_type_error):
5311         * eval.c (invalid_argument_2):
5312         * lisp.h:
5313         new funs for use w/structured errors.
5314
5315         * event-Xt.c:
5316         * event-Xt.c (x_to_emacs_keysym):
5317         * event-Xt.c (describe_event):
5318         * event-Xt.c (emacs_Xt_event_handler):
5319         * event-Xt.c (vars_of_event_Xt):
5320         * event-msw.c:
5321         * event-msw.c (mswindows_wnd_proc):
5322         * event-msw.c (vars_of_event_mswindows):
5323         rename {x,mswindows}-debug-events to debug-{}-events for
5324         consistency with other debug-foo variables.
5325
5326         * event-stream.c:
5327         document next-event more clearly.
5328
5329         * fileio.c (Ffile_name_directory):
5330         * fileio.c (Ffile_name_nondirectory):
5331         * fileio.c (Funhandled_file_name_directory):
5332         * fileio.c (file_name_as_directory):
5333         * fileio.c (Ffile_name_as_directory):
5334         * fileio.c (directory_file_name):
5335         * fileio.c (Fdirectory_file_name):
5336         * fileio.c (Fmake_temp_name):
5337         * fileio.c (Ffile_truename):
5338         * fileio.c (Fsubstitute_in_file_name):
5339         * fileio.c (expand_and_dir_to_file):
5340         * fileio.c (barf_or_query_if_file_exists):
5341         * fileio.c (check_executable):
5342         * fileio.c (Ffile_exists_p):
5343         * fileio.c (Ffile_writable_p):
5344         * fileio.c (Ffile_directory_p):
5345         * fileio.c (Ffile_regular_p):
5346         * fileio.c (Ffile_modes):
5347         * fileio.c (Ffile_newer_than_file_p):
5348         * fileio.c (Fverify_visited_file_modtime):
5349         * fileio.c (Fset_visited_file_modtime):
5350         * fileio.c (auto_save_1):
5351         (1). (2).
5352         fix up gcpro's.
5353
5354         * frame-msw.c:
5355         * frame-msw.c (mswindows_init_frame_1):
5356         * frame-msw.c (mswindows_enable_frame):
5357         * frame-msw.c (error_frame_unsizable):
5358         * frame-msw.c (msprinter_init_frame_1):
5359         * frame-msw.c (msprinter_init_frame_3):
5360         * frame-msw.c (console_type_create_frame_mswindows):
5361         (2).
5362         implement new enable/disable frame methods.
5363
5364         * frame-x.c:
5365         * frame-x.c (x_enable_frame):
5366         * frame-x.c (console_type_create_frame_x):
5367         implement new enable/disable frame methods.
5368
5369         * frame.c:
5370         * frame.c (Fdisable_frame):
5371         * frame.c (syms_of_frame):
5372         * frame.h (struct frame):
5373         implement new enable/disable frame methods/functions.
5374
5375         * general-slots.h:
5376         add initial-focus.
5377
5378         * glyphs-msw.c (mswindows_widget_instantiate):
5379         comment that initial-focus should be implemented.
5380
5381         * glyphs-widget.c:
5382         * glyphs-widget.c (check_valid_instantiator):
5383         * glyphs-widget.c (check_valid_orientation):
5384         * glyphs-widget.c (check_valid_tab_orientation):
5385         * glyphs-widget.c (check_valid_justification):
5386         * glyphs-widget.c (check_valid_border):
5387         * glyphs-widget.c (check_valid_callback):
5388         * glyphs-widget.c (check_valid_int_or_function):
5389         * glyphs-widget.c (check_valid_string_or_vector):
5390         * glyphs-widget.c (check_valid_item_list_1):
5391         * glyphs-widget.c (widget_validate):
5392         * glyphs-widget.c (combo_box_validate):
5393         * glyphs-widget.c (widget_instantiate):
5394         * glyphs-widget.c (syms_of_glyphs_widget):
5395         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5396         * glyphs-widget.c (image_instantiator_combo_box):
5397         * glyphs-widget.c (image_instantiator_scrollbar):
5398         * glyphs-widget.c (image_instantiator_tab_control):
5399         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5400         (2).
5401         support (unimplemented) keyword initial-focus.
5402         reindent long macros.
5403
5404         * glyphs-x.c (x_redisplay_widget):
5405         * glyphs-x.c (x_button_instantiate):
5406         * glyphs-x.c (x_button_redisplay):
5407         * glyphs-x.c (x_progress_gauge_instantiate):
5408         * glyphs-x.c (x_edit_field_instantiate):
5409         * glyphs-x.c (x_combo_box_instantiate):
5410         * glyphs-x.c (x_tab_control_instantiate):
5411         * glyphs-x.c (x_label_instantiate):
5412         * gui-x.c:
5413         * gui-x.c (button_item_to_widget_value):
5414         * gui-x.c (gui_items_to_widget_values_1):
5415         * gui-x.c (gui_item_children_to_widget_values):
5416         * gui-x.c (gui_items_to_widget_values):
5417         * gui-x.h:
5418         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5419         add new flag to gui-parsing routines to indicate whether
5420         accelerator specs should be supported.
5421
5422         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5423
5424         * glyphs.h (struct Lisp_Image_Instance):
5425         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5426         add initial-focus flag.
5427
5428         * gui.c:
5429         * gui.c (syms_of_gui):
5430         * gui.c (vars_of_gui):
5431         clean up menu-no-selection-hook.
5432
5433         * gui.h:
5434         support delete-dialog-box-hook.
5435
5436         * lread.c (Fload_internal):
5437         * lread.c (locate_file_in_directory_mapper):
5438         (1).
5439
5440         * lrecord.h:
5441         * lrecord.h (struct toolbar_button):
5442         * lrecord.h (syms_of_toolbar):
5443         document how to create a new object.
5444
5445         * menubar-msw.c (mswindows_char_is_accelerator):
5446         may be called on frames w/o menus.
5447
5448         * menubar.c (vars_of_menubar):
5449         clean up :filter docs.
5450
5451         * nt.c (readdir):
5452         * ntproc.c:
5453         (1).
5454
5455         * process-nt.c:
5456         * process-nt.c (validate_signal_number):
5457         * process-nt.c (signal_cannot_launch):
5458         * process-nt.c (nt_create_process):
5459         * process-nt.c (nt_send_process):
5460         * process-nt.c (nt_kill_child_process):
5461         * process-nt.c (nt_open_network_stream):
5462         * process-nt.c (syms_of_process_nt):
5463         (2).
5464         delete quote-handling.  call new lisp code that does it better.
5465
5466         * process-unix.c (connect_to_file_descriptor):
5467         * process-unix.c (allocate_pty):
5468         * process-unix.c (unix_send_process):
5469         * process-unix.c (unix_kill_child_process):
5470         * process-unix.c (unix_open_network_stream):
5471         * process-unix.c (unix_open_multicast_group):
5472         (1). (2).
5473
5474         * process.c:
5475         * process.c (Fstart_process_internal):
5476         (2).  need to canonicalize process path even if absolute.
5477
5478         * select-msw.c (symbol_to_ms_cf):
5479         * select-msw.c (ms_cf_to_symbol):
5480         * select-msw.c (cf_is_autofreed):
5481         * select-msw.c (mswindows_destroy_selection):
5482         * select.c:
5483         * select.c (syms_of_select):
5484         * select.h:
5485         support dibv5, fix bugs. (from Mike Alexander)
5486
5487         * select.c (Fget_selection_internal):
5488         * select.c (select_convert_out):
5489
5490         * sysdep.c:
5491         * sysdep.c (xemacs_stat):
5492         renamed.
5493
5494         * sysdep.c (mkdir):
5495         * sysdep.c (rmdir):
5496         but keep original stat() here because we provide encapsulation
5497         around these funs.
5498
5499         * sysfile.h:
5500         * sysfile.h (fstat):
5501         remove stat garbage.
5502
5503         * syswindows.h:
5504         fix X/MSW conflict.
5505         don't include tchar.h.  it's inappropriate because it makes
5506         compile-time distinctions when we want runtime distinctions.
5507         (we provide our own tchar replacements)
5508
5509         * toolbar.c:
5510         use default object printer for toolbar-button.
5511
5512         * unexcw.c:
5513         make sure we don't encapsulate.
5514
5515         * window.c (vars_of_window):
5516         emphasize that temp-buffer-show-hook is obsolete.
5517
5518 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5519
5520         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5521         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5522
5523         * events.c (Fevent_timestamp_lessp):
5524         Not 64-bit clean.  Use EMACS_INT, not int.
5525
5526 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5527
5528         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5529         unsigned int and changed the last enum to
5530         lrecord_type_last_built_in_type.
5531         (lrecord_implementations_table): changed prototype to know how
5532         long the array is supposed to be.
5533         (lrecord_type_count): new unsigned int to keep track of the
5534         current number of lisp lrecord types.
5535         (DEFINE_EXTERNAL_LRECORD):
5536         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5537         dynamic-modules to declare new lisp types. They are the same
5538         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5539         int for each new type, and increment lrecord_type_count by 1.
5540
5541         * alloc.c (lrecord_implementations_table): Changed to reference
5542         lrecord_type_last_built_in_type for the size of the array.
5543         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5544
5545 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5546
5547         * glyphs.h (check_valid_item_list): Renamed from
5548         check_valid_item_list_1.
5549
5550 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5551
5552         * select.c (Qselect_coerce): New.
5553         * select.c (Vselection_coercion_alist): New.
5554         * select.c (syms_of_select): Declare.
5555         * select.c (get-selection-internal): Use it.
5556         Use the new select-coerce functionality.
5557
5558         * select.c (select_coerce): New.
5559         * select.h (select_coerce): Declare.
5560         New function to coerce one type of data into another.
5561
5562 2000-08-03  Martin Buchholz  <martin@xemacs.org>
5563
5564         * callproc.c (Fcall_process_internal):
5565         (Fcall_process_internal):
5566         * process-unix.c (unix_create_process):
5567         Save and restore the value of errno, so that error messages are accurate.
5568
5569 2000-08-01  Martin Buchholz  <martin@xemacs.org>
5570
5571         * elhash.c (print_hash_table):
5572         Fix printing of hash tables to also use `key-and-value' instead of `t'.
5573         Prettify docstrings and indentation.
5574
5575 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5576
5577         * window.c (Fwindow_pixel_edges): Subtract frame border and
5578         gutter size.
5579
5580 2000-07-31  Andy Piper  <andy@xemacs.org>
5581
5582         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
5583         will acknowledge the change.
5584
5585         * glyphs.h: declare tab_control_order_only_changed.
5586
5587         * glyphs-x.c (x_tab_control_redisplay): use
5588         tab_control_order_only_changed.
5589
5590         * glyphs-widget.c (tab_control_order_only_changed): new function.
5591
5592         * glyphs-msw.c (mswindows_tab_control_redisplay): use
5593         tab_control_order_only_changed.
5594
5595         * gui.c (gui_item_equal_sans_selected): new function.
5596         (gui_item_equal): use it.
5597
5598         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
5599         :properties in favor of :items..
5600
5601         * glyphs-widget.c (check_valid_item_list): rename from
5602         check_valid_item_list_1.
5603         (check_valid_item_list_1): renamed.
5604         (combo_box_validate): deprecate :properties in favor of :items.
5605         (widget_instantiate): ditto.
5606         (tab_control_update): ditto.
5607         (image_instantiator_combo_box): ditto.
5608         (image_instantiator_tree_view): ditto.
5609         (image_instantiator_tab_control): ditto.
5610         (layout_post_instantiate): remove dead code.
5611
5612         * print.c (debug_print_no_newline): only write to debugger if in
5613         WIN32_NATIVE.
5614
5615         * elhash.c (Fmake_hash_table): update doc string.
5616
5617         * event-msw.c (mswindows_wnd_proc): don't allow processing of
5618         messages whilst in GC. This at least stops XEmacs crashing but has
5619         the potential for wierd behaviour.
5620
5621 2000-07-31  Martin Buchholz  <martin@xemacs.org>
5622
5623         * config.h.in:
5624         Make existence of s&m files optional.
5625
5626         * s/bsd386.h: Remove HAVE_GETLOADAVG.
5627         * s/freebsd.h: Remove HAVE_GETLOADAVG.
5628         * s/gnu.h: Remove HAVE_GETLOADAVG.
5629         * s/netbsd.h: Remove HAVE_GETLOADAVG.
5630         * s/sol2.h: Remove HAVE_GETLOADAVG.
5631         * lisp.h: Remove getloadavg() declaration.
5632         * fns.c:
5633         Include <sys/loadavg.h> if available.
5634         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
5635         * config.h.in:  Group together getloadavg()-related macros.
5636         Use only configure-time tests to detect getloadavg().
5637
5638 2000-07-30  Martin Buchholz  <martin@xemacs.org>
5639
5640         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
5641
5642 2000-07-25  Andy Piper  <andy@xemacs.org>
5643
5644         * syswindows.h: add tchar.h for native builds.
5645
5646         * frame.c (syms_of_frame): remove set-glyph-image.
5647
5648         * general-slots.h: add Qset_glyph_image.
5649
5650         * glyphs-widget.c (layout_update): add domain arg to
5651         set-glyph-image.
5652         (syms_of_glyphs_widget): remove set-glyph-image.
5653
5654 2000-07-23  Ben Wing  <ben@xemacs.org>
5655
5656         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
5657         Vpopup_frame_list.
5658
5659 2000-07-22  Andy Piper  <andy@xemacs.org>
5660
5661         * symsinit.h: add syms_of_win32().
5662
5663         * gui-msw.c (syms_of_gui_mswindows): remove
5664         Fmswindows_shell_execute.
5665         (Fmswindows_shell_execute): moved to win32.c.
5666
5667         * emacs.c (main_1): add syms_of_win32 ().
5668
5669         * win32.c (init_potentially_nonexistent_functions): rewrite in
5670         compiler-friendly terms.
5671         (Fmswindows_shell_execute): move here from gui-msw.c.
5672         (syms_of_win32): new.
5673
5674         * device-msw.c (Fmswindows_printer_list): clean up args to
5675         EnumPrinters.
5676         Don't include tchar under cygwin or mingw.
5677         (msprinter_default_printer): make cygwin-friendly.
5678
5679 2000-07-21  Andy Piper  <andy@xemacs.org>
5680
5681         * glyphs-widget.c (image_instantiator_tree_view): use tab
5682         control's update function.
5683         (layout_property): new function. Retrieve items.
5684
5685         * glyphs-msw.c (mswindows_tree_view_redisplay): new
5686         function. Re-populate the tree view from the pending items.
5687
5688         * glyphs.c (instantiate_image_instantiator): Make sure the domain
5689         is designated the parent if the domain is an image instance. This
5690         is needed so that dirtiness can be cascade up the hierarchy and
5691         thus for layout children to be redisplayed correctly.
5692         (allocate_image_instance): rename glyph -> parent.
5693
5694         * redisplay.h: change redisplay_output_layout signature.
5695
5696         * redisplay-msw.c (mswindows_output_display_block): use domain
5697         arg.
5698
5699         * redisplay-x.c (x_output_display_block): use domain arg.
5700
5701 2000-07-10  Andy Piper  <andy@xemacs.org>
5702
5703         * window.c (Fset_window_configuration): add comment.
5704
5705         * redisplay-output.c (compare_runes):
5706         (redisplay_output_subwindow): redisplay rather than update subwindow.
5707         (redisplay_output_layout): ditto.
5708
5709         * redisplay-msw.c (mswindows_frame_output_end):
5710         (mswindows_frame_output_end): make defer window pos optional.
5711
5712         * lisp.h: add Flast.
5713
5714         * glyphs.h (struct image_instantiator_methods): add dest_mask top
5715         normalize method. Change update method to be for changed
5716         instantiators. Add redisplay method. Change signature of layout
5717         method.
5718         (struct Lisp_Image_Instance): add instantiator.
5719         (IMAGE_INSTANCE_INSTANTIATOR): new.
5720         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
5721         (XIMAGE_INSTANCE_INSTANTIATOR): new.
5722         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
5723
5724         * glyphs.c:
5725         (find_instantiator_differences): new function.
5726         (Fset_instantiator_property): new convenience function.
5727         (check_image_instance_structure): strictly check for vector
5728         instantiators.
5729         (normalize_image_instantiator): make non-static.
5730         (instantiate_image_instantiator): pass on dest_mask and use new
5731         signatures for image_instance_layout and friends.
5732         (mark_image_instance): mark the instantiator. Mark the subwindow
5733         face not the widget face.
5734         (image_instance_equal): add instantiator.
5735         (image_instance_hash): ditto.
5736         (allocate_image_instance): ditto.
5737         (Fset_image_instance_property): removed.
5738         (Fimage_instance_file_name): ditto.
5739         (Fcolorize_image_instance): ditto.
5740         (image_instance_layout): add offsets to be set.
5741         (update_image_instance): new function. update an image instance
5742         from its changed instantiator.
5743         (inherit_normalize): add dest_mask.
5744         (xbm_normalize): ditto.
5745         (xface_normalize): ditto.
5746         (xpm_normalize): ditto.
5747         (text_update): set_property -> update.
5748         (image_instantiate): use the glyph identity as a hash key, not the
5749         instantiator.
5750         (glyph_width): use new image_instance_layout signature.
5751         (glyph_ascent): ditto.
5752         (glyph_descent): ditto.
5753         (glyph_height): ditto.
5754         (glyph_query_geometry): ressurrect.
5755         (glyph_layout): ditto.
5756         (redisplay_subwindow): update -> redisplay.
5757         (syms_of_glyphs): add Fset_instantiator_property.
5758         (image_instantiator_format_create): set_property -> update.
5759
5760         * glyphs-x.c:
5761         (autodetect_normalize): add dest_maks to signature.
5762         (x_redisplay_subwindow): update -> redisplay.
5763         (x_redisplay_widget): ditto.
5764         (x_button_redisplay): ditto.
5765         (x_progress_gauge_redisplay): ditto.
5766         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
5767         stacking order.
5768         (console_type_create_glyphs_x): update -> redisplay.
5769         (image_instantiator_format_create_glyphs_x): ditto.
5770
5771         * glyphs-widget.c:
5772         (check_valid_instantiator): disallow glyphs in the instantiator,
5773         they must now be vectors.
5774         (check_valid_instantiator_list): ditto.
5775         (glyph_instantiator_to_glyph): use internal symbol rather than
5776         intern.
5777         (widget_update): renamed from widget_set_property. Call cascaded
5778         update methods.
5779         (redisplay_widget): renamed from update_widget.
5780         (widget_layout): image_instance_layout now takes position as well
5781         as size.
5782         (widget_normalize): ditto.
5783         (widget_instantiate): ditto.
5784         (tab_control_query_geometry) ditto.:
5785         (tab_control_update): renamed from tab_control_set_property.
5786         (progress_gauge_update): set_property -> update.
5787         (layout_normalize): rewrite so that child instantiators are
5788         normalized also.
5789         (layout_update): new function. Create glyphs from the normalized
5790         children and cope with any other layout keywords. We do not
5791         instantiate children here that will be take care of by
5792         redisplay_output_layout.
5793         (layout_instantiate): call layout_update and not much else.
5794         (layout_post_instantiate): not sure whether this is needed
5795         anymore.
5796         (layout_query_geometry): query glyph geometry rather than
5797         image_instance geometry.
5798         (layout_layout): set offsets from pass in parameters. Use glyph
5799         geometry and layout functions rather than image instance ones.
5800         (native_layout_layout): ditto.
5801         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
5802         (image_instantiator_widget): set_property -> update.
5803         (image_instantiator_buttons): ditto.
5804         (image_instantiator_progress_guage): ditto.
5805         (image_instantiator_tab_control): ditto.
5806         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
5807         (image_instantiator_layout): add update method.
5808
5809         * glyphs-msw.c (bmp_normalize):
5810         (mswindows_resource_normalize): add dest_mask so that it can be
5811         proprogated by layout_normalize.
5812         (begin_defer_window_pos): make optional because it may not be the
5813         right thing to do and it introduces differences with X.
5814         (mswindows_unmap_subwindow): ditto.
5815         (mswindows_map_subwindow): ditto.
5816         (mswindows_redisplay_subwindow): renamed from
5817         mswindows_update_subwindow.
5818         (mswindows_redisplay_widget): ditto.
5819         (mswindows_button_redisplay): renamed from
5820         mswindows_button_update. Update is now what the instantiation
5821         function does for a changed instantiator.
5822         (mswindows_progress_gauge_instantiate): set the progress value
5823         here if appropriate.
5824         (mswindows_tab_control_redisplay): cope with re-ordering of the
5825         members of the tab widget by simply selecting the new top
5826         widget. This makes things appear ok if you click on a tab.
5827         (mswindows_combo_box_instantiate): image_instance_layout now takes
5828         position as well as size.
5829         (mswindows_progress_gauge_redisplay): renamed from
5830         mswindows_progress_gauge_update.
5831         (console_type_create_glyphs_mswindows): fix update -> redisplay.
5832         (image_instantiator_format_create_glyphs_mswindows): ditto.
5833
5834         * glyphs-eimage.c (jpeg_normalize):
5835         (gif_normalize):
5836         (png_normalize):
5837         (tiff_normalize): add dest_mask so that it can be proprogated by
5838         layout_normalize.
5839
5840         * elhash.c:
5841         (print_hash_table):
5842         (hash_table_weakness_validate):
5843         (decode_hash_table_weakness):
5844         (Fhash_table_weakness):
5845         (Fhash_table_type):
5846         (syms_of_elhash): use Ben's naming scheme for hashtable types..
5847
5848         * console.h (struct console_methods): move update_* to
5849         redisplay_*.
5850
5851 2000-07-20  Ben Wing  <ben@xemacs.org>
5852
5853         * *.[ch] (XSETOBJ): remove unused middle argument.
5854         lisp-disunion.h: correct wrap_object() to one argument.
5855
5856 2000-07-15  Ben Wing  <ben@xemacs.org>
5857
5858         * s/cygwin32.h:
5859         * s/cygwin32.h (CYGWIN_CONV_PATH):
5860         Add missing logb prototype for v1.1.
5861         Use post-b20 names and alias to pre-b20 names when pre-b20.
5862
5863         * s/windowsnt.h: [5].
5864
5865 2000-07-15  Ben Wing  <ben@xemacs.org>
5866
5867         * Makefile.in.in (x_objs):
5868         * Makefile.in.in (sheap_objs):
5869         * Makefile.in.in (objs):
5870         added win32.o, cosmetic cleanups.
5871
5872         * alloc.c (Fmake_byte_code):
5873         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
5874         etc. macros which declare their own args now.
5875
5876         * alloc.c (syms_of_alloc):
5877         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
5878
5879         * buffer.c:
5880         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
5881
5882         * buffer.c (Fget_file_buffer):
5883         Fixed GCPRO problem.
5884
5885         * buffer.c (get_truename_buffer):
5886         Fixed comment about GC checking.
5887
5888         * buffer.c (syms_of_buffer):
5889         Undeclared those dedicated frame funs.
5890         [2].
5891
5892         * buffer.h:
5893         Define convenience macros for internal/external conversions.
5894         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
5895         and Qenvironment_variable_encoding for cleaner code.
5896
5897         * bufslots.h:
5898         Remove dedicated-frame; in lisp.
5899
5900         * bytecode.c (funcall_compiled_function):
5901         [1].
5902
5903         * bytecode.c (syms_of_bytecode):
5904         [2].
5905
5906         * console-msw.c:
5907         * console-msw.c (mswindows_show_console): Rewrote.
5908
5909         * console-msw.c (Fmswindows_debugging_output): New.
5910         Sends to OutputDebugString (special MSWin debugger interface).
5911
5912         * console-msw.c (Fmswindows_message_box):
5913         Fixed stupid bugs so it works when called from kill-emacs.
5914
5915         * console-msw.c (syms_of_console_mswindows):
5916         Declare Fmswindows_debugging_output.
5917
5918         * console-msw.h:
5919         New MSWin prototypes.
5920
5921         * console-msw.h (struct mswindows_frame):
5922         New entry last-click-mods for improved button-modifier support.
5923
5924         * console-msw.h (FRAME_MSWINDOWS_POPUP):
5925         New struct entry `popup' with corresponding accessor.
5926
5927         * console-x.c:
5928         * console-x.c (split_up_display_spec):
5929         * console-x.c (get_display_arg_connection):
5930         * console-x.c (x_semi_canonicalize_console_connection):
5931         * console-x.c (x_canonicalize_device_connection):
5932         [[[6]]]: Change char to more specific type.
5933         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
5934
5935         * console-x.c (x_semi_canonicalize_console_connection):
5936         * console-x.c (x_canonicalize_device_connection):
5937         [[[9]]]: Fix up error signalling to use new structured error system.
5938
5939         * console-x.h:
5940         [[[4]]]: Define codesys aliases:
5941         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
5942         Qx_color_name_encoding, Qx_display_name_encoding.
5943
5944         * console.h (struct console_methods):
5945         New method make_dialog_box_internal supersedes older
5946         popup_dialog_box method.
5947
5948         * data.c:
5949         Define many new errors, part of new structured errors.
5950
5951         * data.c (init_errors_once_early):
5952         * data.c (syms_of_data):
5953         [2].
5954
5955         * device-msw.c (mswindows_init_device):
5956         [[[5]]]: Cleanup to support NT 3.51.
5957
5958         * device-msw.c (decode_devmode): Cleanup.
5959
5960         * device-msw.c (mswindows_handle_print_setup_dialog_box):
5961         * device-msw.c (mswindows_handle_print_dialog_box):
5962         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5963         * device-msw.c (syms_of_device_mswindows):
5964         Delete the dialog box primitives recently introduced by Kirill and
5965         instead interface to general dialog box interface.
5966
5967         * device-x.c:
5968         * device-x.c (compute_x_app_name):
5969         * device-x.c (x_init_device):
5970         * device-x.c (Fx_valid_keysym_name_p):
5971         * device-x.c (Fx_set_font_path):
5972         [6].
5973         [7].
5974
5975         * device.h (wrap_device): New.
5976         First of its kind; meant to replace XSETDEVICE.
5977
5978         * dialog-msw.c: Many file-dialog symbols.
5979
5980         * dialog-msw.c (mswindows_register_popup_frame): New.
5981         * dialog-msw.c (mswindows_is_dialog_msg): New.
5982         For supporting kbd traversal in dialog boxes.
5983
5984         * dialog-msw.c (dialog_proc):
5985         Support hitting ESC in dialogs.
5986
5987         * dialog-msw.c (struct):
5988         Common dialog box errors.
5989
5990         * dialog-msw.c (handle_file_dialog_box): New.
5991         Add file dialog code.
5992
5993         * dialog-msw.c (handle_question_dialog_box):
5994         Redo existing code to support new question dialog syntax.
5995
5996         * dialog-msw.c (console_type_create_dialog_mswindows):
5997         We support new dialog console method.
5998
5999         * dialog-msw.c (syms_of_dialog_mswindows):
6000         * dialog-msw.c (vars_of_dialog_mswindows):
6001         New file dialog symbols, vars.
6002
6003         * dialog-x.c:
6004         * dialog-x.c (maybe_run_dbox_text_callback):
6005         * dialog-x.c (dbox_descriptor_to_widget_value):
6006         * dialog-x.c (x_make_dialog_box_internal):
6007         * dialog-x.c (console_type_create_dialog_x):
6008         Mule-ize entire file.
6009         Redo to support question dialog syntax.
6010         [6].
6011
6012         * dialog.c:
6013         * dialog.c (Fmake_dialog_box_internal):
6014         * dialog.c (syms_of_dialog):
6015         Kill old popup-dialog-box, replace with new primitive.
6016         Just call device method or signal error.
6017
6018         * eldap.c (Fldap_open):
6019         * eldap.c (Fldap_search_basic):
6020         * eldap.c (Fldap_add):
6021         * eldap.c (Fldap_modify):
6022         [1].
6023         [7].
6024
6025         * emacs.c:
6026         * emacs.c (make_arg_list_1):
6027         * emacs.c (make_arg_list):
6028         Mule-ize call to dll_init().
6029         [6].
6030         [8].
6031
6032         * emacs.c (make_argc_argv):
6033         * emacs.c (free_argc_argv):
6034         * emacs.c (init_cmdargs):
6035         * emacs.c (main_1):
6036         * emacs.c (Fkill_emacs):
6037         * emacs.c (Fdump_emacs):
6038         Update comments about what can be used in syms_* etc.
6039         Call init_win32() when necessary.
6040         Fix up MS Win dialog box in kill-buffer to actually work right.
6041         [7].
6042
6043         * eval.c:
6044         * eval.c (For):
6045         * eval.c (Fand):
6046         * eval.c (Fprogn):
6047         * eval.c (Fprog1):
6048         * eval.c (Fprog2):
6049         * eval.c (FletX):
6050         * eval.c (Flet):
6051         * eval.c (condition_case_3):
6052         * eval.c (Feval):
6053         * eval.c (function_argcount):
6054         * eval.c (funcall_lambda):
6055         [1].
6056
6057         * eval.c (type_error): New.
6058         * eval.c (maybe_type_error): New.
6059         * eval.c (continuable_type_error): New.
6060         * eval.c (maybe_continuable_type_error): New.
6061         * eval.c (type_error_with_frob): New.
6062         * eval.c (maybe_type_error_with_frob): New.
6063         * eval.c (continuable_type_error_with_frob): New.
6064         * eval.c (maybe_continuable_type_error_with_frob): New.
6065         New functions for use with structured errors.
6066
6067         * event-Xt.c:
6068         * event-Xt.c (x_event_to_emacs_event):
6069         Buttons are now modifiers too.
6070
6071         * event-Xt.c (emacs_Xt_current_event_timestamp):
6072         Implement new event method.
6073         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6074
6075         * event-msw.c:
6076         * event-msw.c (ntpipe_shove_writer): [5].
6077         * event-msw.c (mswindows_enqueue_mouse_button_event):
6078         * event-msw.c (mswindows_drain_windows_queue):
6079         * event-msw.c (mswindows_wnd_proc): [7].
6080         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6081         * event-msw.c (mswindows_modifier_state):
6082         Throughout: support new button modifiers.
6083
6084         * event-msw.c (emacs_mswindows_current_event_timestamp):
6085         Implement new event method.
6086         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6087
6088         * event-stream.c:
6089         * event-stream.c (event_stream_current_event_timestamp): New.
6090         * event-stream.c (maybe_kbd_translate): New functionality.
6091         * event-stream.c (vars_of_event_stream):
6092         Document new kbd-translate-table functionality.
6093
6094         * event-stream.c (Fcurrent_event_timestamp): New.
6095         New primitive for use in fabricated events.
6096         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6097
6098         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6099
6100         * events.c:
6101         * events.c (Fmake_event):
6102         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6103         [1].
6104         [9].
6105
6106         * events.c (format_event_object): fix gcc warnings.
6107
6108         * events.c (Fevent_timestamp): Document new primitives.
6109
6110         * events.c (TIMESTAMP_HALFSPACE): New.
6111
6112         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6113         comparing timestamps correctly (half-space algorithm).
6114
6115         * events.c (Fevent_modifier_bits): Doc fix.
6116
6117         * events.c (Fevent_modifiers): Major doc addition.
6118         * events.c (event_x_y_pixel_internal): Typo fix.
6119         * events.c (syms_of_events): Declare new primitives.
6120
6121         * events.h:
6122         Update long comment for button modifiers, timestamps.
6123
6124         * events.h (struct event_stream):
6125         New current_event_timestamp method.
6126
6127         * extents.c:
6128         * extents.c (extent_in_region_p):
6129         * extents.c (decode_extent):
6130         * extents.c (Fset_extent_parent):
6131         * extents.c (decode_map_extents_flags):
6132         Fix gcc warnings.
6133         [9].
6134
6135         * extents.c (struct extent_at_arg):
6136         * extents.c (decode_extent_at_flag):
6137         * extents.c (extent_at_mapper):
6138         * extents.c (extent_at_bytind):
6139         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6140         * extents.c (Fextents_at): New primitive. [9].
6141         * extents.c (symbol_to_glyph_layout): [9].
6142         Support new primitive `extents-at'.
6143
6144
6145         * extents.c (get_text_property_bytind):
6146         extent_at_bytind has another arg.
6147         [9].
6148
6149         * extents.c (syms_of_extents): New primitive.
6150
6151         * file-coding.c (Fmake_coding_system): [1].
6152         * file-coding.c (subsidiary_coding_system): fix gcc warning
6153         * file-coding.c (syms_of_file_coding): [2].
6154
6155         * fileio.c (Fexpand_file_name):
6156         * fileio.c (Fsysnetunam):
6157         * fileio.c (Ffile_exists_p):
6158         * fileio.c (Ffile_executable_p):
6159         * fileio.c (Fverify_visited_file_modtime):
6160         Clean up GCPROing.
6161
6162         * fileio.c (syms_of_fileio): [2].
6163
6164         * filelock.c (lock_file_1):
6165         * filelock.c (current_lock_owner):
6166         * filelock.c (lock_if_free):
6167         * filelock.c (lock_file):
6168         * filelock.c (unlock_file):
6169         Clean up GCPROing.
6170
6171         * fns.c (concat): Fix gcc warning.
6172
6173         * fns.c (Fmember):
6174         * fns.c (Fold_member):
6175         * fns.c (Fmemq):
6176         * fns.c (Fold_memq):
6177         * fns.c (memq_no_quit):
6178         * fns.c (Fassoc):
6179         * fns.c (Fold_assoc):
6180         * fns.c (Fassq):
6181         * fns.c (Fold_assq):
6182         * fns.c (assq_no_quit):
6183         * fns.c (Frassoc):
6184         * fns.c (Fold_rassoc):
6185         * fns.c (Frassq):
6186         * fns.c (Fold_rassq):
6187         * fns.c (rassq_no_quit):
6188         * fns.c (Fdelete):
6189         * fns.c (Fold_delete):
6190         * fns.c (Fdelq):
6191         * fns.c (Fold_delq):
6192         * fns.c (delq_no_quit):
6193         * fns.c (Fremassoc):
6194         * fns.c (Fremassq):
6195         * fns.c (remassq_no_quit):
6196         * fns.c (Fremrassoc):
6197         * fns.c (Fremrassq):
6198         * fns.c (remrassq_no_quit):
6199         * fns.c (Freverse):
6200         * fns.c (mapcar1):
6201         [1].
6202
6203         * frame-msw.c (mswindows_init_frame_1):
6204         * frame-msw.c (mswindows_delete_frame):
6205         Register popups with dialog code so keyboard traversing works.
6206
6207         * frame-tty.c (tty_raise_frame_no_select): [1].
6208
6209         * frame-x.c:
6210         * frame-x.c (x_set_frame_text_value):
6211         * frame-x.c (x_set_frame_properties):
6212         * frame-x.c (x_create_widgets):
6213         [7].
6214
6215         * frame.c:
6216         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6217
6218         * frame.h (wrap_frame): New.
6219         Macro like wrap_device.
6220
6221         * general.c:
6222         * general.c (SYMBOL):
6223         * general.c (syms_of_general):
6224         Major reorg.  This is now just a wrapper and symbols themselves
6225         are listed in general-slots.h.
6226
6227         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6228         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6229
6230         * glyphs-msw.c (mswindows_native_layout_instantiate):
6231         Add DS_CONTROL so keyboard traversal will work.
6232
6233         * glyphs-widget.c:
6234         * glyphs-widget.c (syms_of_glyphs_widget):
6235         Move some symbols to general-slots.h.
6236
6237         * glyphs-x.c:
6238         * glyphs-x.c (xbm_instantiate_1):
6239         * glyphs-x.c (x_xbm_instantiate):
6240         * glyphs-x.c (x_xface_instantiate):
6241         * glyphs-x.c (autodetect_instantiate):
6242         * glyphs-x.c (cursor_font_instantiate):
6243         * glyphs-x.c (x_update_widget):
6244         * glyphs-x.c (x_widget_instantiate):
6245         * glyphs.c (bitmap_to_lisp_data):
6246         * glyphs.c (pixmap_to_lisp_data):
6247         [7].
6248
6249         * glyphs.c (syms_of_glyphs):
6250         [2].
6251
6252         * gui-x.c:
6253         * gui-x.c (print_widget_value):
6254         * gui-x.c (menu_separator_style_and_to_external):
6255         * gui-x.c (add_accel_and_to_external):
6256         * gui-x.c (button_item_to_widget_value):
6257         * gui-x.c (gui_items_to_widget_values_1):
6258         * gui-x.c (gui_items_to_widget_values):
6259         * gui-x.c (syms_of_gui_x):
6260         * gui-x.c (vars_of_gui_x):
6261         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6262         [9].
6263
6264         * gui-x.h:
6265         Muleize, prototype changes matching gui-x.c.
6266
6267         * gui.c:
6268         * gui.c (separator_string_p):
6269         * gui.c (gui_item_add_keyval_pair):
6270         * gui.c (make_gui_item_from_keywords_internal):
6271         * gui.c (signal_too_long_error):
6272         * gui.c (parse_gui_item_tree_item):
6273         * gui.c (syms_of_gui):
6274         * gui.c (vars_of_gui):
6275         * gui.h:
6276         menu-no-selection-hook moved here (used by MSWin).
6277         Move some symbols to general-slots.h.
6278         [6].
6279         [9].
6280
6281         * insdel.c (get_buffer_pos_char):
6282         * insdel.c (get_buffer_range_char):
6283         Add GC comments.
6284
6285         * keymap.c (keymap_lookup_directly):
6286         * keymap.c (keymap_store):
6287         * keymap.c (ensure_meta_prefix_char_keymapp):
6288         * keymap.c (describe_map):
6289         * keymap.h:
6290         Support new button modifiers.
6291
6292         * lisp-disunion.h (wrap_object):
6293         * lisp-disunion.h (XSETOBJ):
6294         Rename make_obj to wrap_object.
6295
6296         * lisp-union.h:
6297         * lisp-union.h (make_int):
6298         * lisp-union.h (make_char):
6299         Support wrap_object.
6300
6301         * lisp.h:
6302         * lisp.h (LIST_LOOP):
6303         * lisp.h (EXTERNAL_LIST_LOOP):
6304         * lisp.h (LIST_LOOP_2):
6305         * lisp.h (EXTERNAL_LIST_LOOP_1):
6306         * lisp.h (EXTERNAL_LIST_LOOP_2):
6307         * lisp.h (EXTERNAL_LIST_LOOP_3):
6308         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6309         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6310         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6311         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6312         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6313         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6314         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6315         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6316         * lisp.h (struct Lisp_Symbol):
6317         * lisp.h (maybe_continuable_error_with_frob):
6318         Fix up section comments.
6319         Add new types for char to indicate usage.
6320         Delete symbols auto-generated from general-slots.h.
6321         Add prototypes for structured error functions.
6322         Add long comments describing looping macros and change interface
6323         so that lvalues are automatically declared.
6324         Add NO_DECLARE macro in case callers want to declare lvalues
6325         themselves.
6326
6327         * lread.c (read_syntax_error):
6328         * lread.c (continuable_read_syntax_error):
6329         * lread.c (read_structure):
6330         * lread.c (sequence_reader):
6331         * lread.c (read_list_conser):
6332         * lread.c (read_compiled_function):
6333         Rename syntax_error and continuable_syntax_error to avoid clash
6334         with same-named structured error functions.
6335
6336         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6337         * menubar-msw.c (populate_menu_add_item):
6338         * menubar-msw.c (populate_or_checksum_helper):
6339         [5].
6340         [9].
6341
6342         * menubar-x.c:
6343         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6344         Mule-ize whole file.
6345
6346         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6347
6348         * mule-charset.c (Fmake_charset):
6349         * mule-wnnfns.c (Fwnn_set_param):
6350         [1].
6351
6352         * ntproc.c (create_child):
6353         * ntproc.c (Fwin32_set_current_locale):
6354         Add comments portending doom.
6355
6356         * objects-msw.c:
6357         * objects-msw.c (old_font_enum_callback_2):
6358         * objects-msw.c (font_enum_callback_1):
6359         * objects-msw.c (mswindows_enumerate_fonts):
6360         [5].
6361
6362         * objects-x.c:
6363         * objects-x.c (allocate_nearest_color):
6364         * objects-x.c (x_parse_nearest_color):
6365         * objects-x.c (x_initialize_color_instance):
6366         * objects-x.c (x_print_color_instance):
6367         * objects-x.c (x_finalize_color_instance):
6368         * objects-x.c (x_valid_color_name_p):
6369         * objects-x.c (x_initialize_font_instance):
6370         * objects-x.c (x_print_font_instance):
6371         * objects-x.c (valid_x_font_name_p):
6372         * objects-x.c (truename_via_FONT_prop):
6373         * objects-x.c (truename_via_random_props):
6374         * objects-x.c (truename_via_XListFonts):
6375         * objects-x.c (x_font_truename):
6376         * objects-x.c (x_font_instance_truename):
6377         * objects-x.c (x_font_instance_properties):
6378         * objects-x.c (x_list_fonts):
6379         * objects-x.c (x_find_charset_font):
6380         Mule-ize entire file.
6381         [7].
6382
6383         * objects-x.h:
6384         Mule-verify.
6385
6386         * print.c:
6387         * print.c (std_handle_out_external):
6388         * print.c (debug_print_no_newline):
6389         * print.c (syms_of_print):
6390         Output to all debugger kinds in debug-print.
6391         Fix console-output code under MSWin to actually work.
6392
6393         * process-nt.c (send_signal):
6394         * process-nt.c (nt_create_process):
6395         Use newer Unicode macros.
6396
6397         * process-unix.c (unix_create_process):
6398         * process-unix.c (unix_canonicalize_host_name):
6399         * process-unix.c (unix_open_network_stream):
6400         [7].
6401
6402         * scrollbar-x.c:
6403         Mule-verify.
6404
6405         * search.c (syms_of_search):
6406         [2].
6407
6408         * select-msw.c (mswindows_destroy_selection):
6409         Use LIST_LOOP_2.
6410
6411         * select-x.c (symbol_to_x_atom):
6412         [7].
6413
6414         * select.c (syms_of_select):
6415         [2].
6416
6417         * sound.c (Fplay_sound_file):
6418         [7].
6419
6420         * specifier.c:
6421         * specifier.c (decode_specifier_type):
6422         * specifier.c (Fvalid_specifier_locale_type_p):
6423         * specifier.c (check_valid_locale_or_locale_type):
6424         * specifier.c (decode_locale):
6425         * specifier.c (decode_locale_type):
6426         * specifier.c (decode_locale_list):
6427         * specifier.c (check_valid_domain):
6428         * specifier.c (decode_specifier_tag_set):
6429         * specifier.c (Fcanonicalize_tag_set):
6430         * specifier.c (Fdefine_specifier_tag):
6431         * specifier.c (Fspecifier_tag_predicate):
6432         * specifier.c (check_valid_inst_list):
6433         * specifier.c (check_valid_spec_list):
6434         * specifier.c (decode_how_to_add_specification):
6435         * specifier.c (check_modifiable_specifier):
6436         * specifier.c (specifier_add_spec):
6437         * specifier.c (boolean_validate):
6438         * specifier.c (display_table_validate):
6439         [9].
6440
6441         * specifier.c (syms_of_specifier):
6442         Move some symbols to general-slots.h.
6443         [2].
6444
6445         * symbols.c:
6446         * symbols.c (Fmapatoms):
6447         * symbols.c (Fapropos_internal):
6448         Add GCPROs.
6449
6450         * symbols.c (set_default_buffer_slot_variable):
6451         * symbols.c (set_default_console_slot_variable):
6452         [1].
6453
6454         * symbols.c (defsymbol_massage_name_1):
6455         * symbols.c (defkeyword_massage_name):
6456         * symbols.c (deferror_1):
6457         * symbols.c (deferror):
6458         * symbols.c (deferror_massage_name_and_message):
6459         * symeval.h:
6460         * symeval.h (DEFSYMBOL):
6461         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6462
6463         * symbols.c (syms_of_symbols):
6464         [2].
6465
6466         * symsinit.h:
6467         * symsinit.h (init_win32): New.
6468         Also new is syms_of_dialog_mswindows.
6469
6470         * syswindows.h:
6471         Add new Unicode macros, missing Cygwin wide-char functions,
6472         convenience conversion macros for Qmswindows_tstr, macros for
6473         encapsulating required MSWin <-> Cygwin filename conversions,
6474         prototype for dynamically-extracted (not in NT 3.51) functions.
6475
6476         * toolbar-x.c:
6477         Mule-verify.
6478
6479         * tooltalk.c (Fadd_tooltalk_message_arg):
6480         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6481         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6482         [7].
6483
6484         * tooltalk.c (syms_of_tooltalk):
6485         [2].
6486
6487         * unexnt.c:
6488         * unexnt.c (unexec):
6489         Fix up headers, declaration of unexec() to be more standard.
6490
6491 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6492
6493         * offix.h: Revert change to guard macros - they're used in offix.c!
6494
6495 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6496
6497         * lisp.h: Defsubred Fdelete.
6498
6499         * console-msw.h:  (msprinter_default_printer): Added.
6500
6501         * console-msw.c (msprinter_canonicalize_console_connection):
6502         (msprinter_canonicalize_device_connection): Added.
6503
6504         * device-msw.c (msprinter_default_printer):
6505         (Fmswingows_get_default_printer):
6506         (signal_enum_priner_error):
6507         (Fmswingows_printer_list): Added.
6508
6509 2000-07-19  Martin Buchholz <martin@xemacs.org>
6510
6511         * XEmacs 21.2.35 is released.
6512
6513 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6514
6515         * select-x.c (x_handle_selection_request):
6516         Text selected in xemacs and pasted into xterm failed to appear.
6517         Spelling fixes and cosmetic changes.
6518
6519 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6520
6521         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6522         XEmacs frame (fix for doubling chars in dialog boxes).
6523
6524 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6525
6526         * select.c (select_convert_in, select_convert_out):
6527         Don't call intern() every time.
6528
6529         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6530         * select.c (vars_of_select): Initialise them.
6531
6532 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6533
6534         * select.c (selection-coercible-types): New.
6535
6536         * select.c (own-selection-internal):
6537         * select.c (get-selection-internal):
6538         MULE bug fix - these should default to COMPOUND_TEXT and not
6539         STRING for MULE. I think.
6540
6541         * select.c (select_convert_out): Use selection-coercible-types
6542         to find types that we can attempt to perform coercions on.
6543
6544 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6545
6546         * mule-wnnfns.c:
6547         * mule-canna.c:
6548         Add coding: cookie to identify encoding.
6549
6550         * mule-canna.c (CANNA_mode_keys): make static.
6551         Use proper prototypes, even for functions of no arguments.
6552         Remove external prototype for Fding().
6553
6554         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6555
6556         * select.c (syms_of_select): Add missing DEFSUBR.
6557
6558 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6559
6560         * select.c (get_selection_internal, own_selection_internal):
6561         Make the type default to STRING, rather than placing a nil type
6562         into Vselection_alist.
6563
6564 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6565
6566         * gpmevent.c (tty_selection_exists_p):
6567         * gpmevent.c (tty_own_selection):
6568         Updated parameter lists.
6569
6570 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
6571
6572         * select.h (selection-alist): Removed declaration.
6573
6574         * select.h (get_local_selection):
6575         * select.c (get_local_selection):
6576         Made static.
6577
6578         * select.h (convert_selection): Removed declaration.
6579         * select.c (convert_selection): Removed.
6580         This function belongs in Lisp.
6581
6582         * select.h (select_convert_in): Declare.
6583         * select.h (select_convert_out): Declare.
6584         * select.c (select_convert_in): New.
6585         * select.c (select_convert_out): New.
6586         New conversion functions for other files to call.
6587
6588         * select.h (select_notify_buffer_kill): Declare.
6589         * select.c (select_notify_buffer_kill): New.
6590         New functions that get called from kill-buffer.
6591
6592         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
6593         X-specific lisp code.
6594
6595         * select.h: Declare some of the lisp-visible functions for
6596         external use.
6597
6598         * select.c (clean_local_selection_data): Removed. This was
6599         a disgusting function, and previously should have been in
6600         select-x.c in any case. The functionality is now provided
6601         in select-convert-from-integer (select.el).
6602
6603         * select.c (available-selection-types): Fixed stupidity where
6604         INTEGER and ATOM got added twice. Also add STRING when we see an
6605         extent.
6606
6607         * select.c (get-selection-internal): Removed symbol stripping. No
6608         longer causes conversion when data comes from the internal cache.
6609
6610         * select.c (syms_of_select): Added new functions.
6611
6612         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
6613         error checking - previously this called abort!
6614
6615         * select-x.c (x_own_selection): Changed comment.
6616
6617         * select-x.c (x_handle_selection_request): Use select_convert_out.
6618         Don't mess with selection-alist; it's an internal variable of select.c.
6619
6620         * select-x.c (x_get_foreign_selection): Use select_convert_in.
6621
6622         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
6623         rather than messing with selection-alist.
6624
6625         * select-msw.c (mswindows_get_foreign_selection):
6626         Use TO_INTERNAL_FORMAT rather than hacking.
6627
6628 2000-07-14  Martin Buchholz  <martin@xemacs.org>
6629
6630         * process-unix.c (unix_open_multicast_group):
6631         (unix_open_multicast_group): Remove useless casts.
6632
6633 2000-07-13  Martin Buchholz  <martin@xemacs.org>
6634
6635         * sound.c (Fplay_sound): Fix `unused variable' warning.
6636
6637         * emacs.c (main): Use correct type for _environ on SCO5.
6638
6639 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
6640
6641         * console.h (own_selection_method):
6642         * console.h (selection_exists_p_method):
6643         * console.h (available_selection_types_method): New.
6644         * console.h (register_selection_data_type_method): New.
6645         * console.h (selection_data_type_name): New.
6646
6647         * console-msw.h (mswindows_destroy_selection): Declare it.  New
6648         function & alist to track GlobalAlloc()'d handles that need
6649         releasing when the clipboard data gets replaced or emptied.
6650
6651         * event-msw.c (mswindows_wnd_proc): Call it.
6652
6653         * lisp.h, general.c (Qappend): New symbol representing a
6654         `how-to-add' mode.
6655
6656         * select.c (own-selection-internal):
6657         * select.c (selection-exists-p):
6658         * select.c (available-selection-types): New.
6659         * select.c (register-selection-data-type): New.
6660         * select.c (selection-data-type-name): New.  New functions to deal
6661         with device-specific selection data formats.
6662         * select.c (selection-converter-out-alist): Renamed.
6663         * select.c (selection-converter-in-alist): New.
6664         * select.c (selection-appender-alist): New.  Added new alists.
6665         * select.c (syms_of_select, vars_of_select): Added new symbols &
6666         variables.
6667         * select.c (get_local_selection): Split.
6668         * select.c: Removed spurious type checking - selections may now be
6669         of any type, not just strings.
6670         * select.c (own-selection-internal):
6671
6672         * select.h, select.c (convert_selection): New. Created
6673         convert_selection() function based on get_local_selection().
6674         * select.h, select.c (QCF_*): New symbols representing mswindows
6675         clipboard formats.
6676         * select.h, select.c (Qreplace_all, Qreplace_existing): New
6677         symbols representing `how-to-add' modes.
6678
6679         * select-msw.c (x_sym_p): New.
6680         * select-msw.c (symbol_to_ms_cf): New.
6681         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
6682         symbols & clipboard formats. Can also handle string names.
6683         * select-msw.c (mswindows_own_selection):
6684         * select-msw.c (mswindows_selection_exists_p):
6685         Added `data-type' parameter. Use it.
6686         * select-msw.c (mswindows_available_selection_types): New.
6687         * select-msw.c (mswindows_register_selection_data_type): New.
6688         * select-msw.c (mswindows_selection_data_type_name): New.
6689         * select-msw.c (mswindows_own_selection):
6690         * select-msw.c (mswindows_get_foreign_selection):
6691         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
6692         * select-msw.c (console_create_select_mswindows): Added new methods.
6693         * select-msw.c (mswindows_destroy_selection): New.
6694         * select-msw.c (Vhandle_alist): New list.
6695         * select-msw.c (mswindows_own_selection):
6696
6697         * select-x.c (x_own_selection):
6698         * select-x.c (x_selection_exists_p):
6699         * select-x.c: Added some comments about maybe using new
6700         functionality.
6701         * select-x.c (x_own_selection):
6702
6703         * specifier.c: Remove definition of Qappend (now in general.c)
6704         * specifier.c (syms_of_specifier): Remove Qappend.
6705
6706 2000-07-12  Martin Buchholz  <martin@xemacs.org>
6707
6708         * config.h.in: Add socklen_t.
6709
6710         * s/decosf4-0.h: No special compiler flags needed or desired.
6711         In particular, undefine _BSD for DEC OSF 4.0.
6712
6713 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6714
6715         * redisplay-msw.c (msprinter_frame_output_end): Added.
6716         (console_type_create_redisplay_mswindows): Referred the above.
6717
6718         * frame.c (setup_frame_without_minibuffer): Do not create a
6719         default minibuffer frame on a printer device.
6720
6721         * frame-msw.c (apply_dc_geometry): Added.
6722         (msprinter_start_page):
6723         (msprinter_init_frame_3):
6724         (msprinter_eject_page): Use it.
6725
6726         * console-msw.h (struct msprinter_frame): Added pix_left and top,
6727         and removed residual duplex and orientation properties.
6728
6729 2000-07-11  Martin Buchholz  <martin@xemacs.org>
6730
6731         * eval.c (function_argcount): Work around a DEC CC compiler bug.
6732
6733         * unexalpha.c: Remove system prototypes from C sources!
6734
6735 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
6736
6737         * eval.c: Remove references to M-x edit-options in DEFUNs for
6738         `defvar' and `defconst'.
6739
6740 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6741
6742         * config.h.in: Remove SMART_INCLUDE hackery.
6743
6744         PostgreSQL hacking:
6745         * config.h.in: Don't use SMART_INCLUDE.
6746
6747         * postgresql.h: Include libpq-fe.h here.  Fix typo.
6748         * inline.c: Simply #include "postgresql.h"
6749         * postgresql.c:
6750         - Don't use SMART_INCLUDE
6751         - Use simply "const".
6752         - Use standard doc string conventions.
6753         - Use correct type for result of PQstatus.
6754
6755 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6756
6757         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
6758
6759         C++ compilation changes.
6760         * config.h.in (EXTERN_C): Define.
6761         * config.h.in (not): This is also a C++ keyword.
6762         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
6763         * cm.c: Use EXTERN_C.
6764         * redisplay-tty.c: Use EXTERN_C.
6765         * sysdep.c: Use EXTERN_C.  Remove Gould support.
6766
6767 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6768
6769         * general.c: Remove duplicate definition for Qfunction.
6770
6771 2000-07-08  Ben Wing  <ben@xemacs.org>
6772
6773         * device-msw.c (msprinter_init_device):
6774         * device-msw.c (sync_printer_with_devmode):
6775         * device-msw.c (handle_devmode_changes):
6776         * device-msw.c (print_dialog_worker):
6777         * device-msw.c (Fmsprinter_apply_settings):
6778         * device-msw.c (hash_devmode):
6779         * device-msw.c (Fmsprinter_settings_despecialize):
6780         use Qmswindows_tstr, not Qctext.
6781
6782         * vm-limit.c (check_memory_limits):
6783         avoid infinite loop printing warning messages.
6784
6785 2000-07-05  Craig Lanning  <lanning@scra.org>
6786
6787         * Makefile.in.in: Add support for including the Windows resources
6788         when building with the cygwin and mingw targets.
6789
6790         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
6791         not set or not correct.
6792         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
6793         (init_initial_directory): Don't try to use $PWD on the
6794         WIN32_NATIVE target.
6795
6796         * s\cygwin32.h:
6797         [[Add -mwindows to eliminate console window.]] not required --ben
6798         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6799         (MAIL_USE_POP): removed; now handled by configure.
6800
6801         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
6802         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
6803         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6804         (MAIL_USE_POP): removed; now handled by configure.
6805         (ENCAPSULATE_STAT): from Dan Holmsand, added.
6806         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
6807         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
6808         constant string.
6809         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
6810         up from <winsock.h> via systime.h.
6811         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
6812         (getpagesize): from Dan Holmsand, added.
6813         Added #endif which was left dangling by Ben's mega patch; added
6814         comment to help prevent this in the future.
6815
6816         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
6817
6818 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6819
6820         * console-msw.h (struct mswindows_device): Removed unnecessary
6821         cached device geometry values.
6822         Added update_tick and an accessor macro.
6823         (Lisp_Devmode): Added lrecord declaration.
6824         (struct msprinter_device): Contain devmode as a Lisp object.
6825         Added mswindows_get_selected_frame_hwnd();
6826
6827         * console.h (struct console_methods): Indentation nitpicking.
6828
6829         * device-msw.c (mswindows_init_device): Do not initialize geometry
6830         cache. Initialize update tick.
6831         (mswindows_device_system_metrics): Ask the device for its geometry.
6832         (global_free_2_maybe):
6833         (devmode_to_hglobal):
6834         (handle_printer_changes):
6835         (ensure_not_printing):
6836         (print_dialog_worker):
6837         (Fmsprinter_print_setup_dialog):
6838         (Fmsprinter_print_dialog):
6839         (plist_get_margin):
6840         (plist_set_margin):
6841         (Fmsprinter_page_setup_dialog): Added functions.
6842         (sync_printer_with_devmode):
6843         (handle_devmode_changes):
6844         (Fmsprinter_get_settings):
6845         (Fmsprinter_select_settings):
6846         (Fmsprinter_apply_settings):
6847         (allocate_devmode):
6848         (Fmsprinter_settings_copy):
6849         (Fmsprinter_settings_despecialize):
6850         (print_devmode):
6851         (finalize_devmode):
6852         (equal_devmode):
6853         (hash_devmode): Added functions
6854         (syms_of_device_mswindows): Init devmode lrecord class.
6855
6856         * device.h: Added an exfun for find-device.
6857
6858         * event-msw.c (mswindows_wnd_proc): Do not update the cached
6859         geometry; although, recreate the device compatible DC.
6860
6861         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
6862         (msprinter_init_frame_3):
6863         (msprinter_frame_property):
6864         (msprinter_internal_frame_property_p):
6865         (msprinter_frame_properties):
6866         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
6867         print job properties (will move to device settings).
6868
6869         * lisp.h: Added symbols.
6870
6871         * general.c (syms_of_general): Declared them.
6872
6873         * hash.c (string_hash): Added.
6874
6875         * lrecord.h (lrecord_type): Added devmode lrecord type.
6876
6877 2000-07-02  Mike Sperber <mike@xemacs.org>
6878
6879         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
6880         FreeBSD 4.0.
6881
6882 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
6883
6884         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
6885         integer.
6886
6887 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
6888
6889         * data.c (Fstring_to_number): Don't recognize floating point if
6890         base is not 10.
6891
6892 2000-06-22  Martin Buchholz  <martin@xemacs.org>
6893
6894         * glyphs-widget.c (tab_control_query_geometry):
6895         (widget_query_geometry):
6896         (button_query_geometry):
6897         * glyphs.c (text_query_geometry):
6898         Enforce type correctness.
6899
6900 2000-06-18  Martin Buchholz  <martin@xemacs.org>
6901
6902         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
6903         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
6904
6905 2000-06-17  Martin Buchholz  <martin@xemacs.org>
6906
6907         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
6908         conflicts with gcc's fixincluded version of FOO.h.
6909
6910         * glyphs.h (image_instance_geometry): Remove trailing `,'
6911
6912 2000-06-08  Mike Alexander  <mta@arbortext.com>
6913
6914         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
6915         (shove_thread): Don't write the same output twice
6916         (make_ntpipe_output_stream): Increase priority of shove thread
6917         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
6918         chance to run
6919         (ntpipe_shove_closer): Don't delete the pipe until we're done with
6920         it.
6921
6922 2000-06-12  Ben Wing  <ben@xemacs.org>
6923
6924         * s\mingw32.h (sigset):
6925         * s\windowsnt.h (sigset):
6926         rename msw_ to mswindows_ for consistency with general convention.
6927
6928 2000-06-12  Ben Wing  <ben@xemacs.org>
6929
6930         * console-msw.c:
6931         * console-msw.c (mswindows_get_console_hwnd):
6932         * console-msw.c (mswindows_ensure_console_allocated):
6933         * console-msw.c (mswindows_hide_console):
6934         * console-msw.c (mswindows_show_console):
6935         * console-msw.c (mswindows_ensure_console_buffered):
6936         * console-msw.c (mswindows_output_console_string):
6937         * console-msw.c (mswindows_windows9x_p):
6938         * console-msw.h:
6939         * device-msw.c (mswindows_get_workspace_coords):
6940         * device-msw.c (mswindows_device_system_metrics):
6941         * dialog-msw.c (mswindows_popup_dialog_box):
6942         * event-msw.c (mswindows_wnd_proc):
6943         * frame-msw.c (mswindows_size_frame_internal):
6944         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6945         * menubar-msw.c (displayable_menu_item):
6946         * menubar-msw.c (mswindows_char_is_accelerator):
6947         * nt.c:
6948         * nt.c (mswindows_sigset):
6949         * nt.c (mswindows_sigrelse):
6950         * nt.c (mswindows_sigpause):
6951         * nt.c (mswindows_raise):
6952         * nt.c (timer_proc):
6953         * ntproc.c:
6954         * ntproc.c (find_child_console):
6955         * ntproc.c (sys_kill):
6956         * print.c:
6957         * print.c (std_handle_out_external):
6958         * process-nt.c (find_child_console):
6959         * process-nt.c (send_signal_the_95_way):
6960         * process-nt.c (ensure_console_window_exists):
6961         * process-nt.c (nt_create_process):
6962         * syssignal.h:
6963         rename msw_ to mswindows_ for consistency with general convention.
6964
6965         * emacs.c:
6966         * dumper.c:
6967         include nt.h, not syswindows.h.
6968
6969         * nt.c (mswindows_fstat):
6970         * nt.c (mswindows_stat):
6971         prefix mswindows_ instead of attempting to directly override the
6972         library functions.  fix declarations.
6973
6974         * nt.h:
6975         include syswindows.h.  move some sysdep.h stuff here.
6976
6977         * ntheap.h:
6978         include syswindows.h, not <windows.h>.
6979
6980         * ntplay.c:
6981         clean up headers.
6982
6983         * sysdep.c:
6984         clean up headers.
6985
6986         * sysdep.c (sys_fstat):
6987         * sysdep.c (sys_stat):
6988         call mswindows versions when appropriate.
6989
6990         * sysdep.h:
6991         move mswin decls to nt.h.
6992
6993         * syswindows.h:
6994         add long comment describing appropriate use of the various windows
6995         headers.
6996
6997 2000-06-11  Ben Wing  <ben@xemacs.org>
6998
6999         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7000
7001 2000-06-10  Ben Wing  <ben@xemacs.org>
7002
7003         * Makefile.in.in (release):
7004         Correction to make sure xemacs.exe always dumped when correct.
7005
7006         * alloca.c:
7007         * balloon_help.c:
7008         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7009
7010         * buffer.c (set_buffer_internal):
7011         [[[[2]]]]: Remove HAVE_FEP code.
7012
7013         * buffer.c (init_initial_directory):
7014         [3].
7015
7016         * bytecode.c:
7017         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7018         individual files.
7019
7020         * callproc.c:
7021         * callproc.c (call_process_cleanup):
7022         * callproc.c (Fold_call_process_internal):
7023         * callproc.c (child_setup):
7024         * callproc.c (getenv_internal):
7025         * callproc.c (init_callproc):
7026         * callproc.c (vars_of_callproc):
7027         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7028         __CYGWIN32__ -> CYGWIN.
7029         DOS_NT -> WIN32_NATIVE.
7030         Remove MSDOS support/references, converting to WIN32_NATIVE
7031           where correct.
7032         __MINGW32__ -> MINGW.
7033         Fix windows.h includes.
7034         Remove bogus HAVE_NTGUI.
7035
7036         * config.h.in:
7037         [2].
7038
7039         * console-msw.c:
7040         mswindows_message_outputted added for use in allowing startup
7041         errors on the console to be seen.
7042
7043         * console-msw.c (msw_ensure_console_allocated):
7044         * console-msw.c (msw_output_console_string):
7045         * console-msw.c (DHEADER):
7046         * console-msw.c (DOPAQUE_DATA):
7047         * console-msw.c (DEVENT):
7048         * console-msw.c (DCONS):
7049         * console-msw.c (DCONSCDR):
7050         * console-msw.c (DSTRING):
7051         * console-msw.c (DVECTOR):
7052         * console-msw.c (DSYMBOL):
7053         * console-msw.c (DSYMNAME):
7054         Fix warnings.
7055
7056         * console-stream.c (stream_init_console):
7057         Fix text/binary problems.
7058
7059         * device-msw.c:
7060         * device-msw.c (mswindows_finish_init_device):
7061         * device-msw.c (mswindows_delete_device):
7062         [1].
7063
7064         * device.c (handle_asynch_device_change):
7065         [3].
7066
7067         * dgif_lib.c:
7068         * dgif_lib.c (DGifOpenFileName):
7069         * dgif_lib.c (DGifOpenFileHandle):
7070         * dgif_lib.c (DGifGetLine):
7071         * dgif_lib.c (DGifGetPixel):
7072         Added config.h/lisp.h, fix up includes.
7073         [1].
7074
7075         * dired-msw.c:
7076         [4].
7077
7078         * dired.c:
7079         * dired.c (file_name_completion):
7080         * dired.c (Ffile_attributes):
7081         * dired.c (syms_of_dired):
7082         [1].
7083
7084         * dumper.c:
7085         * dumper.c (pdump_file_unmap):
7086         * dumper.c (pdump_load):
7087         [1].
7088
7089         * editfns.c:
7090         * editfns.c (Ftemp_directory):
7091         * editfns.c (user_login_name):
7092         * editfns.c (Fuser_real_login_name):
7093         * editfns.c (get_home_directory):
7094         [1].
7095
7096         * elhash.c (finish_marking_weak_hash_tables):
7097         [[[[5]]]]: Fix GCC warnings.
7098
7099         * emacs.c:
7100         * emacs.c (mswindows_handle_hardware_exceptions):
7101         * emacs.c (make_arg_list_1):
7102         * emacs.c (main_1):
7103         * emacs.c (Fkill_emacs):
7104         * emacs.c (Fdump_emacs):
7105         [1].
7106         Fix problems with nested crashes, add long comment.
7107
7108         * event-Xt.c (init_event_Xt_late):
7109         [1].
7110
7111         * event-msw.c:
7112         * event-msw.c (mswindows_dde_callback):
7113         * event-msw.c (mswindows_handle_sticky_modifiers):
7114         * event-msw.c (mswindows_wnd_proc):
7115         [1].
7116         [5].
7117
7118         * events.c (character_to_event):
7119         [1].
7120
7121         * fileio.c:
7122         * fileio.c (Ffile_name_directory):
7123         * fileio.c (Ffile_name_nondirectory):
7124         * fileio.c (directory_file_name):
7125         * fileio.c (Fexpand_file_name):
7126         * fileio.c (Fsubstitute_in_file_name):
7127         * fileio.c (Ffile_name_absolute_p):
7128         * fileio.c (check_executable):
7129         * fileio.c (Ffile_readable_p):
7130         * fileio.c (Ffile_accessible_directory_p):
7131         * fileio.c (Ffile_modes):
7132         * fileio.c (Funix_sync):
7133         * fileio.c (vars_of_fileio):
7134         [1]. [4].
7135
7136         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7137
7138         Expand getdefdir defn.
7139         Fix bogus rename() comment.
7140
7141         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7142         to use standard XEmacs include files, e.g. sysfile.h, rather
7143         than system-specific includes.
7144
7145         * fns.c:
7146         * fns.c (Fsubseq):
7147         [5]. [6].
7148
7149         * frame.c (vars_of_frame):
7150         [1].
7151
7152         * getloadavg.c:
7153         * getloadavg.c (getloadavg):
7154         [1]. [6].
7155         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7156         (We don't use it elsewhere in the code; just add a comment.)
7157
7158         * gif_io.c:
7159         [6].
7160         Add config.h.
7161
7162         * glyphs-msw.c:
7163         * glyphs-msw.c (mswindows_resource_instantiate):
7164         [1].
7165
7166         * glyphs-x.c (x_native_layout_instantiate):
7167         [5].
7168
7169         * gui-msw.c (Fmswindows_shell_execute):
7170         [1].
7171
7172         * insdel.c:
7173         [4].
7174
7175         * lisp.h:
7176         [4]. [5].
7177
7178         * lread.c (locate_file_in_directory_mapper):
7179         [1].
7180
7181         * lstream.c:
7182         [4].
7183
7184         * mem-limits.h:
7185         * mem-limits.h (get_lim_data):
7186         [1].
7187
7188         * menubar-msw.c:
7189         [4].
7190
7191         * ndir.h:
7192         [1].
7193
7194         * nt.c:
7195         * nt.c (getwd):
7196         * nt.c (closedir):
7197         * nt.c (rva_to_section):
7198         * nt.c (mswindows_executable_type):
7199         [1]. [6].
7200         Fix closedir() defn.
7201
7202         * nt.h:
7203         [[[[8]]]]: *_OK defs moved to sysfile.h.
7204
7205         * ntproc.c:
7206         [6]. [7].
7207
7208         * objects-x.c:
7209         [4].
7210
7211         * print.c:
7212         * print.c (std_handle_out_external):
7213         [1]. [4].
7214
7215         * process-nt.c:
7216         * process-nt.c (nt_create_process):
7217         [6].
7218         try to fix process quoting somewhat.
7219
7220         * process-unix.c (unix_create_process):
7221         [1].
7222
7223         * process.c:
7224         * process.c (vars_of_process):
7225         Add Vnull_device.
7226
7227         * process.h:
7228         [1].
7229
7230         * realpath.c:
7231         * realpath.c (xrealpath):
7232         [1].
7233
7234         * redisplay-tty.c (init_tty_for_redisplay):
7235         [3].
7236
7237         * redisplay.c:
7238         [4]. [6].
7239
7240         * scrollbar-msw.c:
7241         [4].
7242
7243         * sheap.c:
7244         * sheap.c (more_static_core):
7245         * sheap.c (report_sheap_usage):
7246         [5]. [6].
7247
7248         * signal.c:
7249         * signal.c (alarm_signal):
7250         [1]. [6].
7251
7252         * sound.c:
7253         [6].
7254
7255         * strftime.c:
7256         * strftime.c (zone_name):
7257         [1]. [5].
7258
7259         * symsinit.h (init_sunpro):
7260         [1].
7261
7262         * syscommctrl.h:
7263         commctrl.h not in Cygwin b20.1.
7264
7265         * sysdep.c:
7266         * sysdep.c (endif):
7267         * sysdep.c (sys_subshell):
7268         * sysdep.c (init_baud_rate):
7269         * sysdep.c (emacs_get_tty):
7270         * sysdep.c (emacs_set_tty):
7271         * sysdep.c (tty_init_sys_modes_on_device):
7272         * sysdep.c (init_system_name):
7273         * sysdep.c (sys_open):
7274         * sysdep.c (interruptible_open):
7275         * sysdep.c (sys_fopen):
7276         * sysdep.c (sys_mkdir):
7277         * sysdep.c (sys_rename):
7278         * sysdep.c (get_process_times_1):
7279         [1]. [6].
7280
7281         * sysdep.h:
7282         [1].
7283
7284         * sysdir.h:
7285         * sysdir.h (DIRENTRY_NONEMPTY):
7286         [1]. [6].
7287
7288         * sysdll.c (dll_init):
7289         * sysdll.h:
7290         [1].
7291
7292         * sysfile.h:
7293         [1]. [6]. [8].
7294         added text/binary defs.
7295
7296         * sysfloat.h:
7297         [1].
7298
7299         * sysproc.h:
7300         * sysproc.h (EDESTADDRREQ):
7301         * sysproc.h (poll_fds_for_input):
7302         [1]. [6].
7303
7304         * syspwd.h:
7305         [6].
7306
7307         * syssignal.h:
7308         [1].
7309
7310         * systime.h:
7311         [1]. [6].
7312
7313         * systty.h:
7314         [1].
7315
7316         * syswindows.h:
7317         [1].
7318         Always define WIN32_LEAN_AND_MEAN.
7319
7320         * unexcw.c (unexec):
7321         [5].
7322
7323         * unexec.c:
7324         * unexec.c (copy_text_and_data):
7325         * unexec.c (adjust_lnnoptrs):
7326         [1].
7327
7328         * unexnt.c:
7329         * unexnt.c (_start):
7330         [1].
7331
7332 2000-06-07  Ben Wing  <ben@xemacs.org>
7333
7334         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7335         was used only as a model.  We've long since extracted any useful
7336         logic or code out of this. (I just did an exhaustive search.)
7337
7338         * s\msdos.h: Removed.
7339
7340         * s\windows95.h: Removed.
7341
7342 2000-06-10  Ben Wing  <ben@xemacs.org>
7343
7344         * s\cygwin32.h:
7345         [1]. [5].
7346         Don't use extern with fun defs.
7347
7348         * s\mingw32.h:
7349         [1]. [7].
7350         Remove nt\inc include.
7351         Remove getdisk, getdefdir. (The former is unused, the latter
7352         expanded in fileio.h.)
7353
7354         * s\windowsnt.h:
7355         * s\windowsnt.h (WIN32_NATIVE):
7356         * s\windowsnt.h (HAVE_STRCASECMP):
7357         [1]. [7].
7358         Add long comment about preprocessor changes.
7359         Remove getdisk, getdefdir. (The former is unused, the latter
7360         expanded in fileio.h.)
7361
7362 2000-06-10  Ben Wing  <ben@xemacs.org>
7363
7364         * m\arm.h:
7365         * m\delta.h:
7366         * m\intel386.h:
7367         * m\sequent.h:
7368         * m\template.h:
7369         * m\windowsnt.h:
7370         [1].
7371         Remove bogus/unused NO_SOCK_SIGIO.
7372
7373 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7374
7375         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7376         not an Emchar.
7377
7378 2000-06-04  Mike Sperber <mike@xemacs.org>
7379
7380         * casetab.c (set_case_table): For `set-standard-case-table',
7381         actually deposit the new case tables where the rest of XEmacs can
7382         see them.
7383
7384 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7385
7386         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7387
7388 2000-06-05  Ben Wing  <ben@xemacs.org>
7389
7390         * callproc.c (child_setup): Don't do close_load_descs() under
7391         MS Windows.  Put in a comment explaining why.
7392
7393 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7394
7395         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7396         Toolkit shell" which breaks `kill-compilation' on Windows NT
7397         native, retaining STDERR handling improvements.
7398
7399 2000-06-01  Andreas Jaeger  <aj@suse.de>
7400
7401         * s/s390.h: Support for S390, based on a patch by Martin
7402         Schwidefsky <schwidefsky@de.ibm.com>.
7403
7404 2000-05-30  Andy Piper  <andy@xemacs.org>
7405
7406         * window.c (allocate_window):
7407         (make_dummy_parent):
7408         (Fset_window_configuration): use new hashtable type.
7409
7410         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7411         (struct image_instantiator_methods):
7412         (struct Lisp_Image_Instance): make instance geometry signed.
7413
7414         * glyphs.c (instantiate_image_instantiator):
7415         (image_instance_query_geometry):
7416         (image_instance_layout):
7417         (image_instance_layout):
7418         (query_string_geometry):
7419         (text_query_geometry):
7420         (image_instantiate):
7421         (image_instantiate):
7422         (cache_subwindow_instance_in_frame_maybe):
7423         (subwindow_query_geometry): make instance geometry signed.
7424
7425         * glyphs-widget.c (widget_query_geometry):
7426         (widget_layout):
7427         (button_query_geometry):
7428         (tree_view_query_geometry):
7429         (tab_control_query_geometry):
7430         (layout_query_geometry):
7431         (layout_layout):
7432         (native_layout_layout): make instance geometry signed.
7433
7434 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7435
7436         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7437         constant.
7438
7439         * general.c (syms_of_general): Add Qfull_assoc symbol.
7440
7441         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7442         correctly.
7443         (decode_weak_list_type): Decode full-assoc type.
7444         (encode_weak_list_type): Encode full-assoc type.
7445         (Fmake_weak_list): Update doc string.
7446
7447 2000-05-30  Andy Piper  <andy@xemacs.org>
7448
7449         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7450
7451         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7452         (decode_hash_table_weakness): ditto.
7453         (Fhash_table_weakness): ditto.
7454         (Fhash_table_type): ditto.
7455         (finish_marking_weak_hash_tables): ditto.
7456         (hash_table_weakness_validate): ditto.
7457         (syms_of_elhash): ditto.
7458
7459 2000-05-28  Martin Buchholz <martin@xemacs.org>
7460
7461         * XEmacs 21.2.34 is released.
7462
7463 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7464
7465         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7466         start cache.
7467         (updating_line_start_cache): Gone.
7468         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7469         generic code to force a minimum of 1 line laid out in the
7470         CMOTION_DISP case.
7471
7472 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7473
7474         * glyphs.c (instantiate_image_instantiator): Check for initialized
7475         height & width no longer special cases IMAGE_NOTHING.
7476         (nothing_instantiate): Set height and width of instance.
7477
7478 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7479
7480         * unexelf.c (unexec): Search for ".data" section.
7481         Initialize new_data2_offset from old_data_index.
7482         Remove redundant check for ElfW.
7483
7484 2000-05-23  Andy Piper  <andy@xemacs.org>
7485
7486         * glyphs.c (get_image_instantiator_governing_domain): allow more
7487         specific domains as the governing domain rather than expecting an
7488         exact match. This fixes problems with layouts.
7489
7490 2000-05-22  Andy Piper  <andy@xemacs.org>
7491
7492         * redisplay-output.c (compare_runes): check for non-images
7493
7494         * glyphs.c (set_glyph_dirty_p): ditto.
7495         (update_glyph_cachel_data): ditto.
7496
7497         * glyphs-widget.c (layout_post_instantiate): ditto.
7498         (layout_post_instantiate): ditto.
7499
7500         * event-msw.c (mswindows_wnd_proc): warning removal.
7501
7502 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7503
7504         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7505
7506         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7507
7508         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7509
7510         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7511         (mswindows_executable_type): mingw32 now has enough headers for
7512         this to work.
7513
7514 2000-05-20  Andy Piper  <andy@xemacs.org>
7515
7516         * console-msw.c (mswindows_output_last_error): ; -> ,
7517
7518 2000-05-12  Andy Piper  <andy@xemacs.org>
7519
7520         * console-msw.c (FROB): compare ints with ints.
7521
7522 2000-05-11  Andy Piper  <andy@xemacs.org>
7523
7524         * glyphs-x.c (x_finalize_image_instance): make minimal build
7525         happy.
7526
7527 2000-05-20  Ben Wing  <ben@xemacs.org>
7528
7529         * event-Xt.c:
7530         * event-Xt.c (vars_of_event_Xt):
7531         move modifier-keys-are-sticky to event-stream.c.
7532
7533         * event-msw.c:
7534         * event-msw.c (mswindows_enqueue_mouse_button_event):
7535         * event-msw.c (key_needs_default_processing_p):
7536         * event-msw.c (XEMSW_LCONTROL):
7537         * event-msw.c (mswindows_handle_sticky_modifiers):
7538         * event-msw.c (FROB):
7539         * event-msw.c (clear_sticky_modifiers):
7540         * event-msw.c (output_modifier_keyboard_state):
7541         * event-msw.c (output_alt_keyboard_state):
7542         * event-msw.c (mswindows_wnd_proc):
7543         * event-msw.c (mswindows_modifier_state):
7544         * event-msw.c (emacs_mswindows_handle_magic_event):
7545         implement sticky modifiers.
7546
7547         * event-stream.c:
7548         * event-stream.c (vars_of_event_stream):
7549         move modifier-keys-are-sticky here.
7550
7551         * lisp.h:
7552         add CHECK_FUNCTION.
7553
7554         * rangetab.c:
7555         implement map-range-table.
7556
7557
7558 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7559
7560         * redisplay-tty.c (reset_tty_modes):
7561         (tty_redisplay_shutdown): Adjust argument type to
7562         tty_frame_output_end.
7563
7564 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7565
7566         * eval.c (Fbacktrace): Don't output a line with only right
7567         parenthesis.
7568
7569 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
7570
7571         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
7572         (Fpq_reset_poll): Ditto.
7573
7574 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
7575
7576         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
7577
7578 2000-05-16  Ben Wing  <ben@xemacs.org>
7579
7580         * buffer.c:
7581         * buffer.c (dfc_convert_to/from_internal_format):
7582         * buffer.c (reinit_vars_of_buffer):
7583         Fix conversion functions to allow reentrancy.
7584
7585         * console-msw.c:
7586         * console-msw.c (mswindows_output_last_error):
7587         New fun, generally useful -- output a human-readable
7588         version of GetLastError() on the console.
7589
7590         * console-msw.h:
7591         * console-msw.h (struct mswindows_frame):
7592         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
7593
7594         * console-stream.c (stream_output_begin):
7595         * console-stream.c (stream_output_end):
7596         * console-stream.c (stream_output_vertical_divider):
7597         * console-stream.c (stream_clear_region):
7598         * console-stream.c (stream_flash):
7599         * console-stream.c (console_type_create_stream):
7600         Delete blank stream methods, not needed.
7601
7602         * console.h (struct console_methods):
7603         Split begin/end methods into window and frame.
7604
7605         * event-msw.c:
7606         * event-msw.c (mswindows_handle_paint):
7607         * event-msw.c (output_alt_keyboard_state):
7608         * event-msw.c (mswindows_wnd_proc):
7609         * event-msw.c (vars_of_event_mswindows):
7610         Comment about problems with ignored-expose.
7611         Define mswindows-debug-events; not really implemented.
7612
7613         * frame-msw.c (mswindows_init_frame_1):
7614         random cleanups.
7615
7616         * glyphs-msw.c:
7617         * glyphs-msw.c (begin_defer_window_pos):
7618         * glyphs-msw.c (mswindows_unmap_subwindow):
7619         * glyphs-msw.c (mswindows_map_subwindow):
7620         * glyphs-msw.c (mswindows_resize_subwindow):
7621         Use DeferWindowPos to reduce flashing when mapping/unmapping.
7622
7623         * glyphs.c (make_image_instance_1):
7624         Fix crash.
7625
7626         * gutter.c (Fredisplay_gutter_area):
7627         Use new begin/end methods.
7628
7629         * lisp.h (Dynarr_new2):
7630         New creation fun.
7631
7632         * redisplay-msw.c:
7633         * redisplay-msw.c (mswindows_frame_output_begin):
7634         * redisplay-msw.c (mswindows_frame_output_end):
7635         * redisplay-msw.c (console_type_create_redisplay_mswindows):
7636         New begin/end methods -- handle DeferWindowPos.
7637
7638         * redisplay-output.c (redisplay_move_cursor):
7639         * redisplay-output.c (redraw_cursor_in_window):
7640         * redisplay-output.c (redisplay_update_line):
7641         * redisplay-output.c (redisplay_output_window):
7642         New begin/end methods.
7643
7644         * redisplay-tty.c:
7645         * redisplay-tty.c (tty_frame_output_begin):
7646         * redisplay-tty.c (tty_frame_output_end):
7647         * redisplay-tty.c (console_type_create_redisplay_tty):
7648         New begin/end methods.
7649
7650         * redisplay-x.c:
7651         * redisplay-x.c (x_window_output_begin):
7652         * redisplay-x.c (x_window_output_end):
7653         * redisplay-x.c (console_type_create_redisplay_x):
7654         New begin/end methods.
7655
7656         * redisplay.c (redisplay_frame):
7657         * redisplay.c (Fredisplay_echo_area):
7658         New begin/end methods.
7659         use MAYBE_DEVMETH for clear_frame; it may not exist.
7660
7661         * window.h (WINDOW_XFRAME):
7662         WINDOW_XFOO macros -- get locale and decode struct pointer.
7663
7664
7665 2000-05-12  Ben Wing  <ben@xemacs.org>
7666
7667         * emacs.c:
7668         * emacs.c (ensure_no_quitting_from_now_on):
7669         * emacs.c (fatal_error_signal):
7670         * emacs.c (mswindows_handle_hardware_exceptions):
7671         * emacs.c (main):
7672         * emacs.c (Fkill_emacs):
7673         * emacs.c (shut_down_emacs):
7674         * emacs.c (assert_failed):
7675         various improvements in fatal error handling.
7676
7677         * eval.c:
7678         move preparing_for_armageddon to emacs.c.
7679
7680         * lisp.h:
7681         declare fatal_error_in_progress.
7682
7683         * print.c:
7684         * print.c (std_handle_out_external):
7685         * print.c (std_handle_out_va):
7686         * print.c (stderr_out):
7687         * print.c (stdout_out):
7688         use console under mswin when no standard output.
7689         don't do code conversion during fatal error.
7690
7691         * scrollbar.c (Fscrollbar_page_up):
7692         * scrollbar.c (Fscrollbar_page_down):
7693         fix missing else.  reindent.
7694
7695 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
7696
7697         Emergency fix.
7698
7699         * glyphs.h (GLYPH_CACHEL_DESCENT):
7700         (GLYPH_CACHEL_DESCENT):
7701         (GLYPH_CACHEL_DESCENT):
7702         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
7703         used in case these are inline functions.
7704         Use more absurd values to error check.
7705
7706         include window.h for error check functions.
7707
7708 2000-05-11  Ben Wing  <ben@xemacs.org>
7709
7710         * cmdloop.c (Freally_early_error_handler):
7711         Display message box under windows; otherwise, message will disappear
7712         before it can be viewed.
7713
7714         * console-msw.c:
7715         * console-msw.c (Fmswindows_message_box):
7716         * console-msw.c (FROB):
7717         * console-msw.c (syms_of_console_mswindows):
7718         Define new fun `mswindows-message-box'.
7719         #### I will merge this into `popup-dialog-box'; just give me
7720         a bit of time.
7721
7722         * general.c:
7723         * general.c (syms_of_general):
7724         Some new symbols used in `mswindows-message-box'.
7725
7726         * glyphs.c:
7727         * glyphs.c (Fset_image_instance_property):
7728         put warning in this fun.
7729
7730         * glyphs.h:
7731         * glyphs.h (GLYPH_CACHEL_WIDTH):
7732         * glyphs.h (GLYPH_CACHEL_ASCENT):
7733         * glyphs.h (GLYPH_CACHEL):
7734         * glyphs.h (GLYPH_CACHEL_GLYPH):
7735         define error-checking versions to try to catch a bug i've seen --
7736         redisplay gets in an infinite loop because the glyph width of the
7737         continuation glyph is 65535.
7738
7739         * lisp.h:
7740         Extern message-box stuff.
7741
7742         * window.c (allocate_window):
7743         * window.c (make_dummy_parent):
7744         * window.c (Fset_window_configuration):
7745         Use EQUAL not EQ for subwindow caches to make them work a bit
7746         better. (Something is still very broken.)
7747
7748
7749 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7750
7751         * glyphs.c (image_instantiate): Suppress gcc warnings.
7752         (Fmake_image_instance): Fix doc string.
7753         * specifier.c (Fmake_specifier): Ditto.
7754
7755 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
7756
7757         * paths.h.in (PATH_LOCK): Removed.
7758         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
7759         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
7760
7761 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7762
7763         * fns.c (Ffeaturep): Update e-mail address in doc-string.
7764         Document (featurep '(and xemacs 21.02)).
7765
7766 2000-05-09  Ben Wing  <ben@xemacs.org>
7767
7768         * buffer.c (complex_vars_of_buffer):
7769         update modeline-format doc.
7770
7771         * device.h:
7772         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
7773
7774         * emacs.c:
7775         timeline of all released versions of Emacs, for use in creating
7776         authorship comments and in synching up.
7777
7778         * glyphs-widget.c (image_instantiator_buttons):
7779         * glyphs-widget.c (image_instantiator_edit_fields):
7780         * glyphs-widget.c (image_instantiator_combo_box):
7781         * glyphs-widget.c (image_instantiator_scrollbar):
7782         * glyphs-widget.c (image_instantiator_progress_guage):
7783         * glyphs-widget.c (image_instantiator_tree_view):
7784         * glyphs-widget.c (image_instantiator_tab_control):
7785         * glyphs-widget.c (image_instantiator_labels):
7786         * glyphs-widget.c (image_instantiator_layout):
7787         * glyphs-widget.c (image_instantiator_native_layout):
7788         rename decode_domain method to governing_domain.
7789
7790         * glyphs.c:
7791         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
7792         * glyphs.c (add_entry_to_device_ii_format_list):
7793         make sure we don't put an entry more than once into the list.
7794         * glyphs.c (check_instance_cache_mapper):
7795         *************************************************************
7796         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7797         HAVE BEEN GETTING.
7798         *************************************************************
7799         * glyphs.c (get_image_instantiator_governing_domain):
7800         clean up, expand on new concept of governing domain.
7801         * glyphs.c (instantiate_image_instantiator):
7802         * glyphs.c (allocate_image_instance):
7803         use governing_domain instead of cache_domain in naming.
7804         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
7805         * glyphs.c (make_image_instance_1):
7806         * glyphs.c (Fmake_image_instance):
7807         allow for any domain (not just device), and process the
7808         governing domain correctly.  very big doc fix.
7809         * glyphs.c (Fimage_instance_domain):
7810         new primitive, to retrieve the governing domain of an image instance.
7811         * glyphs.c (image_instantiate):
7812         use new governing_domain stuff.  this fixes a crash you could get
7813         by instantiating certain widget glyphs in frame locales. (should
7814         signal an error instead of crashing.)
7815         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
7816         * glyphs.c (Fglyphp): clean up doc.
7817         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
7818         * glyphs.c (syms_of_glyphs):
7819         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
7820         * glyphs.c (image_instantiator_format_create): add some comments about
7821         bogus code.
7822         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
7823         for current-display-table. (Apparently Hrjove implemented in 1998 a
7824         design I wrote up in 1996, but didn't update the doc string.)
7825
7826         * glyphs.h: clean up a doc string.
7827         * glyphs.h (governing_domain):
7828         * glyphs.h (struct image_instantiator_methods):
7829         changes for governing_domain stuff.
7830
7831         * gutter.c:
7832         * gutter.c (Fgutter_specifier_p):
7833         * gutter.c (Fgutter_size_specifier_p):
7834         * gutter.c (Fgutter_visible_specifier_p):
7835         * objects.c:
7836         * objects.c (Fcolor_specifier_p):
7837         * objects.c (Ffont_specifier_p):
7838         * objects.c (Fface_boolean_specifier_p):
7839         doc strings moved to make-*-specifier.
7840
7841         * redisplay.c (add_disp_table_entry_runes_1):
7842         * redisplay.c (generate_fstring_runes):
7843         * redisplay.c (screen):
7844         add random comments and doc strings.
7845
7846         * specifier.c:
7847         * specifier.c (Fmake_specifier):
7848         major overhaul of this doc string.
7849
7850         * specifier.c (Fvalid_specifier_domain_p):
7851         comment about the bogosity of image instances being domains.
7852         * specifier.c (decode_domain):
7853         now non-static, used in glyphs.c.
7854         * specifier.c (specifier_instance):
7855         comment about the bogosity of image instances being domains.
7856         * specifier.c (Fgeneric_specifier_p):
7857         move doc string to make-generic-specifier.
7858         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
7859         rebackslashify.
7860
7861         * specifier.h:
7862         * specifier.h (DOMAIN_FRAME):
7863         * specifier.h (DOMAIN_LIVE_P):
7864         * specifier.h (DOMAIN_XDEVICE):
7865         rebackslashify.
7866         add comments about problems with these macros.
7867         prototype for decode_domain.
7868
7869         * toolbar.c:
7870         * toolbar.c (Ftoolbar_specifier_p):
7871         move doc string to `make-toolbar-specifier'.
7872
7873         * window.c (window_unmap_subwindows_cache_mapper):
7874         *************************************************************
7875         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7876         HAVE BEEN GETTING.
7877         *************************************************************
7878
7879 2000-05-09  Andy Piper  <andy@xemacs.org>
7880
7881         * glyphs.h: declare reset_frame_subwindow_instance_cache.
7882
7883         * window.c (Fset_window_configuration): reset the frame subwindow
7884         cache and re-initialize the window subwindow caches.
7885
7886         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
7887
7888 2000-05-09  Ben Wing  <ben@xemacs.org>
7889
7890         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
7891         DWORD.
7892
7893 2000-04-26  Mike Woolley  <mike@bulsara.com>
7894
7895         * ntheap.c: Changed recreate_heap to limit the amount reserved
7896         for the heap to that which is actually available. Also now
7897         displays a message box (with some dignostics) in the event that
7898         it still can't start.
7899
7900 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
7901
7902         * callproc.c (Fold_call_process_internal): GCPRO path
7903
7904 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
7905
7906         Patch by Bill Perry.
7907
7908         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
7909         back data instead of #ifdef.
7910         (Fscrollbar_page_down): ditto.
7911
7912 2000-05-07  Ben Wing  <ben@xemacs.org>
7913
7914         * buffer.h:
7915         Kludge for defining Qmswindows_tstr.
7916
7917         * nt.c:
7918         * nt.c (open_input_file):
7919         * nt.c (open_output_file):
7920         * nt.c (rva_to_section):
7921         * nt.c (mswindows_executable_type):
7922         Move all memory-mapped-file routines here (some were in unexnt.c,
7923         which is bad because they are used by process-nt.c, and unexnt
7924         won't be around when portable dumping).  Synched the above routines
7925         with FSF 20.6.
7926
7927         * nt.h:
7928         Removed ifdef'd out bogus code.
7929         Fixed some prototypes.
7930
7931         * nt.h (file_data):
7932         * nt.h (OFFSET_TO_RVA):
7933         * nt.h (RVA_TO_OFFSET):
7934         * nt.h (RVA_TO_PTR):
7935         Moved the memory-mapped-file structures, macros and prototypes
7936         here, to parallel nt.c.  ntheap.h should really be removed
7937         entirely, and it's a non-portable-dumper specific file.
7938
7939         * ntheap.h (round_to_next):
7940         Moved the memory-mapped-file structures, macros and prototypes
7941         to nt.h.
7942
7943         * ntproc.c (compare_env):
7944         Moved rva_to_section and mswindows_executable_type to nt.c.
7945         Moved compare_env to process-nt.c.
7946         ntproc.c will die, one day.
7947
7948         * ntproc.c (sys_spawnve):
7949         Account for win32_ -> mswindows_.
7950
7951         * process-nt.c:
7952         * process-nt.c (struct nt_process_data):
7953         * process-nt.c (ensure_console_window_exists):
7954         * process-nt.c (compare_env):
7955         * process-nt.c (nt_create_process):
7956         * process-nt.c (nt_kill_process_by_pid):
7957         * process-nt.c (syms_of_process_nt):
7958         * process-nt.c (vars_of_process_nt):
7959         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
7960         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
7961         changes).  Eliminate our old `nt-quote-process-args' mechanism.
7962         Synch up nt_create_process with FSF 20.6 sys_spawnve.
7963         Move compare_env here from ntproc.c.
7964
7965         * process.c (Fprocess_send_region):
7966         Takes an optional fourth argument, BUFFER, which should fix some
7967         problems with call-process.
7968
7969         * syscommctrl.h:
7970         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
7971
7972         * syswindows.h:
7973         Move ICC_BAR_CLASSES to syscommctrl.h.
7974         Add preliminary macros for MSWindows/Mule.  More to come.
7975
7976         * unexnt.c:
7977         * unexnt.c (unexec):
7978         open_output_file moved to nt.c.
7979
7980
7981 2000-05-05  Andy Piper  <andy@xemacs.org>
7982
7983         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
7984         instance from the frame cache also since GC may catch up too late
7985         to make frame deletion sane.
7986
7987 2000-05-04  Andy Piper  <andy@xemacs.org>
7988
7989         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
7990         (x_finalize_image_instance): ungcpro on deletion.
7991
7992         * glyphs.c (image_instantiator_format_create): give pointers a
7993         query geometry method so that the geometry is at least set.
7994
7995         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
7996         initialize layouts if using widgets.
7997
7998 2000-05-03  Andy Piper  <andy@xemacs.org>
7999
8000         * nt.c: remove bogus reference to sysmmsystem.h
8001
8002         * gui-x.c (popup_selection_callback): fix no selection abort.
8003
8004 2000-05-02  Andy Piper  <andy@xemacs.org>
8005
8006         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8007         (mswindows_widget_instantiate): ditto.
8008
8009         * glyphs-widget.c (initialize_widget_image_instance): initialize
8010         children correctly.
8011         (widget_instantiate): cope with children and items in the same
8012         instance.
8013
8014         * glyphs.c (mark_image_instance): cope with children as a first
8015         class member.
8016         (image_instance_equal): ditto.
8017         (image_instance_hash): ditto.
8018         (image_instance_changed): ditto.
8019
8020 2000-04-30  Andy Piper  <andy@xemacs.org>
8021
8022         * glyphs.c (subwindow_query_geometry): new function. Return some
8023         defaults.
8024         (subwindow_instantiate): don't assign dimensions if none have been
8025         given.
8026         (image_instantiator_format_create): add subwindow_query_geometry.
8027         (print_image_instance): cope with layouts as widgets.
8028
8029 2000-04-29  Andy Piper  <andy@xemacs.org>
8030
8031         * frame.c (delete_frame_internal): call
8032         free_frame_subwindow_instance_cache so that all subwindows are
8033         finalized before their parent.
8034         (mark_frame): remove subwindow_cachels.
8035         (Fmake_frame): remove subwindow_cachel manipulation.
8036         (allocate_frame_core): subwindow_instance_cache is a weak list.
8037         (delete_frame_internal): set subwindow_instance_cache to nil.
8038
8039         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8040         finalization safe.
8041         (mswindows_finalize_image_instance): use the device
8042         not the domain as the domain may have died already.
8043
8044         * glyphs-x.c (x_finalize_image_instance): ditto.
8045         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8046         HEIGHT.
8047
8048         * redisplay-output.c (redisplay_unmap_subwindows): update for
8049         subwindow instance cache as a weak list.
8050         (redisplay_unmap_subwindows_maybe): ditto.
8051         (redisplay_unmap_subwindows_except_us): ditto.
8052
8053         * glyphs.c (unmap_subwindow): error checking will check the domain
8054         so don't deal with it here. Don't use cachels anymore.
8055         (map_subwindow): ditto.
8056         (update_subwindow_cachel_data): remove old accessor names.
8057         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8058         (Fresize_subwindow): don't update cachel.
8059         (mark_subwindow_cachels):
8060         (update_subwindow_cachel_data):
8061         (add_subwindow_cachel):
8062         (get_subwindow_cachel_index):
8063         (update_subwindow_cachel):
8064         (reset_subwindow_cachels):
8065         (mark_subwindow_cachels_as_not_updated): deleted.
8066         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8067         subwindow instance to the frame cache.
8068         (find_matching_subwindow): update for subwindow instance cache as
8069         a weak list.
8070         (update_widget_instances): ditto.
8071         (image_instance_type_to_mask):inlined.
8072         (free_frame_subwindow_instance_cache): new function. finalize all
8073         subwindows that are instantiated.
8074
8075         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8076         of cachel information.
8077         (IMAGE_INSTANCE_DISPLAY_X):
8078         (IMAGE_INSTANCE_DISPLAY_Y):
8079         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8080         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8081         (XIMAGE_INSTANCE_DISPLAY_X):
8082         (XIMAGE_INSTANCE_DISPLAY_Y):
8083         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8084         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8085         remove subwindow_cachel structure and function references.
8086         (image_instance_type_to_mask): inline from glyphs.c
8087
8088         * redisplay.c (redisplay_frame): remove subwindow_cachel
8089         references.
8090
8091         * frame.h (struct frame): remove subwindow_cachels.
8092         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8093
8094         * frameslots.h: add subwindow_instance_cache.
8095
8096         * window.c (replace_window): check subwindow cache of replacement.
8097         (window_unmap_subwindows_cache_mapper):
8098         (window_unmap_subwindows): new functions. Unmap all subwindows
8099         cached on this window.
8100         (mark_window_as_deleted): unmap all subwindows.
8101
8102 2000-04-27  Andy Piper  <andy@xemacs.org>
8103
8104         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8105
8106         * glyphs-widget.c (widget_layout): return something.
8107         (layout_layout): return something. Fail if not initialized.
8108         (layout_query_geometry): ditto.
8109         (image_instantiator_native_layout): new function. Initialized the
8110         native layout type.
8111         (widget_instantiate): don't do layout stuff here.
8112
8113         * glyphs.c (instantiate_image_instantiator): reorded calling or
8114         instantiate and post_instantiate with layout in between.
8115         (image_instance_layout): be more selective about deciding whether
8116         the layout has been done or not.
8117
8118         * glyphs.h (struct image_instantiator_methods): return a value
8119         from layout_method.
8120
8121 2000-04-26  Andy Piper  <andy@xemacs.org>
8122
8123         * glyphs.c (allocate_image_instance): make initial width and
8124         height unspecified. Set initialized to 0.
8125
8126         * syscommctrl.h new file. Encapsulates commctrl.h.
8127
8128         * syswindows.h new file. Encapsulates windows.h.
8129
8130         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8131         * nt.c: ditto.
8132         * console-msw.h: ditto.
8133
8134         * redisplay-tty.c (tty_output_display_block): remove layout references.
8135
8136         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8137         window handle rather than just the frame.
8138
8139         * glyphs.c (mark_image_instance): remove layout references.
8140         (print_image_instance): ditto.
8141         (image_instance_equal): ditto.
8142         (image_instance_hash): ditto.
8143         (decode_image_instance_type): ditto.
8144         (encode_image_instance_type): ditto.
8145         (image_instantiate): ditto.
8146         (allocate_glyph): ditto.
8147         (Fimage_instance_height): ditto.
8148         (Fimage_instance_width): ditto.
8149         (update_subwindow): ditto.
8150
8151         * redisplay-x.c (x_output_display_block): recode for layouts as
8152         widgets.
8153
8154         * redisplay-output.c (redisplay_output_layout): recode for layouts
8155         as widgets.
8156         (compare_runes): remove layout references.
8157
8158         * redisplay-msw.c (mswindows_output_display_block): recode for
8159         layouts as widgets.
8160
8161         * glyphs-widget.c (image_instantiator_layout): remove
8162         layout_possible_dest_types.
8163         (layout_possible_dest_types): deleted.
8164
8165         * glyphs.h (image_instance_type): remove layout references.
8166         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8167         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8168         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8169
8170 2000-04-25  Andy Piper  <andy@xemacs.org>
8171
8172         * glyphs-widget.c (image_instantiator_buttons):
8173         (image_instantiator_edit_fields):
8174         (image_instantiator_combo_box):
8175         (image_instantiator_scrollbar):
8176         (image_instantiator_progress_guage):
8177         (image_instantiator_tree_view):
8178         (image_instantiator_tab_control):
8179         (image_instantiator_labels):
8180         (image_instantiator_layout): call default post_instantiate method.
8181         (widget_post_instantiate): new function. Simply lays out the
8182         widgets.
8183
8184         * glyphs.h (struct image_instantiator_methods): add
8185         post_instantiate method.
8186
8187         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8188         method calls.
8189
8190 2000-04-23  Andy Piper  <andy@xemacs.org>
8191
8192         * glyphs.h (struct image_instantiator_methods): add
8193         decode_domain_method.
8194         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8195         derived from the domain.
8196         (IMAGE_INSTANCE_FRAME): new accessor.
8197         (XIMAGE_INSTANCE_FRAME): ditto.
8198
8199         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8200         instead of _SUBWINDOW_FRAME.
8201         (finalize_image_instance): ditto.
8202         (Fimage_instance_foreground): ditto.
8203         (Fimage_instance_background): ditto.
8204         (image_instantiate): ditto.
8205         (update_subwindow_cachel): ditto.
8206         (update_subwindow): ditto.
8207         (unmap_subwindow): ditto.
8208         (map_subwindow): ditto
8209         (subwindow_instantiate): ditto.
8210         * glyphs-msw.c (mswindows_update_widget): ditto.
8211         (mswindows_progress_gauge_instantiate): ditto.
8212         (mswindows_tab_control_update): ditto.
8213         * glyphs-x.c (x_update_widget): ditto.
8214         (x_widget_instantiate): ditto.
8215         (x_tab_control_instantiate): ditto.
8216         (x_tab_control_update): ditto.
8217         * event-msw.c (mswindows_wnd_proc): ditto
8218
8219         * glyphs-widget.c (image_instantiator_layout): use
8220         subwindow_decode_domain.
8221         (image_instantiator_buttons): ditto.
8222         (image_instantiator_edit_fields): ditto.
8223         (image_instantiator_combo_box): ditto.
8224         (image_instantiator_scrollbar): ditto.
8225         (image_instantiator_progress_guage): ditto.
8226         (image_instantiator_tree_view): ditto.
8227         (image_instantiator_tab_control): ditto.
8228         (image_instantiator_labels): ditto.
8229         (image_instantiator_layout): ditto.
8230
8231         * glyphs.c: add instance error checking to many functions.
8232         (instantiate_image_instantiator): decode device from cache_domain.
8233         (image_instantiate): partially rewrite by using
8234         decode_image_instantiator_domain to determine what domain the
8235         instance needs to be cached in.
8236         (decode_image_instantiator_domain): new function. Determine what
8237         domain the image needs to be cached in.
8238         (check_window_subwindow_cache): new error checking function.
8239         (check_instance_cache_mapper): ditto.
8240         (check_image_instance_structure): ditto.
8241         (subwindow_decode_domain): new function. Encodes a window as a
8242         subwindow's cache domain.
8243         (image_instantiator_format_create): use it for text and
8244         subwindows.
8245
8246 2000-04-21  Andy Piper  <andy@xemacs.org>
8247
8248         * glyphs.c (image_instance_device): new function.
8249         (image_instance_frame): new function.
8250         (image_instance_window): new function.
8251         (image_instance_live_p): new function.
8252
8253         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8254         cache to nil.
8255
8256         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8257         (IMAGE_INSTANCE_DOMAIN): new accessor.
8258         (XIMAGE_INSTANCE_DOMAIN): ditto.
8259
8260         * glyphs-x.c (x_finalize_image_instance): device->domain.
8261
8262         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8263         (mswindows_finalize_image_instance): ditto.
8264
8265         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8266         (gif_instantiate): ditto.
8267         (png_instantiate): ditto.
8268         (tiff_instantiate): ditto.
8269
8270         * glyphs.c (instantiate_image_instantiator): use domain rather
8271         than device.
8272         (mark_image_instance): device -> domain.
8273         (print_image_instance): ditto.
8274         (finalize_image_instance): ditto.
8275         (image_instance_equal): ditto.
8276         (allocate_image_instance): ditto.
8277         (Fcolorize_image_instance): ditto.
8278         (query_string_geometry): ditto.
8279         (image_instantiate): ditto
8280         (query_string_font): ditto.
8281         (image_instantiate): ditto.
8282         (update_subwindow): ditto.
8283         (unmap_subwindow): ditto.
8284         (map_subwindow): ditto.
8285         (subwindow_instantiate): ditto.
8286
8287         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8288         (DOMAIN_FRAME): ditto.
8289         (DOMAIN_WINDOW): ditto.
8290         (DOMAIN_LIVE_P): ditto.
8291         (XDOMAIN_DEVICE): ditto.
8292         (XDOMAIN_FRAME): ditto.
8293         (XDOMAIN_WINDOW): ditto.
8294
8295         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8296         a valid specifier domain.
8297
8298 2000-04-19  Andy Piper  <andy@xemacs.org>
8299
8300         * glyphs-widget.c (syms_of_glyphs_widget): remove
8301         widget-callback-current-channel.
8302         (vars_of_glyphs_widget): ditto.
8303         * glyphs.h: ditto
8304
8305         * gui.c (get_gui_callback): revert to previous behaviour.
8306
8307 2000-04-18  Andy Piper  <andy@xemacs.org>
8308
8309         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8310         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8311         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8312
8313         * glyphs.c (image_instance_equal): add margin_width.
8314         (image_instance_hash): ditto.
8315
8316         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8317         (layout_query_geometry): ditto.
8318         (layout_layout): ditto.
8319         (syms_of_glyphs_widget): add margin-width.
8320         (image_instantiator_layout): allow margin-width.
8321
8322         * glyphs.c (update_widget_instances): make a normal function.
8323         (syms_of_glyphs): remove Qupdate_widget_instances.
8324         * glyphs.h: ditto.
8325
8326         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8327         so that we don't corrupt ideas about the last event or
8328         command. Remove widget-callback-current-channel fiddling.
8329         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8330
8331 2000-05-01  Martin Buchholz <martin@xemacs.org>
8332
8333         * XEmacs 21.2.33 is released.
8334
8335 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8336
8337         * make-src-depend: Allow dots in header file name.
8338
8339 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8340
8341         * mule-charset.h (struct charset_lookup): Add
8342         next_allocated_1_byte_leading_byte and
8343         next_allocated_2_byte_leading_byte.
8344         * mule-charset.c: Move above two variables so that those values
8345         will be dumped.
8346
8347 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8348
8349         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8350         when string length is zero.
8351         (find_charsets_in_emchar_string): Ditto.
8352
8353 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8354
8355         * lisp.h: extern Qdialog and Qmenubar.
8356
8357         * gui-x.c: added events.h.
8358                 also fixed typo which made the file uncompilable.
8359
8360         * general.c: Added Qmenubar and Qdialog
8361
8362 2000-04-28  Ben Wing  <ben@xemacs.org>
8363
8364         * frame-msw.c (mswindows_init_frame_1):
8365         * frame-msw.c (mswindows_mark_frame):
8366         * event-msw.c (mswindows_enqueue_dispatch_event):
8367         * console-msw.h:
8368         * console-msw.h (struct mswindows_frame):
8369         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8370         there are now three hash tables for callbacks.
8371         mswindows_enqueue_dispatch_event is no longer static.
8372
8373         * dialog-x.c (maybe_run_dbox_text_callback):
8374         * dialog-x.c (dbox_descriptor_to_widget_value):
8375         switch to new cons3 form for callbacks.
8376
8377         * glyphs-msw.c (mswindows_register_gui_item):
8378         * glyphs-msw.c (mswindows_widget_instantiate):
8379         * glyphs-msw.c (add_tree_item):
8380         * glyphs-msw.c (add_tab_item):
8381         new image instance parameter, so it can be passed to callback-ex.
8382         respect :callback-ex as well as :callback.
8383
8384         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8385         add :callback-ex.
8386
8387         * glyphs.c (print_image_instance):
8388         prettify, e.g. now prints widget type.
8389
8390         * gui-x.h:
8391         certain funs have new image instance parameter.
8392
8393         * gui.c:
8394         * gui.c (get_gui_callback):
8395         * gui.c (gui_item_add_keyval_pair):
8396         * gui.c (gui_item_init):
8397         * gui.c (gui_add_item_keywords_to_plist):
8398         * gui.c (mark_gui_item):
8399         * gui.c (gui_item_hash):
8400         * gui.c (gui_item_equal):
8401         * gui.c (copy_gui_item):
8402         * gui.c (syms_of_gui):
8403         recognize callback-ex in a number of places.
8404         also, fix the annoying "can't get out of yes-no dialog" bug.
8405
8406         * gui.h:
8407         * gui.h (struct Lisp_Gui_Item):
8408         recognize callback-ex in a number of places.
8409
8410         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8411         new parameter in button_item_to_widget_value.
8412
8413         * glyphs-x.c (x_update_widget):
8414         * glyphs-x.c (x_button_instantiate):
8415         * glyphs-x.c (x_button_update):
8416         * glyphs-x.c (x_progress_gauge_instantiate):
8417         * glyphs-x.c (x_edit_field_instantiate):
8418         * glyphs-x.c (x_combo_box_instantiate):
8419         * glyphs-x.c (x_tab_control_instantiate):
8420         * glyphs-x.c (x_label_instantiate):
8421         new image instance parameter in various places.
8422
8423         * event-Xt.c:
8424         * event-Xt.c (enqueue_Xt_dispatch_event):
8425         this fun gets exported.
8426
8427         * gui-msw.c:
8428         * gui-msw.c (mswindows_handle_gui_wm_command):
8429         handle both :callback and :callback-ex, and generate our own
8430         event because it's one of the callback-ex arguments.
8431
8432         * gui-x.c:
8433         * gui-x.c (popup_selection_callback):
8434         handle both :callback and :callback-ex, and generate our own
8435         event because it's one of the callback-ex arguments.
8436         * gui-x.c (button_item_to_widget_value):
8437         * gui-x.c (gui_items_to_widget_values_1):
8438         * gui-x.c (gui_item_children_to_widget_values):
8439         * gui-x.c (gui_items_to_widget_values):
8440         new image instance parameter in various places.
8441
8442         * fns.c (Freplace_list):
8443         fix small typo in doc string.
8444
8445         * lisp.h:
8446         declare enqueue_Xt_dispatch_event.
8447
8448 2000-04-28  Ben Wing  <ben@xemacs.org>
8449
8450         * buffer.c:
8451         * buffer.c (Frecord_buffer):
8452         * buffer.c (syms_of_buffer):
8453         delete record-buffer-hook.
8454
8455         * fns.c:
8456         * fns.c (Freplace_list):
8457         * fns.c (syms_of_fns):
8458         new primitive replace-list.
8459
8460         * frameslots.h:
8461         slot for old buffer-alist.
8462
8463         * lisp.h:
8464         exfun replace-list.
8465
8466         * redisplay.c:
8467         * redisplay.c (redisplay_frame):
8468         * redisplay.c (syms_of_redisplay):
8469         * redisplay.c (vars_of_redisplay):
8470         new hook buffer-list-changed-hook.
8471         call it.
8472
8473 2000-04-27  Ben Wing  <ben@xemacs.org>
8474
8475         * extents.h: extern in_modeline_generation.
8476
8477         * redisplay.c (generate_formatted_string_db): set
8478         in_modeline_generation.
8479
8480         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8481         flags if in modeline generation.  otherwise frame-modified-tick
8482         is ticked far too often.
8483         Declare in_modeline_generation.
8484
8485 2000-04-26  Ben Wing  <ben@xemacs.org>
8486
8487         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8488         option.
8489         (vars_of_emacs): add quick-build as an error-checking option.
8490         A bit kludgy, but there doesn't seem much point in creating
8491         a real var for this.
8492
8493         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8494
8495 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8496
8497         * redisplay.h (struct display_line): Add a new variable,
8498         line_continuation.
8499
8500         * redisplay.c (create_text_block): Set dl->line_continuation if
8501         the line continues.
8502         (create_string_text_block): Ditto.
8503         (regenerate_window_incrementally): Use line_continuation instead
8504         of searching continuation glyph.
8505         (add_margin_runes): Call add_glyph_rune.
8506         (add_glyph_rune): Handle margin glyph.
8507
8508 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8509
8510         * filelock.c (fill_in_lock_file_name):
8511         ANSIfy.
8512         Check for IS_ANY_SEP instead of '/'.
8513         (lock_file_1):
8514         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8515         Never check errno without first seeing that system call failed.
8516         (unlock_file): Add GCPRO.
8517         (Flock_buffer): Fix docstring.
8518         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8519
8520 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8521
8522         * sysdep.c (get_pty_max_bytes):
8523         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8524         strings longer than 252 bytes.
8525
8526         * md5.c: Unconditionally include ANSI header <limits.h>
8527
8528         * glyphs-x.c (convert_EImage_to_XImage):
8529         * lisp-union.h (union Lisp_Object):
8530         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8531
8532 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8533
8534         * filelock.c (current_lock_owner): Remove unused variable o, p.
8535
8536 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8537
8538         * callint.c: Remove multiply defined symbol Qlet
8539         (syms_of_callint): ditto.
8540
8541 2000-04-14  Andy Piper  <andy@xemacs.org>
8542
8543         * general.c (syms_of_general): add last-command, this-command, let
8544         and funcall.
8545
8546         * lisp.h: declare various symbols.
8547
8548         * glyphs.h: declare Qwidget_callback_current_channel;
8549
8550         * glyphs-widget.c (syms_of_glyphs_widget): add
8551         Qgui_callback_current_channel.
8552         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8553
8554         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8555         widget-callback-current-channel when invoking the interactive
8556         arg. Also bind last-command and next-command when invoking the
8557         widget updates.
8558         * gui-x.c (popup_selection_callback): ditto.
8559
8560         * gui.c (get_gui_callback): massage args so that we are always
8561         calling eval. This allows us to add our own variable bindings
8562         outside.
8563
8564         * glyphs-x.c (x_button_instantiate): use
8565         gui_items_to_widget_values since this is GC safe.
8566         (x_progress_gauge_instantiate): ditto.
8567         (x_edit_field_instantiate): ditto.
8568         (x_label_instantiate): ditto.
8569
8570         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
8571         (emacs_Xt_event_widget_focus_out): new function
8572         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
8573         focus.
8574         (emacs_Xt_event_add_widget_actions): new function. add focus
8575         functions as actions.
8576         (init_event_Xt_late): use it.
8577
8578 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
8579
8580         * event-stream.c (Fdispatch_event): Doc fix.
8581
8582 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
8583
8584         * postgresql.c: Remove all references to PQsetenv*.
8585
8586         * postgresql.h: Remove references to PGsetenvHandler object.
8587         * lrecord.h (lrecord_type): Ditto.
8588
8589 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8590
8591         * glyphs-msw.h (struct mswindows_image_instance_data): Added
8592         real_heigh and real_width members, and accessor macros for these.
8593
8594         * glyphs-msw.c (init_image_instance_geometry): New function.
8595         (init_image_instance_from_dibitmap): Use it.
8596         (mswindows_resource_instantiate): Use it.
8597         (init_image_instance_from_xbm_inline): Use it.
8598         (mswindows_initialize_image_instance_mask): Use real bitmap
8599         geometry.
8600         (mswindows_create_resized_bitmap): Ditto.
8601         (mswindows_create_resized_mask): Ditto.
8602
8603         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
8604         and bitmap to their surface size.
8605
8606 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
8607
8608         * process-unix.c (unix_send_process): Guard against process MIA
8609         after Faccept_process_output.
8610
8611 2000-04-11  Ben Wing  <ben@xemacs.org>
8612
8613         * eval.c (unbind_to_hairy): fix brokenness introduced by
8614         nanosecond speed improvements.
8615
8616 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
8617
8618         * sunplay.c (init_device): To play sounds correctly, the device
8619         apparently needs to be initialized at least once by XEmacs.  Make
8620         it so.
8621
8622 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8623
8624         * redisplay.c (add_margin_runes): Add text image glyph
8625           handling.
8626
8627 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8628
8629         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
8630         gcc is newer than 2.5.
8631
8632 2000-04-06  Colin Rafferty  <colin@xemacs.org>
8633
8634         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
8635
8636         * fns.c (size_bit_vector):
8637         * alloc.c (size_vector):
8638         (make_vector_internal):
8639         (make_bit_vector_internal):
8640         (sweep_bit_vectors_1):
8641         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
8642
8643 2000-04-06  Andy Piper  <andy@xemacs.org>
8644
8645         * gmalloc.c (malloc): undo previous change.
8646         (malloc): ditto.
8647         (free): ditto.
8648         (realloc): ditto.
8649
8650 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
8651
8652         * line-number.c (buffer_line_number): Revert to former version.
8653
8654 2000-04-06  Andy Piper  <andy@xemacs.org>
8655
8656         * gmalloc.c (malloc): add error checking.
8657         (malloc): ditto.
8658         (free): ditto.
8659         (realloc): ditto.
8660
8661         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
8662         button_item_to_widget_value arg.
8663
8664         * glyphs-x.c (x_button_instantiate): add extra
8665         button_item_to_widget_value arg.
8666         (x_progress_gauge_instantiate): ditto.
8667         (x_edit_field_instantiate): ditto.
8668         (x_label_instantiate): ditto.
8669
8670         * gui-x.c (gui_items_to_widget_values_1): add extra
8671         button_item_to_widget_value arg.
8672         (button_item_to_widget_value): add extra menu_item_p arg.
8673
8674         * gui-x.h: change signature of button_item_to_widget_value.
8675
8676         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
8677         button_item_to_widget_value arg.
8678
8679 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8680
8681         * buffer.h (struct buffer): auto_save_modified should be long.
8682
8683 2000-04-05  Andy Piper  <andy@xemacs.org>
8684
8685         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
8686         type.
8687         (button_query_geometry): give a little more room so that athena
8688         buttons fit.
8689
8690 2000-04-05  Andy Piper  <andy@xemacs.org>
8691
8692         * faces.c (complex_vars_of_faces): The widget face should inherit
8693         the font of the gui-element face.
8694
8695 2000-04-04  Andy Piper  <andy@xemacs.org>
8696
8697         * glyphs-x.c (x_button_update): new function. unconditionally
8698         update a button's state when the instance is dirty.
8699         (image_instantiator_format_create_glyphs_x): add x_button_update.
8700         (x_widget_instantiate): remove old resize cruft.
8701
8702 2000-04-02  Andy Piper  <andy@xemacs.org>
8703
8704         * frame.c (change_frame_size_1): The introduction of gutters means
8705         that we need to allow 0 as a potential frame dimension.
8706
8707 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8708
8709         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
8710         image glyph if allow_cursor.
8711         (add_hscroll_rune): Don't allow cursor to border glyph.
8712         (create_text_block): Ditto.
8713
8714         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
8715         text not in buffer.
8716         (redisplay_output_layout): Call ensure_face_cachel_complete for
8717         text image glyph.
8718
8719
8720 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8721
8722         * redisplay.c (add_glyph_rune): Adding text image as text runes.
8723
8724         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
8725         not in buffer
8726
8727         * redisplay-tty.c (tty_output_display_block): Delete the routine
8728         for text image glyph
8729         * redisplay-x.c (x_output_display_block): ditto
8730         * redisplay-msw.c (mswindows_output_display_block): ditto
8731
8732 2000-02-02  Mike Alexander  <mta@arbortext.com>
8733
8734         Note: Some of these were committed by accident as part of other
8735         patches.
8736
8737         * regex.c (regex_compile): Avoid compiler warnings.
8738
8739         * ntproc.c (sys_spawnve): Avoid compiler warnings.
8740
8741         * nt.h: Declare term_ntproc correctly.
8742
8743         * nt.c: Remove incorrect declaration of get_home_directory which
8744         is declared correctly in lisp.h.
8745
8746         * keymap.c (get_keyelt): Avoid compiler warnings.
8747         (raw_lookup_key_mapper): Avoid compiler warnings.
8748
8749         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
8750
8751         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
8752
8753         * filemode.c (mode_string): Avoid compiler warnings.
8754
8755         * file-coding.c (Fcoding_system_aliasee): Add return statement to
8756         avoid warning.
8757
8758         * events-mod.h: Undef some things that winuser.h defines differently.
8759
8760         * data.c (Faset): Avoid compiler warnings.
8761
8762         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
8763
8764 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8765
8766         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
8767         Fall through to simple beep on error.
8768         Replace "extern" by real header file.
8769
8770         * linuxplay.c: Use nativesound.h
8771         (play_sound_data): Return error code. Be less verbose on error.
8772
8773         * sunplay.c: Use nativesound.h
8774         (play_sound_data): Return error code. Be less verbose on error.
8775
8776         * ntplay.c: Use nativesound.h
8777         (play_sound_data): Return fake error code
8778
8779         * sgiplay.c: Use nativesound.h
8780         (play_sound_data): Return error code
8781
8782         * hpplay.c: Use nativesound.h, partially implement
8783         new error code. Break compilation until finished.
8784         (play_sound_data): error code.
8785
8786         * nativesound.h (play_sound_file):
8787           (play_sound_data): Prototype in new header.
8788
8789 2000-03-31  Andy Piper  <andy@xemacs.org>
8790
8791         * glyphs-widget.c: (button_query_geometry): new function. Adjust
8792         for toggle and radio buttons.
8793         (image_instantiator_buttons): use it.
8794
8795 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8796
8797         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
8798         (x_update_horizontal_scrollbar_callback): Return if no mirror was
8799         found. Scrollbar event probably belonged to some old config.
8800
8801 2000-03-31  Andy Piper  <andy@xemacs.org>
8802
8803         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
8804         than 1.
8805         (initialize_widget_image_instance): default layout to
8806         LAYOUT_HORIZONTAL rather than 0.
8807         (widget_instantiate): reverse the item list at the end rather than
8808         every iteration.
8809         (layout_layout): re-code for the border text at the front of the
8810         item list rather than at the end.
8811         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
8812         provided by the user.
8813         (widget_query_geometry): comment.
8814
8815 2000-03-30  Andy Piper  <andy@xemacs.org>
8816
8817         * glyphs-widget.c (image_instantiator_layout): allow standard
8818         widget keywords in layouts.
8819
8820         * gutter.c (output_gutter): cope with nil gutter contents.
8821
8822         * frame.c (Fset_frame_properties): add gutter docs.
8823
8824 2000-03-29  Andy Piper  <andy@xemacs.org>
8825
8826         * toolbar-msw.c (TBSTYLE_FLAT): add.
8827         (mswindows_output_toolbar): minor fiddling.
8828
8829 2000-03-29  Andy Piper  <andy@xemacs.org>
8830
8831         * gutter.c (output_gutter): force gutter size recalculation if
8832         what we are trying to display won't fit.
8833         (update_gutter_geometry): new function. A per-gutter version of
8834         update_frame_gutter_geometry.
8835         (update_frame_gutter_geometry): use it.
8836         (redraw_exposed_gutter): add extra debugging output.
8837
8838 2000-03-28  Mike Alexander  <mta@arbortext.com>
8839
8840         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
8841         (pdump_file_unmap): Implement it on Windows
8842         (pdump_file_get): Save alocated handles for pdump_file_unmap
8843
8844 2000-03-28  Andy Piper  <andy@xemacs.org>
8845
8846         * gui.c (get_gui_callback): treat Quit specially.
8847
8848 2000-03-27  Andy Piper  <andy@xemacs.org>
8849
8850         * glyphs.c (image_instantiate): be careful to check in the same
8851         way we assigned.
8852
8853 2000-03-27  Didier Verna  <didier@xemacs.org>
8854
8855         * config.h.in: define the proper SMART_INCLUDE macro.
8856         handle renaming of `foo_h_path' to `foo_h_file'.
8857
8858         * database.c: ditto.
8859
8860         * emacs.c: ditto.
8861
8862         * linuxplay.c: ditto.
8863
8864         * terminfo.c: ditto.
8865
8866         * tooltalk.h: ditto.
8867
8868 2000-03-27  Andy Piper  <andy@xemacs.org>
8869
8870         * glyphs-msw.c (mswindows_update_widget): make sure the widget
8871         gets updated whenever the face might have changed.
8872
8873 2000-03-26  Mike Alexander  <mta@arbortext.com>
8874
8875         * dumper.c (pdump_resource_free): Fix the comment.
8876
8877 2000-03-21  Olivier Galibert  <galibert@pobox.com>
8878
8879         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
8880
8881 2000-03-22  Mike Alexander  <mta@arbortext.com>
8882
8883         * dumper.c: Include Windows headers on Windows
8884         (pdump_resource_free): Add a body to the function
8885         (pdump_load): exe_name -> exe_path and add some comments.
8886
8887 2000-03-25  Mike Alexander  <mta@arbortext.com>
8888
8889         * gui.c (copy_gui_item_tree): Return a value in all cases
8890
8891 2000-03-21  Didier Verna  <didier@xemacs.org>
8892
8893         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
8894         lwlib/config.h.in.
8895         (SMART_INCLUDE): new macro.
8896         (POSTGRES_INCLUDE): new macro to include postgresql headers from
8897         the proper location.
8898
8899         * postgresql.c: use it.
8900
8901         * inline.c: ditto.
8902
8903 2000-03-24  Andy Piper  <andy@xemacs.org>
8904
8905         * gutter.c (redraw_exposed_gutters): must be "in display" when we
8906         do this.
8907
8908 2000-03-24  Andy Piper  <andy@xemacs.org>
8909
8910         * redisplay-output.c (compare_runes): use image_instance_changed
8911         to detect changes. Do not depend on glyphs_changed, only depend on
8912         dirtiness.
8913          (redisplay_output_layout): add debug messages.
8914         (compare_runes): ditto.
8915
8916         * glyphs.h: declare new functions.
8917         (struct Lisp_Image_Instance): remove percent and associated
8918         accessors.
8919
8920         * gui.h: declare new copying functions.
8921
8922         * gui.c (copy_gui_item_tree): new function.
8923         (copy_gui_item): new function.
8924         (gui_item_id_hash): revert to standard hash.
8925         (gui_item_hash): ditto.
8926         (gui_item_hash_internal): deleted.
8927         (mark_gui_item): mark value.
8928         (gui_item_add_keyval_pair): add value.
8929         (gui_item_init): ditto.
8930         (gui_add_item_keywords_to_plist): ditto.
8931         (gui_item_equal): ditto.
8932         (syms_of_gui): add Q_value.
8933
8934         * glyphs-x.c (x_progress_gauge_update): use pending items and
8935         value for setting the state.
8936         (x_update_widget): don't set items from pending here.
8937
8938         * glyphs-widget.c (update_widget): update items here.
8939         (progress_gauge_set_property): use items for storing value. Put
8940         new value in pending items.
8941
8942         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
8943         items for new value. Convert percent -> value.
8944         (mswindows_tab_control_update): don't update items here.
8945
8946         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
8947         (update_subwindow): ditto.
8948         (image_instance_changed): new function. Compare hash values and
8949         past and present widget items.
8950         (image_instantiate): We more careful about where we instantiate
8951         things.
8952         (image_instantiate): add error checking.
8953
8954         * gutter.c (syms_of_gutter): use -hook.
8955
8956 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
8957
8958         * console-tty.c (Fset_console_tty_input_coding_system): Use
8959         Qkeyboard.
8960         (Fset_console_tty_output_coding_system): Use Qterminal.
8961         (tty_init_console): Use Qkeyboard and Qterminal.
8962
8963 2000-03-21  Ben Wing  <ben@xemacs.org>
8964
8965         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
8966         From Mike Alexander <mta@arbortext.com>.
8967
8968 2000-03-21  Ben Wing  <ben@xemacs.org>
8969
8970         * event-msw.c (mswindows_need_event): Horrible kludge to fix
8971         process brokenness.  Proper implementation to come.
8972         * callproc.c:
8973         Rename call-process-internal to old-call-process-internal.
8974         New impl. in process.el.
8975
8976 2000-03-21  Martin Buchholz  <martin@xemacs.org>
8977
8978         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
8979
8980 2000-03-20  Andy Piper  <andy@xemacs.org>
8981
8982         * glyphs.c (full_list_hash): make hashes of the same elements in
8983         different orders return different values.
8984
8985 2000-03-20  Martin Buchholz <martin@xemacs.org>
8986
8987         * XEmacs 21.2.32 is released.
8988
8989 2000-03-20  Martin Buchholz  <martin@xemacs.org>
8990
8991         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
8992         (DFC_MALLOC_USE_CONVERTED_DATA):
8993         Add aliasing-safe casts to allow use with char* or unsigned char*
8994         lvalues.
8995
8996         * eldap.c (Fldap_open):
8997         (Fldap_search_basic):
8998         (Fldap_add):
8999         (Fldap_modify):
9000         Make C++-compilable.
9001         Make sure GCPRO'ed variables are initialized.
9002         Use temp variables to avoid repeated calls to Flength.
9003
9004 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9005
9006         * sysfile.h:
9007         Make sure PATH_MAX is always defined.
9008         Include limits.h for PATH_MAX.
9009         Deprecate use of MAXPATHLEN.
9010
9011 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9012
9013         * emacs.c: Add reinit_vars_of_fileio.
9014         * symsinit.h: Add reinit_vars_of_fileio.
9015         * fileio.c (reinit_vars_of_fileio): New.
9016         * fileio.c (Fmake_temp_name):
9017         Initialize temp_name random number from microseconds to make
9018         collisions even less likely.  Initialize always at process startup
9019         time.  (make-temp-name) used to return the same file name twice in
9020         a row when PDUMP.
9021         Random stylistic fiddling.
9022         Comment fixes.
9023
9024 2000-03-20  Andy Piper  <andy@xemacs.org>
9025
9026         * glyphs.c (image_instantiate): allow text glyphs to be
9027         instantiated in the minibuffer window.
9028
9029 2000-03-19  Andy Piper  <andy@xemacs.org>
9030
9031         * glyphs.c (image_instance_hash): be careful about which items we
9032         hash on.
9033
9034         * glyphs-widget.c (tab_control_set_property): record into pending
9035         items rather than the actual items.
9036
9037         * glyphs-x.c (x_update_widget): use pending items to update with.
9038
9039         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9040         to update with.
9041
9042         * glyphs.c (mark_image_instance): mark pending items.
9043
9044         * window.c (Fset_window_configuration): record the buffer.
9045         (Fselect_window): totally revert previous change which breaks many
9046         things.
9047
9048 2000-03-18  Andy Piper  <andy@xemacs.org>
9049
9050         * glyphs-msw.c (mswindows_tab_control_update): force selected
9051         item.
9052
9053         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9054         window domain cache, otherwise we get inconsistencies at
9055         startup. There is something fishy at startup which can lead to the
9056         minibuffer being the selected window when the gutter content is
9057         instantiated.
9058
9059         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9060         gcpros.
9061         (parse_gui_item_tree_children): ditto.
9062         (parse_gui_item_tree_item): ditto.
9063
9064         * glyphs.c (Fupdate_widget_instances): return something.
9065
9066 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9067
9068         * window.c (Fselect_window): Undo 2000-03-17 change.
9069
9070 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9071
9072         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9073         against v7.0 libraries.  Insta-coredump city until the postgres
9074         folks fix it.
9075
9076 2000-03-17  Andy Piper  <andy@xemacs.org>
9077
9078         * faces.c (complex_vars_of_faces): don't give the widget face an
9079         inherited background pixmap.
9080
9081         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9082         selected item.
9083
9084         * event-stream.c (Fdispatch_non_command_events): return something.
9085
9086         * gutter.c (output_gutter): use widget face.
9087         (clear_gutter): ditto.
9088
9089         * NEWS: adjust again.
9090
9091         * window.c (Fselect_window): make sure this runs to completion to
9092         avoid oddities with Fset_window_configuration.
9093         (Fcurrent_window_configuration): in general do not save the
9094         minibuffer as the selected window.
9095
9096         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9097
9098 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9099
9100         * emacs.c (Frunning_temacs_p): Revert previous patch.
9101         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9102
9103 2000-03-16  Andy Piper  <andy@xemacs.org>
9104
9105         * glyphs-x.c (x_tab_control_update): if no widget values then
9106         return.
9107
9108         * NEWS: update for new features.
9109
9110         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9111         synthetic event to the native system.
9112         (reinit_vars_of_event_Xt): set force_event_pending to
9113         emacs_Xt_force_event_pending.
9114
9115         * events.h (struct event_stream): add force_event_pending.
9116
9117         * specifier.c (recompute_one_cached_specifier_in_window): add
9118         comment.
9119
9120         * redisplay.c (redisplay_frame): don't call
9121         update_frame_subwindows. Reset subwindow cachels when
9122         subwindows_changed, removing this was an optimization too far.
9123
9124         * redisplay-output.c (compare_runes): reorganize so that we catch
9125         glyph changes when we want them. Set optimize_output when this
9126         would help layouts.
9127         (redisplay_output_layout): remove frame_really_changed, use
9128         optimize_output instead.
9129
9130         * redisplay-msw.c (mswindows_output_display_block): reset
9131         optimize_output after outputting a glyph.
9132         * redisplay-x.c (x_output_display_block): ditto.
9133         * redisplay-tty.c (tty_output_display_block): ditto.
9134
9135         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9136         functions.
9137         (gutter_specs_changed): do specific gutter positions.
9138         (top_gutter_specs_changed): new function. Only update the
9139         specified gutter specs.
9140         (bottom_gutter_specs_changed): ditto.
9141         (left_gutter_specs_changed): ditto.
9142         (right_gutter_specs_changed): ditto.
9143
9144         * gui.c (gui_item_hash_internal): new function, does a real hash.
9145         (gui_item_id_hash): use it.
9146         (gui_item_hash): hash the eval'ed gui_item.
9147
9148         * gui-x.c (popup_selection_callback): send an eval event to call
9149         Fupdate_widget_instances.
9150
9151         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9152         to call Fupdate_widget_instances.
9153
9154         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9155         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9156
9157         * glyphs.c: (update_frame_subwindows): deleted.
9158         (Fupdate_widget_instances): new function for updating the dirty
9159         state of widgets that might have changed.
9160         (syms_of_glyphs): add Qupdate_widget_instances.
9161         (full_list_hash): hash a list completely.
9162         (image_instance_hash): use it for items and properties.
9163
9164         * frame-msw.c (mswindows_size_frame_internal): remove unused
9165         variable.
9166
9167         * faces.h (struct face_cachel): fix comment.
9168
9169         * event-stream.c (Fdispatch_non_command_events): new
9170         function. Process non-command events, forcing an event cycle
9171         beforehand.
9172         (syms_of_event_stream): declare.
9173         (event_stream_force_event_pending): new function. Force an event
9174         on the native event queue so that an event cycle will occur next
9175         time we check.
9176
9177         * event-msw.c:
9178         (struct ntpipe_shove_stream):
9179         (mswindows_enqueue_dispatch_event):
9180         (mswindows_dequeue_dispatch_event):
9181         (mswindows_cancel_dispatch_event):
9182         (mswindows_pump_outstanding_events):
9183         (mswindows_drain_windows_queue):
9184         (mswindows_handle_paint):
9185         (mswindows_wnd_proc):
9186         (mswindows_key_to_emacs_keysym):
9187         (get_process_input_waitable):
9188         (emacs_mswindows_delete_stream_pair): re-indent file.
9189         (mswindows_need_event): do not process further fds if the windows
9190         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9191         fixes the 100% cpu problem.
9192         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9193
9194 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9195
9196         * alloc.h: New.
9197         * dumper.h: New.
9198         * dumper.c: New.
9199
9200         * emacs.c: Moved dump file searching to dumper.c.
9201         (Frunning_temacs_p): Fixed.
9202
9203         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9204         last_lrecord_type_index_assigned.
9205
9206 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9207
9208         * symsinit.h: Added reinit parameter to init_console_stream
9209         declaration.
9210
9211         * lisp.h: Added file parameter to pdump_load declaration.
9212
9213         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9214         support.  Added dump file searching.
9215
9216         * config.h.in: Added EMACS_PROGNAME.
9217
9218         * console-stream.c (init_console_stream): Fix reinitialisation
9219         when running from temacs.
9220
9221         * alloc.c (pdump): Add id support.
9222         (pdump_load): Add file parameter and signature/id support.
9223
9224         * Makefile.in.in: Add full pdump support.
9225
9226 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9227
9228         * postgresql.c: Update documentation to reflect latest code
9229         status.
9230         (print_result): Show tuple counts in printed representation when
9231         appropriate.
9232         (Fpq_put_nbytes): MULE-ize.
9233         (Fpq_get_line_async): Ditto.
9234
9235 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9236
9237         * postgresql.c (Fpq_lo_import): Fix return value.
9238         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9239
9240 2000-03-13  Ben Wing  <ben@xemacs.org>
9241
9242         * alloc.c (pdump_load):
9243         Fix compile warning under mswin.
9244
9245 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9246
9247         * postgresql.c: Mule-ization, bug fixes.
9248         Use PG_CODING to encapsulate coding system name changes.
9249         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9250         (pg-coding-system): Create.
9251
9252         (Fpq_conn_defaults): Mule-ize.
9253         (Fpq_connectdb): Mule-ize & bug fix.
9254         (Fpq_connect_start): Mule-ize.
9255         (Fpq_set_client_encoding): Mule-ize.
9256         (Fpq_finish): Document `DEAD' connection status.
9257         (Fpq_clear): Ditto.
9258         (Fpq_pgconn): Mule-ize.
9259         (Fpq_exec): Mule-ize & bug fix.
9260         (Fpq_send_query): Ditto.
9261         (Fpq_get_result): Ditto.
9262         (Fpq_res_status): Mule-ize.
9263         (Fpq_result_error_message): Mule-ize.
9264         (Fpq_ntuples): fix comments.
9265         (Fpq_fname): Mule-ize.
9266         (Fpq_fnumber): Mule-ize.
9267         (Fpq_ftype): fix comments.
9268         (Fpq_get_value): Mule-ize.
9269         (Fpq_cmd_status): Ditto.
9270         (Fpq_cmd_tuples): Ditto.
9271         (Fpq_oid_value): Ditto.
9272         (Fpq_notifies): Ditto.
9273         (Fpq_lo_import): Ditto.
9274         (Fpq_lo_export): Ditto.
9275         (Fpq_get_line): Ditto.
9276         (Fpq_put_line): Mule-ize and bug fix.
9277         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9278
9279 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9280
9281         * postgresql.c (vars_of_postgresql): Mule-ize.
9282         (Fpq_conn_defaults): Ditto.
9283
9284 2000-03-12  Ben Wing  <ben@xemacs.org>
9285
9286         * alloc.c (Fmake_byte_code):
9287         * alloc.c (debug_string_purity_print):
9288         * alloc.c (pdump_backtrace):
9289         * alloc.c (pdump_get_indirect_count):
9290         * alloc.c (pdump_register_sub):
9291         * alloc.c (pdump_register_object):
9292         * alloc.c (pdump_register_struct):
9293         * alloc.c (pdump_dump_data):
9294         * alloc.c (pdump_reloc_one):
9295         Minor cleanups.
9296
9297         * console-msw.c:
9298         * console-msw.c (GetConsoleHwnd):
9299         * console-msw.c (msw_hide_console):
9300         * console-msw.c (msw_show_console):
9301         * console-msw.c (msw_ensure_console_buffered):
9302         * console-msw.c (msw_output_console_string):
9303         * console-msw.c (console_type_create_mswindows):
9304
9305         a) Added functions to manipulate the console window for use with
9306         shell support.
9307
9308         b) Added support for writing text to the console, which is now
9309         used under Windows when xemacs is not being run non-interactively,
9310         to write text that would otherwise be destined for stdout because
9311         under these circumstances, text written to stdout tends to
9312         disappear and not be seen.
9313
9314         * console-msw.h:
9315         * event-Xt.c:
9316         * event-Xt.c (x_event_to_emacs_event):
9317         * event-Xt.c (describe_event_window):
9318         * events-mod.h (XEMACS_MOD_CONTROL):
9319         * events.c:
9320         * events.c (Fmake_event):
9321         * events.c (character_to_event):
9322         * events.c (event_to_character):
9323         * events.c (format_event_object):
9324         * events.c (Fevent_modifiers):
9325         * events.h:
9326         * events.h (struct key_data):
9327         * events.h (struct button_data):
9328         * events.h (struct misc_user_data):
9329         * frame-x.c (Fcde_start_drag_internal):
9330         * frame-x.c (Foffix_start_drag_internal):
9331         * gpmevent.c (Freceive_gpm_event):
9332         * keymap.c:
9333         * keymap.c (bucky_sym_to_bucky_bit):
9334         * keymap.c (control_meta_superify):
9335         * keymap.c (make_key_description):
9336         * keymap.c (keymap_lookup_directly):
9337         * keymap.c (create_bucky_submap):
9338         * keymap.c (keymap_store):
9339         * keymap.c (define_key_check_and_coerce_keysym):
9340         * keymap.c (define_key_parser):
9341         * keymap.c (define_key_alternate_name):
9342         * keymap.c (Fdefine_key):
9343         * keymap.c (raw_lookup_key_mapper):
9344         * keymap.c (struct map_keymap_unsorted_closure):
9345         * keymap.c (map_keymap_unsorted_mapper):
9346         * keymap.c (map_keymap_sort_predicate):
9347         * keymap.c (map_keymap_sorted):
9348         * keymap.c (accessible_keymaps_mapper_1):
9349         * keymap.c (where_is_recursive_mapper):
9350         * keymap.c (describe_map_mapper):
9351         * keymap.c (describe_map_sort_predicate):
9352         * keymap.c (describe_map):
9353         * keymap.c (complex_vars_of_keymap):
9354         And a number of other files, the key modifier preprocessor
9355         constants that xemacs uses have names that conflict with constants
9356         defined under MS Windows for other purposes, so they were renamed
9357         to begin with the prefix XEMACS_. The variables that hold such
9358         modifiers were changed to consistently be of type int to fix
9359         various compile warnings.
9360
9361         * console.c (complex_vars_of_console):
9362         * device.c:
9363         * device-msw.c:
9364         * device-msw.c (mswindows_finish_init_device):
9365         * device-msw.c (msw_get_workspace_coords):
9366         * device-msw.c (mswindows_device_system_metrics):
9367         and various other files, added support for a new
9368         device property called offset-workspace which returns the position
9369         of the upper left corner of the workspace area and goes along with
9370         the existing size-workspace property.
9371
9372         * dialog-msw.c:
9373         * dialog-msw.c (push_bufbyte_string_as_unicode):
9374         * dialog-msw.c (mswindows_popup_dialog_box):
9375         Added support for XEmacs-style accelerator specifications in
9376         button text.  Note: I didn't add support for this under X Windows,
9377         and somebody needs to do this.
9378
9379         * dialog.c:
9380         * dialog.c (Fpopup_dialog_box):
9381         Documented the support for accelerators that was just mentioned.
9382
9383         editfns.c (get_home_directory): Changed behavior under Windows
9384         when HOME not defined; former behavior was irretrievably broken.
9385
9386         * emacs.c:
9387         * emacs.c (main_1):
9388         * emacs.c (main):
9389         * minibuf.c (clear_echo_area_internal):
9390         * minibuf.c (echo_area_append):
9391         * print.c:
9392         * print.c (std_handle_out_external):
9393         * print.c (std_handle_out_va):
9394         * print.c (fatal):
9395         * print.c (write_string_to_stdio_stream):
9396         * print.c (output_string):
9397         * print.c (debug_print):
9398         * print.c (debug_backtrace):
9399         * print.c (debug_short_backtrace):
9400         Cleaned up the code that prints text to stdout so that this can be
9401         changed to output into a console window instead under MS Windows,
9402         as described above.
9403
9404         * eval.c:
9405         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9406         * eval.c (internal_catch):
9407         * eval.c (unwind_to_catch):
9408         * eval.c (throw_or_bomb_out):
9409         * eval.c (condition_case_1):
9410         * eval.c (signal_1):
9411         * eval.c (check_error_state_sanity):
9412         * eval.c (call_with_suspended_errors_1):
9413         * eval.c (call_with_suspended_errors):
9414         * eval.c (reinit_vars_of_eval):
9415         Added code to catch throw loops and check for a pesky bug that may
9416         be gone now.
9417
9418         * event-msw.c:
9419         * event-msw.c (key_needs_default_processing_p):
9420         * event-msw.c (mswindows_wnd_proc):
9421         * event-msw.c (mswindows_modifier_state):
9422         * event-msw.c (emacs_mswindows_quit_p):
9423         * event-msw.c (vars_of_event_mswindows):
9424         a) Added support for using the alt key to select menu items as is
9425         standard under MS Windows.  This is controlled using the variable
9426         menu-accelerator-enabled, just like under X Windows.  There is an
9427         option on the options menu to turn this support on.  I really
9428         think that it should be on by default under Windows, but I'm not
9429         going to make this change yet.
9430
9431         b)  Added support for dynamic display size changes under Windows.
9432
9433         * event-stream.c:
9434         * event-stream.c (maybe_echo_keys):
9435         * event-stream.c (Fnext_event):
9436         * event-stream.c (command_builder_find_leaf):
9437         * event-stream.c (lookup_command_event):
9438         * event-stream.c (execute_command_event):
9439         * event-stream.c (pre_command_hook):
9440         * event-stream.c (post_command_hook):
9441         * event-stream.c (syms_of_event_stream):
9442         * event-stream.c (vars_of_event_stream):
9443         * event-stream.c (complex_vars_of_event_stream):
9444         * events.h (struct command_builder):
9445
9446         a) Tried to clean up a little bit the horribly written x-specific
9447         accelerator code that crept into this file.  I moved this code
9448         into menubar-x.c where it belongs. I also needed to move the
9449         command builder structure into the file events.h because it is
9450         accessed directly by this accelerator code.  What I didn't do, but
9451         which should be done at some point, is to properly abstract this
9452         code using device methods instead of the kludgy way that it
9453         currently hooks into the event code.
9454
9455         b) Added the lisp variables this-command-properties and
9456         last-command- properties, which should be used to synchronize two
9457         adjacent commands in preference to playing games with the variable
9458         this-command, which is typically what happens.
9459
9460         c) Added some slightly nasty code to hook into the lisp support
9461         for shifted- motion-key selection.  This is actually necessary for
9462         somewhat complicated reasons, which are described in
9463         simple.el. (NB: I think the proper thing would be to have the code
9464         that calls the pre and post command hooks also call out to generic
9465         lisp functions in simple.el, where all built-in stuff could be
9466         added.  I will think about this more.)
9467
9468         * event-unixoid.c (poll_fds_for_input):
9469         * lread.c (readchar):
9470         * redisplay-tty.c (tty_clear_frame):
9471         * redisplay-x.c (x_get_gc):
9472         * signal.c (interrupt_signal):
9473         And a whole bunch of other files: fixed up places that printed
9474         directly to stderr to instead call the function stderr_out so that
9475         the changes I made under Windows work correctly.
9476
9477         * filemode.c (mode_string):
9478         Warning fixes.
9479
9480         * frame-msw.c:
9481         * frame-msw.c (mswindows_size_frame_internal):
9482         Fixed the computation of frame size and position to keep the frame
9483         within the workspace area, rather than within the physical
9484         dimensions of the screen, so that the frame doesn't overlap window
9485         manager decorations, such as the start menu and toolbar, typically
9486         at the bottom of the screen.
9487
9488         * frame.c (vars_of_frame):
9489         Changed the default frame title format under MS Windows to consist
9490         of buffername-XEmacs, which is standard under MS Windows.  I think
9491         it might be a good idea to change this everywhere because I think
9492         it is superior to the current frame title format, but this is the
9493         kind of change that is likely to cause some people to get annoyed,
9494         so I'm not making it.
9495
9496         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9497
9498         * gui-msw.c (mswindows_handle_gui_wm_command):
9499         Fixed compile warnings.
9500
9501         * gui-x.c:
9502         * gui-x.c (strdup_and_add_accel):
9503         * gui-x.c (button_item_to_widget_value):
9504         * gui-x.h:
9505         Added code to automatically put an accelerator onto the beginning
9506         of menu items that don't have one as is now the standard, and is
9507         described more later.  Also fixed things so that the menu item
9508         name can be an evaluated expression, again a new standard.
9509
9510         * gui.c:
9511         * gui.c (gui_item_add_keyval_pair):
9512         * gui.c (make_gui_item_from_keywords_internal):
9513         * gui.c (gui_add_item_keywords_to_plist):
9514         * gui.c (gui_item_accelerator):
9515         * gui.c (gui_name_accelerator):
9516         * gui.c (gui_item_included_p):
9517         * gui.c (gui_item_display_flush_left):
9518         * gui.c (gui_item_display_flush_right):
9519         * gui.c (parse_gui_item_tree_item):
9520         * gui.c (parse_gui_item_tree_children):
9521         * gui.c (parse_gui_item_tree_list):
9522         Mule-ized.  Cleanup.  GCPRO addition.
9523
9524         * line-number.c (buffer_line_number):
9525         * lisp.h:
9526         * lisp.h (EMACS_INT_MAX):
9527         Added the manifest constant EMACS_INT_MIN corresponding to the
9528         existing constant EMACS_INT_MAX.  This is partially to fix compile
9529         warnings under Windows, and partly for cleanliness.
9530
9531         * menubar-msw.c:
9532         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9533         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9534         * menubar-msw.c (displayable_menu_item):
9535         * menubar-msw.c (populate_menu_add_item):
9536         * menubar-msw.c (populate_or_checksum_helper):
9537         * menubar-msw.c (populate_menu):
9538         * menubar-msw.c (update_frame_menubar_maybe):
9539         * menubar-msw.c (prune_menubar):
9540         * menubar-msw.c (msw_char_is_accelerator):
9541         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9542         * menubar-msw.c (mswindows_handle_wm_command):
9543         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9544         * menubar-msw.c (mswindows_handle_wm_initmenu):
9545         * menubar-msw.c (mswindows_update_frame_menubars):
9546         * menubar-msw.c (mswindows_free_frame_menubars):
9547         * menubar-msw.c (mswindows_popup_menu):
9548         Fixed a bug in handling accelerators where an extra character
9549         would be displayed in the menu item.  Also generalized the
9550         function displayable_menu_item because it is now used by the
9551         dialog box code as well.  And finally, added code in the functions
9552         that create the menubar to extract a list of accelerators for the
9553         top level menubar, which is used in the event code to determine
9554         whether a particular alt-key combination should be used to invoke
9555         a menu item, or should be passed through to access the standard
9556         XEmacs keymap binding for this key combination.
9557
9558         Much needed GCPROing.
9559
9560         * menubar-x.c:
9561         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9562         * menubar-x.c (menu_item_descriptor_to_widget_value):
9563         * menubar-x.c (restore_in_menu_callback):
9564         * menubar-x.c (x_popup_menu):
9565         * menubar-x.c (menu_move_up):
9566         * menubar-x.c (menu_move_down):
9567         * menubar-x.c (menu_move_left):
9568         * menubar-x.c (menu_move_right):
9569         * menubar-x.c (menu_select_item):
9570         * menubar-x.c (command_builder_operate_menu_accelerator):
9571         * menubar-x.c (menu_accelerator_junk_on_error):
9572         * menubar-x.c (command_builder_find_menu_accelerator):
9573         * menubar-x.c (Faccelerate_menu):
9574         * menubar.h:
9575         Moved a whole bunch of code here that was previously in
9576         event-stream.c as described above.  There is also code connected
9577         to the new standard of adding an accelerator to the beginning of
9578         menu items that don't have one as described above and below.
9579
9580         * menubar.c:
9581         * menubar.c (menu_parse_submenu_keywords):
9582         * menubar.c (Fmenu_find_real_submenu):
9583         * menubar.c (Fnormalize_menu_item_name):
9584         * menubar.c (syms_of_menubar):
9585         * menubar.c (vars_of_menubar):
9586         * menubar.c (complex_vars_of_menubar):
9587
9588         a) Cleaned up a bunch of documentation and improved it.
9589
9590         b) XEmacs now automatically adds an accelerator onto the beginning
9591         of any menu items that don't have one.  I did this because there
9592         will inevitably be some menu items on the main menubar that don't
9593         have accelerators on them because the package that adds that
9594         particular menu item hasn't yet been fixed up to have accelerators
9595         in them and it looked rather strange to have some items with and
9596         some items without accelerators, especially since even in items
9597         without accelerators, you can, at least under windows, still
9598         access the item through an accelerator corresponding to the first
9599         character in the item's name.  If people don't like this behavior,
9600         I can add a variable to turn it off optionally, but I'm not sure
9601         this is a good idea because we really do need to have accelerators
9602         on all of the menu items, and if a package doesn't like the
9603         accelerators being put on the first character, then it should put
9604         the accelerators where they belong.
9605
9606         c) I made a behavior change, which is that the descriptor that
9607         specifies the text of the menu item, which formerly was just a
9608         string, can now also be an evaluated expression.  This makes this
9609         descriptor parallel with all of the others, which could also be
9610         evaluated expressions.  This also obviates the need for the
9611         keyword :label, which was previously listed in the documentation
9612         as unimplemented, and which was for the same purpose.
9613
9614         d) GCPROing.
9615
9616         * ntproc.c:
9617         * ntproc.c (new_child):
9618         * ntproc.c (sys_spawnve):
9619         * ntproc.c (find_child_console):
9620         * ntproc.c (sys_kill):
9621         Fixed compile warnings.  By the way, this file should really go
9622         away entirely, and this will happen as soon as Kirill makes his
9623         final round of process cleanups, which affect the function
9624         call-process.
9625
9626         * process-nt.c:
9627         * process-nt.c (struct nt_process_data):
9628         * process-nt.c (find_process_from_pid):
9629         * process-nt.c (send_signal_the_nt_way):
9630         * process-nt.c (enable_child_signals):
9631         * process-nt.c (find_child_console):
9632         * process-nt.c (send_signal_the_95_way):
9633         * process-nt.c (nt_finalize_process_data):
9634         * process-nt.c (ensure_console_window_exists):
9635         * process-nt.c (nt_create_process):
9636         * process-nt.c (nt_kill_child_process):
9637         * process-nt.c (nt_kill_process_by_pid):
9638         * process-nt.c (nt_open_network_stream):
9639         * process-nt.c (vars_of_process_nt):
9640         Copied over code from Emacs 20.5 to correctly send signals to sub-
9641         processes under Windows 95.  Also added code to automatically
9642         create and hide console window when a sub-process is created under
9643         Windows 95, which obviates the need for the separate runemacs.exe
9644         executable, and finally implemented some variables that were
9645         implemented in Emacs 20.5, but previously not in XEmacs.  These
9646         include mswindows- start-process-share-console and
9647         mswindows-start-process-inherit-error-mode. (Both of these only
9648         apply to Windows 95.)
9649
9650         * regex.c (regex_compile): Fixed a compile warning.
9651
9652         * select-msw.c:
9653         * select-msw.c (mswindows_own_selection):
9654         * select-msw.c (mswindows_get_foreign_selection):
9655         * select-msw.c (mswindows_disown_selection):
9656         * select-msw.c (console_type_create_select_mswindows):
9657         * select-msw.c (syms_of_select_mswindows):
9658         Cleaned up the file and implemented the device method
9659         selection_exists_p, which had accidentally been left out.  Also
9660         removed four lisp functions that were remnants from before the
9661         time when the selection code was properly device abstracted.
9662         These functions are no longer needed because there are generic
9663         equivalents, and because they were added recently and don't exist
9664         in FSF Emacs, I don't think there's any problem with just deleting
9665         them.
9666
9667         * sysdep.c:
9668         * sysdep.c (sys_subshell):
9669         Fixed a compile warning, although in this case there's probably
9670         something wrong with this code, and it ought to be looked into
9671         more thoroughly by somebody who understands it.
9672
9673         * window.c:
9674         * window.c (Fwindow_text_area_height):
9675         * window.c (Fwindow_width):
9676         * window.c (Fwindow_full_width):
9677         * window.c (Fwindow_pixel_width):
9678         * window.c (debug_print_window):
9679         * window.c (syms_of_window):
9680         Added functions window-text-area-height and window-full-width,
9681         which are functions for returning various width and height
9682         characteristics of a window. (One of these functions is necessary
9683         for making the file dialog box work correctly, and the other one
9684         was added for completeness.)  Also added a table to the
9685         documentation for window-height which describes the entire scheme
9686         for accessing width and height characteristics of a window.
9687
9688 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9689
9690         * nt.c (fstat): Added a comment for another problem with
9691         non-encapsulated [f]stat(), reported by Adrian Aichner
9692         <aichner@ecf.teradyne.com>.
9693
9694 2000-03-11  Andy Piper  <andy@xemacs.org>
9695
9696         * window.c (make_dummy_parent): initialize subwindow instance
9697         cache.
9698         (Fset_window_configuration): zero extent_modiff.
9699
9700 2000-03-10  Andy Piper  <andy@xemacs.org>
9701
9702         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
9703         more changes can be triggered.
9704         (Fredisplay_frame): ditto.
9705         (Fredraw_device): ditto.
9706         (Fredisplay_device): ditto.
9707         (redisplay_frame): make non-static.
9708         (redisplay_frame): call update_frame_gutter_geometry outside of
9709         display proper.
9710
9711         * gutter.h: declare update_frame_gutter_geometry.
9712
9713         * redisplay.h: declare redisplay_frame.
9714
9715         * gutter.c (update_frame_gutter_geometry): move geometry changes
9716         in update_frame_gutters here. Geometry changes can only occur
9717         outside of redisplay.
9718         (update_frame_gutters): remove geometry change code.
9719         (Fredisplay_gutter_area): make sure that we are in display when we
9720         update and that we have flushed any size changes.
9721
9722 2000-03-11  Andy Piper  <andy@xemacs.org>
9723
9724         * alloc.c (pdump_dump_data): remove i & count shadows.
9725
9726 2000-02-27  Mike Alexander  <mta@arbortext.com>
9727
9728         * sysdep.h: Declare pdump_read_file
9729
9730         * sysdep.c (pdump_read_file): New function
9731
9732         * alloc.c (pdump_load): Call pdump_read_file to get the portable
9733         dump data
9734
9735 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9736
9737         * lrecord.h: add `lrecord_type_pgsetenv'.
9738
9739 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
9740
9741         * symsinit.h: declare (vars|syms)_of* functions.
9742         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
9743
9744 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
9745
9746         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
9747
9748         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
9749         GCCs.
9750
9751         * emacs.c (main_1): Call postgres initialization code.
9752
9753         * postgresql.h: New file.  PostgreSQL RDBMS support.
9754         * postgresql.c: New file.
9755
9756 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9757
9758         * redisplay-output.c (redisplay_output_display_block): Disable
9759         redundant code.
9760
9761 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9762
9763         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
9764         (Fcanna_henkan_next): Ditto.
9765         (Fcanna_bunsetu_henkou): Ditto.
9766         (Fcanna_henkan_kakutei): Ditto.
9767         (Fcanna_henkan_end): Ditto.
9768         (Fcanna_henkan_quit): Ditto.
9769         (Fcanna_henkan_next): Set retun value correctly.
9770         (c2mu): Use unsigned char instead of signed char.
9771
9772 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9773
9774         * emacs.c (main_1): Always call syms_of_gui.
9775         * inline.c: include gui.h
9776
9777 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9778
9779         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
9780         converted to Lisp_Object.
9781         (Qtop_bottom): New variable.
9782         (syms_of_redisplay): Initialize it.
9783         * redisplay.h (Vvisible_bell): Ditto.
9784         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
9785         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
9786         only flash top and bottom.
9787
9788 2000-03-08  Andy Piper  <andy@xemacs.org>
9789
9790         * buffer.c (Frename_buffer): record new buffer name the right way.
9791
9792 2000-03-08  Andy Piper  <andy@xemacs.org>
9793
9794         * glyphs.c (update_subwindow): increase hash depth so that widget
9795         items get picked up properly.
9796
9797         * redisplay-output.c (compare_runes): increase hash depth so that
9798         widget items get picked up properly.
9799
9800 2000-03-08  Andy Piper  <andy@xemacs.org>
9801
9802         * gutter.c (output_gutter): add some debug.
9803
9804         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
9805         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
9806         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
9807
9808         * redisplay-output.c (compare_runes): use display_hash to
9809         determine if glyphs really are not the same.
9810
9811         * glyphs.c (update_subwindow): check display_hash to see if
9812         anything really needs to be updated. If not then do
9813         nothing. Record the display_hash after updating.
9814         (image_instance_equal): compare the image_instance face also.
9815
9816 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
9817
9818         * redisplay.h: Fix comment style.
9819
9820 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9821
9822         * consle-msw.h (struct mswindows_frame):
9823         Added new member paint_pending to indicate whether a WM_PAINT
9824         magic event has been queued for this frame.
9825
9826         * event-msw.c (mswindows_drain_windows_queue):
9827         Don't queue a WM_PAINT magic event if one is already queued.
9828         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
9829
9830         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
9831
9832 2000-03-07  Didier Verna  <didier@xemacs.org>
9833
9834         * dired.c: #include `regex.h' after `sysfile.h'.
9835
9836 2000-03-06  Martin Buchholz  <martin@xemacs.org>
9837
9838         * sound.c (init_nas_sound): Fix compiler warning.
9839
9840         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
9841         (FREE_STRUCT_P):
9842         (MARK_STRUCT_AS_FREE):
9843         (MARK_STRUCT_AS_NOT_FREE):
9844         Make `gcc -fstrict-aliasing' work properly.
9845
9846 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9847
9848         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
9849         (mswindows_delete_device): Call CoUnnitialize().
9850
9851         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
9852
9853 2000-02-25    <CraigL@DyCon.com>
9854
9855         * process-nt.c: MinGW now has <shellapi.h>, but still needs
9856         <errno.h>.
9857
9858         * sysdep.c: This extern declaration for environ prevents MinGW
9859         from finding the variable in CRTDLL.DLL.
9860
9861         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
9862         windows headers.
9863         (SHGFI_EXETYPE): ..
9864         (WM_MOUSEWHEEL): ..
9865         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
9866         definitions.
9867         (MMRESULT): Removed, now defined in cygwin's windows headers.
9868         (TIMECAPS): ..
9869         (uid_t,gid_t,pid_t,ssize_t): ..
9870         (_timeb): Removed, MinGW defines both _timeb and timeb.
9871         (HAVE_H_ERRNO): Added.
9872         (HAVE_TZNAME): Added, configure is not detecting this.
9873
9874 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
9875
9876         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
9877         * syntax.c (syntax_match): Use it.
9878
9879         * cmds.c: Import auto-fill-chars from FSF Emacs.
9880         (Vauto_fill_chars): New variables.
9881         (internal_self_insert): Check Vauto_fill_chars.
9882         (vars_of_cmds):
9883         Declare auto-fill-chars as a Lisp variable and initialize it.
9884
9885 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9886
9887         * fileio.c (Fmake_symbolic_link):
9888         (Ffile_symlink_p):
9889         Run handlers even if local machine doesn't have symlinks.
9890
9891 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9892
9893         * event-msw.c (mswindows_drain_windows_queue):
9894         Don't generate paint magic events for non-XEmacs frames.
9895
9896 2000-03-05  Andy Piper  <andy@xemacs.org>
9897
9898         * redisplay.c (redisplay_frame): generate_displayable_area and
9899         friends assumes that we are not in GC, we therefore have to make
9900         sure that this doesn't happen.
9901
9902         * gutter.c (calculate_gutter_size): generate_displayable_area
9903         assumes that we are not in GC, we therefore have to make sure that
9904         this doesn't happen.
9905
9906 2000-03-05  Martin Buchholz  <martin@xemacs.org>
9907
9908         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
9909
9910 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9911
9912         * redisplay.c (regenerate_window): Make sure we set a sane value
9913         for end_pos even if we jump out of the loop.
9914         (regenerate_window): Answer Ben's question :-).
9915         (start_end_of_last_line): Add may_error argument.
9916         (start_of_last_line):
9917         (end_of_last_line): Pass may_error = 0.
9918         (end_of_last_line_may_error): New function.
9919         (pixel_to_glyph_translation): Use it, so we don't crash in
9920         event_to_glyph.
9921
9922 2000-03-04  Andy Piper  <andy@xemacs.org>
9923
9924         * window.h (struct window): add gutter_extent_modiff.
9925
9926         * window.c (allocate_window): zero out gutter_extent_modiff.
9927
9928         * redisplay.h: declare sync_display_line_structs.
9929
9930         * redisplay.c (add_glyph_rune): add a better comment.
9931
9932         * redisplay-output.c (sync_display_line_structs): made non-static.
9933         (compare_runes): remove unneccesary glyph cachel access.
9934
9935         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
9936
9937         * gutter.c (output_gutter): don't output the gutter if extent
9938         changes only involve extents in buffers. use 4 sets of display
9939         lines.
9940         (gutter_extent_signal_changed_region_maybe): new function. Mark
9941         extents in gutters as changed.
9942         (update_frame_gutters): use 4 sets of display lines.
9943         (reset_gutter_display_lines): ditto.
9944         (free_frame_gutters): ditto.
9945         (redraw_exposed_gutter): force output of gutters.
9946
9947         * frame.h (struct frame): add 4 sets of gutter display lines.
9948
9949         * extents.c: (extent_changed_for_redisplay): signal changes to
9950         extents in strings in the gutter as well as extents in buffers.
9951
9952 2000-03-02  Andy Piper  <andy@xemacs.org>
9953
9954         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
9955
9956         * frame.c (Fmake_frame): make sure the gutters get initialized
9957         after the frame is visible.
9958         (set_frame_selected_window): re-arrange compilation macros a
9959         little.
9960         (change_frame_size_1): mark gutters changed.
9961
9962         * device.c (Fset_device_class): mark gutters changed.
9963
9964 2000-03-01  Andy Piper  <andy@xemacs.org>
9965
9966         * window.c (window_top_frame_gutter_height): deleted.
9967         (window_bottom_frame_gutter_height): ditto.
9968         (window_left_frame_gutter_height): ditto.
9969         (window_right_frame_gutter_height): ditto.
9970         (window_top_gutter_height): don't use them.
9971         (window_bottom_gutter_height): ditto.
9972         (window_left_gutter_width): ditto.
9973         (window_right_gutter_width): ditto.
9974         (Fsplit_window): ditto.
9975         (Fwindow_pixel_edges): don't use border dimensions here.
9976
9977         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
9978         (update_scrollbar_instance): ditto.
9979
9980         * redisplay.c (generate_modeline): don't take gutters into account.
9981         (generate_modeline): ditto.
9982         (redisplay_frame): small gutter display optimization.
9983
9984         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
9985
9986         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
9987         gutters into account.
9988
9989         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
9990         for window position and type.
9991
9992         * gutter.c (get_gutter_coords): fix for frame gutters.
9993         (update_frame_gutters): update frame geometry if the gutters have
9994         changed.
9995         (init_frame_gutters): record current gutter geometries.
9996
9997         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
9998         var.
9999         (mswindows_widget_instantiate): ditto.
10000
10001         * frame.h (struct frame): add current_gutter_bounds.
10002
10003         * frame.c (change_frame_size_1): position window and minibuffer
10004         appropriately taking into account the frame gutters.
10005
10006         * frame-x.c: (x_initialize_frame_size): take into account the
10007         frame gutters.
10008
10009 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10010
10011         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10012
10013 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10014
10015         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10016
10017 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10018
10019         * file-coding.c (reset_decoding_stream): Clear previous
10020         detection state when autodetect.
10021
10022 2000-02-29  Didier Verna  <didier@xemacs.org>
10023
10024         * extents.c (set_extent_glyph_1): don't require extents to be
10025         attached.
10026
10027 2000-02-27  Andy Piper  <andy@xemacs.org>
10028
10029         * gutter.c (Fset_default_gutter_position): don't default left and
10030         right gutter visibility to t.
10031         (Fset_default_gutter_position): run
10032         default-gutter-position-changed-hook.
10033         (syms_of_gutter): add default-gutter-position-changed-hook.
10034
10035 2000-02-26  Andy Piper  <andy@xemacs.org>
10036
10037         * specifier.c (Fmake_specifier): add gutter references.
10038
10039         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10040
10041         * lisp.h: declare Fvalid_plist_p.
10042
10043         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10044         as changed.
10045         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10046         well as its visibility so that it gets reconstructed.
10047         (construct_window_gutter_spec): new function. Construct a string
10048         to be displayed in the gutter from a plist of strings. Take care
10049         to only use elements that are declared as visible.
10050         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10051         WINDOW_GUTTER.
10052         (gutter_validate): allow plists of strings in the specifier.
10053         (gutter_specs_changed): construct the real_gutter from the gutter
10054         specs using construct_window_gutter_spec.
10055         (gutter_visible_validate): gutter-visible is a new specifier type.
10056         (Fgutter_visible_specifier_p): new function for the new specifier.
10057         (syms_of_gutter): declare gutter-visible and
10058         Fgutter_visible_specifier_p.
10059         (specifier_type_create_gutter): intitalize new gutter-visible
10060         specifier.
10061         (reinit_specifier_type_create_gutter): ditto.
10062         (specifier_vars_of_gutter): use new specifier type for gutter
10063         visibility.
10064         (init_frame_gutters): construct real_gutter correctly.
10065         (Fgutter_specifier_p): beef up documentation.
10066         (Fgutter_size_specifier_p): ditto.
10067
10068         * winslots.h: add real_gutter slots.
10069
10070 2000-02-25  Andy Piper  <andy@xemacs.org>
10071
10072         * device-msw.c: Be kind to older cygwin versions. From Raymond
10073         Toy <toy@rtp.ericsson.se>.
10074
10075         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10076         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10077
10078 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10079
10080         * elhash.c (MARK_OBJ): Practice macro hygiene.
10081
10082 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10083
10084         * miscplay.c: s/__inline__/inline/g;
10085         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10086         (get_device_compdc): INLINE ==> static inline
10087         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10088         find -name '*.h' | \
10089         xargs global-replace \
10090         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10091
10092 2000-02-25  Andy Piper  <andy@xemacs.org>
10093
10094         * window.c (window_top_frame_gutter_height): new function.
10095         (window_top_window_gutter_height): ditto.
10096         (window_top_gutter_height): use them.
10097         (window_bottom_frame_gutter_height): new function.
10098         (window_bottom_window_gutter_height): ditto.
10099         (window_bottom_gutter_height): use them.
10100         (window_left_window_gutter_width): new function.
10101         (window_left_frame_gutter_width): ditto.
10102         (window_left_gutter_width): use them.
10103         (window_right_window_gutter_width): new function.
10104         (window_right_frame_gutter_width): ditto.
10105         (window_right_gutter_width): use them.
10106         (window_pixel_height): new function. calulate window pixel height
10107         with frame gutter involvement.
10108         (Fsplit_window): calculate new sizes taking frame gutters into
10109         account.
10110         (window_char_height_to_pixel_height): don't include frame gutters.
10111         (window_char_height): use window_pixel_height.
10112         (window_pixheight): rename from window_pixel_height.
10113         (change_window_height): use it.
10114         (window_pixel_height_to_char_height): don't include frame gutters.
10115         (window_char_width_to_pixel_width): ditto.
10116
10117 2000-02-25  Andy Piper  <andy@xemacs.org>
10118
10119         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10120         if it is.
10121
10122 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10123
10124         * alloc.c (staticpro):
10125         (staticpro_nodump):
10126         (dumpstruct):
10127         (dumpopaque):
10128         (pdump_wire):
10129         (pdump_wire_list):
10130         (compact_string_chars):
10131         (pdump_dump_wired):
10132         Convert:  if (foo) abort();  ==>  assert (! foo);
10133
10134         * eldap.c (Fldap_search_basic):
10135         (Fldap_add):
10136         (Fldap_modify):
10137         (Fldap_delete):
10138         Fix compiler warnings, and possible crashes if (random) return
10139         value were to be used.
10140
10141 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10142
10143         * device-msw.c: Workaround ResetDC failure.
10144
10145         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10146         applying a devmode.
10147
10148         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10149         (mswindows_text_width): Do not start printer page.
10150
10151         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10152
10153         * glyphs-msw.c: Added image methods to msprinter console and
10154         msprinter-specific image instantiation.
10155
10156 2000-02-20  Mike Alexander  <mta@arbortext.com>
10157
10158         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10159         to avoid crashes when selection-sets-clipboard is on
10160         (mswindows_own_selection): ditto
10161
10162 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10163
10164         * glyphs-msw.c:
10165         * redisplay-msw.c (get_frame_dc):
10166         (get_frame_compdc):
10167         * console-msw.h:
10168         * device-msw.c (mswindows_init_device):
10169         (mswindows_delete_device):
10170         (msprinter_init_device):
10171         (msprinter_delete_device):
10172         * frame-msw.c (mswindows_init_frame_1):
10173         (mswindows_delete_frame):
10174         (msprinter_init_frame_3):
10175         (msprinter_delete_frame): Move compatible DC to device object from
10176         frame object, for both mswindows and msprinter. Only one at a time
10177         is needed, it is a real waste to have one per frame!
10178
10179 2000-02-23  Andy Piper  <andy@xemacs.org>
10180
10181         * glyphs.c: add dynamic width and height elements.
10182         (image_instance_equal): ditto.
10183
10184         * glyphs-widget.c (widget_query_geometry): calculate width and
10185         height dynamically if required.
10186         (initialize_widget_image_instance): initialize dynamic dimensions.
10187         (widget_instantiate): pick-up dynamic dimensions.
10188
10189         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10190         dynamic determination. Add appropriate macros.
10191
10192         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10193         dimensions safe.
10194         (WINDOW_GUTTER_SIZE): ditto.
10195         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10196
10197         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10198         inline.
10199         (get_frame_dc): ditto.
10200
10201         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10202         here.
10203
10204 2000-02-23  Martin Buchholz <martin@xemacs.org>
10205
10206         * XEmacs 21.2.31 is released.
10207
10208 2000-02-22  Ben Wing <ben@xemacs.org>
10209
10210         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10211
10212 2000-02-22  Andy Piper  <andy@xemacs.org>
10213
10214         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10215
10216 2000-02-21  Mike Sperber <mike@xemacs.org>
10217
10218         * .dbxrc:
10219         * .gdbinit:
10220         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10221         variables.
10222
10223 2000-02-21  Mike Sperber <mike@xemacs.org>
10224
10225         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10226
10227 2000-02-21  Martin Buchholz <martin@xemacs.org>
10228
10229         * XEmacs 21.2.30 is released.
10230
10231 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10232
10233         Performance hacking.
10234         * *.c (syms_of_*):
10235         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10236         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10237         * emacs.c (main_1):
10238         * lisp.h (DEFUN):
10239         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10240         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10241         * symeval.h (DEFVAR_SYMVAL_FWD):
10242         * symbols.c (guts_of_unbound_marker):
10243         Make all c_readonly objects also lisp_readonly and marked for life.
10244         * lrecord.h (struct lrecord_implementation):
10245         Document flags better.
10246         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10247         * lrecord.h (DECLARE_LRECORD):
10248         * lrecord.h (XSETRECORD):
10249         * lrecord.h (RECORDP):
10250         * lrecord.h (RECORD_TYPEP):
10251         * lrecord.h (RECORD_MARKER): New.
10252         * lrecord.h (error_check_*):
10253         * lrecord.h (CONCHECK_NONRECORD):
10254         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10255         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10256         * lrecord.h (set_lheader_implementation):
10257         * lrecord.h (enum lrecord_type): New.
10258         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10259         * alloc.c (disksave_object_finalization_1):
10260         * alloc.c (mark_object):
10261         * alloc.c (lrecord_type_index):
10262         * alloc.c (tick_lcrecord_stats):
10263         * alloc.c (Fgarbage_collect):
10264         * alloc.c (init_alloc_once_early):
10265         * alloc.c (pdump_load):
10266         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10267         * alloc.c (lrecord_type_index): Delete.
10268         Make lisp object type indexes be constant.
10269           Makes (byte-compile) 5% faster.
10270         Put all marker functions into their own array.
10271           Makes (garbage-collect) 5% faster.
10272         Optimize SYMBOL_VALUE_MAGIC_P.
10273           Makes (byte-compile) 2-3% faster.
10274         * config.h.in (gc_checking_assert): New.
10275         * alloc.c: Use gc_checking_assert().
10276         * .dbxrc: Make compatible with new object type implementation.
10277         * .gdbinit: Make compatible with new object type implementation.
10278         * alloc.c: Delete all symbols defined only for debugging, such as
10279         Lisp_Type_Vector and lrecord_charset.
10280
10281 2000-02-21  Andy Piper  <andy@xemacs.org>
10282
10283         * gui-msw.c (Fmswindows_shell_execute): fix file location
10284         problems.
10285
10286         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10287         unshowing so that set_window_buffer doesn't undo
10288         kill_buffer_hook's hard work.
10289
10290         * glyphs-widget.c (tab_control_query_geometry): don't count the
10291         first item when calculating geometry.
10292
10293         * glyphs.c (map_subwindow): remove redundant code.
10294         (update_frame_subwindows): be more circumspect about when to
10295         update subwindows.
10296
10297         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10298         when items haven't changed. Update faces if faces have changed as
10299         well as just the widget face.
10300         (x_tab_control_update): Update faces if faces have changed as well
10301         as just the widget face.
10302
10303 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10304
10305         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10306         registration.
10307         (build_syscolor_string): Use mswindows_color_to_string to try to
10308         get a named color.
10309         (mswindows_device_system_metrics): Reverse the foreground and
10310         background colors so that they match the documentation.
10311
10312         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10313         they match the default Windows palette.
10314         (mswindows_color_to_string): New function.
10315
10316 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10317
10318         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10319
10320 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10321
10322         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10323         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10324
10325         * symbols.c (init_symbols_once_early): Removed obsolete
10326         DATA_SEG_BITS related kludge.
10327         (defvar_magic): Ditto.
10328
10329         * malloc.c: Removed obsolete DATA_SEG_BITS
10330         * ralloc.c: Ditto.
10331         * mem-limits.h: Ditto.
10332
10333         * Makefile.in.in: Removed obsolete HAVE_SHM
10334         * emacs.c: Ditto.
10335
10336 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10337
10338         *  device-msw.c (mswindows_delete_device): Free DDE string
10339         handles.
10340
10341 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10342
10343         * keymap.c (get_keyelt):
10344         * unexnt.c (unexec):
10345         * vm-limit.c (memory_warnings):
10346         * ntheap.c (recreate_heap):
10347         * ntheap.h (UNINIT_PTR):
10348         * select-msw.c (Fmswindows_get_clipboard):
10349         (Fmswindows_set_clipboard):
10350         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10351         * objects-msw.c:
10352         * menubar-msw.c (displayable_menu_item):
10353         * glyphs-msw.c:
10354         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10355         * sysdep.c (sys_subshell):
10356         * process-nt.c (nt_create_process):
10357         * nt.c (normalize_filename):
10358         (dostounix_filename):
10359         (unixtodos_filename):
10360         * ntproc.c (win32_executable_type):
10361         * ntplay.c (play_sound_data_1):
10362         (play_sound_file):
10363         * editfns.c (get_home_directory):
10364         * event-msw.c (struct winsock_stream):
10365         (mswindows_dde_callback):
10366         * device-msw.c (msprinter_init_device):
10367         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10368
10369         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10370         mswindows_clear_toolbar were swapped!
10371
10372         * objects-msw.c:(colormap_t):
10373         (fontmap_t):
10374         * emacs.c (struct standard_args): Fixed const jumble.
10375
10376         * glyphs-widget.c (update_widget): Fixed comparison notation.
10377
10378         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10379
10380         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10381         __declspec(noreturn) syntax.
10382
10383 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10384
10385         * eldap.c (Fldap_open):
10386         (Fldap_search_basic):
10387         (Fldap_add):
10388         (Fldap_modify):
10389         Use new coding system conversion macros.
10390
10391 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10392
10393         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10394
10395 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10396
10397         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10398         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10399
10400         * eldap.c (Qadd, Qreplace): New constant symbols
10401         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10402         interruptions by XEmacs signals
10403         Remove unnecessary calls to slow_down_interrupts and
10404         speed_up_interrupts
10405         (Fldap_search_basic): Renamed from Fldap_search_internal
10406         Added new optional parameter VERBOSE that triggers the
10407         display of progress messages
10408         Remove unnecessary calls to slow_down_interrupts and
10409         speed_up_interrupts
10410         LDAP result code analysis rewritten
10411         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10412         (syms_of_eldap): Define the new symbols and functions
10413
10414
10415 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10416
10417         * realpath.c: Determine PATH_MAX maximally portably.
10418
10419         * insdel.c (bytecount_to_charcount): Optimize.
10420         The function used to be optimized for entirely ASCII sequences.
10421         Now it is optimized for successive characters from the same
10422         charset.  This also wins big for _mostly_ ASCII sequences.
10423
10424         * fileio.c (Ffile_truename): convert return from realpath() using
10425         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10426         - Rewrite GCPROing slightly.
10427
10428         * sysdep.c (sys_open): Do filename conversion, like all other
10429         sys_* functions.  Fixes bug:
10430         (let ((file-name-coding-system 'iso-8859-2))
10431            (write-region x y latin2-name))
10432         ==> writes filename using internal encoding.
10433
10434 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10435
10436         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10437         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10438         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10439         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10440         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10441         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10442         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10443         (CONST_IF_NOT_DEBUG): Delete.
10444         * alloc.c (this_one_is_unmarkable): Delete.
10445         (mark_object): Don't check for this_one_is_unmarkable. Use the
10446         c_readonly flag instead.
10447         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10448
10449 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10450
10451         * event-msw.c (mswindows_drain_windows_queue):
10452         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10453         away redundant repaint events.
10454
10455 2000-02-17  Andy Piper  <andy@xemacs.org>
10456
10457         * redisplay.h: declare mark_redisplay_structs.
10458
10459         * redisplay.c (redisplay_window):
10460         (redisplay_frame): don't check subwindows_state_changed.
10461         (mark_redisplay): mark gutters here.
10462
10463         * glyphs.c: (instantiate_image_instantiator): always layout if we
10464         haven't done so already.
10465         (allocate_image_instance): don't mark as dirty.
10466         (update_subwindow): bind inhibit_quit.
10467
10468         * gutter.c (mark_gutters): new function.
10469
10470         * glyphs-x.c (x_update_widget): Always resize to get round a
10471         widget bug.
10472
10473         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10474         breaking absolutely everything.
10475
10476         * gutter.h: declare mark_gutters.
10477
10478 2000-02-16  Martin Buchholz <martin@xemacs.org>
10479
10480         * XEmacs 21.2.29 is released.
10481
10482 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10483
10484         * fns.c (size_bit_vector): Fix computation of the size.
10485
10486 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10487
10488         * *.[ch]: Change CONST to const globally.
10489         find -name '*.[ch]' | \
10490         xargs global-replace \
10491         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10492         - Remove vestigial references to CONST_IS_LOSING
10493
10494 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10495
10496         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10497         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10498         events instead of dispatching them directly.
10499         (mswindows_handle_paint): New function to do repainting.
10500         (mswindows_wnd_proc):
10501         (emacs_mswindows_handle_magic_event): Call above function.
10502
10503 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10504
10505         * objects-msw.c (mswindows_create_font_variant): Return the new
10506         font handle.
10507         (initialize_font_instance): Get font metrics from the underlined
10508         variant of the font to cope with the case where the underlined
10509         font has a bigger descent.
10510
10511 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10512
10513         * gui.c (gui_item_accelerator): Return the first underlined
10514         character in item name.
10515
10516 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10517
10518         * lisp.h: Added Qprinter.
10519
10520         * general.c (syms_of_general): Initialized it.
10521
10522         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10523         (get_frame_dc):
10524         (get_frame_compdc): Made inline.
10525
10526         * console.h (struct console_methods): Added eject_page method.
10527
10528         * frame.h: Added FRAME_DISPLAY_P and friends.
10529         Aligned backslahes in many macros in more readable fashion.
10530         Added page_number to struct frame, and an accessor macro
10531         for it.
10532
10533         * defice.h: Added DEVICE_DISPLAY_P and friends.
10534
10535         * device.c (Fdevice_printer_p): Used these.
10536
10537         * frame.c (allocate_frame_core): Initialize page number.
10538         (Fprint_job_page_number):
10539         (Fprint_job_eject_page): Implemented.
10540
10541         * frame-msw.c (msprinter_eject_page): Added method.
10542         (msprinter_start_page): Added.
10543
10544         * window.c (Fwindow_truncated_p): Fixed docstring.
10545         (Fwindow_last_line_visible_height): Implemented.
10546
10547 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10548
10549         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10550
10551 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10552
10553         * syntax.c (scan_words): Always advance at least one character.
10554
10555 2000-02-13  Andy Piper  <andy@xemacs.org>
10556
10557         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10558         to make sure the glyph is in the cachels.
10559
10560         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
10561         global image instance flag.
10562         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
10563         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
10564
10565         * glyphs.c (allocate_image_instance): set dirty bits correctly.
10566         (Fset_image_instance_property): mark layout as changed.
10567         (invalidate_glyph_geometry_maybe): mark layout as changed.
10568         (glyph_width): use new NEEDS_LAYOUT macro.
10569         (glyph_ascent): ditto.
10570         (glyph_descent): ditto.
10571         (glyph_height): ditto.
10572         (image_instance_layout): mark layout as clean after laying out.
10573         (update_subwindow): don't mark layout as clean here.
10574
10575         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
10576         should no longer be needed.
10577
10578         * glyphs-x.c (x_update_widget): sanitize asserts.
10579         (x_finalize_image_instance): sanitize assignment to widgets.
10580
10581         * glyphs-widget.c (widget_instantiate): don't need to clear the
10582         layout flag here.
10583
10584 2000-02-13  Martin Buchholz  <martin@xemacs.org>
10585
10586         * sysdep.c (getcwd): Use standard prototype.
10587         * sysdep.h (getcwd): Use standard prototype.
10588
10589         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
10590         (sequence, start, end).
10591         Remove redundant type checking.
10592         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
10593         view of `caller-protects') to avoid a crash where the real fix was
10594         found elsewhere.
10595
10596 2000-02-12  Martin Buchholz  <martin@xemacs.org>
10597
10598         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
10599
10600         * s/sol2.h: Remove feature macro initialization.
10601
10602         * alloc.c (alloc_lcrecord): Add more type checking assertions.
10603         (vector_hash): New.  Code from internal_hash.
10604         * lrecord.h:
10605         Fix up allocation subsystem comments.
10606
10607         * config.h.in: Add __EXTENSIONS__ for Solaris.
10608
10609         * systime.h (EMACS_GETTIMEOFDAY): New.
10610         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
10611         Remove Solaris-specific code.
10612         Use void* for the (ignored) second arg for gettimeofday().
10613
10614         * elhash.c (hash_table_hash): Implement it, finally.
10615         * elhash.c:  Use hashcode_t.
10616
10617         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
10618         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
10619
10620         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
10621         * fns.c (size_bit_vector):
10622         * alloc.c (size_vector):
10623         (make_vector_internal):
10624         (make_bit_vector_internal):
10625         (sweep_bit_vectors_1):
10626         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
10627
10628 2000-02-10  Martin Buchholz  <martin@xemacs.org>
10629
10630         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
10631         Include strings.h to avoid warnings for bzero and strcasecmp.
10632
10633 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10634
10635         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
10636         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
10637
10638         * fns.c (size_bit_vector): New.  Declare bit vectors as a
10639         sequence.
10640
10641 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10642
10643         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
10644         use a value field instead.
10645         (symbol_value_forward_forward): Use value field.
10646         (DEFVAR_SYMVAL_FWD): Use value field.
10647         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
10648         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
10649         (DEFVAR_CONST_INT): Ditto.
10650         (DEFVAR_BOOL): Ditto.
10651         (DEFVAR_CONST_BOOL): Ditto.
10652         (DEFVAR_INT_MAGIC): Ditto.
10653         (DEFVAR_BOOL_MAGIC): Ditto.
10654
10655         * symbols.c (guts_of_unbound_marker): Use value field.
10656         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
10657         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
10658
10659         * lisp.h: Declare dumpopaque and noninteractive1.
10660
10661         * alloc.c (dumpopaque): Added.
10662         (pdump_dump_opaquevec): Added.
10663         (pdump): Call pdump_dump_opaquevec to dump opaque data.
10664         (pdump_load): Reload opaque data.  Sync noninteractive1 with
10665         noninteractive.
10666
10667 2000-02-10  Andy Piper  <andy@xemacs.org>
10668
10669         * glyphs.c (image_instance_layout): if the size changes, mark it
10670         as such.
10671
10672         * redisplay-output.c (redisplay_output_layout): Update the
10673         subwindow here.
10674         (redisplay_output_subwindow): ditto.
10675
10676         * glyphs.c (update_subwindow): make sure we reset flags for
10677         layouts as well as everything else.
10678
10679         * glyphs-widget.c (layout_layout): don't need to set the instances
10680         dimensions here.
10681
10682 2000-02-09  Martin Buchholz  <martin@xemacs.org>
10683
10684         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
10685         not HAVE_DLOPEN, which is a lower-level thing.
10686
10687         * .cvsignore: Ignore gmon.out
10688
10689 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
10690
10691         * .cvsignore: Ignore portable dumper xemacs.dmp file
10692
10693 2000-02-09  Andy Piper  <andy@xemacs.org>
10694
10695         * redisplay-output.c (redisplay_output_layout): be more clever
10696         about when we output based on the changed flags.
10697
10698         * glyphs.h (struct image_instantiator_methods): add update_method.
10699         (struct Lisp_Image_Instance): add changed flags. Declare new
10700         macros for manipulating them.
10701
10702         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
10703         (image_instance_parent_glyph): find an image_instance's parent
10704         glyph or image_instance.
10705         (image_instance_layout): mark the size as changed.
10706         (set_image_instance_dirty_p): new function. mark an image
10707         instance, plus all of its parents, as dirty.
10708         (Fset_image_instance_property): use it.
10709         (Fglyph_animated_timeout_handler): use it.
10710         (update_subwindow): call update_widget and device methods for
10711         update_subwindow. Mark all changed flags as clean.
10712         (Fresize_subwindow): mark size as changed.
10713
10714         * glyphs-x.c (x_finalize_image_instance): try and detect gc
10715         failures.
10716         (x_update_subwindow): only resize subwindows here.
10717         (x_update_widget): new function. Update all changed properties of
10718         a widget.
10719         (x_resize_subwindow): deleted.
10720         (x_widget_set_property): deleted.
10721         (x_progress_gauge_set_property): deleted.
10722         (x_progress_gauge_update): new function. Implement recorded
10723         changes.
10724         (x_tab_control_update): ditto.
10725         (x_tab_control_set_property): deleted.
10726         (console_type_create_glyphs_x): declare new functions.
10727         (image_instantiator_format_create_glyphs_x): ditto.
10728
10729         * glyphs-widget.c (widget_set_property): mark text changed.
10730         (update_widget): new function. Update properties of a widget.
10731         (widget_instantiate): for layouts make sure we set their
10732         children's parent correctly.
10733         (tab_control_set_property): new function. Record changes that will
10734         take place under redisplay's control.
10735         (progress_gauge_set_property): ditto.
10736         (image_instantiator_progress_guage): declare new functions.
10737         (image_instantiator_tab_control): ditto.
10738
10739         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
10740         now.
10741         (mswindows_update_widget): new function. Update all properties on
10742         a widget that have changed.
10743         (mswindows_button_update): new function. Update a button's set
10744         state.
10745         (mswindows_tab_control_update): new function. Update the items in
10746         a tab.
10747         (mswindows_tab_control_set_property): deleted.
10748         (mswindows_progress_gauge_update): new function. Update the
10749         progress gauge's progress.
10750         (mswindows_widget_set_property): deleted. This is all done
10751         asynchronously now.
10752         (mswindows_progress_gauge_set_property): ditto.
10753         (console_type_create_glyphs_mswindows): declare new methods.
10754         (image_instantiator_format_create_glyphs_mswindows): ditto.
10755
10756         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
10757         (msprinter_set_frame_properties): ditto.
10758
10759         * console.h (struct console_methods): Add update_widget_method.
10760
10761 2000-02-09  Andy Piper  <andy@xemacs.org>
10762
10763         * gui-msw.c (Fmswindows_shell_execute): Make
10764         mswindows-shell-execute industrial strength.
10765
10766 2000-02-08  Martin Buchholz  <martin@xemacs.org>
10767
10768         * lrecord.h: Make macro argument `props' match member function `plist'.
10769         * fns.c (Fget):
10770         * fns.c (Fput):
10771         * fns.c (Fremprop):
10772         * fns.c (Fobject_plist):
10773         * alloc.c:
10774         * symbols.c:
10775         Object property list frobbing cleanup.
10776         - Allow any lisp object (compared with `eq'), not just symbols, as
10777           keys in object plists.
10778         - Move symbol plist frobbing into symbols.c, where it belongs.
10779         - Move string plist frobbing into alloc.c, where it belongs.
10780         - Everything's an lrecord now, so no need to test for symbolp, etc.
10781         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
10782
10783         * extents.c: Reorder code to remove declarations.
10784
10785         * frame.h (store_in_alist): Remove useless declaration.
10786
10787 2000-02-07  Martin Buchholz  <martin@xemacs.org>
10788
10789         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
10790         * config.h.in: Add HAVE_XCONVERTCASE.
10791
10792 2000-02-07  Andy Piper  <andy@xemacs.org>
10793
10794         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
10795         it breaks many things.
10796
10797 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
10798
10799         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
10800         actually can start a common comment type.
10801         * src/syntax.h (SYNTAX_END_P): ditto for end.
10802
10803 2000-02-07  Martin Buchholz <martin@xemacs.org>
10804
10805         * XEmacs 21.2.28 is released.
10806
10807 2000-02-06  Martin Buchholz  <martin@xemacs.org>
10808
10809         * event-Xt.c (x_keysym_to_character): New.
10810         (maybe_define_x_key_as_self_inserting_character): New.
10811         (x_has_keysym): New.
10812         Auto-define all keys on the keyboard as self-insert-key.
10813
10814 2000-02-02  Martin Buchholz  <martin@xemacs.org>
10815
10816         * menubar.c (vars_of_menubar): A small code simplification.
10817
10818         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
10819
10820         * ExternalShell.c:
10821         * ExternalClient.c:
10822         * EmacsShell-sub.c:
10823         * EmacsManager.c:
10824         * EmacsFrame.c:
10825         Use consistent style for specifying X resources.
10826
10827         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
10828         This makes (dontusethis-set-symbol-value-handler) actually usable.
10829
10830         * lrecord.h (lrecord_decription_type):
10831         * alloc.c (pdump_register_sub):
10832         (pdump_dump_data):
10833         (pdump_reloc_one):
10834         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
10835         Comply with XEmacs coding style.
10836         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
10837         args, and XD_LISP_OBJECT_ARRAY with 3 args.
10838
10839         * keymap.c (Faccessible_keymaps):
10840         Make (accessible-keymaps map "\C-h") do the Right Thing.
10841         Make (accessible-keymaps map []) do the Right Thing.
10842         Make (accessible-keymaps map "") do the Right Thing.
10843         (check_keymap_definition_loop): New function.
10844         (keymap_store_internal): Keep luser from shooting self in foot,
10845           via (define-key ctl-x-4-map "p" global-map).
10846         Remove fullness slot from struct Lisp_Keymap, since hash tables
10847         are now reliable.
10848         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
10849
10850 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10851
10852         * redisplay.c (init_redisplay): Fix small memory leak.
10853         * elhash.h:
10854         * elhash.c (pdump_reorganize_hash_table):
10855         Rename from reorganize_hash_table. Change prototype.
10856         Reuse the original memory for hentries.  Save 100k.
10857         * alloc.c (PDUMP_READ): new macro.
10858         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
10859         * alloc.c: No need to #ifndef before #undef.
10860
10861         * print.c: Allow debug_print() to print readably by modifying
10862         debug_print_readably.  Use consistent variable names.
10863
10864         * .dbxrc: Try to get things to work even if stopped in a function
10865         without source available by explicitly specifying source files.
10866 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10867
10868         * unexnt.c (_start): Removed bogus code which caused loading heap
10869         from differrent executable file.
10870         Removed bogus assignment to _fmode, which caused inconsistencies.
10871
10872 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10873
10874         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
10875         Have spawnve encapsulation regard DONT_ENCAPSULATE.
10876         Do not preliminary `#define signal sigset'.
10877
10878         * systime.h: Do not prototype environ on windows nt and cygwin,
10879         this conflicts with system header.
10880
10881         * syssignal.h: Use correct define for WINDOWSNT
10882
10883         * sysdep.h: Do not prototype environ on windows nt, this conflicts
10884         with system header.
10885
10886         * sysdep.c (near start of file): Fixed commentary and rearranged
10887         ifdefs in readable order.
10888         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
10889         (start_of_text):
10890         (end_of_text):
10891         (end_of_data): Do not compile in if using PDUMP.
10892
10893         * symsinit.h: Prototyped vars_of_nt().
10894
10895         * ntproc.c (windows9x_p): Added, instead of os_subtype.
10896         (find_child_console): Use it.
10897         (sys_kill): Use it.
10898
10899         * ntheap.h: Do not extern os_subtype.
10900
10901         * ntheap.c (cache_system_info): Do not cache unneeded:
10902         nt_major_version, nt_minor_version and os_subtype.
10903         (recreate_heap): Do not compile in when PDUMPing.
10904
10905         * nt.c (geteuid and friends): Use the new varibale
10906         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
10907         (init_user_info): Removed the above mentioned hackery.
10908         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
10909         stat has been fixed in the C runtime.
10910         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
10911
10912         * file-coding.c (struct file_coding_dump): Do not define
10913         ucs_to_mule_table in the struct if not MULE.
10914         (struct struct lrecord_description fcd_description_1): Do not dump
10915         the above.
10916
10917         * emacs.c (main_1): Call vars_of_nt().
10918         (right before Fdump_emacs_data): Don't need lastfile if using both
10919         portabe dumper and system malloc.
10920
10921         * alloc.c (Fmemory_limit): Conditionalized out.
10922         (pdump): Use OPEN_BINARY for the portable dump file.
10923         (pdump_load): Ditto.
10924
10925 2000-02-02  Mike Alexander  <mta@arbortext.com>
10926
10927         * nt.c (convert_time): Set tm_isdst before calling mktime and
10928         avoid calling it at all if the compiler supports 64 bit integers.
10929         Also initialize utc_base_ft before using it.
10930
10931 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10932
10933         * frame.c (change_frame_size_1): Take f->internal_border_width
10934         into consideration when calculating the width of the frame.
10935
10936 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10937
10938         * window.c (frame_min_height):
10939         (frame_size_valid_p):
10940         (frame_pixsize_valid_p): Added.
10941         (check_frame_size): Generalized.
10942
10943         * window.h: Prototyped the above.
10944
10945         * lisp.h:
10946         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
10947         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
10948         Deleted Vwin32_* and Vbinary_process_* unused variables.
10949
10950         * device-msw.c (msprinter_init_device): Do not get printer font
10951         list; Added DEVMODE functions.
10952
10953         * frame-msw.c: Added lots of printer code.
10954
10955         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
10956         general.c.
10957
10958         * console-msw.h: Added more msprinter device private slots.
10959
10960 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10961
10962         * event-msw.c (key_needs_default_processing_p): Added.
10963         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
10964
10965 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10966
10967         * glyphs.c (image_instance_layout): Mark image instance as clean
10968         after layout.
10969         (glyph_dirty_p): Removed redundant function.
10970         (invalidate_glyph_geometry_maybe): Added.
10971         (update_glyph_cachel_data): Call it.
10972
10973         * glyphs.h: Prototyped it.
10974
10975         * redisplay.c (add_glyph_rune): Call it.
10976         (redisplay_window): Reset glyphs cachels when frame faces have
10977         changed, thus forcing recomputation of built-in border glyphs.
10978
10979 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10980
10981         * Makefile.in.in: Make portable dumper and purify play well together.
10982         Add imperfect, but better than nothing, support for pdump.
10983         Remove xemacs.dmp when temacs is re-generated.
10984         Don't ignore errors when dumping xemacs.
10985
10986         * symbols.c (maybe_call_magic_handler): Remove one magic number.
10987
10988 2000-01-28  Andy Piper  <andy@xemacs.org>
10989
10990         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
10991         (setup_normal_frame): ditto.
10992         (setup_frame_without_minibuffer): ditto.
10993         (setup_minibuffer_frame): ditto.
10994         (delete_frame_internal): ditto.
10995         (Fmake_frame_invisible): ditto.
10996         (Ficonify_frame): ditto.
10997
10998         * window.h: change Fset_window_buffer signature.
10999
11000         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11001         (Fset_window_buffer): allow recording of buffer if the window is
11002         the selected window.
11003         (window_loop): Use new Fset_window signature.
11004
11005 2000-01-23  Daniel Pittman  <daniel@danann.net>
11006
11007         * config.h.in: Added template for `HAVE_ATHENA_3D'
11008
11009 2000-01-29  Andy Piper  <andy@xemacs.org>
11010
11011         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11012
11013         * gutter.c (output_gutter): Don't output if the window isn't live.
11014
11015 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11016
11017         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11018         of 01/12/00: Moved SetFocus back here where it belongs.
11019
11020 2000-01-23  Andy Piper  <andy@xemacs.org>
11021
11022         * s/cygwin32.h: declare printer things.
11023
11024 2000-01-26  Andy Piper  <andy@xemacs.org>
11025
11026         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11027         Alexander.
11028
11029 2000-01-24  Andy Piper  <andy@xemacs.org>
11030
11031         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11032         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11033
11034         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11035
11036         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11037
11038         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11039
11040         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11041         (mswindows_output_display_block): Avoid local shadows.
11042
11043         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11044         (mswindows_enqueue_mouse_button_event): ditto.
11045         (mswindows_handle_gui_wm_command): remove declaration.
11046
11047         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11048         warnings.
11049
11050         * console-msw.h: Avoid shadows.
11051         (mswindows_get_toolbar_button_text):
11052         (emacs_mswindows_create_stream_pair):
11053         (emacs_mswindows_delete_stream_pair):
11054         (mswindows_handle_toolbar_wm_command): declare.
11055
11056         * device-msw.c (build_syscolor_string): Avoid shadows.
11057
11058 2000-01-23  Andy Piper  <andy@xemacs.org>
11059
11060         * glyphs-widget.c (widget_instantiate): reverse the items for
11061         layouts so that children are in the expected order.
11062
11063 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11064
11065         * ralloc.c: safe_bcopy ==> memmove
11066         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11067         * s/msdos.h: Remove BCOPY macros.
11068         * insdel.c (gap_right): Remove BCOPY conditional code.
11069         * insdel.c (gap_left): Remove BCOPY conditional code.
11070         XEmacs demands a working ANSI C compiler - hence memmove.
11071
11072         * regex.c (regex_compile): Remove accidental use of trigraphs.
11073
11074 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11075
11076         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11077         event timestamp.
11078
11079 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11080
11081         * event-msw.c (mswindows_drain_windows_queue): Added the
11082         parameter.
11083         (mswindows_need_event): Commented the call to
11084         mswindows_drain_windows_queue().
11085         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11086         only.
11087
11088         * console-msw.h: Moved a few function prototypes here from
11089         event-msw.c.
11090
11091         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11092         parameter from unsigned short to unsigned long.
11093         (Fmswindows_shell_execute): Added return value.
11094
11095 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11096
11097         * sysdep.c (init_system_name):
11098           process-unix.c (unix_canonicalized_host_name):
11099         Don't call freeaddrinfo() if getaddrinfo() fails.
11100
11101         * process-unix.c (unix_open_unix_network_stream):
11102         Moved the code to get a port # into address loop.
11103
11104 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11105
11106         * buffer.c (reinit_vars_of_buffer):
11107         The right place to initialize conversion_in_dynarr and
11108         conversion_out_dynarr.
11109
11110         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11111
11112         * process-unix.c (unix_canonicalize_host_name): Muleize.
11113         (unix_open_network_stream): Muleize.
11114
11115         * buffer.h: Fix up prototypes for ralloc.c functions.
11116
11117 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11118         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11119         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11120                 instead of gethostbyname()
11121         * process-unix.c: In unix_canonicalize_host_name() and
11122                 unix_open_network_stream(), add code to use getaddrinfo()
11123                 instead of gethostbyname().
11124
11125 2000-01-27  Daniel Pittman <daniel@danann.net>
11126
11127         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11128         libs when built with flat Athena.
11129
11130 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11131
11132         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11133         Use coding standards for function prototypes.
11134
11135 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11136
11137         * dialog-msw.c (push_lisp_string_as_unicode):
11138         * doc.c (unparesseuxify_doc_string):
11139         * dired.c (Fuser_name_completion_1):
11140         * dired.c (Fuser_name_all_completions):
11141         * dired.c (free_user_cache):
11142         * dired.c (user_name_completion):
11143         * console-x.c (get_display_arg_connection):
11144         * minibuf.c (clear_echo_area_internal):
11145         * minibuf.c (echo_area_append):
11146         * eldap.c (Fldap_open):
11147         * eldap.c (Fldap_search_internal):
11148         * frame-x.c (x_set_frame_text_value):
11149         * frame-x.c (x_set_frame_properties):
11150         * frame-x.c (x_create_widgets):
11151         * redisplay-tty.c (term_get_fkeys_1):
11152         * objects-x.c (x_parse_nearest_color):
11153         * objects-x.c (x_valid_color_name_p):
11154         * objects-x.c (x_initialize_font_instance):
11155         * objects-x.c (x_list_fonts):
11156         * objects-x.c (x_find_charset_font):
11157         * tooltalk.c (Fadd_tooltalk_message_arg):
11158         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11159         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11160         * process-unix.c (unix_create_process):
11161         * ntproc.c (sys_spawnve):
11162         * sound.c (Fplay_sound_file):
11163         * sound.c (Fplay_sound):
11164         * buffer.c (init_initial_directory):
11165         * buffer.c (init_buffer):
11166         * editfns.c (init_editfns):
11167         * editfns.c (Ftemp_directory):
11168         * editfns.c (Fuser_full_name):
11169         * editfns.c (uncache_home_directory):
11170         * editfns.c (get_home_directory):
11171         * editfns.c (Fuser_home_directory):
11172         * editfns.c (Fformat_time_string):
11173         * editfns.c (Fcurrent_time_string):
11174         * gui-x.c (button_item_to_widget_value):
11175         * database.c (Fopen_database):
11176         * event-Xt.c (x_to_emacs_keysym):
11177         * event-Xt.c (x_event_to_emacs_event):
11178         * event-Xt.c (describe_event_window):
11179         * event-msw.c (mswindows_wnd_proc):
11180         * glyphs-eimage.c (jpeg_instantiate):
11181         * glyphs-eimage.c (gif_instantiate):
11182         * glyphs-eimage.c (png_instantiate):
11183         * glyphs-eimage.c (tiff_instantiate):
11184         * glyphs-x.c (xbm_instantiate_1):
11185         * glyphs-x.c (x_xbm_instantiate):
11186         * glyphs-x.c (x_xface_instantiate):
11187         * glyphs-x.c (autodetect_instantiate):
11188         * glyphs-x.c (cursor_font_instantiate):
11189         * glyphs-x.c (x_widget_instantiate):
11190         * glyphs-x.c (x_widget_set_property):
11191         * glyphs-x.c (x_widget_property):
11192         * glyphs-x.c (BUILD_GLYPH_INST):
11193         * print.c (write_string_to_stdio_stream):
11194         * print.c (output_string):
11195         * print.c (Falternate_debugging_output):
11196         * print.c (Fexternal_debugging_output):
11197         * glyphs-msw.c (extract_xpm_color_names):
11198         * glyphs-msw.c (mswindows_xpm_instantiate):
11199         * glyphs-msw.c (bmp_instantiate):
11200         * glyphs-msw.c (resource_name_to_resource):
11201         * glyphs-msw.c (mswindows_resource_instantiate):
11202         * glyphs-msw.c (xbm_instantiate_1):
11203         * glyphs-msw.c (mswindows_xbm_instantiate):
11204         * glyphs-msw.c (mswindows_xface_instantiate):
11205         * glyphs-msw.c (mswindows_widget_instantiate):
11206         * glyphs-msw.c (add_tree_item):
11207         * glyphs-msw.c (add_tab_item):
11208         * glyphs-msw.c (mswindows_combo_box_instantiate):
11209         * glyphs-msw.c (mswindows_widget_property):
11210         * glyphs-msw.c (mswindows_combo_box_property):
11211         * glyphs-msw.c (mswindows_widget_set_property):
11212         * console.c (stuff_buffered_input):
11213         * objects-msw.c (mswindows_initialize_color_instance):
11214         * objects-msw.c (mswindows_valid_color_name_p):
11215         * objects-msw.c (mswindows_list_fonts):
11216         * objects-msw.c (mswindows_font_instance_truename):
11217         * bytecode.c (optimize_compiled_function):
11218         * select-x.c (symbol_to_x_atom):
11219         * select-x.c (x_atom_to_symbol):
11220         * select-x.c (hack_motif_clipboard_selection):
11221         * select-x.c (selection_data_to_lisp_data):
11222         * select-x.c (lisp_data_to_selection_data):
11223         * select-x.c (Fx_get_cutbuffer_internal):
11224         * select-x.c (Fx_store_cutbuffer_internal):
11225         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11226         * buffer.h (TO_INTERNAL_FORMAT): New function.
11227         * emacs.c (make_arg_list_1):
11228         * emacs.c (make_argc_argv):
11229         * emacs.c (main_1):
11230         * emacs.c (Fdump_emacs):
11231         * emacs.c (split_string_by_emchar_1):
11232         * file-coding.h:
11233         * lisp.h:
11234         * lstream.h:
11235         * symsinit.h:
11236         * device-x.c (x_init_device):
11237         * device-x.c (Fx_valid_keysym_name_p):
11238         * device-x.c (Fx_get_font_path):
11239         * device-x.c (Fx_set_font_path):
11240         * glyphs.c (bitmap_to_lisp_data):
11241         * glyphs.c (pixmap_to_lisp_data):
11242         * alloc.c (make_ext_string): Use coding system arguments.  Update
11243         all callers.
11244         * alloc.c (build_string):
11245         * callproc.c (child_setup):
11246         * callproc.c (init_callproc):
11247         * fileio.c (lisp_strerror):
11248         * fileio.c (directory_file_name):
11249         * fileio.c (Fexpand_file_name):
11250         * fileio.c (Ffile_truename):
11251         * fileio.c (Fsysnetunam):
11252         * fileio.c (Fdo_auto_save):
11253         * sysdep.c (sys_readdir):
11254         * tests.c: New file.  Allow adding C tests.
11255         Replace GET_* macros with a more comprehensible and flexible
11256         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11257         Modify all calls.
11258         Any coding system can be used to do format conversion.
11259         Eliminate enum external_data_format.
11260         Eliminate convert_to_external_format.
11261         Eliminate convert_to_internal_format.
11262         Make sure file-name, keyboard, terminal, and ctext are always
11263         defined as coding systems or aliases.  Make
11264         file-name-coding-system, terminal-coding-system, and
11265         keyboard-coding-system magical variables that are equivalent to
11266         defining the corresponding coding system aliases.
11267
11268         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11269         * file-coding.c (Fcoding_system_alias_p): New function.
11270         * file-coding.c (Fcoding_system_aliasee): New function.
11271         * file-coding.c (append_suffix_to_symbol): New function.
11272         * file-coding.c (dangling_coding_system_alias_p): New function.
11273         * file-coding.c (Ffind_coding_system):
11274         * file-coding.c (Fcopy_coding_system):
11275         * file-coding.c (encode_coding_no_conversion):
11276         * file-coding.c (syms_of_file_coding):
11277         * file-coding.c (vars_of_file_coding):
11278         Rewrite coding system alias code.
11279         Allow nested aliases, like symbolic links.
11280         Allow redefinition of coding system aliases.
11281         Prevent existence of dangling coding system aliases.
11282
11283         * dired.c (Fuser_name_completion_1):
11284         * dired.c (Fuser_name_all_completions):
11285         A crash would happen if user did QUIT in the middle of building
11286         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11287
11288         * lisp.h:
11289         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11290
11291         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11292         an unsigned char *.  Update all callers.
11293
11294 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11295
11296         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11297
11298 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11299
11300         * elhash.c (hentry_description): Use more portable definition.
11301         (resize_hash_table): Initialize new hentries using
11302         xnew_array_and_zero, thereby simplifying the code.
11303
11304         * mule-charset.c (make_charset): Make sure entire object is
11305         initialized, to avoid Purify warnings.
11306
11307         * alloc.c (resize_string): Fix unlikely crash with big strings.
11308
11309 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11310
11311         * realpath.c (xrealpath):
11312         Don't call getwd().
11313
11314 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11315
11316         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11317
11318 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11319
11320         * unexelfsgi.c (unexec): Change the way we decide which segment
11321         should be extended.
11322
11323         Assumption that .bss section should be outside the PT_LOADable
11324         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11325         it's present) is inside the 'data' segment. This would fail the
11326         test which was used to find a segment to grow and cover new
11327         heap. Instead of this assumption, I created another one - on IRIX
11328         the segment to grow should start below .bss and it's address
11329         should extent above the end of .bss. Once this segment is
11330         identified, it's grown to accommodate the new heap and new
11331         zero-length .bss section is added at the end of .data2.
11332
11333 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11334
11335         * eval.c (Feval): Wrong number of arguments should use original
11336         function, not the indirect_function version of it.
11337
11338 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11339
11340         * glyphs-x.c (x_button_instantiate): Don't add image if
11341         it is not a pixmap.
11342         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11343         is relative.
11344
11345 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11346
11347         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11348         declaration.
11349         (DEFVAR_INT_MAGIC): Ditto.
11350         (DEFVAR_BOOL_MAGIC): Ditto.
11351         * glyphs.h: Reindent backslash.
11352
11353 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11354
11355         * glyphs-widget.c (layout_query_geometry):
11356         (layout_layout): Use correct types for gheight, gwidth.
11357
11358 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11359
11360         * EmacsManager.c (QueryGeometry): Purified.
11361
11362 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11363
11364         * alloc.c (make_float): Make sure entire object is initialized, to
11365         avoid Purify warnings.
11366         (pdump_register_sub): Remove useless assignment.
11367         (pdump): Use xmalloc, not malloc.
11368         (pdump_load): Use xmalloc, not malloc.
11369
11370 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11371
11372         * callproc.c:
11373         * dired-msw.c:
11374         * fileio.c:
11375         * process-nt.c:
11376         * redisplay-msw.c:
11377         * sysdep.c: Removed redundant #include <windows.h>
11378
11379 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11380
11381         * frame.c (delete_frame_internal): Do not delete device when its
11382         implementation so declares.
11383         (delete_frame_internal): Set device selected frame to nil when
11384         last frame goes away.
11385
11386         * device-msw.c (msprinter_device_system_metrics): Implemented.
11387         (mswindows_device_system_metrics): Added 'device-dpi property.
11388
11389         * device.c: (Fdevice_printer_p): Added.
11390         Added 'offset-workspace device metric.
11391
11392         * console.h (device_metrics): Declared DM_offset_workspace.
11393
11394 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11395
11396         * fileio.c (Ffile_truename): Remove pointless and confusing
11397         initialization of elen.
11398
11399         * glyphs-widget.c: Compiler warning fixes.
11400
11401 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11402
11403         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11404         instead of a Lisp_Object as argument to make it consistent with
11405         the other LIVE_P macros.
11406         (CHECK_LIVE_PROCESS): New macro.
11407
11408         * process.c: Declare Qprocess_live_p.
11409         (Fprocess_live_p): New function.
11410         (create_process): Use PROCESS_LIVE_P.
11411         (read_process_output): Ditto.
11412         (set_process_filter): Ditto.
11413         (Fdelete_process): Ditto.
11414         (kill_buffer_processes): Ditto
11415         (process_send_signal): Use CHECK_LIVE_PROCESS.
11416         (Fprocess_input_coding_system): Check whether process is still
11417         alive (fix PR#1061).
11418         (Fprocess_output_coding_system): Ditto.
11419         (Fprocess_coding_system): Ditto.
11420         (Fset_process_input_coding_system): Ditto.
11421         (Fset_process_output_coding_system): Ditto.
11422
11423 2000-01-23  Andy Piper  <andy@xemacs.org>
11424
11425         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11426         layout and widget.
11427
11428         * glyphs.c (mark_image_instance): take into account changed
11429         image_instance format.
11430         (image_instance_equal): ditto.
11431         (image_instance_hash): ditto.
11432
11433         * glyphs-widget.c (widget_instantiate): Incorporate layout
11434         instantiation here. Delay layout of the layout until later.
11435         (layout_instantiate): deleted.
11436         (layout_query_geometry): new function. get the geometry of a
11437         layout.
11438         (layout_layout): layout a layout dynamically.
11439         (image_instantiator_widget): New function - splitting up
11440         image_instantiator_format_create_glyphs_widget for netwinder
11441         compilation.
11442         (image_instantiator_buttons):
11443         (image_instantiator_edit_fields):
11444         (image_instantiator_combo_box):
11445         (image_instantiator_scrollbar):
11446         (image_instantiator_progress_guage):
11447         (image_instantiator_tree_view):
11448         (image_instantiator_tab_control):
11449         (image_instantiator_labels):
11450         (image_instantiator_layout): ditto.
11451         (image_instantiator_format_create_glyphs_widget): Call preceding
11452         functions.
11453
11454 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11455
11456         * process.c (Fset_process_coding_system):
11457         * device-x.c (Fx_keysym_hash_table):
11458         Docstring fixes.
11459
11460         * lstream.c (Lstream_write): Return documented value, not 0.
11461
11462         * fileio.c (directory_file_name):
11463         (Fsubstitute_in_file_name):
11464         (Fsubstitute_insert_file_contents_internal):
11465         (Fwrite_region_internal):
11466         * emacs.c:
11467         * sysdep.c:
11468         * getloadavg.c:
11469         * systty.h:
11470         Remove vestigial APOLLO-conditional code.
11471
11472 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11473
11474         * getpagesize.h: Add guard macros.
11475         * libsst.h: Add guard macros.
11476         * libst.h: Add guard macros.
11477         * line-number.h: Add guard macros.
11478         * ndir.h: Add guard macros.
11479         * sysfloat.h: Add guard macros.
11480         * sysfile.h: Add guard macros.
11481         * sysproc.h: Add guard macros.
11482         * syswait.h: Add guard macros.
11483         * xintrinsic.h: Add guard macros.
11484         * xintrinsicp.h: Add guard macros.
11485         * xmmanager.h: Add guard macros.
11486         * xmmanagerp.h: Add guard macros.
11487         * xmprimitive.h: Add guard macros.
11488         * xmu.h: Add guard macros.
11489         * gpmevent.h: Add copyright statement. Add guard macros.
11490         * miscplay.h: Add guard macros.
11491         * *.h: Use consistent C-standards-approved guard macro names.
11492
11493         * opaque.c (make_opaque): Switch parameter order.
11494         * opaque.h (make_opaque): Switch parameter order.
11495         Update all callers.
11496         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11497
11498         * config.h.in (type_checking_assert): Added.
11499         (bufpos_checking_assert): Added.
11500
11501 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11502
11503         * alloc.c: Harmless pdump changes.
11504         - Use countof().
11505         - spell alignment correctly.
11506         * sysdep.c: Use countof()
11507
11508 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11509
11510         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11511         initially_selected_for_input() console method, default to 0.
11512         (semi_canonicalize_console_connection): Try to delegate to
11513         canonicalize_console_connection if no such console method.
11514         (canonicalize_console_connection): Vice versa.
11515         (print_console): Do not print nil connection.
11516
11517         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11518         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11519         (XDEVIMPF_FRAMELESS_OK): Added.
11520         (CONSOLE_INHERITS_METHOD): Added.
11521
11522         * console-msw.c (mswindows_canonicalize_console_connection):
11523         Added.
11524         (mswindows_canonicalize_device_connection): Added.
11525
11526         * console-msw.h (struct msprinter_device): Added this struct and
11527         accessor macros.
11528         (mswindows_device): Made fontlist a lisp object.
11529
11530         * device.c (semi_canonicalize_device_connection):  Try to delegate
11531         to canonicalize_device_connection if no such console method.
11532         (canonicalize_device_connection): Vice versa.
11533         (print_device): Do not print nil connection.
11534
11535         * device-msw.c (mswindows_init_device): Call InitCommonControls
11536         when have widgets.
11537         (mswindows_delete_device): Removed fontlist deallocation.
11538         (mswindows_mark_device): Added.
11539
11540         * events.c (event_equal): Added abort() at unreached code.
11541         (event_hash): Ditto.
11542
11543         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11544         fallback tags of Windows devices.
11545
11546         * general.c (syms_of_general): Initialized Qmsprinter.
11547
11548         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11549         of fallback tags of Windows devices.
11550
11551         * lisp.h: Declared Qmsprinter.
11552
11553         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11554         of strings.
11555         (mswindows_list_fonts): Ditto.
11556         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11557         that it can be used by both mswindows and msprinter devices.
11558         (initialize_font_instance): Added.
11559         (mswindows_initialize_font_instance): Use it.
11560         (msprinter_initialize_font_instance): Added.
11561
11562         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
11563         and implementation flags check.
11564         (redisplay_without_hooks): Changed the call to the above.
11565         (Fredraw_device): Ditto.
11566         (Fredisplay_device): Ditto.
11567
11568         * redisplay-msw.c (get_frame_dc): Implemented.
11569         (get_frame_compdc): Implemented.
11570         (many functions): Use the two functions above to get device
11571         contexts, ether for a window or a printer.
11572
11573 2000-01-21  Olivier Galibert  <galibert@pobox.com>
11574
11575         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
11576         initialization here.
11577         (init_symbols_once_early): Call it.
11578         * emacs.c (main_1): Call it.
11579         * symsinit.h: Declare it.
11580
11581 2000-01-19  Olivier Galibert  <galibert@pobox.com>
11582
11583         * alloc.c: Use a lrecord_header * in the backtrace instead of a
11584         Lisp_Object.
11585         (pdump_backtrace): Ditto.
11586         (pdump_register_object): Ditto.  Cleanup use of the pointers.
11587         (pdump_get_entry): Abort if trying to register a null pointer.
11588         (pdump_dump_data): Cleanup types when relocating.
11589         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
11590         (pdump_dump_rtables): Remove bad casts.
11591         (pdump_load): Cleanup relocation w.r.t union type.  Use a
11592         Lisp_Object instead of a EMACS_INT for the hashtable
11593         reorganization.
11594
11595 2000-01-20  Martin Buchholz  <martin@xemacs.org>
11596
11597         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
11598
11599         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
11600
11601         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
11602
11603         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
11604
11605 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11606
11607         * faces.h (FACE_STRIKETHRU_P): Added.
11608
11609         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
11610         of font variants.
11611
11612         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
11613         (mswindows_set_dc_font): New function, aware of font variants,
11614         separated from mswindows_update_dc.
11615
11616         * objects-msw.h (struct mswindows_font_instance_data): Added
11617         definition.
11618
11619         * objects-msw.c (mswindows_finalize_font_instance): Delete all
11620         cached fonts and the data structure.
11621         (mswindows_initialize_font_instance): Added creation of font data
11622         structure.
11623         (mswindows_print_font_instance): Print at least something.
11624         (mswindows_create_font_variant): Implemented.
11625         (mswindows_get_hfont): Implemented.
11626
11627 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
11628
11629         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
11630         prototyping problem with msvc.
11631
11632         * emacs.c (main_1): added syms_of_gui_mswindows() call
11633
11634         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
11635         syms_of_gui_mswindows() function
11636
11637         * symsinit.h: added the prototype for syms_of_gui_mswindows()
11638
11639 2000-01-18  Martin Buchholz <martin@xemacs.org>
11640
11641         * XEmacs 21.2.27 is released.
11642
11643 2000-01-18  Martin Buchholz  <martin@xemacs.org>
11644
11645         * glyphs-eimage.c (struct tiff_error_struct):
11646         (tiff_error_func):
11647         (tiff_warning_func):
11648         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
11649
11650         * unexmips.c:
11651         * unexhp9k3.c:
11652         * unexfreebsd.c:
11653         * unexec.c: Remove vestigial Lucid C code.
11654         * unexalpha.c:
11655         * unexaix.c:
11656         * termcap.c:
11657         * libsst.c: Ansify.
11658         Remove declarations of errno and strerror().
11659
11660         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
11661
11662         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
11663
11664 2000-01-16  Martin Buchholz  <martin@xemacs.org>
11665
11666         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
11667         Optimize.
11668
11669 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11670
11671         * md5.c:
11672         * file-coding.c:
11673         * file-coding.h:
11674         Change enum eol_type to eol_type_t.
11675
11676 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11677
11678         * gui.c (get_gui_callback): Check cons before accessing car.
11679
11680 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11681
11682         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
11683         (XSETSPECIFIER_TYPE): Ditto.
11684
11685 2000-01-17  Didier Verna  <didier@xemacs.org>
11686
11687         * redisplay.c (generate_fstring_runes): compute string size in
11688         characters, not bytes.
11689
11690 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11691
11692         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
11693
11694 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
11695
11696         * print.c (print_error_message): Call print_prepare().
11697
11698 2000-01-14  Martin Buchholz  <martin@xemacs.org>
11699
11700         * .dbxrc: Renamed from dbxrc.
11701
11702         * events.c (event_to_character):
11703         Use `assert (foo)' instead of `if (!foo) abort()'
11704
11705         * .gdbinit (xtype): Add documentation.
11706         * .gdbinit (check-temacs): New function.
11707         * .gdbinit (check-xemacs): New function.
11708         * dbxrc (check-xemacs): New function.
11709         * dbxrc (check-xemacs): New function.
11710
11711 2000-01-14  Andy Piper  <andy@xemacs.org>
11712
11713         * glyphs-widget.c (widget_query_geometry): Make sure that we
11714         calculate default dimensions correctly.
11715
11716 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11717
11718         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
11719
11720         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
11721         pdump_wire'd variable.
11722
11723         * emacs.c: (main_1): Conditionalized calls to
11724         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
11725
11726 2000-01-13  Martin Buchholz  <martin@xemacs.org>
11727
11728         * window.c (Fset_window_configuration):
11729         * sysdep.c (_start):
11730         * input-method-motif.c (res):
11731         * event-Xt.c (Xt_process_to_emacs_event):
11732         Simple compiler warning fixes.
11733
11734         * bytecode.c (funcall_compiled_function): Use the original
11735         function symbol on the backtrace list in preference to the
11736         compiled_function object in error messages.
11737
11738 2000-01-13  Andy Piper  <andy@xemacs.org>
11739
11740         * glyphs-x.c (update_widget_face): Make sure we update the widget
11741         background as well as foreground.
11742
11743 2000-01-13  Andy Piper  <andy@xemacs.org>
11744
11745         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
11746         fields to subwindow.
11747         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
11748         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
11749         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11750         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11751
11752         * glyphs-widget.c (check_valid_tab_orientation): new function.
11753         (initialize_widget_image_instance): zero orientation and
11754         justification.
11755         (widget_instantiate): pick up orientation.
11756         (tab_control_query_geometry): return appropriate values for
11757         vertical tabs.
11758
11759         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
11760         appropriate creation flags for left, right and bottom tabs.
11761
11762         * s/cygwin32.h: add tab definitions.
11763
11764 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11765
11766         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
11767         frame upon hiding a subwindow.
11768         (mswindows_button_instantiate): Changed the push button style to
11769         BS_PUSHBUTTON.
11770         (mswindows_button_instantiate): Removed button BS_NOTIFY
11771         style.
11772         (mswindows_button_instantiate): Removed redundant check for
11773         a disabled gui item.
11774         (mswindows_button_instantiate): Made use of WS_TABSTOP
11775         consistent: "operable" controls (edit, button, tree, scroll) have
11776         this style, "display-only" ones (static, progress gauge) do
11777         not. This style is currently ignored by XEmacs though. Also,
11778         removed the WS_EX_CONTROLPARENT style - it is not for children,
11779         it is for their parents!
11780         (mswindows_edit_field_instantiate): Ditto.
11781         (mswindows_progress_gauge_instantiate): Ditto.
11782         (mswindows_tree_view_instantiate): Ditto.
11783         (mswindows_tab_control_instantiate): Ditto.
11784         (mswindows_scrollbar_instantiate): Ditto.
11785         (mswindows_combo_box_instantiate): Ditto.
11786         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
11787         style to the "clip" window.
11788         (mswindows_button_instantiate): Removed compilation warning by
11789         equally typing terms of the ?: operator.
11790
11791 2000-01-12  Didier Verna  <didier@xemacs.org>
11792
11793         * redisplay.c (generate_fstring_runes): new parameter holding the
11794         last modeline-format extent.
11795         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
11796         extent, fill the glyph block with it.
11797         (generate_fstring_runes): handle these parameters.
11798         (generate_formatted_string_db): ditto.
11799
11800         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
11801         glyphs'extents in the modeline.
11802
11803 1999-01-11  Mike Woolley  <mike@bulsara.com>
11804
11805         * ntheap.c: Reduced the reserved heap space from 1Gb down to
11806         256Mb, as a workaround for the non-starting problem many people
11807         have experienced.
11808
11809 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11810
11811         * console-tty.c (Fset_console_tty_output_coding_system):
11812         Force redrawing tty frame.
11813
11814 2000-01-10  Didier Verna  <didier@xemacs.org>
11815
11816         * redisplay.c (generate_fstring_runes): fix size computation bug.
11817
11818 2000-01-09  William M. Perry <wmperry@aventail.com>
11819
11820         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
11821
11822 2000-01-09  Andy Piper  <andy@xemacs.org>
11823
11824         * glyphs-msw.c: index -> i to avoid shadows.
11825         (xbm_create_bitmap_from_data): make static.
11826         (check_valid_string_or_int): deleted.
11827         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
11828
11829         * glyphs-x.c (x_update_subwindow): remove unused args.
11830
11831         * glyphs.c (glyph_image_instance): return the thing. Don't set the
11832         back pointer - this is done in allocate_image_instance.
11833         (query_string_font): return Qnil to make the compiler happy.
11834         (unmap_subwindow): set to ~0 to make the compiler happy.
11835         (glyph_query_geometry): comment out until used.
11836         (glyph_layout): ditto.
11837
11838 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11839
11840         * insdel.c (signal_after_change): Remove extraneous unbind_to().