update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
4         UTF-2000.
5
6 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * chartab.h (get_char_id_table): New inline function.
9
10         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
11         function.
12
13 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
14
15         * chartab.h (decode_char_table_range): New prototype in XEmacs
16         UTF-2000.
17         (put_char_id_table): New inline function in XEmacs UTF-2000.
18
19         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
20         function.
21         (decode_char_table_range): Delete static declaration in XEmacs
22         UTF-2000.
23
24 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
25
26         * chartab.c (put_char_id_table): Use `put_char_table'.
27
28 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
29
30         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
31         (map_over_uint16_byte_table): Likewise.
32         (map_over_byte_table): Likewise.
33         (map_char_table): Modify for `map_over_uint8_byte_table',
34         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
35         UTF-2000.
36
37 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
38
39         * chartab.c (struct map_char_table_for_charset_arg): New
40         structure.
41         (map_char_table_for_charset_fun): New function.
42         (map_char_table): Use `map_char_table' for encoding_table of
43         `range->charset'.
44
45 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
46
47         * chartab.c (map_char_table): Check a character is found in
48         range->charset instead of non default value is defined in
49         char-table when range is CHARTAB_RANGE_ROW.
50
51 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
52
53         * chartab.c (map_char_id_table): Deleted.
54         (Fmap_char_attribute): Use `map_char_table' instead of
55         `map_char_id_table'.
56
57 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
58
59         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
60         UTF-2000.
61         (update_syntax_table): Deleted in XEmacs UTF-2000.
62
63         * syntax.c (find_defun_start): Use `syntax_table' instead of
64         `mirror_syntax_table' in XEmacs UTF-2000.
65         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
66         UTF-2000.
67         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
68         XEmacs UTF-2000.
69         (Fmatching_paren): Likewise.
70         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
71         in XEmacs UTF-2000.
72         (find_start_of_comment): Likewise.
73         (find_end_of_comment): Likewise.
74         (Fforward_comment): Likewise.
75         (scan_lists): Likewise.
76         (char_quoted): Likewise.
77         (Fbackward_prefix_chars): Likewise.
78         (scan_sexps_forward): Likewise.
79         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
80         (update_syntax_table): Likewise.
81
82         * search.c (skip_chars): Use `syntax_table' instead of
83         `mirror_syntax_table' in XEmacs UTF-2000.
84         (wordify): Likewise.
85         (Freplace_match): Likewise.
86
87         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
88         `mirror_syntax_table' in XEmacs UTF-2000.
89         (WORDCHAR_P_UNSAFE): Likewise.
90         (re_match_2_internal): Likewise.
91
92         * font-lock.c (find_context): Use `buf->syntax_table' instead of
93         `buf->mirror_syntax_table' in XEmacs UTF-2000.
94
95         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
96         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
97
98         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
99         XEmacs UTF-2000.
100
101         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
102         UTF-2000.
103         (print_char_table): Print `default_value' in XEmacs UTF-2000.
104         (char_table_description): Delete `mirror_table' in XEmacs
105         UTF-2000.
106         (fill_char_table): Don't call `update_syntax_table' in XEmacs
107         UTF-2000.
108         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
109         (Fcopy_char_table): Likewise.
110         (put_char_table): Don't call `update_syntax_table' in XEmacs
111         UTF-2000.
112
113         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
114         `buf->mirror_syntax_table' in XEmacs UTF-2000.
115         (casify_region_internal): Likewise.
116
117         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
118
119         * buffer.c (common_init_complex_vars_of_buffer): Don't use
120         `mirror_syntax_table' in XEmacs UTF-2000.
121
122         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
123         `buf->mirror_syntax_table' in XEmacs UTF-2000.
124         (Fexpand_abbrev): Likewise.
125
126 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
127
128         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
129
130 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
131
132         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
133         (map_over_uint16_byte_table): Likewise.
134         (map_over_byte_table): Likewise.
135         (get_char_id_table): Refer `cit->default_value'.
136         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
137         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
138         of character-id ranges.
139         (mark_char_table): Mark `ct->default_value'.
140         (char_table_description): Add `default_value'.
141         (fill_char_table): Use `default_value'.
142         (decode_char_table_range): Decode `nil' as
143         `CHARTAB_RANGE_DEFAULT'.
144         (get_char_id_table): Refer `cit->default_value'.
145         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
146         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
147         temporary hack; check value of char-table is bound or not.
148         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
149
150         * chartab.h (struct Lisp_Char_Table): Add new member
151         `default_value' in XEmacs UTF-2000.
152         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
153         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
154         UTF-2000.
155
156 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
157
158         * chartab.h (Lisp_Char_ID_Table): Deleted.
159
160         * chartab.c (char_table_description): Fix typo.
161         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
162         `Lisp_Char_ID_Table'.
163
164 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
165
166         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
167         `CHAR_ID_TABLE_P'.
168
169         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
170         `CHAR_ID_TABLE_P'.
171
172         * chartab.h (XCHAR_ID_TABLE): Deleted.
173         (XSETCHAR_ID_TABLE): Deleted.
174         (CHAR_ID_TABLE_P): Deleted.
175
176         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
177         `CHAR_ID_TABLE_P'.
178         (Fget_composite_char): Likewise.
179         (put_char_table): Likewise.
180         (add_char_attribute_alist_mapper): Fixed.
181         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
182         `CHAR_ID_TABLE_P'.
183         (Fget_char_attribute): Likewise.
184         (Fget_char_attribute): Likewise.
185         (Fmap_char_attribute): Likewise.
186
187         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
188         `CHAR_ID_TABLE_P'.
189         (encode_char_1): Likewise.
190
191 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
192
193         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
194         `XCHAR_ID_TABLE'.
195
196         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
197         instead of `XCHAR_ID_TABLE'.
198         (remove_char_ccs): Likewise.
199
200         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
201         `XCHAR_ID_TABLE'.
202         (Fget_composite_char): Likewise.
203         (Fchar_variants): Likewise.
204         (put_char_table): Likewise.
205         (add_char_attribute_alist_mapper): Likewise.
206         (Fchar_attribute_alist): Likewise.
207         (Fget_char_attribute): Likewise.
208         (Fput_char_attribute): Likewise.
209         (Fmap_char_attribute): Likewise.
210         (Fmap_char_attribute): Likewise.
211
212         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
213         `XCHAR_ID_TABLE'.
214         (encode_char_1): Likewise.
215
216 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
217
218         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
219         `Lisp_Char_ID_Table'.
220         (mark_char_id_table): Deleted.
221         (print_char_id_table): Likewise.
222         (char_id_table_equal): Likewise.
223         (char_id_table_hash): Likewise.
224         (char_id_table_description): Likewise.
225         (char_id_table): Likewise.
226         (make_char_id_table): Use `Fmake_char_table' and
227         `fill_char_table'.
228         (get_char_id_table): Use `Lisp_Char_Table' instead of
229         `Lisp_Char_ID_Table'.
230         (put_char_id_table): Likewise.
231         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
232         `XCHAR_ID_TABLE'.
233         (Fremove_char_attribute): Likewise.
234         (syms_of_chartab): Don't define type `char-id-table'.
235
236         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
237         (char_id_table): Likewise.
238         (GC_CHAR_ID_TABLE_P): Likewise.
239         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
240         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
241         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
242         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
243         (get_char_id_table): Use `Lisp_Char_Table' instead of
244         `Lisp_Char_ID_Table'.
245         (put_char_id_table_0): Likewise.
246         (put_char_id_table): Likewise.
247
248 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
249
250         * chartab.h: Lisp_Byte_Table related codes are moved from
251         chartab.h.
252
253         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
254
255 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
256
257         * chartab.h: Don't include "chartab.h".
258         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
259         (Lisp_Char_ID_Table): Likewise.
260         (char_id_table): Likewise.
261         (XCHAR_ID_TABLE): Likewise.
262         (XSETCHAR_ID_TABLE): Likewise.
263         (CHAR_ID_TABLE_P): Likewise.
264         (GC_CHAR_ID_TABLE_P): Likewise.
265         (get_char_id_table): Likewise.
266
267         * char-ucs.h: Include "chartab.h".
268         (struct Lisp_Char_ID_Table): Moved to chartab.h.
269         (Lisp_Char_ID_Table): Likewise.
270         (char_id_table): Likewise.
271         (XCHAR_ID_TABLE): Likewise.
272         (XSETCHAR_ID_TABLE): Likewise.
273         (CHAR_ID_TABLE_P): Likewise.
274         (GC_CHAR_ID_TABLE_P): Likewise.
275         (get_char_id_table): Likewise.
276
277 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
278
279         * chartab.c (copy_uint8_byte_table): New function.
280         (copy_uint16_byte_table): New function.
281         (copy_byte_table): New function.
282         (map_over_uint8_byte_table): Modify to avoid huge numbers of
283         characters to call.
284         (map_over_uint16_byte_table): Likewise.
285         (map_over_byte_table): Likewise.
286         (get_byte_table): Move prototype to chartab.h.
287         (put_byte_table): Likewise.
288         (put_char_id_table_0): Moved to chartab.h.
289         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
290         (char_table_entry_equal): Likewise.
291         (char_table_entry_hash): Likewise.
292         (char_table_entry_description): Likewise.
293         (char_table_entry): Likewise.
294         (make_char_table_entry): Likewise.
295         (copy_char_table_entry): Likewise.
296         (get_non_ascii_char_table_value): Likewise.
297         (map_over_charset_ascii): Likewise.
298         (map_over_charset_control_1): Likewise.
299         (map_over_charset_row): Likewise.
300         (map_over_other_charset): Likewise.
301         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
302         (print_char_table): Likewise.
303         (char_table_equal): Likewise.
304         (char_table_hash): Likewise.
305         (char_table_description): Likewise.
306         (fill_char_table): Likewise.
307         (Fcopy_char_table): Likewise.
308         (get_char_table): Likewise.
309         (Fget_range_char_table): Likewise.
310         (put_char_table): Likewise.
311         (map_char_table): Likewise.
312         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
313         UTF-2000.
314
315 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
316
317         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
318         `Vauto_fill_chars' in XEmacs UTF-2000.
319
320         * chartab.h (get_byte_table): New prototype [moved from
321         chartab.c].
322         (put_byte_table): Likewise [moved from chartab.c].
323         (put_char_id_table_0): New inline function [moved from chartab.c].
324         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
325         (Lisp_Char_Table_Entry): Likewise.
326         (char_table_entry): Likewise.
327         (XCHAR_TABLE_ENTRY): Likewise.
328         (XSETCHAR_TABLE_ENTRY): Likewise.
329         (CHAR_TABLE_ENTRYP): Likewise.
330         (CHECK_CHAR_TABLE_ENTRY): Likewise.
331         (NUM_ASCII_CHARS): Likewise.
332         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
333         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
334
335 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
336
337         * chartab.c (get_char_id_table): Change interface.
338         (put_char_id_table_0): New function.
339         (put_char_id_table): Change interface; new implementation.
340         (Fget_composite_char): Modify for interface change of
341         `get_char_id_table'.
342         (Fchar_variants): Likewise.
343         (add_char_attribute_alist_mapper): Likewise.
344         (Fchar_attribute_alist): Likewise.
345         (Fget_char_attribute): Likewise.
346         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
347         as same as character as the first argument like `put-char-table';
348         modify for interface change of `put_char_id_table'.
349         (Fremove_char_attribute): Modify for interface change of
350         `put_char_id_table'.
351
352 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
353
354         * text-coding.c: Sync up with XEmacs 21.2.41.
355         (COMPOSE_ADD_CHAR): Modify for interface change of
356         `get_char_id_table'.
357
358         * mule-charset.c (put_char_ccs_code_point): Modify for interface
359         change of `put_char_id_table'.
360         (remove_char_ccs): Likewise.
361
362         * chartab.h (put_char_id_table): Change interface.
363
364         * char-ucs.h (get_char_id_table): Change interface.
365         (charset_code_point): Modify for interface change of
366         `get_char_id_table'.
367         (encode_char_1): Likewise.
368
369 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
370
371         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
372         argument `ccs'.
373         (map_over_uint16_byte_table): Likewise.
374         (map_over_byte_table): Likewise.
375         (map_char_id_table): Add new argument `range' like
376         `map_char_table'.
377         (Fmap_char_attribute): Add new argument `range' like
378         `Fmap_char_table'.
379
380 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
381
382         * chartab.c (map_over_uint8_byte_table): Change interface of
383         mapping function to use struct chartab_range instead of Emchar.
384         (map_over_uint16_byte_table): Likewise.
385         (map_over_byte_table): Likewise.
386         (map_char_id_table): Likewise.
387         (struct slow_map_char_id_table_arg): Deleted.
388         (slow_map_char_id_table_fun): Deleted.
389         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
390         function `slow_map_char_table_fun' instead of struct
391         `slow_map_char_id_table_arg' and function
392         `slow_map_char_id_table_fun'.
393
394 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
395
396         * mule-charset.c: Move char-it-table related codes to chartab.c.
397         (Vutf_2000_version): Moved to chartab.c.
398         (Fdefine_char): Likewise.
399         (Ffind_char): Likewise.
400         (syms_of_mule_charset): Move types `uint8-byte-table',
401         `uint16-byte-table', `byte-table' and `char-id-table' to
402         chartab.c; move functions `char_attribute_list,
403         `find_char_attribute_table, `char_attribute_alist,
404         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
405         `map_char_attribute, `define_char, `find_char, `char_variants and
406         `get_composite_char to chartab.c; move symbols `=>ucs',
407         `->decomposition', `compat', `isolated', `initial', `medial',
408         `final', `vertical', `noBreak', `fraction', `super', `sub',
409         `circle', `square', `wide', `narrow', `small' and `font' to
410         chartab.c.
411         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
412         setting codes for `Vcharacter_composition_table' and
413         `Vcharacter_variant_table' to chartab.c.
414         (complex_vars_of_mule_charset): Move setting code for
415         `Vchar_attribute_hash_table' to chartab.c.
416
417         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
418         (make_char_id_table): New prototype.
419         (put_char_id_table): Likewise.
420         (Fget_char_attribute): Likewise.
421
422         * chartab.c: Move char-id-table related code from mule-charset.c.
423         (Vutf_2000_version): Moved from mule-charset.c.
424
425         * char-ucs.h (Qucs): New external variable.
426         (put_char_ccs_code_point): New prototype.
427         (remove_char_ccs): Likewise.
428
429 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
430
431         * mule-charset.c (Vcharset_ucs_jis): New variable.
432         (Qucs_jis): Likewise.
433         (syms_of_mule_charset): Add new symbol `ucs-jis'.
434         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
435
436         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
437
438 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
439
440         * mule-charset.c (map_over_uint8_byte_table): New function.
441         (map_over_uint16_byte_table): Likewise.
442         (map_over_byte_table): Likewise.
443         (map_char_id_table): Likewise.
444         (slow_map_char_id_table_fun): Likewise.
445         (Fmap_char_attribute): Likewise.
446         (syms_of_mule_charset): Add new function `map-char-attribute'.
447
448 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
449
450         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
451         (syms_of_mule_charset): Add new function `find-char'.
452
453 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
454
455         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
456         XEmacs UTF-2000.
457         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
458         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
459         XEmacs UTF-2000.
460         (complex_vars_of_mule_charset): Add new coded-charset
461         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
462         `ideograph-gt-pj-*'.
463
464         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
465
466 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
467
468         * mule-charset.c (encode_builtin_char_1): Purge codes about
469         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
470         {MIN|MAX}_CHAR_HEBREW.
471         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
472         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
473
474         * char-ucs.h (MIN_CHAR_GREEK): Purged.
475         (MAX_CHAR_GREEK): Purged.
476         (MIN_CHAR_CYRILLIC): Purged.
477         (MAX_CHAR_CYRILLIC): Purged.
478         (MIN_CHAR_HEBREW): Commented out.
479         (MAX_CHAR_HEBREW): Likewise.
480
481 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
482
483         * mule-charset.c (Qto_ucs): New variable.
484         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
485         (Fdefine_char): Likewise.
486         (syms_of_mule_charset): Add new symbol `=>ucs'.
487
488 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
489
490         * mule-charset.c (Fdecode_char): Fixed.
491
492 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
493
494         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
495         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
496         "tcvn5712-1".
497
498 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
499
500         * mule-charset.c (Vcharset_ucs_big5): New variable.
501         (Qucs_big5): Likewise.
502         (syms_of_mule_charset): Add new symbol `ucs-big5'.
503         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
504
505         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
506
507 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
508
509         * mule-charset.c (decode_builtin_char): Check Big5 code range
510         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
511
512 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
513
514         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
515         (Qchinese_gb12345): Likewise.
516         (Fdecode_builtin_char): Fixed.
517         (syms_of_mule_charset): Add `chinese-gb12345'.
518         (complex_vars_of_mule_charset): Add coded-charset
519         `chinese-gb12345'.
520
521         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
522         (LEADING_BYTE_CHINESE_GB12345): New macro.
523
524 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
525
526         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
527         and `latin-viscii-upper' for `latin-viscii'.
528
529 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
530
531         * mule-charset.c (Fdecode_builtin_char): Comment out
532         regularization code for ISO-IR GR representation.
533
534 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
535
536         * mule-charset.c (decode_builtin_char): New function; renamed from
537         `make_builtin_char'; return -1 instead of signal.
538         (Fdecode_builtin_char): Use `decode_builtin_char'.
539
540         * char-ucs.h (decode_builtin_char): New prototype; renamed from
541         `make_builtin_char'.
542         (DECODE_CHAR): Use `decode_builtin_char' instead of
543         `make_builtin_char'; use mapping table of `chinese-big5' for
544         `chinese-big5-{1,2}'.
545
546 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
547
548         * text-coding.c (char_encode_big5): New function.
549         (char_finish_big5): Likewise.
550         (reset_encoding_stream): Use `char_encode_big5' and
551         `char_finish_big5' for CODESYS_BIG5.
552         (mule_encode): Don't use `encode_coding_big5'.
553         (encode_coding_big5): Deleted.
554
555 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
556
557         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
558         0x81- in XEmacs UTF-2000.
559         (detect_coding_big5): Likewise.
560
561 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
562
563         * mule-charset.c (Fdefine_char): Don't use a CCS property to
564         generate character-id if the CCS property does not have
565         corresponding predefined character.
566         (make_builtin_char): Return -1 if corresponding predefined
567         character is not found.
568         (Fdecode_char): Return nil if corresponding character is not
569         found.
570         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
571         don't map to builtin ucs space.
572
573 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
574
575         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
576         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
577
578 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
579
580         * mule-charset.c (Vcharset_ideograph_gt): New variable.
581         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
582         (Qideograph_gt): Likewise.
583         (Qideograph_gt_pj_{1..11}): Likewise.
584         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
585         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
586         `ideograph-gt-pj-11'.
587         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
588         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
589         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
590
591         * char-ucs.h (LEADING_BYTE_GT): New macro.
592         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
593         (MIN_CHAR_GT): Likewise.
594         (MAX_CHAR_GT): Likewise.
595
596 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
597
598         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
599         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
600
601         * doprnt.c (unsigned_int_converters): Add `c'.
602         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
603
604         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
605         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
606         `MIN_CHAR_MOJIKYO'.
607         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
608         (MAX_CHAR_MOJIKYO_0): New macro.
609         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
610
611 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
612
613         * mule-charset.c (Fdefine_char): Delete cemented out code.
614         (encode_builtin_char_1): Modify for new allocation of builtin
615         Mojikyo characters.
616
617         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
618
619 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
620
621         * mule-charset.c (Vcharset_ucs_cns): New variable.
622         (Qucs_cns): New variable.
623         (syms_of_mule_charset): Add new symbol `ucs-cns'.
624         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
625
626 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
627
628         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
629
630 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
631
632         * search.c (search_buffer): Make `charset_base_code' as
633         character-id >> 6 to eliminate the corresponding last byte in
634         UTF-8 representation [I'm not sure it is right thing].
635         (boyer_moore): Likewise.
636
637 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
638
639         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
640         representation in MULE.
641
642 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
643
644         * text-coding.c (Fmake_coding_system): Use
645         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
646         `EXTERNAL_PROPERTY_LIST_LOOP'.
647
648 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
649
650         * text-coding.c (decode_output_utf8_partial_char): New function.
651         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
652
653 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
654
655         * text-coding.c (decode_coding_utf8): Output original byte
656         sequence if it is broken; change order of conditions.
657
658         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
659         of conditions.
660
661         * mb-multibyte.h (BYTE_ASCII_P):
662         Use bit ops for char-signedness safety.
663         (BYTE_C0_P): Use bit ops for char-signedness safety.
664         (BYTE_C1_P): Use bit ops for char-signedness safety.
665
666         * character.h: (XCHAR_OR_CHAR_INT):
667         Always use inline function.
668         Remove redundant type checking assert() - XINT will abort quite
669         nicely.
670
671 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
672
673         * text-coding.c: (Fencode_shift_jis_char):
674         (Fencode_big5_char):
675         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
676         Replace 0 with '\0' when working with bytes.
677         Replace initial "(" with "\(" in docstrings.
678
679         (Fmake_coding_system):
680         When type is ccl and value is vector, register it with a proper
681         symbol.  And checks whether the given ccl program is valid.
682         (mule_decode): When calling ccl_driver, if src indicates
683         NULL pointer, set an empty string instead.
684         (mule_encode): Likewise.
685
686         (detect_eol_type):
687         (detect_coding_sjis):
688         (decode_coding_sjis):
689         (detect_coding_big5):
690         (decode_coding_big5):
691         (detect_coding_ucs4):
692         (decode_coding_ucs4):
693         (detect_coding_utf8):
694         (decode_coding_utf8):
695         (detect_coding_iso2022):
696         (decode_coding_iso2022):
697         (decode_coding_no_conversion):
698         (mule_decode):
699         Make all detecting and decoding functions take an Extbyte * arg.
700         (text_encode_generic):
701         (encode_coding_big5):
702         (encode_coding_no_conversion):
703         (mule_encode):
704         Make all encoding functions take a Bufbyte * arg.
705         Use size_t instead of unsigned int for memory sizes.
706         Only cast to unsigned char whenever dereferencing Extbyte *.
707
708         (struct lrecord_description fcd_description_1): Use countof.
709         (complex_vars_of_file_coding):
710         Use countof instead of sizeof.
711         Use CHECK_NATNUM instead of CHECK_INT.
712
713 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
714
715         * mule-charset.c (Fget_char_attribute): Add new optional argument
716         `default-value'.
717         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
718         (remove_char_ccs): Likewise.
719
720 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
721
722         * text-coding.c (char_encode_shift_jis): New implementation in
723         UTF-2000.
724         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
725         ...)'.
726
727         * mule-charset.c (Vcharset_chinese_big5): New variable in
728         UTF-2000.
729         (Qchinese_big5): New variable in UTF-2000.
730         (BIG5_SAME_ROW): New macro in UTF-2000.
731         (make_builtin_char): Use builtin characters of
732         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
733         characters of `Vcharset_chinese_big5'.
734         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
735         (complex_vars_of_mule_charset): Add new coded-charset
736         `chinese-big5' in UTF-2000.
737
738         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
739         (Vcharset_chinese_big5): New external variable declaration.
740         (Vcharset_japanese_jisx0208_1990): Likewise.
741
742 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
743
744         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
745         function.
746         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
747
748 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
749
750         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
751         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
752         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
753         `mojikyo-pj-*'.
754
755 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
756
757         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
758
759 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
760
761         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
762         to 0.17.
763
764 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
765
766         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
767         for `CHARSET_BY_ATTRIBUTES'.
768         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
769         `CHARSET_BY_ATTRIBUTES'.
770
771         * text-coding.c (struct decoding_stream): Rename member `CH' to
772         `CPOS'.
773         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
774         (decode_coding_sjis): Likewise.
775         (decode_coding_big5): Likewise.
776         (decode_coding_ucs4): Likewise.
777         (decode_coding_utf8): Likewise.
778         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
779         `CHARSET_BY_ATTRIBUTES'.
780         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
781         `str->counter'; decode 3, 4 bytes sets.
782         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
783         sets.
784         (decode_coding_no_conversion): Use `str->cpos' instead of
785         `str->ch'.
786
787         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
788         (Qmojikyo_2022_1): New variable.
789         (make_charset): Don't use `CHARSET_TYPE_*'.
790         (range_charset_code_point): Support coded-charset
791         `mojikyo-2022-1'.
792         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
793         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
794         `CHARSET_BY_ATTRIBUTES'.
795         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
796         `CHARSET_BY_ATTRIBUTES'.
797         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
798         (complex_vars_of_mule_charset): Add new coded-charset
799         `mojikyo-2022-1'.
800
801         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
802         interface; changed to inline function.
803
804         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
805         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
806         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
807         (CHARSET_TYPE_94): Deleted.
808         (CHARSET_TYPE_94X94): Deleted.
809         (CHARSET_TYPE_96): Deleted.
810         (CHARSET_TYPE_96X96): Deleted.
811         (CHARSET_TYPE_128): Deleted.
812         (CHARSET_TYPE_128X128): Deleted.
813         (CHARSET_TYPE_256): Deleted.
814         (CHARSET_TYPE_256X256): Deleted.
815         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
816         to inline function.
817         (DECODE_MOJIKYO_2022): New inline function.
818         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
819         `Vcharset_mojikyo_2022_1'.
820
821 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
822
823         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
824         instead of `EQ'.
825         (put_byte_table): Likewise.
826         (char_id_table_equal): Use `get_byte_table' [new implementation].
827
828 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
829
830         * mule-charset.c: Include <limits.h> in UTF-2000.
831         (BT_UINT8_MIN): New macro in UTF-2000.
832         (BT_UINT8_MAX): New macro in UTF-2000.
833         (BT_UINT8_t): New macro in UTF-2000.
834         (BT_UINT8_nil): New macro in UTF-2000.
835         (BT_UINT8_unbound): New macro in UTF-2000.
836         (INT_UINT8_P): New inline function in UTF-2000.
837         (UINT8_VALUE_P): New inline function in UTF-2000.
838         (UINT8_ENCODE): New inline function in UTF-2000.
839         (UINT8_DECODE): New inline function in UTF-2000.
840         (mark_uint8_byte_table): New function in UTF-2000.
841         (print_uint8_byte_table): New function in UTF-2000.
842         (uint8_byte_table_equal): New function in UTF-2000.
843         (uint8_byte_table_hash): New function in UTF-2000.
844         (make_uint8_byte_table): New function in UTF-2000.
845         (uint8_byte_table_same_value_p): New function in UTF-2000.
846         (BT_UINT16_MIN): New macro in UTF-2000.
847         (BT_UINT16_MAX): New macro in UTF-2000.
848         (BT_UINT16_t): New macro in UTF-2000.
849         (BT_UINT16_nil): New macro in UTF-2000.
850         (BT_UINT16_unbound): New macro in UTF-2000.
851         (INT_UINT16_P): New inline function in UTF-2000.
852         (UINT16_VALUE_P): New inline function in UTF-2000.
853         (UINT16_ENCODE): New inline function in UTF-2000.
854         (UINT16_DECODE): New inline function in UTF-2000.
855         (UINT8_TO_UINT16): New inline function in UTF-2000.
856         (mark_uint16_byte_table): New function in UTF-2000.
857         (print_uint16_byte_table): New function in UTF-2000.
858         (uint16_byte_table_equal): New function in UTF-2000.
859         (uint16_byte_table_hash): New function in UTF-2000.
860         (make_uint16_byte_table): New function in UTF-2000.
861         (uint16_byte_table_same_value_p): New function in UTF-2000.
862         (print_byte_table): New function in UTF-2000.
863         (byte-table): Use `print_byte_table' as printer.
864         (make_byte_table): Delete second argument `older'.
865         (byte_table_same_value_p): New function in UTF-2000.
866         (copy_byte_table): Deleted.
867         (get_byte_table): New function in UTF-2000.
868         (put_byte_table): New function in UTF-2000.
869         (print_char_id_table): New function in UTF-2000.
870         (char-id-table): Use `print_char_id_table' as printer.
871         (make_char_id_table): Delete second argument `older'.
872         (get_char_id_table): Use `get_byte_table [new implementation].
873         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
874         implementation].
875         (Ffind_char_attribute_table): New function in UTF-2000.
876         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
877         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
878         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
879         (syms_of_mule_charset): Add new function
880         `find-char-attribute-table' in UTF-2000.
881
882         * lrecord.h (enum lrecord_type): Add
883         `lrecord_type_uint16_byte_table' and
884         `lrecord_type_uint8_byte_table'.
885
886         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
887         (Lisp_Uint8_Byte_Table): New type.
888         (XUINT8_BYTE_TABLE): New macro.
889         (XSETUINT8_BYTE_TABLE): New macro.
890         (UINT8_BYTE_TABLE_P): New macro.
891         (GC_UINT8_BYTE_TABLE_P): New macro.
892         (struct Lisp_Uint16_Byte_Table): New structure.
893         (Lisp_Uint16_Byte_Table): New type.
894         (XUINT16_BYTE_TABLE): New macro.
895         (XSETUINT16_BYTE_TABLE): New macro.
896         (UINT16_BYTE_TABLE_P): New macro.
897         (GC_UINT16_BYTE_TABLE_P): New macro.
898
899 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
900
901         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
902         (Vcharacter_ideographic_strokes_table): Deleted.
903         (Vcharacter_total_strokes_table): Deleted.
904         (Vcharacter_morohashi_daikanwa_table): Deleted.
905         (Vcharacter_decomposition_table): Deleted.
906         (Qname): Deleted because it is duplicated.
907         (Qideographic_radical): Deleted.
908         (Qideographic_strokes): Deleted.
909         (Qtotal_strokes): Deleted.
910         (Qmorohashi_daikanwa): Deleted.
911         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
912         `ideographic-radical', `ideographic-strokes', `total-strokes',
913         `morohashi-daikanwa' and `->decomposition'.
914         (Fget_char_attribute): Likewise.
915         (Fput_char_attribute): Likewise; use `make-vector' instead of
916         `make_older_vector' for `->decomposition' value.
917         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
918         `ideograph-daikanwa'.
919         (syms_of_mule_charset): Delete builtin symbols `name',
920         `ideographic-radical', `ideographic-strokes', `total-strokes' and
921         `morohashi-daikanwa'.
922         (vars_of_mule_charset): Don't setup
923         `Vcharacter_ideographic_radical_table',
924         `Vcharacter_ideographic_strokes_table',
925         `Vcharacter_total_strokes_table',
926         `Vcharacter_morohashi_daikanwa_table' and
927         `Vcharacter_decomposition_table'.
928
929 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
930
931         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
932         `make_older_vector', `make_vector_newer_1' and
933         `make_vector_newer'.
934
935         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
936         `make_older_vector' and `make_vector_newer'.
937
938         * config.h.in (HAVE_GGC): New macro.
939
940 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
941
942         * mule-charset.c (struct char_attribute_list_closure): New
943         structure in UTF-2000.
944         (add_char_attribute_to_list_mapper): New function in UTF-2000.
945         (Fchar_attribute_list): Likewise.
946         (Fset_charset_mapping_table): Use `make_vector_newer'.
947         (Fdecode_builtin_char): New function in UTF-2000.
948         (syms_of_mule_charset): Add new function `char-attribute-list' and
949         `decode-builtin-char' in UTF-2000.
950
951         * lisp.h (make_vector_newer): New prototype.
952
953         * alloc.c (make_vector_newer_1): New function.
954         (make_vector_newer): New function.
955
956 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
957
958         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
959         50100)'.
960
961 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
962
963         * mule-charset.c (Vchar_attribute_hash_table): New variable.
964         (Vcharacter_attribute_table): Deleted.
965         (Vcharacter_name_table): Deleted.
966         (put_char_attribute): Deleted.
967         (remove_char_attribute): Deleted.
968         (struct char_attribute_alist_closure): New structure.
969         (add_char_attribute_alist_mapper): New function.
970         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
971         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
972         (Fget_char_attribute): Likewise.
973         (Fput_char_attribute): Likewise.
974         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
975         of `remove_char_attribute'.
976         (Fdefine_char): Return character.
977         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
978         and `Vcharacter_name_table'.
979         (complex_vars_of_mule_charset): Likewise
980         `Vchar_attribute_hash_table'.
981
982 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
983
984         * character.h (CHARC_CHARSET): New macro.
985         (CHARC_CHARSET_ID): New macro.
986         (CHARC_CODE_POINT): New macro.
987         (CHARC_COLUMNS): New macro.
988         (CHARC_TO_CHAR): New inline function.
989         (CHARC_EQ): New inline function.
990         (CHARC_ASCII_EQ): New inline function.
991         (CHARC_IS_SPACE): New inline function.
992         (ASCII_TO_CHARC): New inline function.
993
994         * char-ucs.h (encode_char_2): Deleted.
995         (ENCODE_CHAR): Use `encode_char_1' again.
996         (breakup_char_1): Likewise.
997         (CHAR_TO_CHARC): New inline function.
998
999         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1000
1001 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1002
1003         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1004         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1005         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1006         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1007         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1008         `CHARC_IS_SPACE'.
1009         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1010
1011         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1012         `CHARC_CODE_POINT'.
1013         (x_output_display_block): Use `CHARC_CHARSET' and
1014         `CHARC_ASCII_EQ'.
1015
1016         * redisplay-tty.c (tty_output_display_block): Use
1017         `CHARC_ASCII_EQ'.
1018         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1019
1020         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1021
1022         * insdel.c (find_charsets_in_charc_string): Use
1023         `CHARC_CHARSET_ID'.
1024         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1025         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1026         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1027         (convert_charc_string_into_malloced_string): Likewise.
1028
1029 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1030
1031         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1032         instead of <Emchar_dynarr *> for buf; use
1033         `convert_bufbyte_string_into_charc_dynarr' instead of
1034         `convert_bufbyte_string_into_emchar_dynarr'; use
1035         `find_charsets_in_charc_string' instead of
1036         `find_charsets_in_emchar_string'.
1037
1038         * redisplay.h:
1039         - Include "character.h".
1040         (struct rune): New member `cglyph'; delete member `chr'.
1041
1042         * redisplay.c (redisplay_text_width_charc_string): New function;
1043         delete `redisplay_text_width_emchar_string'.
1044         (rtw_charc_dynarr): New variable; renamed from
1045         `rtw_emchar_dynarr'.
1046         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1047         `rtw_emchar_dynarr'; use
1048         `convert_bufbyte_string_into_charc_dynarr' instead of
1049         `convert_bufbyte_string_into_emchar_dynarr'; use
1050         `redisplay_text_width_charc_string' instead of
1051         `redisplay_text_width_emchar_string'.
1052         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1053         instead of `rtw_emchar_dynarr'; use
1054         `convert_bufbyte_string_into_charc_dynarr' instead of
1055         `convert_bufbyte_string_into_emchar_dynarr'.
1056         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1057         `redisplay_text_width_charc_string' instead of
1058         `redisplay_text_width_emchar_string'.
1059         (create_text_block): Modify for <struct rune> change.
1060         (generate_formatted_string_db): Likewise.
1061         (create_string_text_block): Likewise.
1062         (pixel_to_glyph_translation): Likewise.
1063
1064         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1065         instead of <const Emchar *>.
1066         (x_text_width): Likewise.
1067         (x_output_display_block): Use <Charc_dynarr *> instead
1068         <Emchar_dynarr *>; modify for <structure rune> change.
1069         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1070         *>.
1071
1072         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1073         <const Emchar *>; use `charc_string_displayed_columns' instead of
1074         `emchar_string_displayed_columns'.
1075         (tty_output_display_block): Use <Charc_dynarr *> instead of
1076         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1077         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1078         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1079         `tty_output_emchar_dynarr_dynarr'.
1080         (tty_output_charc_dynarr): New function; delete
1081         `tty_output_charc_dynarr'.
1082
1083         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1084         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1085         <Emchar_dynarr *> for buf; use
1086         `convert_bufbyte_string_into_charc_dynarr' instead of
1087         `convert_bufbyte_string_into_emchar_dynarr'.
1088
1089         * frame.c (title_string_charc_dynarr): New variable; renamed from
1090         `title_string_emchar_dynarr'.
1091         (generate_title_string): Use `title_string_charc_dynarr' instead
1092         of `title_string_emchar_dynarr'; use
1093         `convert_charc_string_into_malloced_string' instead of
1094         `convert_emchar_string_into_malloced_string'.
1095         (init_frame): Use `title_string_charc_dynarr' instead of
1096         `title_string_emchar_dynarr'.
1097
1098         * console.h:
1099         - Include "character.h".
1100         (struct console_methods): Use <const Charc *> instead of <const
1101         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1102         <Emchar_dynarr *> in output_string_method.
1103
1104         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1105         <Emchar_dynarr *>.
1106
1107         * console-stream.c (stream_text_width): Use <const Charc *>
1108         instead of <const Emchar *>.
1109
1110         * character.h (Charc_dynarr): New type.
1111
1112         * char-ucs.h (structure Charc): New structure; define new type
1113         `Charc'.
1114
1115         * char-lb.h (DECODE_CHAR): New inline function.
1116         (encode_char_1): New inline function.
1117         (ENCODE_CHAR): New macro.
1118         (structure Charc): New structure; define new type `Charc'.
1119
1120         * char-1byte.h (Vcharset_control_1): New macro.
1121         (Vcharset_latin_iso8859_1): New macro.
1122         (DECODE_CHAR): New inline function.
1123         (encode_char_1): New inline function.
1124         (ENCODE_CHAR): New macro.
1125         (structure Charc): New structure; define new type `Charc'.
1126
1127         * insdel.c (find_charsets_in_charc_string): New function; delete
1128         `find_charsets_in_emchar_string'.
1129         (charc_string_displayed_columns): New function; delete
1130         `emchar_string_displayed_columns'.
1131         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1132         `convert_bufbyte_string_into_emchar_dynarr'.
1133         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1134         `convert_charc_string_into_bufbyte_dynarr'.
1135         (convert_charc_string_into_malloced_string): New function; delete
1136         `convert_charc_string_into_malloced_string'.
1137
1138         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1139         `find_charsets_in_emchar_string'.
1140         (charc_string_displayed_columns): New prototype; delete
1141         `emchar_string_displayed_columns'.
1142         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1143         `convert_charc_string_into_bufbyte_dynarr'.
1144         (convert_charc_string_into_malloced_string): New prototype; delete
1145         `convert_charc_string_into_malloced_string'.
1146
1147 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1148
1149         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1150
1151 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1152
1153         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1154
1155         * char-ucs.h: Use <short> for <Charset_ID>.
1156
1157         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1158         <Charset_ID>.
1159
1160 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1161
1162         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1163         to 0.16.
1164
1165 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1166
1167         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1168         variable.
1169         (Qmorohashi_daikanwa): New variable.
1170         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1171         for `morohashi-daikanwa' attribute.
1172         (Fget_char_attribute): Likewise.
1173         (Fput_char_attribute): Likewise.
1174         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1175         has the same value of `ideograph-daikanwa'.
1176         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1177         (vars_of_mule_charset): Setup
1178         `Vcharacter_morohashi_daikanwa_table'.
1179
1180 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1181
1182         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1183         attributes.
1184         (add_charset_to_list_mapper): Add `key' instead of
1185         `XCHARSET_NAME (value)' to return aliases.
1186
1187 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1188
1189         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1190         variable.
1191         (Vcharacter_ideographic_strokes_table): New variable.
1192         (Qideographic_radical): New variable.
1193         (Qideographic_strokes): New variable.
1194         (Fchar_attribute_alist): Use
1195         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1196         attribute; use `Vcharacter_ideographic_strokes_table' for
1197         `ideographic-strokes' attribute.
1198         (Fget_char_attribute): Likewise.
1199         (Fput_char_attribute): Likewise.
1200         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1201         `ideographic-strokes'.
1202         (vars_of_mule_charset): Setup
1203         `Vcharacter_ideographic_radical_table' and
1204         `Vcharacter_ideographic_strokes_table'.
1205
1206 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1207
1208         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1209         (Qtotal_strokes): New variable.
1210         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1211         `total-strokes' attribute.
1212         (Fget_char_attribute): Likewise.
1213         (Fput_char_attribute): Likewise.
1214         (syms_of_mule_charset): Add new symbol `total-strokes'.
1215         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1216
1217 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1218
1219         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1220         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1221         are found.
1222         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1223         `->decomposition' attribute.
1224         (Fput_char_attribute): Likewise.
1225         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1226
1227 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1228
1229         * mule-charset.c (decoding_table_check_elements): New function.
1230         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1231
1232 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1233
1234         * mule-charset.c (Fset_charset_mapping_table): Use
1235         `put_char_ccs_code_point'.
1236
1237 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1238
1239         * mule-charset.c (decoding_table_put_char): New inline function.
1240         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1241
1242 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1243
1244         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1245         (XCHARSET_BYTE_SIZE): New macro.
1246         (decoding_table_remove_char): New inline function.
1247         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1248         `decoding_table_remove_char'.
1249         (remove_char_ccs): Use `decoding_table_remove_char'.
1250         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1251
1252 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1253
1254         * mule-charset.c (Vcharacter_name_table): New variable.
1255         (Qname): New variable.
1256         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1257         attribute.
1258         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1259         `Vcharacter_name_table' for `name' attribute.
1260         (Fremove_char_attribute): Use function `remove_char_ccs'.
1261         (put_char_ccs_code_point): New function.
1262         (remove_char_ccs): New function.
1263         (syms_of_mule_charset): Add new symbol `name'.
1264         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1265
1266 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1267
1268         * mule-charset.c (make_byte_table): Add new argument `older'.
1269         (make_char_id_table): Likewise.
1270         (copy_char_id_table): Comment out because it is not used.
1271         (put_char_id_table): Modify for `make_byte_table'.
1272         (Fput_char_attribute): Make encoding_table as older object;
1273         inherit older bit of `Vcharacter_composition_table'.
1274         (mark_charset): Don't mark `cs->encoding_table'.
1275         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1276         normal object; make `Vcharacter_composition_table' as an older
1277         object; delete staticpro for `Vcharacter_composition_table'; make
1278         `Vcharacter_variant_table' as a normal object.
1279
1280         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1281         (mark_object): Don't check older object in UTF-2000.
1282
1283         * lrecord.h (struct lrecord_header): Add new member `older' in
1284         UTF-2000.
1285         (set_lheader_implementation): Setup `SLI_header->older' in
1286         UTF-2000.
1287         (set_lheader_older_implementation): New macro in UTF-2000.
1288         (OLDER_RECORD_P): New macro in UTF-2000.
1289         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1290         (alloc_older_lcrecord): New prototype in UTF-2000.
1291         (alloc_older_lcrecord_type): New macro in UTF-2000.
1292
1293 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1294
1295         * mule-charset.c (byte_table_description): Use
1296         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1297         (char_id_table_description): Delete bogus `, 1'.
1298         (Fget_char_attribute): Refer encoding_table of each coded-charset
1299         to get value of coded-charset attribute of a character.
1300         (Fput_char_attribute): Use `make_older_vector' instead of
1301         `make_vector'; use encoding_table of each coded-charset to store
1302         value of coded-charset attribute of a character.
1303         (Fremove_char_attribute): Use encoding_table of each coded-charset
1304         to store value of coded-charset attribute of a character.
1305         (mark_charset): Mark `cs->encoding_table'; don't mark
1306         `cs->decoding_table'.
1307         (charset_description): Add description of new member
1308         `encoding_table'.
1309         (make_charset): Initialize `encoding_table'.
1310
1311         * char-ucs.h (struct Lisp_Charset): Add new member
1312         `encoding_table'.
1313         (CHARSET_ENCODING_TABLE): New macro.
1314         (XCHARSET_ENCODING_TABLE): New macro.
1315         (charset_code_point): New implementation.
1316         (encode_char_1): Likewise.
1317
1318         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1319         (disksave_object_finalization_1): Call finalizers of
1320         `all_older_lcrecords' in UTF-2000.
1321         (make_older_vector): New function in UTF-2000.
1322         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1323         UTF-2000.
1324
1325         * lisp.h (make_older_vector): New prototype in UTF-2000.
1326
1327 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1328
1329         * lrecord.h (enum lrecord_type): Rename
1330         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1331
1332         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1333         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1334         `get_char_code_table'.
1335
1336         * mule-charset.c (mark_char_id_table): Renamed from
1337         `mark_char_code_table'.
1338         (char_id_table_equal): Renamed from `char_code_table_equal'.
1339         (char_id_table_hash): Renamed from `char_code_table_hash'.
1340         (make_char_id_table): Renamed from `make_char_code_table'.
1341         (copy_char_id_table): Renamed from `copy_char_code_table'.
1342         (get_char_id_table): Renamed from `get_char_code_table'.
1343         (put_char_id_table): Renamed from `put_char_code_table'.
1344         (to_char_id): Renamed from `to_char_code'.
1345
1346         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1347         `Lisp_Char_Code_Table'.
1348         (char_id_table): Renamed from `char_code_table'.
1349         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1350         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1351         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1352         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1353         (get_char_id_table): Renamed from `get_char_code_table'.
1354
1355 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1356
1357         * lrecord.h (enum lrecord_type): Rename
1358         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1359
1360         * mule-charset.c (mark_byte_table): Renamed from
1361         `mark_char_byte_table'.
1362         (byte_table_equal): Renamed from `char_byte_table_equal'.
1363         (byte_table_hash): Renamed from `byte_table_hash'.
1364         (make_byte_table): Renamed from `make_byte_table'.
1365         (copy_byte_table): Renamed from `copy_char_byte_table'.
1366
1367         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1368         `Lisp_Char_Byte_Table'.
1369         (byte_table): Renamed from `char_byte_table'.
1370         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1371         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1372         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1373         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1374
1375 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1376
1377         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1378         (dfc_convert_to_internal_format): Likewise.
1379         
1380         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1381         * text-coding.c (Fcoding_system_alias_p): New function.
1382         * text-coding.c (Fcoding_system_aliasee): New function.
1383         * text-coding.c (append_suffix_to_symbol): New function.
1384         * text-coding.c (dangling_coding_system_alias_p): New function.
1385         * text-coding.c (Ffind_coding_system):
1386         * text-coding.c (Fcopy_coding_system):
1387         * text-coding.c (encode_coding_no_conversion):
1388         * text-coding.c (syms_of_file_coding):
1389         * text-coding.c (vars_of_file_coding):
1390         Rewrite coding system alias code.
1391         Allow nested aliases, like symbolic links.
1392         Allow redefinition of coding system aliases.
1393         Prevent existence of dangling coding system aliases.
1394         Eliminate convert_to_external_format.
1395         Eliminate convert_to_internal_format.
1396         
1397         * text-coding.c: Change enum eol_type to eol_type_t.
1398
1399 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1400
1401         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1402         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1403
1404         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1405         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1406
1407 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1408
1409         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1410         `ideograph-daikanwa'.
1411
1412         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1413         (Vcharset_ucs_bmp): Likewise.
1414         (Vcharset_mojikyo): Add new extern variable definition.
1415         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1416         (Vcharset_latin_iso8859_3): Likewise.
1417         (Vcharset_latin_iso8859_4): Likewise.
1418         (Vcharset_latin_iso8859_9): Likewise.
1419         (Vcharset_latin_viscii_lower): Likewise.
1420         (Vcharset_latin_viscii_upper): Likewise.
1421         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1422         `mojikyo' code-point is used to decode.
1423         (encode_char_2): New function [to convert `mojikyo' code-point to
1424         Mojikyo font encoding].
1425         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1426         (breakup_char_1): Likewise.
1427         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1428
1429 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1430
1431         * text-coding.c (Fmake_coding_system): Add document about
1432         `disable-composition' property.
1433
1434 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1435
1436         * text-coding.c (Qdisable_composition): New variable; delete
1437         `Qcomposite'.
1438         (Fmake_coding_system): Add new property `disable-composite';
1439         delete property `composite'.
1440         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1441         instead of `!CODING_SYSTEM_COMPOSITE'.
1442         (syms_of_file_coding): Add new symbol `disable-composition';
1443         delete symbol `composite'.
1444
1445         * file-coding.h (struct Lisp_Coding_System): Add
1446         `disable_composition'; delete `enable_composition'.
1447         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1448         `CODING_SYSTEM_COMPOSITE'.
1449         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1450         `XCODING_SYSTEM_COMPOSITE'.
1451
1452 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1453
1454         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1455         to 0.15.
1456
1457 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1458
1459         * text-coding.c (Qcomposite): New variable.
1460         (Fmake_coding_system): Add new property `composite'.
1461         (struct decoding_stream): Add `combined_char_count',
1462         `combined_chars' and `combining_table' in UTF-2000.
1463         (COMPOSE_FLUSH_CHARS): New macro.
1464         (COMPOSE_ADD_CHAR): New macro.
1465         (reset_decoding_stream): Reset `str->combined_char_count' and
1466         `str->combining_table' in UTF-2000.
1467         (decode_coding_iso2022): Modify for character-decomposition.
1468         (syms_of_file_coding): Add new symbol `composite'.
1469
1470 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1471
1472         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1473         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1474         of `Vcharacter_composition_table' if `->decomposition' property
1475         has only 1 element.
1476         (Qlatin_tcvn5712): New variable.
1477         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1478         (complex_vars_of_mule_charset): Add new coded-charset
1479         `latin-tcvn5712'.
1480
1481         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1482
1483 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1484
1485         * file-coding.h (struct Lisp_Coding_System): Add
1486         `enable_composition'.
1487         (CODING_SYSTEM_COMPOSITE): New macro.
1488         (XCODING_SYSTEM_COMPOSITE): New macro.
1489
1490 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1491
1492         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1493
1494 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1495
1496         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1497         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1498
1499 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1500
1501         * mule-charset.c (Vcharset_mojikyo): New variable.
1502         (Fdefine_char): Don't use coded-charset which does not have
1503         non-builtin character range to allocate character-id.
1504         (Qmojikyo): New variable.
1505         (syms_of_mule_charset): Add new symbol `mojikyo'.
1506         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1507
1508         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1509         (LEADING_BYTE_MOJIKYO): New macro.
1510         (MIN_CHAR_MOJIKYO): New macro.
1511         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1512         (MAX_CHAR_MOJIKYO): New macro.
1513
1514 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1515
1516         * mule-charset.c (remove_char_attribute): Fixed.
1517
1518 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1519
1520         * mule-charset.c (remove_char_attribute): New function.
1521         (Fremove_char_attribute): New function.
1522         (encode_builtin_char_1): Comment out builtin-support for
1523         greek-iso8859-7 and cyrillic-iso8859-5.
1524         (Fdecode_char): Check `code' is an integer.
1525         (syms_of_mule_charset): Add `remove-char-attribute'.
1526         (MIN_CHAR_GREEK): Deleted.
1527         (MAX_CHAR_GREEK): Likewise.
1528         (MIN_CHAR_CYRILLIC): Likewise.
1529         (MAX_CHAR_CYRILLIC): Likewise.
1530         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1531         MAX_CHAR_GREEK for `greek-iso8859-7'.
1532
1533         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1534         (MAX_CHAR_GREEK): Likewise.
1535         (MIN_CHAR_CYRILLIC): Likewise.
1536         (MAX_CHAR_CYRILLIC): Likewise.
1537
1538 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1539
1540         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1541         format is used without `ucs' property.
1542         (Fdecode_char): Fix problem with GR representation.
1543         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1544         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1545
1546 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1547
1548         * mule-charset.c (make_builtin_char): New function.
1549         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1550         (Fset_charset_mapping_table): Modify for new representation of
1551         code-point.
1552         (Fdecode_char): New function.
1553         (syms_of_mule_charset): Add new builtin function `decode-char' in
1554         UTF-2000.
1555
1556         * char-ucs.h (make_builtin_char): New prototype.
1557         (DECODE_CHAR): New inline function.
1558         (MAKE_CHAR): Use `DECODE_CHAR'.
1559
1560 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1561
1562         * text-coding.c (parse_charset_conversion_specs): Use
1563         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1564         `XCHARSET_TYPE'.
1565         (iso2022_designate): Likewise.
1566
1567         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1568         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1569
1570         * mule-charset.c (Vcharset_ucs): New variable.
1571         (print_charset): Change design; use `CHARSET_CHARS' and
1572         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1573         (make_charset): Change signature to specify `chars' and
1574         `dimension' instead of `type'.
1575         (range_charset_code_point): Modify for 256^n-set.
1576         (encode_builtin_char_1): Encode as `ucs' in default.
1577         (Fmake_charset): Modify for `make_charset'.
1578         (Fmake_reverse_direction_charset): Likewise.
1579         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1580         UTF-2000.
1581         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1582         for `make_charset'.
1583
1584         * char-ucs.h (Vcharset_ucs): New variable.
1585         (LEADING_BYTE_UCS): New macro.
1586         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1587         and `chars' to `unsigned short' from `unsigned int'.
1588         (CHARSET_TYPE): Deleted.
1589         (XCHARSET_TYPE): Deleted.
1590
1591 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1592
1593         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1594
1595         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1596         (ENCODE_CHAR): New macro.
1597
1598 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1599
1600         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1601         to 0.14 (Kawachi-Katakami).
1602
1603 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1604
1605         * text-coding.c (char_encode_shift_jis): Modify for
1606         `charset_code_point'.
1607         (char_encode_iso2022): Likewise.
1608
1609         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1610         (integer) instead of list of <Lisp_Object>s (integers) as the
1611         format of code-point of a coded-charset.
1612         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1613         (encode_builtin_char_1): New function; delete
1614         `split_builtin_char'.
1615         (charset_code_point): Return <int> instead of <Lisp_Object>.
1616         (Fsplit_char): Don't use `SPLIT_CHAR'.
1617
1618         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1619         prototype for `split_builtin_char'.
1620         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1621         (charset_code_point): Likewise.
1622         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1623         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1624
1625 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1626
1627         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1628         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1629
1630 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1631
1632         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1633
1634         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1635         (MAX_CHAR_OBS_94x94): Deleted.
1636
1637 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1638
1639         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1640
1641         * char-ucs.h (MAX_CHAR_BMP): New macro.
1642
1643 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1644
1645         * text-coding.c: Sync with r21-2-24.
1646
1647 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1648
1649         * file-coding.c: Modify for UTF-2000.
1650
1651 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1652
1653         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1654         to 0.13 (Takaida).
1655
1656 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1657
1658         * mule-charset.c (split_builtin_char): Delete builtin support for
1659         `katakana-jisx0201'.
1660         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1661         BMP area in builtin representation.
1662
1663         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1664         `Vcharset_katakana_jisx0201'.
1665
1666 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1667
1668         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1669         (Qisolated): New variable.
1670         (Qinitial): New variable.
1671         (Qmedial): New variable.
1672         (Qfinal): New variable.
1673         (Qvertical): New variable.
1674         (Qsmall): New variable.
1675         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1676         `Qvertical' and `Qsmall'.
1677         (Qmojikyo_pj_[1 .. 21]): New variable.
1678         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1679         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1680         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1681         .. 21]'.
1682
1683 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1684
1685         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1686         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1687         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1688
1689 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1690
1691         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1692         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1693         BMP.
1694         (Qjapanese_jisx0208_1990): New variable.
1695         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1696         (complex_vars_of_mule_charset): Add new coded-charset
1697         `japanese-jisx0208-1990'.
1698
1699         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1700         (MIN_CHAR_JIS_X0208_1990): New macro.
1701         (MAX_CHAR_JIS_X0208_1990): New macro.
1702
1703 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1704
1705         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1706         coded-charset is not found.
1707
1708 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1709
1710         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1711         (Fdefine_char): Use `Fmake_char'.
1712
1713 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1714
1715         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1716         (Vcharset_hiragana_jisx0208): Deleted.
1717         (Vcharset_katakana_jisx0208): Deleted.
1718         (Qideograph_daikanwa): New variable.
1719         (Qhiragana_jisx0208): Deleted.
1720         (Qkatakana_jisx0208): Deleted.
1721         (split_builtin_char): Split `ideograph-daikanwa'.
1722         (Fsplit_char): New implementation for UTF-2000.
1723         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1724         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1725         (complex_vars_of_mule_charset): Add new coded-charset
1726         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1727         `katakana-jisx0208'.
1728
1729         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1730         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1731         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1732         (MIN_CHAR_DAIKANWA): New macro.
1733         (MAX_CHAR_DAIKANWA): New macro.
1734
1735 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1736
1737         * data.c (Fstring_to_number): Don't recognize floating point if
1738         base is not 10.
1739
1740 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1741
1742         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1743
1744 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1745
1746         * mule-charset.c (Qsquare): New variable.
1747         (to_char_code): Add `Qsquare'.
1748         (syms_of_mule_charset): Add new symbol `square'.
1749
1750 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1751
1752         * mule-charset.c (Qcircle): New variable.
1753         (to_char_code): Add `Qcircle'.
1754         (syms_of_mule_charset): Add new symbol `circle'.
1755
1756 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1757
1758         * mule-charset.c (Qfont): New variable.
1759         (to_char_code): Add `Qfont'.
1760         (syms_of_mule_charset): Add new symbol `font'.
1761
1762 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1763
1764         * mule-charset.c (Qsub): New variable.
1765         (to_char_code): Add `Qsub'.
1766         (syms_of_mule_charset): Add new symbol `sub'.
1767
1768 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1769
1770         * mule-charset.c (Fput_char_attribute): Convert each element of
1771         VALUE to GL position if ATTRIBUTE is a GR-set,
1772
1773 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1774
1775         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1776         coded-charset is a GR-set.
1777
1778 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1779
1780         * mule-charset.c (Fput_char_attribute): Check each element of
1781         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1782
1783 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1784
1785         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1786         UTF-2000.
1787         (Qethiopic_ucs): New variable in UTF-2000.
1788         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1789         (complex_vars_of_mule_charset): Add new coded-charset
1790         `ethiopic-ucs' in UTF-2000.
1791
1792         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1793         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1794         9)'.
1795         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1796         10)'.
1797         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1798
1799 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1800
1801         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1802         `ascii'.
1803
1804 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1805
1806         * mule-charset.c (Vcharacter_variant_table): New variable.
1807         (Q_ucs): New variable.
1808         (Fchar_variants): New function.
1809         (Fput_char_attribute): Register `->ucs' value to
1810         `Vcharacter_variant_table'.
1811         (syms_of_mule_charset): Add new function `char-variants' and new
1812         symbol `->ucs'.
1813         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
1814
1815 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1816
1817         * mule-charset.c (get_char_code_table): Allow negative character
1818         code.
1819         (put_char_code_table): Likewise.
1820         (Vcharacter_composition_table): New variable.
1821         (Q_decomposition): New variable.
1822         (Qwide): New variable.
1823         (Qnarrow): New variable.
1824         (Qcompat): New variable.
1825         (QnoBreak): New variable.
1826         (Qsuper): New variable.
1827         (Qfraction): New variable.
1828         (to_char_code): New function.
1829         (Fget_composite_char): New function.
1830         (Fput_char_attribute): Register `->decomposition' value to
1831         `Vcharacter_composition_table'.
1832         (syms_of_mule_charset): Add new function `get-composite-char', new
1833         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
1834         `super' and `fraction'.
1835         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
1836
1837 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1838
1839         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
1840         character; copy the return value.
1841
1842 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1843
1844         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
1845
1846         * mule-charset.c (range_charset_code_point): Must use make_int.
1847         (split_builtin_char): New function.
1848
1849 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1850
1851         * mule-charset.c (char_byte_table): Change name from
1852         "char-code-table" to "char-byte-table".
1853         (mark_char_code_table): New function.
1854         (char_code_table_equal): New function.
1855         (char_code_table_hash): New function.
1856         (char_code_table_description): New constant.
1857         (char_code_table): New type.
1858         (make_char_code_table): New function.
1859         (copy_char_code_table): New function.
1860         (get_char_code_table): Modify for `char_code_table' type.
1861         (put_char_code_table): Likewise.
1862         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
1863         (Kashiwara).
1864
1865         * char-ucs.h (char_code_table): New type.
1866         (XCHAR_CODE_TABLE): New macro.
1867         (XSETCHAR_CODE_TABLE): New macro.
1868         (CHAR_CODE_TABLE_P): New macro.
1869         (GC_CHAR_CODE_TABLE_P): New macro.
1870         (struct Lisp_Char_Code_Table): New structure.
1871
1872 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1873
1874         * mule-charset.c (Fmake_charset): Setup byte_offset for
1875         {94|96}^n-set.
1876
1877 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1878
1879         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
1880         character.
1881
1882 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1883
1884         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
1885         is found.
1886
1887 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1888
1889         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
1890         charset, it is regarded as a charset.
1891         (put_char_attribute): New function in UTF-2000.
1892         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
1893         charset, mapping-table of the charset is modified.
1894         (Fdefine_char): New function in UTF-2000.
1895         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
1896         `Fput_char_attribute'.
1897         (syms_of_mule_charset): Add new function `define-char' and new
1898         symbol `ucs' in UTF-2000.
1899         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
1900
1901 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1902
1903         * mule-charset.c (Fcharset_name): Define `byte_offset' in
1904         non-UTF-2000 configuration.
1905
1906 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1907
1908         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
1909         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
1910
1911         * mule-charset.c (mark_charset): `cs->encoding_table' has been
1912         deleted.
1913         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
1914         (Fset_charset_mapping_table): Likewise.
1915
1916         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
1917         (CHARSET_ENCODING_TABLE): Delete.
1918         (XCHARSET_ENCODING_TABLE): Delete.
1919         (charset_code_point): New interface.
1920
1921 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1922
1923         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
1924         instead of `charset_get_byte1' and `charset_get_byte2'.
1925
1926         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
1927         (charset_get_byte2): Deleted.
1928
1929 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1930
1931         * char-ucs.h (SPLIT_CHAR): New inline function.
1932         (breakup_char_1): Use `SPLIT_CHAR'.
1933
1934         * mule-charset.c (range_charset_code_point): New function.
1935         (charset_code_point): New function.
1936
1937         * char-ucs.h (range_charset_code_point): New interface.
1938         (breakup_char_1): Use `range_charset_code_point'.
1939
1940 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1941
1942         * mule-charset.c (Fmake_charset): Delete unused local variable
1943         `code_offset'.
1944
1945         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
1946         (breakup_char_1): Find a charset and code-point in
1947         `Vcharacter_attribute_table'.
1948
1949 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1950
1951         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1952         to 0.10 (Yao).
1953
1954 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1955
1956         * mule-charset.c (Vcharacter_attribute_table): New variable.
1957         (Fchar_attribute_alist): New function.
1958         (Fget_char_attribute): New function.
1959         (Fput_char_attribute): New function.
1960         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
1961         too.
1962         (syms_of_mule_charset): Add new function `char-attribute-alist',
1963         `get-char-attribute' and `put-char-attribute'.
1964         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
1965
1966 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
1967
1968         * mule-charset.c (Fmake_charset): Just use
1969         `get_unallocated_leading_byte'.
1970
1971         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
1972         sets; don't use final-byte based number for private sets.
1973
1974 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1975
1976         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
1977         integer.
1978
1979 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1980
1981         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1982         to 0.9.
1983
1984 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1985
1986         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
1987         of `CHAR_LEADING_BYTE' in UTF-2000.
1988
1989         * insdel.c (find_charsets_in_bufbyte_string): Use
1990         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1991         (find_charsets_in_emchar_string): Likewise.
1992
1993         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
1994         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1995
1996         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
1997         (CHAR_CHARSET_ID): New macro.
1998
1999 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2000
2001         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2002         charset-id - MIN_LEADING_BYTE.
2003         (put_char_table): Likewise.
2004
2005 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2006
2007         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2008         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2009         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2010         (CHARSET_ID_OFFSET): New macro.
2011         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2012         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2013         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2014         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2015         4).
2016         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2017         5).
2018         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2019         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2020         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2021         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2022         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2023
2024 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2025
2026         * mule-charset.c (next_allocated_leading_byte): New variable in
2027         UTF-2000.
2028         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2029         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2030         (get_unallocated_leading_byte): Simply use
2031         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2032         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2033         UTF-2000.
2034
2035         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2036         (MAX_LEADING_BYTE_PRIVATE): New macro.
2037         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2038         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2039
2040 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2041
2042         * mule-charset.c (Fmake_charset): Allocate final-byte based
2043         charset-id for 94-set, 96-set and 94x94-set.
2044
2045 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2046
2047         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2048         ambiguous `else'.
2049         (Fmake_charset): Likewise.
2050         (complex_vars_of_mule_charset): Modify the font registry of
2051         `ucs-bmp' not to match `Ethiopic-Unicode'.
2052
2053 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2054
2055         * mule-charset.c (complex_vars_of_mule_charset): Add font
2056         registory of `ucs-bmp'.
2057
2058 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2059
2060         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2061         coded-charsets in `default-coded-charset-priority-list' when
2062         breaking up a character.
2063
2064         * mule-charset.c (Vcharset_latin_viscii): New variable.
2065         (Qlatin_viscii): New variable.
2066         (make_charset): Don't use `decoding_table'.
2067         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2068         byte_offset.
2069         (Fset_charset_mapping_table): New implementation.
2070         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2071         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2072         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2073         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2074         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2075         charset `latin_viscii'.
2076
2077         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2078         (CHARSET_TYPE_94X94): Change to 1 from 2.
2079         (CHARSET_TYPE_96): Change to 2 from 1.
2080         (CHARSET_TYPE_128): New macro.
2081         (CHARSET_TYPE_128X128): Change to 5 from 4.
2082         (CHARSET_TYPE_256): New macro.
2083         (CHARSET_TYPE_256X256): Change to 7 from 5.
2084         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2085
2086 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2087
2088         * text-coding.c (char_encode_shift_jis): Refer
2089         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2090         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2091
2092         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2093         (char_byte_table_equal): New function in UTF-2000.
2094         (char_byte_table_hash): New function in UTF-2000.
2095         (char_byte_table_description): New constant in UTF-2000.
2096         (char_byte_table): New type in UTF-2000.
2097         (make_char_byte_table): New function in UTF-2000.
2098         (copy_char_byte_table): New function in UTF-2000.
2099         (make_char_code_table): New macro in UTF-2000.
2100         (get_char_code_table): New function in UTF-2000.
2101         (put_char_code_table): New function in UTF-2000.
2102         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2103         (charset_description): Add setting in UTF-2000.
2104         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2105         `CHARSET_TO_BYTE1_TABLE(cs)'.
2106         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2107         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2108         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2109         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2110         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2111         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2112         `CHARSET_TO_BYTE2_TABLE(cs)'.
2113
2114         * char-ucs.h (char_byte_table): New type.
2115         (XCHAR_BYTE_TABLE): New macro.
2116         (XSETCHAR_BYTE_TABLE): New macro.
2117         (CHAR_BYTE_TABLE_P): New macro.
2118         (GC_CHAR_BYTE_TABLE_P): New macro.
2119         (struct Lisp_Char_Byte_Table): New structure.
2120         (get_char_code_table): New interface.
2121         (Emchar_to_byte_table): Deleted.
2122         (get_byte_from_character_table): Deleted.
2123         (struct Lisp_Charset): Add `encoding_table'; delete
2124         `to_byte1_table' and `to_byte2_table'.
2125         (CHARSET_ENCODING_TABLE): New macro.
2126         (CHARSET_TO_BYTE1_TABLE): Deleted.
2127         (CHARSET_TO_BYTE2_TABLE): Deleted.
2128         (XCHARSET_ENCODING_TABLE): New macro.
2129         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2130         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2131
2132 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2133
2134         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2135         `vietnamese-viscii-*'.
2136
2137 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2138
2139         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2140         (Qvietnamese_viscii_upper): New variable.
2141         (Fdefine_charset_alias): New function.
2142         (syms_of_mule_charset): Add new function `define-charset-alias'.
2143         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2144         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2145         `latin-viscii-*'.
2146
2147 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2148
2149         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2150         (MAX_CHAR_OBS_94x94): New macro.
2151         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2152         for 94x94 sets.
2153
2154         * mule-charset.c (put_byte_from_character_table): Change unit size
2155         from 128 to 256.
2156         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2157         not defined.
2158         (Fmake_reverse_direction_charset): Modify dummy argument of
2159         `make_charset' for non-UTF-2000 environment.
2160
2161 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2162
2163         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2164
2165         * mule-charset.c (destroy_byte_from_character_table): New macro.
2166         (latin_jisx0201_to_ucs): Deleted.
2167         (latin_iso8859_2_to_ucs): Deleted.
2168         (latin_iso8859_3_to_ucs): Deleted.
2169         (latin_iso8859_4_to_ucs): Deleted.
2170         (latin_iso8859_9_to_ucs): Deleted.
2171         (latin_viscii_lower_to_ucs): Deleted.
2172         (latin_viscii_upper_to_ucs): Deleted.
2173         (mark_charset): Mark `cs->decoding_table'.
2174         (Fcharset_mapping_table): Fix DOC-string.
2175         (Fset_charset_mapping_table): New function.
2176         (syms_of_mule_charset): Add nwe function
2177         `set-charset-mapping-table'.
2178         (complex_vars_of_mule_charset): Don't setup and use
2179         `latin_*_to_ucs'.
2180
2181 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2182
2183         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2184         charset.
2185
2186 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2187
2188         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2189         (Vcharset_katakana_jisx0208): New variable.
2190         (Qhiragana_jisx0208): New variable.
2191         (Qkatakana_jisx0208): New variable.
2192         (make_charset): Add new argument `byte_offset'.
2193         (charset_get_byte1): Modify for new coded-charset definition; use
2194         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2195         `XCHARSET_BYTE_OFFSET'.
2196         (Fmake_charset): Modify for `make_charset'.
2197         (Fmake_reverse_direction_charset): Likewise.
2198         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2199         `katakana-jisx0208'.
2200         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2201         `.'  in font registry of charset `katakana-jisx0201',
2202         `latin-jisx0201', `vietnamese-viscii-lower' and
2203         `vietnamese-viscii-upper'; modify DOC-string of charset
2204         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2205         registry of charset `japanese-jisx0208' not to use font for JIS
2206         X0208:1990; add new charset `hiragana-jisx0208' and
2207         `katakana-jisx0208'.
2208
2209         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2210         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2211         (struct Lisp_Charset): Add `byte_offset'.
2212         (CHARSET_BYTE_OFFSET): New macro.
2213         (XCHARSET_UCS_MIN): New macro.
2214         (XCHARSET_UCS_MAX): New macro.
2215         (XCHARSET_CODE_OFFSET): New macro.
2216         (XCHARSET_BYTE_OFFSET): New macro.
2217         (MIN_CHAR_HIRAGANA): New macro.
2218         (MAX_CHAR_HIRAGANA): New macro.
2219         (MIN_CHAR_KATAKANA): New macro.
2220         (MAX_CHAR_KATAKANA): New macro.
2221         (MAKE_CHAR): Modify for new coded-charset definition; use
2222         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2223         `XCHARSET_BYTE_OFFSET'.
2224
2225 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2226
2227         * mule-charset.c (CHAR96): Deleted.
2228         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2229         <Lisp_Object>.
2230         (latin_iso8859_2_to_ucs): Likewise.
2231         (latin_iso8859_3_to_ucs): Likewise.
2232         (latin_iso8859_4_to_ucs): Likewise.
2233         (latin_iso8859_9_to_ucs): Likewise.
2234         (latin_viscii_lower_to_ucs): Likewise.
2235         (latin_viscii_upper_to_ucs): Likewise.
2236         (latin_tcvn5712_to_ucs): Commented out.
2237         (make_charset): Change type of argument `decoding_table' from
2238         <Emchar*> to <Lisp_Object> [vector of characters].
2239         (Fmake_charset): Modify for `make_charset'.
2240         (Fmake_reverse_direction_charset): Likewise.
2241         (Fcharset_mapping_table): New function in UTF-2000.
2242         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2243         UTF-2000.
2244         (complex_vars_of_mule_charset): Modify for type change of
2245         `*_to_ucs'; modify for `make_charset'.
2246
2247         * char-ucs.h (struct Lisp_Charset): Change type of
2248         `decoding_table' from <Emchar*> to <Lisp_Object>.
2249         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2250
2251 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2252
2253         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2254         error with non-UTF-2000-Mule.
2255
2256 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2257
2258         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2259         in lisp again].
2260         (Vcharset_chinese_cns11643_4): Likewise.
2261         (Vcharset_chinese_cns11643_5): Likewise.
2262         (Vcharset_chinese_cns11643_6): Likewise.
2263         (Vcharset_chinese_cns11643_7): Likewise.
2264         (Qchinese_cns11643_3): Likewise.
2265         (Qchinese_cns11643_4): Likewise.
2266         (Qchinese_cns11643_5): Likewise.
2267         (Qchinese_cns11643_6): Likewise.
2268         (Qchinese_cns11643_7): Likewise.
2269         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2270         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2271         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2272         (complex_vars_of_mule_charset): Likewise.
2273
2274 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2275
2276         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2277         96-set.
2278         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2279         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2280
2281 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2282
2283         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2284         0xFF60.
2285         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2286         (breakup_char_1): Likewise.
2287
2288         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2289         one of them includes the specified character.
2290
2291 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2292
2293         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2294
2295 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2296
2297         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2298
2299 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2300
2301         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2302         definition for non-UTF-2000 Mule.
2303         (latin_iso8859_3_to_ucs): Likewise.
2304         (latin_iso8859_4_to_ucs): Likewise.
2305         (latin_iso8859_9_to_ucs): Likewise.
2306         (latin_jisx0201_to_ucs): Likewise.
2307         (MIN_CHAR_THAI): Likewise.
2308         (MAX_CHAR_THAI): Likewise.
2309         (MIN_CHAR_GREEK): Likewise.
2310         (MAX_CHAR_GREEK): Likewise.
2311         (MIN_CHAR_HEBREW): Likewise.
2312         (MAX_CHAR_HEBREW): Likewise.
2313         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2314         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2315         (MIN_CHAR_CYRILLIC): Likewise.
2316         (MAX_CHAR_CYRILLIC): Likewise.
2317
2318 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2319
2320         * char-ucs.h (breakup_char_1): Use
2321         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2322         thai-tis620 and katakana-jisx0201 area.
2323
2324 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2325
2326         * char-ucs.h (breakup_char_1): Use
2327         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2328         area.
2329
2330         * text-coding.c (reset_encoding_stream): Fixed.
2331         (char_encode_ucs4): Delete `& 255'.
2332
2333         * char-ucs.h (breakup_char_1): Use
2334         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2335
2336 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2337
2338         * file-coding.c (Fmake_coding_system): Don't set up
2339         `codesys->fixed.size'.
2340         (encode_coding_no_conversion): Don't refer
2341         `str->codesys->fixed.size'.
2342
2343 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2344
2345         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2346         (latin_a_char_to_byte1): Deleted.
2347         (latin_a_char_to_byte2): Deleted.
2348
2349 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2350
2351         * mule-charset.c (make_charset): Add new argument `ucs_min',
2352         `ucs_max' and `code_offset'.
2353         (charset_get_byte1): New implementation [delete specific charset
2354         depended implementations].
2355         (Fmake_charset): Modify for `make_charset'.
2356         (Fmake_reverse_direction_charset): Likewise.
2357         (complex_vars_of_mule_charset): Likewise.
2358
2359         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2360         `code_offset'.
2361         (CHARSET_UCS_MIN): New macro.
2362         (CHARSET_UCS_MAX): New macro.
2363         (CHARSET_CODE_OFFSET): New macro.
2364         (MAKE_CHAR): Delete charset depended definitions [except
2365         katakana-jisx0201].
2366
2367 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2368
2369         * char-ucs.h (breakup_char_1): Use
2370         `Vdefault_coded_charset_priority_list' for C0-Controls,
2371         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2372
2373 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2374
2375         * char-ucs.h (charset_get_byte1): New function.
2376         (XCHARSET_GET_BYTE1): Deleted.
2377         (charset_get_byte2): New function.
2378         (XCHARSET_GET_BYTE2): Deleted.
2379         (Vdefault_coded_charset_priority_list): New external variable.
2380         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2381         `Vdefault_preferred_coded_charset_list'.
2382
2383         * mule-charset.c (charset_get_byte1): New function.
2384         (charset_get_byte2): New function.
2385         (Vdefault_coded_charset_priority_list): New variable.
2386         (vars_of_mule_charset): Add new variable
2387         `default-coded-charset-priority-list'.
2388
2389 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2390
2391         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2392         (XCHARSET_GET_BYTE2): New inline function.
2393         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2394         `XCHARSET_GET_BYTE2'.
2395
2396 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2397
2398         * mule-charset.c (make_charset): Initialize
2399         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2400         NULL if table is not defined.
2401
2402 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2403
2404         * text-coding.c (char_encode_shift_jis): Use
2405         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2406         `ucs_to_latin_jisx0201'.
2407
2408         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2409         (ucs_to_latin_iso8859_2): Deleted.
2410         (ucs_to_latin_iso8859_3): Deleted.
2411         (ucs_to_latin_iso8859_4): Deleted.
2412         (ucs_to_latin_iso8859_9): Deleted.
2413         (ucs_to_latin_viscii_lower): Deleted.
2414         (ucs_to_latin_viscii_upper): Deleted.
2415         (ucs_to_latin_tcvn5712): Deleted.
2416         (make_charset): Add new argument `decoding_table'; set up
2417         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2418         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2419         `decoding_table' is defined in UTF-2000.
2420         (Fmake_charset): Modify for `make_charset'.
2421         (Fmake_reverse_direction_charset): Likewise.
2422         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2423         and `GENERATE_96_SET'.
2424
2425         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2426         (ucs_to_latin_jisx0201): Deleted.
2427         (latin_iso8859_2_to_ucs): Deleted.
2428         (ucs_to_latin_iso8859_2): Deleted.
2429         (latin_iso8859_3_to_ucs): Deleted.
2430         (ucs_to_latin_iso8859_3): Deleted.
2431         (latin_iso8859_4_to_ucs): Deleted.
2432         (ucs_to_latin_iso8859_4): Deleted.
2433         (latin_iso8859_9_to_ucs): Deleted.
2434         (ucs_to_latin_iso8859_9): Deleted.
2435         (latin_viscii_lower_to_ucs): Deleted.
2436         (ucs_to_latin_viscii_lower): Deleted.
2437         (latin_viscii_upper_to_ucs): Deleted.
2438         (ucs_to_latin_viscii_upper): Deleted.
2439         (struct Lisp_Charset): Renamed `encoding_table' to
2440         `to_byte1_table'; add `to_byte2_table'.
2441         (CHARSET_DECODING_TABLE): New macro.
2442         (CHARSET_TO_BYTE1_TABLE): New macro.
2443         (CHARSET_TO_BYTE2_TABLE): New macro.
2444         (XCHARSET_DECODING_TABLE): New macro.
2445         (XCHARSET_TO_BYTE1_TABLE): New macro.
2446         (XCHARSET_TO_BYTE2_TABLE): New macro.
2447         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2448         tables.
2449         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2450         don't use `ucs_to_*' tables.
2451
2452 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2453
2454         * text-coding.c (Fmake_coding_system): Don't set up
2455         `codesys->fixed.size'.
2456         (encode_coding_no_conversion): Use `if' instead of `switch'.
2457
2458         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2459
2460 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2461
2462         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2463         (Fmake_charset): Modify for `make_charset'.
2464         (Fmake_reverse_direction_charset): Likewise.
2465         (complex_vars_of_mule_charset): Likewise.
2466
2467 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2468
2469         * text-coding.c (char_encode_shift_jis): Use table
2470         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2471
2472 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2473
2474         * text-coding.c (text_encode_generic): Use `if' instead of
2475         `switch'.
2476         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2477         decode JIS-Latin.
2478
2479 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2480
2481         * text-coding.c (encode_coding_sjis): Deleted.
2482         (char_encode_shift_jis): New function.
2483         (char_finish_shift_jis): New function.
2484         (reset_encoding_stream): Set up `encode_char' and `finish' for
2485         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2486         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2487         (char_encode_utf8): Treat `eol_type'.
2488
2489 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2490
2491         * file-coding.c (decode_coding_iso2022): Use
2492         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2493
2494 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2495
2496         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2497         to 0.7 (Hirano).
2498
2499 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2500
2501         * char-lb.h (CHAR_COLUMNS): New macro.
2502
2503 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2504
2505         * text-coding.c (char_encode_ucs4): New function.
2506         (char_finish_ucs4): New function.
2507         (encode_coding_ucs4): Deleted.
2508         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2509         (text_encode_generic): Delete local variable `charset' and `half'.
2510         (ucs_to_mule_table): Deleted.
2511         (mule_to_ucs_table): Deleted.
2512         (Fset_ucs_char): Deleted.
2513         (ucs_to_char): Deleted.
2514         (Fucs_char): Deleted.
2515         (Fset_char_ucs): Deleted.
2516         (Fchar_ucs): Deleted.
2517         (decode_ucs4): Deleted.
2518         (mule_char_to_ucs4): Deleted.
2519         (encode_ucs4): Deleted.
2520         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2521         (decode_coding_utf8): Likewise.
2522         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2523         (char_encode_iso2022): Fixed.
2524         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2525         `Fset_char_ucs' and `Fchar_ucs'.
2526         (complex_vars_of_file_coding): Don't initialize
2527         `ucs_to_mule_table'.
2528
2529         * objects-tty.c (tty_initialize_font_instance): Don't use
2530         `XCHARSET_COLUMNS'.
2531
2532         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2533         UTF-2000.
2534
2535         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2536         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2537
2538         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2539         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2540         (emchar_string_displayed_columns): Likewise.
2541
2542         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2543         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2544         (string_column_at_point): Likewise.
2545         (Fmove_to_column): Likewise.
2546
2547         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2548         `encoding_table' and `decoding_table'.
2549         (CHARSET_REP_BYTES): Deleted.
2550         (XCHARSET_REP_BYTES): Deleted.
2551         (XCHARSET_COLUMNS): Deleted.
2552         (CHAR_COLUMNS): New macro.
2553         (lookup_composite_char): Deleted unconditionally.
2554         (composite_char_string): Likewise.
2555
2556 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2557
2558         * char-ucs.h (Emchar_to_byte_table): New type.
2559         (get_byte_from_character_table): New function interface.
2560         (Vcharset_latin_jisx0201): New variable.
2561         (latin_jisx0201_to_ucs): New variable.
2562         (ucs_to_latin_jisx0201): New variable.
2563         (Vcharset_latin_iso8859_2): New variable.
2564         (latin_iso8859_2_to_ucs): New variable.
2565         (ucs_to_latin_iso8859_2): New variable.
2566         (Vcharset_latin_iso8859_3): New variable.
2567         (latin_iso8859_3_to_ucs): New variable.
2568         (ucs_to_latin_iso8859_3): New variable.
2569         (Vcharset_latin_iso8859_4): New variable.
2570         (latin_iso8859_4_to_ucs): New variable.
2571         (ucs_to_latin_iso8859_4): New variable.
2572         (Vcharset_latin_iso8859_9): New variable.
2573         (latin_iso8859_9_to_ucs): New variable.
2574         (ucs_to_latin_iso8859_9): New variable.
2575         (Vcharset_latin_viscii_lower): New variable.
2576         (latin_viscii_lower_to_ucs): New variable.
2577         (ucs_to_latin_viscii_lower): New variable.
2578         (Vcharset_latin_viscii_upper): New variable.
2579         (latin_viscii_upper_to_ucs): New variable.
2580         (ucs_to_latin_viscii_upper): New variable.
2581         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2582         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2583         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2584         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2585         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2586         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2587         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2588         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2589         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2590         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2591
2592         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2593         (Vcharset_latin_viscii_upper): New variable.
2594         (make_byte_from_character_table): New function.
2595         (put_byte_from_character_table): New function.
2596         (get_byte_from_character_table): New function.
2597         (CHAR96): New macro.
2598         (ucs_to_latin_jisx0201): New variable.
2599         (latin_jisx0201_to_ucs): New variable.
2600         (ucs_to_latin_iso8859_2): New variable.
2601         (latin_iso8859_2_to_ucs): New variable.
2602         (ucs_to_latin_iso8859_3): New variable.
2603         (latin_iso8859_3_to_ucs): New variable.
2604         (ucs_to_latin_iso8859_4): New variable.
2605         (latin_iso8859_4_to_ucs): New variable.
2606         (ucs_to_latin_iso8859_9): New variable.
2607         (latin_iso8859_9_to_ucs): New variable.
2608         (ucs_to_latin_viscii_lower): New variable.
2609         (latin_viscii_lower_to_ucs): New variable.
2610         (ucs_to_latin_viscii_upper): New variable.
2611         (latin_viscii_upper_to_ucs): New variable.
2612         (ucs_to_latin_tcvn5712): New variable.
2613         (latin_tcvn5712_to_ucs): New variable.
2614         (Qlatin_viscii_lower): New variable.
2615         (Qlatin_viscii_upper): New variable.
2616         (syms_of_mule_charset): Set up new symbol
2617         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2618         (complex_vars_of_mule_charset): Set up new charset
2619         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2620         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2621         `ucs_to_<CHARSET>' tables.
2622
2623 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2624
2625         * text-coding.c: New file.
2626
2627 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2628
2629         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2630
2631         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2632         (MAKE_CHAR): Modify for `ucs-bmp'.
2633         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2634         non-MULE characters of BMP.
2635
2636 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2637
2638         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2639         to 0.6.
2640
2641 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2642
2643         * lstream.h:
2644         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2645         - Include character.h for `CHAR_ASCII_P'.
2646
2647         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2648
2649         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2650         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2651
2652         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2653         (BYTE_C0_P): Likewise.
2654         (BYTE_C1_P): Likewise.
2655         (Lstream_get_emchar_1): Likewise.
2656         (Lstream_fput_emchar): Likewise.
2657         (Lstream_funget_emchar): Likewise.
2658         (copy_internal_to_external): Likewise.
2659         (copy_external_to_internal): Likewise.
2660
2661         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2662         (BYTE_C0_P): Likewise.
2663         (BYTE_C1_P): Likewise.
2664         (Lstream_get_emchar_1): Likewise.
2665         (Lstream_fput_emchar): Likewise.
2666         (Lstream_funget_emchar): Likewise.
2667         (copy_internal_to_external): Likewise.
2668         (copy_external_to_internal): Likewise.
2669
2670         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2671         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2672
2673         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2674         (BYTE_ASCII_P): Moved to mb-1byte.h.
2675
2676 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2677
2678         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2679
2680         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2681         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2682         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2683         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2684         (VALIDATE_CHARPTR_FORWARD): Likewise.
2685         (simple_charptr_emchar): Moved to mb-multibyte.h.
2686         (simple_set_charptr_emchar): Likewise.
2687         (simple_charptr_copy_char): Likewise.
2688         (non_ascii_charptr_emchar): Likewise.
2689         (non_ascii_set_charptr_emchar): Likewise.
2690         (non_ascii_charptr_copy_char): Likewise.
2691         (charptr_emchar): Moved to mb-*byte.h.
2692         (set_charptr_emchar): Likewise.
2693         (charptr_copy_char): Likewise.
2694
2695         * mb-1byte.h, mb-multibyte.h: New files.
2696
2697 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2698
2699         * mb-utf-8.h (MULTIBYTE): New macro.
2700         (MAX_EMCHAR_LEN): Moved from buffer.h.
2701         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2702
2703         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2704
2705         * mb-lb.h, multibyte.h: New files.
2706
2707         * char-1byte.h (Charset_ID): Moved from buffer.h.
2708         (MIN_LEADING_BYTE): Likewise.
2709         (LEADING_BYTE_ASCII): Likewise.
2710         (NUM_LEADING_BYTES): Likewise.
2711         (CHARSETP): Likewise.
2712         (CHARSET_BY_LEADING_BYTE): Likewise.
2713         (XCHARSET_LEADING_BYTE): Likewise.
2714         (XCHARSET_GRAPHIC): Likewise.
2715         (XCHARSET_COLUMNS): Likewise.
2716         (XCHARSET_DIMENSION): Likewise.
2717         (CHAR_CHARSET): Likewise.
2718         (CHAR_LEADING_BYTE): Likewise.
2719         (BREAKUP_CHAR): Likewise.
2720         (Vcharset_ascii): Likewise.
2721
2722         * buffer.h: Include multibyte.h unconditionally.
2723         (VALID_CHARPTR_P): Moved to multibyte.h.
2724         (ASSERT_VALID_CHARPTR): Likewise.
2725         (REAL_INC_CHARPTR): Likewise.
2726         (REAL_INC_CHARBYTIND): Likewise.
2727         (REAL_DEC_CHARPTR): Likewise.
2728         (INC_CHARPTR): Likewise.
2729         (INC_CHARBYTIND): Likewise.
2730         (DEC_CHARPTR): Likewise.
2731         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2732         (VALIDATE_CHARPTR_FORWARD): Likewise.
2733         (charptr_n_addr): Likewise.
2734         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2735         (simple_charptr_emchar): Moved to multibyte.h.
2736         (simple_set_charptr_emchar): Likewise.
2737         (simple_charptr_copy_char): Likewise.
2738         (non_ascii_charptr_emchar): Likewise.
2739         (non_ascii_set_charptr_emchar): Likewise.
2740         (non_ascii_charptr_copy_char): Likewise.
2741         (charptr_emchar): Likewise.
2742         (set_charptr_emchar): Likewise.
2743         (charptr_copy_char): Likewise.
2744         (charptr_emchar_n): Likewise.
2745         (Charset_ID): Moved to char-1byte.h.
2746         (Vcharset_ascii): Likewise.
2747         (CHAR_CHARSET): Likewise.
2748         (CHAR_LEADING_BYTE): Likewise.
2749         (LEADING_BYTE_ASCII): Likewise.
2750         (NUM_LEADING_BYTES): Likewise.
2751         (MIN_LEADING_BYTE): Likewise.
2752         (CHARSETP): Likewise.
2753         (CHARSET_BY_LEADING_BYTE): Likewise.
2754         (XCHARSET_LEADING_BYTE): Likewise.
2755         (XCHARSET_GRAPHIC): Likewise.
2756         (XCHARSET_COLUMNS): Likewise.
2757         (XCHARSET_DIMENSION): Likewise.
2758         (BREAKUP_CHAR): Likewise.
2759
2760 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2761
2762         * character.h: Add document about interface for characters.
2763
2764         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2765         (MAKE_CHAR): Delete comment about
2766         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2767         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2768         (BREAKUP_CHAR): Modify name of arguments.
2769         (CHAR_CHARSET): Modify name of argument.
2770
2771         * buffer.h: Delete document about Emchar accessors.
2772
2773 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2774
2775         * character.h (CHAR_INTP): Moved from buffer.h
2776         (CHAR_OR_CHAR_INTP): Likewise.
2777         (XCHAR_OR_CHAR_INT): Likewise.
2778         (CHECK_CHAR_COERCE_INT): Likewise.
2779
2780         * buffer.h (CHAR_INTP): Moved to character.h
2781         (CHAR_OR_CHAR_INTP): Likewise.
2782         (XCHAR_OR_CHAR_INT): Likewise.
2783         (CHECK_CHAR_COERCE_INT): Likewise.
2784
2785 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2786
2787         * character.h:
2788         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2789         - Include char-1byte.h, char-lb.h or char-ucs.h.
2790
2791         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2792
2793         * buffer.h: Include character unconditionally.
2794         (valid_char_p): Moved to char-*.h.
2795         (non_ascii_valid_char_p): Moved to char-lb.h.
2796
2797         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2798
2799 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2800
2801         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2802         in UTF-2000 because it is not ported yet and not to use
2803         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2804         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2805         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2806
2807         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2808         (CHAR_ASCII_P): Moved from character.h.
2809
2810         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
2811         (CHAR_ASCII_P): Likewise.
2812         (CHAR_FIELD1_MASK): Deleted.
2813         (CHAR_FIELD2_MASK): Deleted.
2814         (CHAR_FIELD3_MASK): Deleted.
2815         (MAX_CHAR_BASIC_LATIN): New macro.
2816         (CHAR_FIELD1): Deleted.
2817         (CHAR_FIELD2_INTERNAL): Deleted.
2818         (CHAR_FIELD3_INTERNAL): Deleted.
2819         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
2820         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
2821         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
2822         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
2823         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
2824         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
2825         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
2826         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
2827         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
2828         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
2829         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
2830         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
2831         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
2832         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
2833         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
2834         (MIN_CHAR_COMPOSITION): Deleted.
2835         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
2836         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
2837
2838 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
2839
2840         * buffer.h: Include mb-utf-8.h in UTF-2000.
2841
2842         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
2843
2844         * mb-utf-8.h: New file.
2845
2846 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
2847
2848         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
2849         instead of `int'.
2850
2851         * mule-charset.h, buffer.h (Charset_ID): New type.
2852
2853 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2854
2855         * mule-canna.c (c2mu): Use `MAKE_CHAR',
2856         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
2857         instead of `MULE_CHAR_PRIVATE_OFFSET',
2858         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
2859         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
2860         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
2861
2862         * character.h (Vcharset_japanese_jisx0212): New variable
2863         definition.
2864
2865 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2866
2867         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
2868         (charset_by_attributes): Delete array about direction.
2869         (latin_a_char_to_charset): New variable in UTF-2000.
2870         (latin_a_char_to_byte1): New variable in UTF-2000.
2871         (latin_a_char_to_byte2): New variable in UTF-2000.
2872         (Qucs_bmp): New variable.
2873         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
2874         `Bufbyte'.
2875         (next_allocated_2_byte_leading_byte): Likewise.
2876         (non_ascii_set_charptr_emchar): Likewise.
2877         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
2878         `CHARSET_TYPE_256X256' in UTF-2000; modify for
2879         `charset_by_attributes'.
2880         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
2881         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
2882         and `CHARSET_BY_LEADING_BYTE'.
2883         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
2884         `utf-2000-version' to `vars_of_mule_charset'.
2885         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
2886         define `leading-code-private-11' in UTF-2000; move setting of
2887         `utf-2000-version' from `syms_of_mule_charset'.
2888         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
2889         UTF-2000.
2890
2891         * character.h (Charset_ID): New type.
2892         (LEADING_BYTE_UCS_BMP): New macro.
2893         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
2894         (CHARSET_ID_OFFSET_94): New macro.
2895         (MIN_CHARSET_ID_PRIVATE_94): New macro.
2896         (MAX_CHARSET_ID_PRIVATE_94): New macro.
2897         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
2898         final-byte.
2899         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
2900         (LEADING_BYTE_LATIN_JISX0201): Likewise.
2901         (CHARSET_ID_OFFSET_96): New macro.
2902         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
2903         CHARSET_ID_OFFSET_96 and final-byte.
2904         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
2905         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
2906         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
2907         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
2908         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
2909         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
2910         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
2911         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
2912         (LEADING_BYTE_THAI_TIS620): Likewise.
2913         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
2914         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
2915         (CHARSET_ID_OFFSET_94x94): New macro.
2916         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
2917         CHARSET_ID_OFFSET_94x94 and final-byte.
2918         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
2919         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
2920         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
2921         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
2922         (LEADING_BYTE_CHINESE_GB2312): Likewise.
2923         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
2924         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
2925         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
2926         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
2927         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
2928         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
2929         (CHARSET_TYPE_128X128): New macro.
2930         (CHARSET_TYPE_256X256): New macro.
2931         (XCHARSET_PRIVATE_P): Delete unconditionally.
2932         (charset_by_attributes): Delete array about direction.
2933         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
2934         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
2935         (MIN_CHAR_94): New macro.
2936         (MAX_CHAR_94): New macro.
2937         (MIN_CHAR_96): New macro.
2938         (MAX_CHAR_96): New macro.
2939         (MIN_CHAR_94x94): New macro.
2940         (MAX_CHAR_94x94): New macro.
2941         (MIN_CHAR_96x96): New macro.
2942         (MAX_CHAR_96x96): New macro.
2943         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
2944         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
2945         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
2946         - 32)'.
2947         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
2948         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
2949         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
2950         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
2951         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
2952         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
2953         `XCHARSET_LEADING_BYTE' to make code-point.
2954         (latin_a_char_to_charset): New variable.
2955         (latin_a_char_to_byte1): New variable.
2956         (latin_a_char_to_byte2): New variable.
2957         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
2958         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
2959         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
2960
2961         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
2962         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
2963         (find_charsets_in_emchar_string): Likewise.
2964         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
2965
2966         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
2967         `int'.
2968         (decode_coding_iso2022): Likewise.
2969
2970         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
2971         of `unsigned char'.
2972
2973         * redisplay.c (redisplay_text_width_emchar_string): Use
2974         `Charset_ID' instead of `unsigned char'.
2975         (redisplay_frame_text_width_string): Likewise.
2976
2977         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
2978         `unsigned char'.
2979
2980         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
2981         instead of `unsigned char'.
2982         (face_cachel_charset_font_metric_info): Likewise.
2983
2984         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
2985         (get_non_ascii_char_table_value): Likewise.
2986         (get_char_table): Likewise.
2987         (put_char_table): Likewise.
2988         (map_over_other_charset): Likewise.
2989         (map_char_table): Likewise.
2990
2991         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
2992         instead of `unsigned char'.
2993
2994 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
2995
2996         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
2997         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
2998
2999         * mule-charset.c (leading_code_private_11): Don't define in
3000         UTF-2000.
3001
3002         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3003         in UTF-2000 because it is not ported yet and not to use
3004         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3005
3006 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3007
3008         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3009
3010 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3011
3012         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3013         in UTF-2000.
3014
3015         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3016         of unsigned char to store leading-byte.
3017
3018         * chartab.c (get_non_ascii_char_table_value): Don't use
3019         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3020
3021         * file-coding.c (encode_coding_big5): Delete bogus implementation
3022         in UTF2000.
3023
3024         * character.h (LEADING_BYTE_*): Delete definition for
3025         non-UTF-2000.
3026         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3027         (LEADING_BYTE_PREFIX_P): Deleted.
3028         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3029         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3030         (BUFBYTE_LEADING_BYTE_P): Deleted.
3031         (CHARSET_PRIVATE_P): Deleted unconditionally.
3032         (rep_bytes_by_first_byte): Deleted unconditionally.
3033         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3034         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3035         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3036         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3037         (CHAR_FIELD2): Deleted.
3038         (CHAR_FIELD3): Deleted.
3039         (MAKE_CHAR): Delete definition for non-UTF-2000.
3040         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3041         (breakup_char_1): New implementation.
3042         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3043         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3044
3045 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3046
3047         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3048         condition.
3049
3050 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3051
3052         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3053         (CHARSET_PRIVATE_P): Likewise.
3054         (XCHARSET_PRIVATE_P): Likewise.
3055         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3056
3057         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3058         UTF2000.
3059         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3060
3061 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3062
3063         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3064         (NUM_LEADING_BYTES): Changed from 128 to 256.
3065         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3066         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3067         UTF2000.
3068         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3069
3070         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3071         UTF2000.
3072         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3073         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3074         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3075         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3076         (Qchinese_cns11643_3): New variable in UTF2000.
3077         (Qchinese_cns11643_4): New variable in UTF2000.
3078         (Qchinese_cns11643_5): New variable in UTF2000.
3079         (Qchinese_cns11643_6): New variable in UTF2000.
3080         (Qchinese_cns11643_7): New variable in UTF2000.
3081         (syms_of_mule_charset): Define `chinese-cns11643-3',
3082         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3083         and `chinese-cns11643-7' in UTF2000.
3084         (vars_of_mule_charset): Initialize
3085         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3086         + 1 in UTF2000.
3087         (complex_vars_of_mule_charset): Setup charset
3088         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3089         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3090
3091 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3092
3093         * mule-charset.c: Move setting for `leading-code-private-11' from
3094         `syms_of_mule_charset' to `vars_of_mule_charset'.
3095
3096 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3097
3098         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3099         and `NUM_LEADING_BYTES' in assert.
3100
3101 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3102
3103         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3104         instead of 128.
3105         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3106         `NUM_LEADING_BYTES' instead of 128.
3107
3108 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3109
3110         * mule-charset.h (charset_by_leading_byte): Use
3111         `NUM_LEADING_BYTES' instead of 128.
3112         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3113
3114         * mule-charset.c (charset_by_leading_byte): Use
3115         `NUM_LEADING_BYTES' instead of 128.
3116         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3117
3118         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3119         128.
3120
3121 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3122
3123         * mule-charset.c (syms_of_mule_charset): Update to
3124         0.4 (Shin-Imamiya).
3125
3126 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3127
3128         * file-coding.c (encode_coding_sjis): New implementation for
3129         UTF2000.  (decode_coding_sjis): Ditto.
3130
3131 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3132
3133         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3134         Don't define in UTF2000.
3135
3136         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3137         defined.
3138
3139         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3140         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3141         MULE.
3142
3143 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3144
3145         * config.h.in (CHAR_IS_UCS4): New macro.
3146
3147         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3148         conventional MULE representation.
3149         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3150
3151         * mule-charset.h: Reverted to original.
3152
3153         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3154         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3155         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3156
3157         * character.h: New file.
3158
3159         * file-coding.c (Fmake_coding_system): Set 1 to
3160         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3161         defined.
3162         (encode_coding_no_conversion): New implementation for UTF2000.
3163
3164         * file-coding.h (struct Lisp_Coding_System): Add new member
3165         `fixed.size'.
3166
3167 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3168
3169         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3170         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3171         (encode_coding_iso2022): New implementation for UTF2000.
3172
3173 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3174
3175         * mule-canna.c (c2mu): New implementation for UTF2000.
3176         (m2c): Likewise.
3177
3178 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3179
3180         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3181
3182 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3183
3184         * file-coding.c (reset_encoding_stream): Set 0 to
3185         `str->iso2022.current_char_boundary' in UTF2000.
3186         (encode_utf8): Don't define in UTF2000.
3187         (encode_coding_utf8): New implementation for UTF-8 representation
3188         of UTF2000.
3189         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3190
3191 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3192
3193         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3194
3195         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3196         UTF2000.
3197         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3198
3199         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3200
3201         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3202         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3203         as UTF-8 in UTF2000.
3204         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3205         (non_ascii_valid_char_p): Don't define in UTF2000.
3206         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3207         (Lstream_get_emchar_1): Likewise.
3208         (utf-2000-version): New variable in UTF2000.
3209
3210         * lread.c (read_escape): Add new reader `u'.
3211
3212         * insdel.c (three_to_one_table): Don't define in UTF2000.
3213         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3214         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3215         UTF2000.
3216         (bytind_to_bufpos_func): Likewise.
3217         (buffer_mule_signal_inserted_region): Likewise.
3218         (vars_of_insdel): Don't initialize `three_to_one_table'.
3219         (init_buffer_text): Use `buf->text->mule_size' instead of
3220         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3221         UTF2000.
3222
3223         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3224         UTF-8 representation in UTF2000.
3225         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3226         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3227         (decode_coding_iso2022): Don't define local variable `lb' in
3228         UTF2000; don't use LEADING_BYTE in UTF2000; use
3229         `DECODE_ADD_UCS_CHAR' in UTF2000.
3230         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3231
3232         * config.h.in (UTF2000): New macro.
3233
3234         * buffer.h (struct buffer_text): Add new member `mule_size' and
3235         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3236         (valid_char_p): Return always 1 in UTF2000.
3237         (MAX_EMCHAR_LEN): 6 in UTF2000.
3238         (three_to_one_table): Don't define in UTF2000.
3239         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3240         UTF2000.
3241         (real_bytind_to_bufpos): Likewise.
3242
3243         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3244
3245 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3246
3247         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3248         representation change.
3249         (Vutf_2000_version): New variable.
3250         (leading_code_private_11): New variable.
3251         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3252         `leading-code-private-11'.
3253
3254         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3255         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3256         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3257         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3258         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3259         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3260         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3261         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3262         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3263         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3264         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3265         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3266         (MIN_CHAR_GREEK): New macro.
3267         (MAX_CHAR_GREEK): New macro.
3268         (MIN_CHAR_CYRILLIC): New macro.
3269         (MAX_CHAR_CYRILLIC): New macro.
3270         (MIN_CHAR_HEBREW): New macro.
3271         (MAX_CHAR_HEBREW): New macro.
3272         (MIN_CHAR_THAI): New macro.
3273         (MAX_CHAR_THAI): New macro.
3274         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3275         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3276         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3277         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3278         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3279         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3280         (CHAR_FIELD2): New inline function.
3281         (CHAR_FIELD3): New inline function.
3282         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3283         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3284         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3285         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3286         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3287         (MIN_CHAR_COMPOSITION): Likewise.
3288         (CHAR_LEADING_BYTE): Modified for character representation change.
3289         (MAKE_CHAR): Likewise.
3290
3291         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3292         (Vcharset_greek_iso8859_7): Likewise.
3293         (Vcharset_cyrillic_iso8859_5): Likewise.
3294         (Vcharset_hebrew_iso8859_8): Likewise.
3295         (Vcharset_thai_tis620): Likewise.
3296         (Vcharset_katakana_jisx0201): Likewise.
3297
3298 2001-01-17  Martin Buchholz <martin@xemacs.org>
3299
3300         * XEmacs 21.2.41 "Polyhymnia" is released.
3301
3302 2001-01-16  Didier Verna  <didier@xemacs.org>
3303
3304         * glyphs.c (image_instantiate): don't use fallbacks when
3305         instantiating a face's background pixmap by inheritance.
3306
3307 2001-01-14  Mike Sperber <mike@xemacs.org>
3308
3309         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3310         Conditionalize accordingly.
3311
3312 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3313
3314         * dumper.c (pdump_file_get): Fix a compiler warning.
3315
3316 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3317
3318         Make Purify happy when pdumping.
3319         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3320         iniitalizing all bits of new lisp object memory.
3321         * symbols.c (Fmake_local_variable): Likewise.
3322         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3323         * symbols.c (Fdefvaralias): Likewise.
3324         * mule-charset.c (vars_of_mule_charset): Likewise.
3325
3326 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3327         Add the `-nd' flag when running pre-dump operations under the debugger.
3328         * .dbxrc (run-temacs): Add `-nd'.
3329         * .dbxrc (update-elc): Likewise.
3330         * .dbxrc (dump-temacs): Likewise.
3331         * .gdbinit (run-temacs): Likewise.
3332         * .gdbinit (check-temacs): Likewise.
3333         * .gdbinit (update-elc): Likewise.
3334         * .gdbinit (dump-temacs): Likewise.
3335
3336 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3337
3338         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3339         export OBJECT_MODE=64
3340         configure --pdump --use-union-type=no
3341         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3342         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3343
3344         * miscplay.c (sndcnv8U_2mono):
3345         Avoid two uses of `++' in the same expression.
3346         Suppresses a GCC warning.
3347
3348 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3349
3350         Make sure future compilers don't miscompile alloc.c.
3351         * alloc.c:
3352         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3353         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3354
3355 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3356
3357         * dumper.c: A little post-pdump-rename comment fixup.
3358
3359 2001-01-09  Jerry James  <james@eecs.ku.edu>
3360
3361         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3362
3363 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3364
3365         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3366         script:
3367         #!/bin/sh
3368         replace_symbol () {
3369           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3370         }
3371
3372         replace_symbol pdump_wire_lists pdump_weak_object_chains
3373         replace_symbol pdump_wire_list dump_add_weak_object_chain
3374
3375         replace_symbol pdump_wires pdump_root_objects
3376         replace_symbol pdump_wire dump_add_root_object
3377
3378         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3379         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3380
3381         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3382         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3383         replace_symbol dumpstructinfo pdump_root_struct_ptr
3384         replace_symbol dumpstruct dump_add_root_struct_ptr
3385
3386         replace_symbol dumpopaque dump_add_opaque
3387         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3388         replace_symbol dumpopaqueinfos pdump_opaques
3389         replace_symbol dumpopaqueinfo pdump_opaque
3390
3391         replace_symbol nb_structdump nb_root_struct_ptrs
3392         replace_symbol nb_opaquedump nb_opaques
3393
3394         replace_symbol align_table pdump_align_table
3395         replace_symbol dump_header pdump_header
3396
3397         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3398         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3399
3400
3401 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3402
3403         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3404         optimizing bytecount_to_charcount().
3405
3406 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3407
3408         * config.h.in:
3409         (HAVE_DLFCN_H): Removed.
3410         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3411
3412 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3413
3414         Portable dumper maintainability improvements.
3415         * alloc.c (staticpro):
3416         * alloc.c (staticpro_nodump):
3417         * alloc.c (garbage_collect_1):
3418         * alloc.c (reinit_alloc_once_early):
3419         * alloc.c (init_alloc_once_early):
3420         * alloc.c: Move dumper functions to alloc.c.
3421         * dumper.c (pdump_backtrace):
3422         * dumper.c (pdump_dump_structs):
3423         * dumper.c (pdump_dump_opaques):
3424         * dumper.c (pdump_dump_rtables):
3425         * dumper.c (pdump_dump_wired):
3426         * dumper.c (pdump):
3427         * dumper.c (pdump_load_check):
3428         * dumper.c (pdump_load_finish):
3429         * dumper.c (pdump_file_unmap):
3430         * dumper.c (pdump_file_get):
3431         * dumper.c (pdump_resource_free):
3432         * dumper.c (pdump_resource_get):
3433         * dumper.c (pdump_file_free):
3434         * dumper.c (pdump_file_try):
3435         * dumper.c (pdump_load):
3436         Remove fixed size limits on staticpro(), staticpro_nodump(),
3437         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3438         Remove custom code for dumping lrecord_implementations_table - use
3439         dumpopaque instead.
3440         Remove (most of the) custom code for dumping staticpros - dump it
3441         like any other dynarr.
3442
3443         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3444         * dumper.c: Moved functions from alloc.c.
3445         * alloc.c (dumpstruct): Moved to dumper.c.
3446         * alloc.c (dumpopaque): Likewise.
3447         * alloc.c (pdump_wire): Likewise.
3448         * alloc.c (pdump_wire_list): Likewise.
3449
3450         * lisp.h (Dynarr_sizeof): New.
3451         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3452         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3453         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3454
3455         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3456         * lisp.h (dumpopaque): ditto.
3457         * lisp.h (pdump_wire): ditto.
3458         * lisp.h (pdump_wire_list): ditto.
3459
3460 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3461
3462         * make-src-depend (PrintPatternDeps):
3463         Use `sort' to make output independent of perl version.
3464
3465 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3466
3467         Port to Netbsd 1.5.
3468         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3469         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3470
3471 2001-01-03  Didier Verna  <didier@xemacs.org>
3472
3473         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3474         that `focus_frame' is alive before thinking of calling
3475         `redisplay_redraw_cursor' on it.
3476
3477 2001-01-08  Martin Buchholz <martin@xemacs.org>
3478
3479         * XEmacs 21.2.40 is released.
3480
3481 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3482
3483         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3484
3485 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3486
3487         * alloc.c (dbg_valmask): Make const.
3488         * alloc.c (dbg_typemask): Make const.
3489         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3490         * alloc.c (dbg_valbits): Make const.
3491         * alloc.c (dbg_gctypebits): Make const.
3492
3493 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3494
3495         * redisplay-x.c (x_bevel_area):
3496         redisplay.h (struct rune):
3497         Typo fixes in comments.
3498
3499 2001-01-05  Andy Piper  <andy@xemacs.org>
3500
3501         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3502         adjustment.
3503
3504         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3505
3506 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3507
3508         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3509
3510         * mule-ccl.c (stack_idx_of_map_multiple):
3511         Non const global data must not be initialized!
3512         Found by MIYASHITA Hisashi.
3513
3514 2001-01-02  Andy Piper  <andy@xemacs.org>
3515
3516         * frame.c (change_frame_size): make sure frame size is always
3517         marked as changed.
3518
3519         * glyphs.c (image_instance_layout): minor code reuse.
3520
3521         * window.c (Fcurrent_window_configuration): revert previous
3522         change.
3523
3524 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3525
3526         * glyphs.h:
3527         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3528
3529 2000-12-31  Andy Piper  <andy@xemacs.org>
3530
3531         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3532         when widget gets unmapped.
3533
3534         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3535         function. Make sure widgets losing focus don't just drop it.
3536         (handle_focus_event_1): record the widget with focus.
3537
3538 2000-12-31  Andy Piper  <andy@xemacs.org>
3539
3540         * window.c (allocate_window): use
3541         make_image_instance_cache_hash_table.
3542         (make_dummy_parent): ditto.
3543         (Fset_window_configuration): ditto.
3544
3545         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3546
3547         * glyphs.c (process_image_string_instantiator): use
3548         INSTANTIATOR_TYPE.
3549         (get_image_instantiator_governing_domain): ditto.
3550         (normalize_image_instantiator): ditto.
3551         (instantiate_image_instantiator): ditto.
3552         (make_image_instance_1): ditto.
3553         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3554         (instantiator_eq_equal): new function for use with instance hash
3555         tables.
3556         (instantiator_eq_hash): ditto.
3557         (make_image_instance_cache_hash_table): create a suitable hash
3558         table for storing image instances.
3559
3560         * elhash.h (hash_table_weakness): new internal weakness type
3561         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3562         declare new functions.
3563
3564         * elhash.c (finish_marking_weak_hash_tables): introduce yet
3565         another weakness type for glyphs.
3566         (make_standard_lisp_hash_table): new function split out from
3567         make_general_lisp_hash_table.
3568         (make_lisp_hash_table): call make_standard_lisp_hash_table.
3569         (hash_table_instantiate): ditto.
3570         (Fmake_hash_table): ditto.
3571
3572 2000-12-31  Martin Buchholz <martin@xemacs.org>
3573
3574         * XEmacs 21.2.39 is released.
3575
3576 2000-12-29  Andy Piper  <andy@xemacs.org>
3577
3578         * menubar.c (menubar_visible_p_changed): signal the frame changed.
3579
3580         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
3581         the frame has changed so that we pick up geometry changes such as
3582         menubar visibility.
3583
3584 2000-12-28  Andy Piper  <andy@xemacs.org>
3585
3586         * lastfile.c (my_ebss): make a char array so we can pad the
3587         bss. Fixes cygwin unexec.
3588
3589         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
3590
3591 2000-12-26  Andy Piper  <andy@xemacs.org>
3592
3593         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
3594         comments and try and be more precise about a non-/SIGIO world.
3595         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
3596         SIGIO.
3597
3598         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
3599         we don't normalize to zero width or height.
3600
3601 2000-12-24  Andy Piper  <andy@xemacs.org>
3602
3603         * Makefile.in.in (ldflags): add -mwindows when appropriate.
3604
3605 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
3606
3607         * s/sco5.h: SCO 5 has pty support.
3608
3609 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
3610
3611         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
3612         input-method-xlib.c contains whole contents of input-method-xfs.c,
3613         so we can use input-method-xlib.c's code for USE_XFONTSET
3614         using #ifdefs.
3615         * input-method-xfs.c: removed.
3616
3617 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
3618
3619         * file-coding.h (enum coding_category_type): reorder enumerators to
3620         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
3621         (now one greater than largest real coding_category_type enumerator).
3622         * file-coding.c (coding_category_symbol, coding_category_by_priority,
3623         coding_category_system, fcd_descriptihon_1, decode_coding_category,
3624         Fcoding_category_list, Fset_coding_priority_list,
3625         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
3626         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
3627
3628 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3629
3630         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
3631         * redisplay-output.c (redisplay_output_window): Clear top of window
3632         when face is changed.
3633         * redisplay-x.c (x_redraw_exposed_window): Call
3634         redisplay_clear_top_of_window.
3635         * redisplay.h: Publish redisplay_clear_top_of_window.
3636
3637 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3638
3639         * buffer.c (Fkill_buffer): Map over all devices.
3640         * window.c (window_loop): Remove UNSHOW_BUFFER code.
3641         (list_windows): New function.
3642         (list_all_windows): Ditto.
3643         (Freplace_buffer_in_windows): Use them.
3644
3645 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3646
3647         * database.c (berkdb_subtype): Recognize new subtype `queue'.
3648         (Fopen_database): Use `db_create' instead of `db_open'.
3649         (syms_of_database): Initialize Qqueue.
3650
3651 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3652
3653         * buffer.c (common_init_complex_vars_of_buffer): Initialize
3654         buffer_local_face_property.
3655         * buffer.h (struct buffer): New member buffer_local_face_property.
3656         * window.c (Fset_window_buffer):  Mark window's face as changed
3657         when buffer has buffer local face.
3658         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
3659         * objects.c (color_after_change): Set buffer_local_face_property
3660         when locale of face specifier is buffer.
3661         * objects.c (font_after_change): Ditto.
3662         * objects.c (face_boolean_after_change): Ditto.
3663         * glyphs.c (image_after_change): Ditto.
3664
3665 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3666
3667         * nt.c (mswindows_fstat): Report file permissions, volume serial
3668         number, etc. Code adapted from FSF Emacs 20.7.
3669
3670 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3671
3672         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
3673         of stat when we don't have symbolic links, to make sure
3674         mswindows_stat is called on mswindows.
3675
3676 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
3677
3678         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
3679
3680 2000-12-12  Martin Buchholz  <martin@xemacs.org>
3681
3682         * doprnt.c (emacs_doprnt_1): More printing fixes.
3683         Make printing of numbers compatible with libc and FSF Emacs.
3684         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
3685         Use the system printf to do most of the hard work of formatting,
3686         instead of doprnt_1().
3687         Calculate memory to allocate for format string.
3688         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
3689         (doprnt_1): Cleaner code and documentation.
3690
3691 2000-12-01  Jerry James  <james@eecs.ukans.edu>
3692
3693         * Makefile.in.in: Use the loop variable to install headers.
3694
3695 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3696
3697         * window.c (Fsplit_window): Don't invalidate face cache.
3698
3699 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3700
3701         * minibuf.c (Fall_completions): Undo the previous change
3702         which removed checking elements start with space.
3703
3704 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3705
3706         * mule-canna.c: Didier suppression.
3707
3708 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3709
3710         * mule-canna.c: rename static unsigned char buf[] to key_buffer
3711         (warning suppression).  Add English comment translations.
3712
3713 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3714
3715         * unexelfsgi.c (unexec): Better test for mmap failure.
3716
3717 2000-12-05  Martin Buchholz <martin@xemacs.org>
3718
3719         * XEmacs 21.2.38 is released.
3720
3721 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3722
3723         * redisplay.c (bar-cursor): Make a user variable.
3724
3725         * symsinit.h: Add init_postgresql_from_environment.
3726
3727 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3728
3729         * regex.c: Convert to clean C.
3730
3731 2000-12-05  Dan Holmsand  <dan@eyebee.com>
3732
3733         * realpath.c:
3734         Don't #include sysfile.h. Revert to duplicating PATH_MAX
3735         initialization.
3736         (sys_readlink): renamed to system_readlink to avoid conflict with
3737         the other sys_readlink.
3738
3739 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
3740
3741         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
3742
3743 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
3744
3745         * postgresql.c (init_postgresql_from_environment): new function.
3746         (vars_of_postgresql): Move code initializing Lisp variables out and
3747         into init_postgresql_from_environment.
3748         emacs.c (main_1): Call init_postgresql_from_environment if and only
3749         if running a dumped XEmacs.
3750
3751 2000-08-31  Dan Holmsand  <dan@eyebee.com>
3752
3753         * buffer.c: Make find-file-compare-truenames default to true on
3754         windows.
3755
3756         * realpath.c (win32_abs_start):
3757         (cygwin_readlink):
3758         (win32_readlink): New functions.
3759         (xrealpath): Return really real filenames on windows.
3760
3761         * fileio.c (Ffile_truename): Make file-truename work on windows.
3762
3763 2000-11-29  Didier Verna  <didier@xemacs.org>
3764
3765         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
3766         * faces.c (update_face_cachel_data): use it.
3767         * faces.c (add_face_cachel): use it. Complete background pixmap
3768         frobbing in face cache if `update_face_cachel_data' has not done so.
3769
3770 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
3771
3772         * search.c (string_match_1): Don't set last_thing_searched
3773         when search failed.
3774
3775 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
3776
3777         * buffer.c: Include casetab.h
3778         (common_init_complex_vars_of_buffer): Use new case-table object.
3779         * buffer.h: Include casetab.h
3780         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
3781         (DOWNCASE_TABLE_OF): Ditto.
3782         * bufslots.h: Remove char-tables and add case-table.
3783         * casetab.c: Include casetab.h
3784         (CASE_TABLE_P): Removed.
3785         (mark_case_table): New function.
3786         (allocate_case_table): New function.
3787         (Fcase_table_p): Use new case-table.
3788         (case_table_char): New function.
3789         (Fget_case_table): Ditto.
3790         (Fput_case_table): Ditto.
3791         (Fput_case_table_pair): Ditto.
3792         (Fcopy_case_table): Ditto.
3793         (Fcurrent_case_table): Return case-table.
3794         (Fstandard_case_table): Return case-table.
3795         (Fset_case_table): Fix doc-string.
3796         (set_case_table): Use case-table
3797         (syms_of_casetab): DEFSUBR new functions.
3798         (complex_vars_of_casetab): Set up standard case-table.
3799         * casetab.h: New file.
3800         * editfns.c: Include casetab.h
3801         (Fcompare_buffer_substrings): Use case-table.
3802         * inline.c: Include casetab.h
3803         * lisp.h: Remove bogus extern.
3804         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
3805         * search.c: Include casetab.h
3806         (TRANSLATE_ASCII): Removed.
3807         (TRANSLATE): Unconditionally translate character.
3808         (looking_at_1): Use case-table.
3809         (string_match_1): Ditto.
3810         (fast_string_match): Ditto.
3811         (search_command): Ditto.
3812         (search_buffer): Separate boyer_moore.  Check whether
3813         boyer_moore is poosible.
3814         (simple_search): New function.
3815         (boyer_moore): Separated from search_buffer. Translate char.
3816
3817 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
3818
3819         * regex.c (RE_TR_ASCII): Removed.
3820         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
3821         (PATFETCH): Call PATFETCH_RAW.
3822         (PATFETCH_RAW): Fetch Emchar.
3823         (PATUNFETCH): Decrement charptr.
3824         (GET_BUFFER_SPACE): Rename b to buf_end.
3825         (BUF_PUSH): Ditto.
3826         (BUF_PUSH_2): Ditto.
3827         (BUF_PUSH_3): Ditto.
3828         (EXTEND_BUFFER): Ditto.
3829         (SET_LIST_BIT): Ditto.
3830         (regex_compile): Ditto.  Translate non ASCII char.
3831         (compile_range): Ditto.
3832         (re_search_2): Ditto.
3833         (re_match_2_internal): Compare Emchar.
3834         (bcmp_translate): Ditto.
3835
3836 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
3837
3838         * lisp.h (basic char/int typedefs):  comment improvement.
3839
3840 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
3841
3842         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
3843         unstomp inhibit_site_lisp.  Improve comments.
3844
3845 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
3846
3847         * mule-charset.c (Fcharset_property):  improve type checking, comments.
3848
3849 2000-11-28  Andy Piper  <andy@xemacs.org>
3850
3851         * redisplay-output.c (redisplay_output_subwindow): make sure we do
3852         clipped display for windows in the gutter also.
3853         (redisplay_display_boxes_in_window_p): change semantics of return
3854         codes to be more intuitive.
3855
3856         * gutter.h: declare display_boxes_in_gutter_p.
3857
3858         * gutter.c (display_boxes_in_gutter_p): new function for
3859         redisplay.
3860
3861 2000-11-22  Andy Piper  <andy@xemacs.org>
3862
3863         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
3864         autodetect domain.
3865
3866 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
3867
3868         * callproc.c (Fold_call_process_internal):
3869         * gpm.c (Freceive_gpm_event):
3870         (tty_get_foreign_selection): Might be just warning supression.
3871         * fileio.c (Fwrite_region_internal):
3872         (Fset_visited_file_modtime):
3873         * keymap.c (event_matches_key_specifier_p):
3874         Initialize GCPROed variable.
3875
3876         * menubar-x.c (command_builder_find_menu_accelerator):
3877         Initialize before use.
3878
3879 2000-11-23  Andy Piper  <andy@xemacs.org>
3880
3881         * unexcw.c (unexec): make the resulting executable executable.
3882
3883 2000-11-21  Martin Buchholz  <martin@xemacs.org>
3884
3885         * doc.c (get_doc_string):
3886         Use size_t, not int, for result of XSTRING_LENGTH.
3887
3888         * cmds.c (Fdelete_char):
3889         * cmds.c (Fpoint_at_eol):
3890         * cmds.c (Fself_insert_command):
3891         Use EMACS_INT, not int, for result of XINT.
3892         Someday, someone will want to insert more than 2**31 identical characters.
3893
3894         * cmds.c (Fdelete_char):
3895         * cmds.c (Fdelete_backward_char):
3896         * syntax.c (Fforward_word):
3897         * syntax.c (Fforward_comment):
3898         Make COUNT argument optional, for consistency with forward-char et al.
3899
3900 2000-11-22  Martin Buchholz  <martin@xemacs.org>
3901
3902         * lisp.h:
3903         * print.c (long_to_string):
3904         Return a useful value: the pointer at end of data written.
3905
3906         * doprnt.c:
3907         Use `static const char * const' for constant strings.
3908         (union printf_arg): Delete `i', `ui' members.
3909         (get_doprnt_args):
3910         (emacs_doprnt_1):
3911         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
3912         Do all printf-ing via the `l' specifier.
3913         Use EMACS_INT instead of int.
3914         Optimize.
3915
3916 2000-11-20  Didier Verna  <didier@xemacs.org>
3917
3918         * faces.c (update_face_cachel_data): don't frob the background
3919         pixmap when the window is being created. The face is needed but
3920         does not exist yet.
3921
3922 2000-11-20  Andy Piper  <andy@xemacs.org>
3923
3924         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
3925         messing with a debug environment.
3926
3927 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3928
3929         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
3930
3931 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3932
3933         * casetab.c (Fcase_table_p): Fix compile error and crash.
3934
3935 2000-11-18  Philip Aston  <philipa@mail.com>
3936
3937         * s/cygwin32.h: Cygwin has SVR4-like pty support.
3938
3939 2000-11-18  Martin Buchholz  <martin@xemacs.org>
3940
3941         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
3942         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
3943
3944 2000-11-17  Martin Buchholz  <martin@xemacs.org>
3945
3946         * config.h.in: Define HAVE_ELF_H if elf.h exists.
3947         * unexelf.c: Use HAVE_ELF_H.
3948         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
3949         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
3950         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
3951         Greg Harrington <greg_harrington@hotmail.com> provided a machine
3952         for testing.
3953         So this is an unexelfsgi.c from a different line of development.
3954
3955 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3956
3957         * regex.c (RE_TR_ASCII): New function.
3958         (RE_TRANSLATE): Call it.
3959
3960 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3961
3962         * buffer.h (TRT_TABLE_OF): Remove assert.
3963         (IN_TRT_TABLE_DOMAIN): Removed.
3964
3965 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
3966
3967         * free-hook.c (log_gcpro):
3968         (show_gcprohist): Add support for GCPRO5.
3969
3970 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
3971
3972         * emacs.c (main_1): Improve -sd error message when --pdump=no.
3973
3974 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
3975
3976         * symeval.h: Declare flush_all_buffer_local_cache.
3977
3978         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
3979         (flush_buffer_local_cache): Added.
3980         (flush_all_buffer_local_cache): Added.
3981
3982         * lrecord.h: Remove unused XD_LO_RESET_NIL.
3983
3984         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
3985         (pdump_dump_data): Ditto.
3986         (pdump_reloc_one): Ditto.
3987         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
3988         before dumping.
3989
3990
3991 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
3992
3993         * buffer.c: Remove if 0'ed entry.
3994         * buffer.h: Rewrite TRT to use char-table.
3995         * bufslots.h: Remove mirror tables.
3996         * casetab.c: Remove mirror tables.
3997         (CASE_TABLE_P): New macro.
3998         (Fcase_table_p): Element of a case table is string or char-table.
3999         (make_mirror_trt_table): Removed.
4000         (set_case_table): Setup char-table from strings for backward
4001         compatibility.
4002         * dired.c (Fdirectory_files):
4003         * dired-msw.c: (mswindows_get_files):
4004         * lisp.h: Change prototype of re_pattern_buffer.
4005         * regex.c: (RE_TRANSLATE): New macro.
4006         (TRANSLATE_P): Ditto.
4007         Change translate to type RE_TRANSLATE_TYPE.
4008         * regex.h: Define RE_TRANSLATE_TYPE
4009         * search.c (TRANSLATE): New macro.
4010         (TRANSLATE_ASCII): New macro.
4011         Translate table is changed to Lisp_Object.
4012         (signal_failure): Inhibit return.
4013
4014 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4015
4016         * device-msw.c:
4017         * eldap.c:
4018         * event-Xt.c:
4019         * event-stream.c:
4020         * print.c:
4021         Do UNGCPRO before return.
4022
4023 2000-11-14  Martin Buchholz <martin@xemacs.org>
4024
4025         * XEmacs 21.2.37 is released.
4026
4027 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4028
4029         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4030         Add comments about discarded return value.
4031
4032 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4033
4034         * callint.c:
4035         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4036
4037 2000-10-27  Andy Piper  <andy@xemacs.org>
4038
4039         * gutter.c (Fset_default_gutter_position): default left and right
4040         gutters to visible.
4041         (calculate_gutter_size): calculate resonable heuristic for left
4042         and right gutter sizes.
4043         (specifier_vars_of_gutter): change left and right gutter sizes to
4044         autodetect.
4045         (calculate_gutter_size_from_display_lines): new function.
4046         (output_gutter): check for resizing on left and right gutters.
4047         (clear_gutter): don't special case top and left gutters.
4048         (specifier_vars_of_gutter): use new signature for
4049         set_specifier_caching.
4050
4051         * glyphs-x.c (x_redisplay_widget): spelling fix.
4052         * glyphs.c (specifier_vars_of_glyphs):
4053         * menubar.c (specifier_vars_of_menubar):
4054         * redisplay.c (specifier_vars_of_redisplay):
4055         * toolbar.c (specifier_vars_of_toolbar):
4056         * window.c (specifier_vars_of_window):
4057         * scrollbar.c (specifier_vars_of_scrollbar):
4058         (complex_vars_of_scrollbar): use new signature for
4059         set_specifier_caching.
4060
4061         * specifier.c (set_specifier_caching): include recompute flag.
4062         (recompute_one_cached_specifier_in_window): always recompute if
4063         flag set.
4064         (recompute_one_cached_specifier_in_frame): ditto.
4065
4066         * specifier.h (struct specifier_caching): add recompute flag.
4067
4068 2000-10-24  Andy Piper  <andy@xemacs.org>
4069
4070         * unexcw.c (copy_executable_and_dump_data_section): add new
4071         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4072         5.0 happy.
4073
4074 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4075
4076         * console-x.h (x_device): New member modifier_release_time.
4077         * event-Xt.c (x_handle_sticky_modifiers):
4078         Bound interval modifier keys are sticky.
4079         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4080         * events.h: extern it.
4081
4082 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4083
4084         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4085
4086 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4087
4088         * event-stream.c (execute_command_event): Preserve current_events
4089         and the like when event is misc-user-event.
4090         Inhibit quit during the call to maybe_echo_keys.
4091
4092 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4093
4094         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4095         symlink when buffer is killed.
4096         (inhibit_clash_detection): New variable.
4097
4098 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4099
4100         * console.c (Fset_input_method): Trigger redisplay on tty.
4101
4102 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4103
4104         * process.c (Fprocess_status): Revert to previous behavior:
4105         (process-status "nosuchprocess") ==> nil
4106
4107 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4108
4109         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4110         Work around another GCC 2.95.2 optimizer bug.
4111
4112 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4113
4114         * process.c (Fget_process): Use LIST_LOOP_2.
4115         (kill_buffer_processes): Use LIST_LOOP_2.
4116
4117         * minibuf.c (Fall_completions):
4118         Delete old non-functional code for FSF fourth argument.
4119
4120         * frame.c (frame_matches_frame_spec):
4121         Renamed from `frame_matches_frametype'.  Update all callers.
4122         (device_matches_device_spec):
4123         Renamed from 'device_matches_console_spec'.  Update all callers.
4124
4125         * doc.c (Fsubstitute_command_keys):
4126         Remove buffer overflow crash.  Small code cleanups.
4127
4128         * casetab.c (check_case_table): Simpler code.
4129
4130         * window.c (Freplace_buffer_in_windows):
4131         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4132         (and similar implementation) as Fdelete_windows_on.
4133         Update all callers.
4134
4135         * alloc.c (Fmake_list):
4136         * alloc.c (make_vector):
4137         * alloc.c (Fmake_vector):
4138         * alloc.c (make_bit_vector):
4139         * alloc.c (Fmake_bit_vector):
4140         * alloc.c (Fbit_vector):
4141         * alloc.c (Fmake_string):
4142         * alloc.c (Fpurecopy):
4143         * alloc.c (Fmemory_limit):
4144         * buffer.c:
4145         * buffer.c (Fget_buffer):
4146         * buffer.c (Fkill_buffer):
4147         * buffer.c (complex_vars_of_buffer):
4148         * bytecode.c (Fcompiled_function_stack_depth):
4149         * callint.c (Fprefix_numeric_value):
4150         * event-stream.c:
4151         * event-stream.c (Fread_key_sequence):
4152         * casetab.c:
4153         * casetab.c (Fcase_table_p):
4154         * casetab.c (check_case_table):
4155         * casetab.c (Fset_case_table):
4156         * casetab.c (Fset_standard_case_table):
4157         * chartab.c:
4158         * chartab.c (Fchar_table_type):
4159         * chartab.c (Freset_char_table):
4160         * chartab.c (Fget_char_table):
4161         * chartab.c (Fget_range_char_table):
4162         * chartab.c (Fput_char_table):
4163         * chartab.c (Fmap_char_table):
4164         * chartab.c (Fcategory_table_p):
4165         * chartab.c (Fcheck_category_at):
4166         * chartab.c (Fchar_in_category_p):
4167         * chartab.c (Fcategory_table):
4168         * chartab.c (Fcopy_category_table):
4169         * chartab.c (Fset_category_table):
4170         * chartab.c (Fcategory_designator_p):
4171         * chartab.c (Fcategory_table_value_p):
4172         * cmds.c (Fdelete_char):
4173         * cmds.c (Fdelete_backward_char):
4174         * cmds.c (Fself_insert_command):
4175         * cmds.c (Fself_insert_internal):
4176         * console.c (Fvalid_console_type_p):
4177         * console.c (Fcdfw_console):
4178         * console.c (Fconsole_type):
4179         * console.c (Fconsole_name):
4180         * console.c (Fconsole_device_list):
4181         * console.c (Fconsole_on_window_system_p):
4182         * data.c:
4183         * data.c (Feq):
4184         * data.c (Fold_eq):
4185         * data.c (Fsubr_interactive):
4186         * data.c (Fchar_to_int):
4187         * data.c (Fint_to_char):
4188         * data.c (Fsetcar):
4189         * data.c (Fsetcdr):
4190         * data.c (Fnumber_to_string):
4191         * data.c (Fstring_to_number):
4192         * data.c (Frem):
4193         * database.c (mark_database):
4194         * database.c (finalize_database):
4195         * database.c (Fdatabase_live_p):
4196         * database.c (Fdatabasep):
4197         * device-x.c (Fx_get_resource):
4198         * device.c (Fdfw_device):
4199         * dired.c:
4200         * dired.c (Ffile_name_completion):
4201         * dired.c (Ffile_name_all_completions):
4202         * dired.c (Fuser_name_completion):
4203         * dired.c (Fuser_name_completion_1):
4204         * dired.c (Fuser_name_all_completions):
4205         * doc.c (Fdocumentation):
4206         * doc.c (Fdocumentation_property):
4207         * doc.c (Fsubstitute_command_keys):
4208         * editfns.c:
4209         * editfns.c (Fchar_to_string):
4210         * editfns.c (Fstring_to_char):
4211         * editfns.c (Ftemp_directory):
4212         * editfns.c (Finsert_char):
4213         * editfns.c (Fbuffer_substring_no_properties):
4214         * editfns.c (Fnarrow_to_region):
4215         * editfns.c (Fchar_equal):
4216         * editfns.c (Fchar_Equal):
4217         * editfns.c (Ftranspose_regions):
4218         * emacs.c (Fdump_emacs):
4219         * eval.c (Fthrow):
4220         * eval.c (Fcommand_execute):
4221         * eval.c (Fautoload):
4222         * eval.c (Fbacktrace):
4223         * eval.c (Fbacktrace_frame):
4224         * events.c:
4225         * events.c (Fcopy_event):
4226         * events.c (Fcharacter_to_event):
4227         * events.c (Fevent_button):
4228         * events.c (Fevent_process):
4229         * extents.c:
4230         * extents.c (Fnext_extent_change):
4231         * extents.c (Fextent_property):
4232         * faces.c (Ffacep):
4233         * faces.c (Fmake_face):
4234         * file-coding.c:
4235         * file-coding.c (Fencode_shift_jis_char):
4236         * file-coding.c (Fencode_big5_char):
4237         * fileio.c (Ffile_name_directory):
4238         * fileio.c (Ffile_name_nondirectory):
4239         * fileio.c (Ffile_name_as_directory):
4240         * fileio.c (Fdirectory_file_name):
4241         * fileio.c (Ffile_truename):
4242         * fileio.c (Fsubstitute_in_file_name):
4243         * fileio.c (Ffile_modes):
4244         * fileio.c (Fset_file_modes):
4245         * fileio.c (Fset_default_file_modes):
4246         * fileio.c (Fverify_visited_file_modtime):
4247         * floatfns.c (Facos):
4248         * floatfns.c (Fasin):
4249         * floatfns.c (Fatan):
4250         * floatfns.c (Fcos):
4251         * floatfns.c (Fsin):
4252         * floatfns.c (Ftan):
4253         * floatfns.c (Fbessel_j0):
4254         * floatfns.c (Fbessel_j1):
4255         * floatfns.c (Fbessel_jn):
4256         * floatfns.c (Fbessel_y0):
4257         * floatfns.c (Fbessel_y1):
4258         * floatfns.c (Fbessel_yn):
4259         * floatfns.c (Ferf):
4260         * floatfns.c (Ferfc):
4261         * floatfns.c (Flog_gamma):
4262         * floatfns.c (Fexp):
4263         * floatfns.c (Fexpt):
4264         * floatfns.c (Flog):
4265         * floatfns.c (Flog10):
4266         * floatfns.c (Fsqrt):
4267         * floatfns.c (Fcube_root):
4268         * floatfns.c (Facosh):
4269         * floatfns.c (Fasinh):
4270         * floatfns.c (Fatanh):
4271         * floatfns.c (Fcosh):
4272         * floatfns.c (Fsinh):
4273         * floatfns.c (Ftanh):
4274         * floatfns.c (Fabs):
4275         * floatfns.c (Ffloat):
4276         * floatfns.c (Flogb):
4277         * floatfns.c (Fceiling):
4278         * floatfns.c (Ffloor):
4279         * floatfns.c (Fround):
4280         * floatfns.c (Ftruncate):
4281         * floatfns.c (Ffceiling):
4282         * floatfns.c (Fffloor):
4283         * floatfns.c (Ffround):
4284         * floatfns.c (Fftruncate):
4285         * fns.c (Fstring_equal):
4286         * fns.c (Fstring_lessp):
4287         * fns.c (concat2):
4288         * fns.c (concat3):
4289         * fns.c (vconcat2):
4290         * fns.c (vconcat3):
4291         * fns.c (Fsubstring):
4292         * fns.c (Fassoc):
4293         * fns.c (Fold_assoc):
4294         * fns.c (assoc_no_quit):
4295         * fns.c (Fassq):
4296         * fns.c (Fold_assq):
4297         * fns.c (assq_no_quit):
4298         * fns.c (Frassoc):
4299         * fns.c (Fold_rassoc):
4300         * fns.c (Frassq):
4301         * fns.c (Fold_rassq):
4302         * fns.c (rassq_no_quit):
4303         * fns.c (Fremassoc):
4304         * fns.c (remassoc_no_quit):
4305         * fns.c (Fremassq):
4306         * fns.c (remassq_no_quit):
4307         * fns.c (Fremrassoc):
4308         * fns.c (Fremrassq):
4309         * fns.c (remrassq_no_quit):
4310         * fns.c (Fsort):
4311         * fns.c (Fplist_get):
4312         * fns.c (Fplist_put):
4313         * fns.c (Fplist_remprop):
4314         * fns.c (Fplist_member):
4315         * fns.c (Flax_plist_get):
4316         * fns.c (Flax_plist_put):
4317         * fns.c (Flax_plist_remprop):
4318         * fns.c (Flax_plist_member):
4319         * fns.c (Fequal):
4320         * fns.c (Fold_equal):
4321         * fns.c (Frequire):
4322         * fns.c (Fbase64_encode_region):
4323         * fns.c (Fbase64_encode_string):
4324         * fns.c (Fbase64_decode_region):
4325         * frame.c:
4326         * frame.c (frame_matches_frame_spec):
4327         * frame.c (device_matches_device_spec):
4328         * frame.c (next_frame):
4329         * frame.c (previous_frame):
4330         * frame.c (Fnext_frame):
4331         * frame.c (Fprevious_frame):
4332         * frame.c (Fframe_property):
4333         * frame.c (Fset_frame_height):
4334         * frame.c (Fset_frame_size):
4335         * frame.h:
4336         * glyphs.c:
4337         * glyphs.c (if):
4338         * glyphs.c (decode_error_behavior_flag):
4339         * glyphs.c (Fmake_image_instance):
4340         * indent.c (Findent_to):
4341         * intl.c (Fignore_defer_gettext):
4342         * keymap.c (Fkeymapp):
4343         * keymap.c (Flookup_key):
4344         * lread.c:
4345         * lread.c (Fload_internal):
4346         * lread.c (Feval_buffer):
4347         * lread.c (Feval_region):
4348         * macros.c (Fexecute_kbd_macro):
4349         * marker.c (set_marker_internal):
4350         * marker.c (Fset_marker):
4351         * marker.c (set_marker_restricted):
4352         * marker.c (Fcopy_marker):
4353         * marker.c (noseeum_copy_marker):
4354         * menubar.c:
4355         * menubar.c (Fpopup_menu):
4356         * minibuf.c:
4357         * mule-charset.c (Fcharset_name):
4358         * mule-charset.c (Fchar_charset):
4359         * mule-charset.c (Fchar_octet):
4360         * mule-charset.c (Fsplit_char):
4361         * mule-wnnfns.c (Fwnn_open):
4362         * mule-wnnfns.c (Fwnn_dict_comment):
4363         * mule-wnnfns.c (Fwnn_quit_henkan):
4364         * mule-wnnfns.c (Fwnn_word_toroku):
4365         * mule-wnnfns.c (Fwnn_word_sakujo):
4366         * mule-wnnfns.c (Fwnn_word_use):
4367         * mule-wnnfns.c (Fwnn_hindo_set):
4368         * objects.c:
4369         * objects.c (Fmake_color_instance):
4370         * objects.c (Fmake_font_instance):
4371         * print.c (Fwrite_char):
4372         * process.c:
4373         * process.c (mark_process):
4374         * process.c (print_process):
4375         * process.c (get_process_from_usid):
4376         * process.c (Fprocessp):
4377         * process.c (Fprocess_live_p):
4378         * process.c (Fget_process):
4379         * process.c (Fget_buffer_process):
4380         * process.c (get_process):
4381         * process.c (Fprocess_id):
4382         * process.c (Fprocess_name):
4383         * process.c (Fprocess_command):
4384         * process.c (init_process_io_handles):
4385         * process.c (start_process_unwind):
4386         * process.c (Fstart_process_internal):
4387         * process.c (Fopen_multicast_group_internal):
4388         * process.c (Fset_process_window_size):
4389         * process.c (read_process_output):
4390         * process.c (send_process):
4391         * process.c (Fprocess_tty_name):
4392         * process.c (Fset_process_buffer):
4393         * process.c (Fprocess_buffer):
4394         * process.c (Fprocess_mark):
4395         * process.c (set_process_filter):
4396         * process.c (Fset_process_filter):
4397         * process.c (Fprocess_filter):
4398         * process.c (Fprocess_send_region):
4399         * process.c (Fprocess_send_string):
4400         * process.c (exec_sentinel):
4401         * process.c (Fset_process_sentinel):
4402         * process.c (Fprocess_sentinel):
4403         * process.c (status_notify):
4404         * process.c (Fprocess_status):
4405         * process.c (Fprocess_exit_status):
4406         * process.c (process_send_signal):
4407         * process.c (Fprocess_send_eof):
4408         * process.c (deactivate_process):
4409         * process.c (remove_process):
4410         * process.c (Fdelete_process):
4411         * process.c (kill_buffer_processes):
4412         * process.c (Fprocess_kill_without_query):
4413         * process.c (Fprocess_kill_without_query_p):
4414         * rangetab.c:
4415         * rangetab.c (Fget_range_table):
4416         * rangetab.c (Fput_range_table):
4417         * rangetab.c (Fremove_range_table):
4418         * rangetab.c (Fclear_range_table):
4419         * search.c:
4420         * search.c (Fskip_chars_forward):
4421         * search.c (Fskip_chars_backward):
4422         * search.c (Fskip_syntax_forward):
4423         * search.c (Fskip_syntax_backward):
4424         * search.c (search_command):
4425         * search.c (Freplace_match):
4426         * search.c (Fregexp_quote):
4427         * select.c (Fown_selection_internal):
4428         * select.c (Fselection_owner_p):
4429         * select.c (Fselection_exists_p):
4430         * select.c (Fget_selection_internal):
4431         * specifier.c:
4432         * symbols.c:
4433         * symbols.c (Fintern):
4434         * symbols.c (Fintern_soft):
4435         * symbols.c (Funintern):
4436         * symbols.c (Fapropos_internal):
4437         * symbols.c (Fset_default):
4438         * syntax.c:
4439         * syntax.c (Fsyntax_table_p):
4440         * syntax.c (Fcopy_syntax_table):
4441         * syntax.c (Fset_syntax_table):
4442         * syntax.c (Fchar_syntax):
4443         * syntax.c (syntax_match):
4444         * syntax.c (Fmatching_paren):
4445         * syntax.c (Fforward_word):
4446         * syntax.c (scan_lists):
4447         * syntax.c (Fscan_lists):
4448         * syntax.c (Fscan_sexps):
4449         * syntax.c (Fparse_partial_sexp):
4450         * toolbar.c (Fcheck_toolbar_button_syntax):
4451         * tooltalk.doc:
4452         * window.c:
4453         * window.c (Fwindowp):
4454         * window.c (Fwindow_live_p):
4455         * window.c (Fwindow_point):
4456         * window.c (Fdelete_window):
4457         * window.c (Fnext_window):
4458         * window.c (Fprevious_window):
4459         * window.c (Fother_window):
4460         * window.c (window_loop):
4461         * window.c (Fget_lru_window):
4462         * window.c (Fsplit_window):
4463         * window.c (Fenlarge_window):
4464         * window.c (Fenlarge_window_pixels):
4465         * window.c (Fshrink_window):
4466         * window.c (Fshrink_window_pixels):
4467         * window.c (change_window_height):
4468         * window.c (Fwindow_configuration_p):
4469         * window.c (Fcurrent_window_configuration):
4470         * window.h:
4471         * casefiddle.c (casify_object):
4472         * casefiddle.c (Fupcase):
4473         * casefiddle.c (Fdowncase):
4474         * casefiddle.c (Fcapitalize):
4475         * casefiddle.c (Fupcase_initials):
4476         * casefiddle.c (casify_region_internal):
4477         * casefiddle.c (casify_region):
4478         * casefiddle.c (Fupcase_region):
4479         * casefiddle.c (Fdowncase_region):
4480         * casefiddle.c (Fcapitalize_region):
4481         * casefiddle.c (Fupcase_initials_region):
4482         * casefiddle.c (Fupcase_word):
4483         * casefiddle.c (Fdowncase_word):
4484         * casefiddle.c (Fcapitalize_word):
4485         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4486         Replace 0 with '\0' when working with bytes.
4487         Replace initial "(" with "\(" in docstrings.
4488
4489 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4490
4491         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4492
4493         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4494
4495 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4496
4497         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4498
4499 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4500
4501         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4502         correctly.
4503
4504 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4505
4506         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4507         (inhibit_auto_save_session): New variable.
4508         (vars_of_fileio): Declare and initialize them.
4509         * fileio.c (Fdo_auto_save): Don't create session file if
4510         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4511
4512 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4513
4514         * sgiplay.c (play_internal): C++ compilability.
4515         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4516         * callproc.c (Fold_call_process_internal):
4517         Remove unused vars `env', `first'.
4518         * scrollbar.c (update_scrollbar_instance):
4519         #### unused var `current_window'.
4520         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4521         etc. within #ifdef NOT_YET.
4522         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4523         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4524         * specifier.c (specifier_instance):
4525         #### unused var `tag'.
4526         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4527
4528 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4529
4530         * fns.c (Fbutlast):
4531         * fns.c (list_sort):
4532         * fns.c (Ffillarray):
4533         * fns.c (bytecode_nconc2):
4534         * fns.c (Fnconc):
4535         * fns.c (mapcar1):
4536         * fns.c (Fmapconcat):
4537         Be pedantically 64-bit correct.  For the time when someone will
4538         want to have a list with length > 2**32.
4539
4540         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4541         Work around MIPSpro compiler bug.
4542
4543         * process-unix.c (unix_kill_child_process): Add snarky comment.
4544         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4545
4546         * config.h.in: Oops, _getpt ==> _getpty
4547
4548 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4549
4550         * config.h.in:
4551         * regex.c:
4552         Use void*, not char*, as return type of alloca().
4553
4554         * alloc.c (free_marker): Side effect inside assert expression!
4555
4556 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4557
4558         * mule-charset.c (Fset_charset_ccl_program): To check
4559         if the given ccl program is valid, use setup_ccl_program()
4560         instead of CHECK_VECTOR().
4561         (Fmake_charset): Likewise.
4562
4563 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4564
4565         * faces.c (get_extent_fragment_face_cache_index):
4566         Fix cachel.merged_faces memory leak.
4567
4568 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
4569
4570         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
4571         Reset MSB of octets obtained by DECODE_SJIS
4572         because of the incompatibility with Emacs.
4573         (ccl_driver)<CCL_ENCODE_SJIS>:
4574         Set MSB of octets before passing them to
4575         ENCODE_SJIS because of the incompatibility
4576         with Emacs.
4577
4578 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
4579
4580         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
4581         (DECLARE_LRECORD): Undo the last change.
4582         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
4583
4584 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
4585
4586         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
4587         the implementation to lrecord_implementations_table.
4588
4589 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
4590
4591         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
4592         initial value of `lrecord_type_##c_name' and
4593         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
4594         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
4595         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
4596         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
4597         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
4598
4599 2000-10-17  Martin Buchholz  <martin@xemacs.org>
4600
4601         * miscplay.c (sndcnv8S_2mono):
4602         (sndcnv2monounsigned):
4603         (sndcnvULaw_2linear):
4604         (sndcnv16swap):
4605         Remove implementation-defined behavior.
4606
4607 2000-10-12  Martin Buchholz  <martin@xemacs.org>
4608
4609         * input-method-xlib.c: Warning suppression.
4610
4611 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
4612
4613         * mule-ccl.c: Sync up with Emacs 21.0.90.
4614         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
4615         Do nothing.
4616         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
4617         Likewise.
4618         (ccl_driver[WriteMultibyteChar2]): Bug fix.
4619         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
4620         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
4621         leading char belongs to official 2-dimensional charset.
4622         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
4623         write the given character as is.  Otherwise,
4624         if it is a multibyte char, convert it by
4625         non_ascii_set_charptr_emchar, then write it.
4626         (CCL_WRITE_STRING): Likewise.
4627         (ccl_get_compiled_code): New function.
4628         (setup_ccl_program): When ccl_prog is invalid,
4629         return -1.
4630         (Fregister_code_conversion_map): New function.
4631         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
4632
4633         * mule-ccl.h: Sync up with Emacs 21.0.90.
4634         (Fregister_ccl_program): export it.
4635
4636         * redisplay-msw.c (separate_textual_runs):
4637         If ccl program is not valid, don't do ccl conversion.
4638
4639         * redisplay-x.c (separate_textual_runs): Ditto.
4640
4641         * file-coding.c (Fmake_coding_system):
4642         When type is ccl and value is vector, register it
4643         with a proper symbol.  And checks whether the
4644         given ccl program is valid.
4645         (mule_decode): When calling ccl_driver, if src indicates
4646         NULL pointer, set an empty string instead.
4647         (mule_encode): Likewise.
4648
4649 2000-10-11  Martin Buchholz  <martin@xemacs.org>
4650
4651         The following large batch of changes gets us back to a state of
4652         C++ compilability.  Extbyte is now a char, which means that
4653         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
4654
4655         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
4656
4657         * sound.c (Fplay_sound): Type correctness.
4658
4659         * select-x.c (hack_motif_clipboard_selection): Type correctness.
4660         (x_get_window_property): Type correctness.
4661         (receive_incremental_selection): unsigned char ==> Extbyte
4662         (selection_data_to_lisp_data): unsigned char ==> Extbyte
4663         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
4664         (Fx_store_cutbuffer_internal): Type correctness.
4665
4666         * process-unix.c (try_to_initialize_subtty): Type correctness.
4667
4668         * objects-x.c (x_print_color_instance): Type correctness.
4669         (x_print_font_instance): Type correctness.
4670         (x_list_fonts): SExtbyte ==> Extbyte.
4671         (valid_x_font_name_p): SExtbyte ==> Extbyte.
4672         (x_find_charset_font): SExtbyte ==> Extbyte.
4673         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
4674         (truename_via_XListFonts): SExtbyte ==> Extbyte.
4675         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
4676         Use bufbyte_strcmp.
4677
4678         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
4679         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
4680         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
4681         (BYTE_C0_P): Use bit ops for char-signedness safety.
4682         (BYTE_C1_P): Use bit ops for char-signedness safety.
4683         (CHARSET_BY_LEADING_BYTE):
4684         (CHARSET_BY_ATTRIBUTES):
4685         Always use inline function.
4686         Use type_checking_assert.
4687         Hide chlook.
4688
4689         * mule-charset.c (non_ascii_charptr_copy_char):
4690         Modify to work with both ASCII and non-ASCII characters.
4691         Improve docs and variable names.
4692         Replace over-clever fall-through switch with a simple loop.
4693         (Lstream_get_emchar_1):
4694         Replace over-clever fall-through switch with a simple loop.
4695
4696         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4697         Warning suppression.
4698
4699         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
4700         the return value of Lstream_getc, which could be EOF as well.
4701
4702         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
4703
4704         * lisp.h: Make Extbyte a char, not unsigned char, so that external
4705         APIs can be used on Extbytes without casts.  Risky!
4706         (SExtbyte): Remove.
4707         (UExtbyte): Remove.
4708
4709         * input-method-xlib.c (XIM_init_device):
4710         Use Xlib.h instead of IntrinsicP.h.
4711         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
4712         which will break in X11R7.
4713         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
4714         to call XRegisterIMInstantiateCallback with correct types.
4715
4716         * gui-x.c (button_item_to_widget_value): Type correctness.
4717
4718         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
4719
4720         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
4721         (xbm_instantiate_1): Type correctness.
4722         (BUILD_GLYPH_INST):  Type correctness.
4723
4724         * fileio.c (Fsubstitute_in_file_name): Type correctness.
4725
4726         * file-coding.c:
4727         (decode_coding_sjis):
4728         (decode_coding_big5):
4729         (decode_coding_ucs4):
4730         (decode_coding_utf8):
4731         (decode_coding_iso2022):
4732         (decode_coding_no_conversion):
4733         Make all decoding functions take an Extbyte * arg.
4734         (encode_coding_sjis):
4735         (encode_coding_big5):
4736         (encode_coding_ucs4):
4737         (encode_coding_utf8):
4738         (encode_coding_iso2022):
4739         (encode_coding_no_conversion):
4740         Make all encoding functions take a Bufbyte * arg.
4741         Use size_t instead of unsigned int for memory sizes.
4742         Only cast to unsigned char whenever dereferencing Extbyte *.
4743
4744         * doc.c (unparesseuxify_doc_string): Type correctness.
4745
4746         * console-x.c (split_up_display_spec):
4747         Rewrite without using details of internal string representation.
4748         (x_semi_canonicalize_device_connection): Type correctness.
4749
4750         * config.h.in:
4751         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
4752         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
4753         (HAVE_XFREE386): Removed.
4754
4755         * buffer.h (DEC_CHARPTR): `const' correctness.
4756         (bufbyte_strcmp): New.
4757         (bufbyte_memcmp): New.
4758
4759         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
4760
4761         * buffer.h (XCHAR_OR_CHAR_INT):
4762         Always use inline function.
4763         Remove redundant type checking assert() - XINT will abort quite nicely.
4764
4765 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
4766
4767         * search.c (Freplace_match): Set newtext to an empty string.
4768
4769 2000-10-10  Martin Buchholz  <martin@xemacs.org>
4770
4771         * s/decosf1-3.h: Remove #include of stropts.h
4772         * s/ptx.h: Remove #include of stropts.h
4773         * s/usg5-4.h: Remove #include of stropts.h
4774         * sysproc.h:
4775         * config.h.in:
4776         Use stropts.h, not sys/stropts.h.
4777         Use strtio.h, not sys/strtio.h.
4778
4779 2000-10-04  Martin Buchholz <martin@xemacs.org>
4780
4781         * XEmacs 21.2.36 is released.
4782
4783 2000-09-21  Andy Piper  <andy@xemacs.org>
4784
4785         * glyphs-x.c (x_redisplay_widget): make sure non-structural
4786         changes still involve copying the widget tree.
4787         (update_widget_face): make sure a change is register in the widget
4788         tree. Call update_tab_widget_face appropriately.
4789         (update_tab_widget_face): ditto.
4790         (x_tab_control_redisplay): make sure non-structural changes still
4791         involve copying the widget tree.
4792
4793 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
4794
4795         * lread.c (locate_file): Check the path element is non-nil.
4796
4797 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4798
4799         * lisp.h: Warning suppression for SCO compilers.
4800
4801         * redisplay-tty.c (reset_tty_modes): Fix crash.
4802         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
4803
4804 2000-09-27  Martin Buchholz  <martin@xemacs.org>
4805
4806         Big signal/process handling overhaul.  Bugs fixed:
4807         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
4808         M-x comint-kill-subjob should work for both values nil and t of
4809         process-connection-type. It was broken on most platforms.
4810         Testing on Irix and Cygwin still needed.  Other plaforms tested.
4811         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
4812         * process-unix.c: Signal/Process handling overhaul.
4813         (pty_name): make 64 bytes, as `expect' does, for paranoia.
4814         (allocate_pty): Use all available modern methods of allocating
4815         ptys, falling back to old style BSD allocation as a last resort.
4816         Use allegedly more secure Unix98 pty allocation by default.
4817         (allocate_pty_the_old_fashioned_way): New. the last resort.
4818         (unix_create_process): Push ptem, ldterm, ttcompat where
4819         available.  Autoconfiscate.
4820         (try_to_initialize_subtty): New.
4821         (unix_kill_child_process): Proper signal handling for ptys on most
4822         platforms, using special knowledge of AIX, BSD, etc...
4823         (unix_create_process): Always disconnect_controlling_terminal() for
4824         subprocesses, whether using ptys or not.
4825         * process.h: Remove old getpt-dependent PTY code.
4826         * process.c (Fprocess_send_signal): New, obvious generic function.
4827         (decode_signal): New.
4828         (Finterrupt_process):
4829         (Fkill_process):
4830         (Fquit_process):
4831         (Fstop_process):
4832         (Fcontinue_process):
4833         (Fsignal_process): Use decode_signal.
4834         (process_send_signal):
4835         Many docstring corrections.
4836         Allow any signal to be sent to a process object.
4837         * config.h.in: Add symbols for big signal/process overhaul.
4838         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
4839         * sysproc.h: Include process-related headers, where available:
4840         sys/stropts.h sys/strtio.h pty.h libutil.h
4841         * s/irix4-0.h:
4842         * s/irix5-0.h:
4843         * s/cygwin32.h:
4844         * s/gnu.h:
4845         * s/linux.h:
4846         * s/hpux.h:
4847         * s/aix3-1.h:
4848         Remove old S&M pty stuff.
4849         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
4850         * systty.h: Simplify cpp hackery, improve comments.
4851         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
4852
4853         * editfns.c (Fformat_time_string):
4854         Be a little more paranoid with the return value of ctime.
4855
4856         * fileio.c (check_executable):
4857         (check_writable):
4858         Use symbolic constants X_OK, W_OK.
4859
4860         * console-x.c (split_up_display_spec): Fix a warning.
4861
4862 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4863
4864         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
4865         * ntproc.c (sys_spawnve): make_string ==> build_string
4866         Small clarity improvements.
4867
4868 2000-09-30  Martin Buchholz  <martin@xemacs.org>
4869
4870         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
4871
4872         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
4873
4874         * config.h.in (HAVE_STRCASECMP): Remove.
4875
4876 2000-09-29  Martin Buchholz  <martin@xemacs.org>
4877
4878         * redisplay-output.c (redisplay_output_pixmap):
4879         Cleaner and possibly more 64-bit correct code.
4880
4881 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4882
4883         * dumper.c (pdump_load_finish): move restoration of
4884         `noninteractive1' to emacs.c (main_1).
4885         * emacs.c (main_1): protect LISP-visible command-line flags
4886         from pdump_load().
4887
4888 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
4889
4890         * Makefile.in.in (versionclean):  Use EXE_TARGET and
4891         DUMP_TARGET instead of literal program names.
4892
4893 2000-09-20  Martin Buchholz  <martin@xemacs.org>
4894
4895         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
4896
4897 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4898
4899         * *: Spelling mega-patch
4900
4901 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4902
4903         * fns.c (bad_bad_turtle):
4904         Delete "Eek!" comment, since we fixed the bug to which it refers.
4905
4906 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4907
4908         * alloca.c: Replace REGISTER with register.
4909
4910 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
4911
4912         * file-coding.c (ucs_to_char): Use countof.
4913
4914 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4915
4916         * file-coding.c: (ucs_to_char):
4917         (complex_vars_of_file_coding):
4918         Use countof instead of sizeof.
4919         Use CHECK_NATNUM instead of CHECK_INT.
4920
4921         * sysdep.c (strcasecmp): Remove.
4922         * device-x.c (ascii_strcasecmp): New.
4923         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
4924         Avoid using non-standard non-portable strcasecmp.
4925
4926 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4927
4928         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
4929         * font-lock.c: remove reference to emacsfns.h.
4930         * search.c: small doc improvement.
4931         * event-Xt.c: correct file names in comments.
4932         * console-x.h Correct file names in comments.
4933         * frame.c: Correct file names in comments.
4934         * event-stream.c: remove Energize from comments.
4935
4936 2000-09-15  Martin Buchholz  <martin@xemacs.org>
4937
4938         * symeval.h (DEFERROR_STANDARD):
4939         (DEFERROR):
4940         (DEFSYMBOL):
4941         (DEFSYMBOL_NO_DUMP):
4942         (DEFSYMBOL_MULTIWORD_PREDICATE):
4943         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
4944         (DEFKEYWORD):
4945         The construct &##name is not sensible C.
4946         Fixes compilation errors with Unixware native compiler.
4947
4948 2000-09-14  Martin Buchholz  <martin@xemacs.org>
4949
4950         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
4951         (next_frame_internal): Removed.  We now just have next_frame.
4952         (next_frame):
4953         Write a simpler and cleaner one-pass algorithm.
4954         Remove called_from_delete_device arg and #ifdefed-out code.
4955         (previous_frame):
4956         Renamed from prev_frame.  Update callers.
4957         Cleaned up to have an analogous implementation to next_frame.
4958         (other_visible_frames_internal): Remove the
4959         called_from_delete_device bogus arg, and hence, remove this
4960         function.  Just use other_visible_frames().
4961
4962         * window.c (Fnext_window):
4963         Prettify docstring.
4964         Since next_frame() is guaranteed to return a frame, remove check
4965         for nil inserted in previous patch.
4966         (Fprevious_window):
4967         Prettify docstring.
4968         Make code look more like Fnext_window.
4969         (window_loop):
4970         Respect the `console' arg when iterating through windows.
4971         Fixes bug: (get-buffer-window buffer t device) not respecting
4972         the `device' arg.
4973         This function needs more work, as others have pointed out.
4974
4975         * frame.h: Rename prev_frame to previous_frame.
4976         device_matches_console_spec no longer takes a `frame' arg.
4977
4978         * s/gnu.h:
4979         * s/linux.h:
4980         * s/hpux.h:
4981         Use EMACS_BLOCK_SIGNAL instead of sigblock.
4982         From "Golubev I. N." <gin@mo.msk.ru>.
4983
4984         * make-src-depend: Fix typo.
4985
4986 2000-09-13  Martin Buchholz  <martin@xemacs.org>
4987
4988         * window.c (Fnext_window):
4989         next_frame() might return nil, not a frame.
4990         Fixes this crash:
4991         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
4992
4993         * frame.c (next_frame_internal):
4994         We've passed a frame if we've passed its device.
4995         Fixes this crash:
4996         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
4997 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
4998
4999 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5000
5001         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5002         Allow option to suppress accelerators in menu/dialog items.
5003         (populate_or_checksum_helper): Pass dialog title through above.
5004
5005 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5006
5007         * event-msw.c (mswindows_key_to_emacs_keysym):
5008         Add "pause" key, fix "menu" key.
5009
5010 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5011
5012         * eval.c (reinit_vars_of_eval):
5013         Increase max_lisp_eval_depth to 1000,
5014         required for thai-xtis.el to byte-compile under some circumstances.
5015
5016 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5017
5018         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5019         From Kenichi Handa.
5020
5021 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5022
5023         * make-src-depend: Make the generated Makefiles smaller.
5024
5025         * s/hpux.h (SETUP_SLAVE_PTY):
5026         Provide a %d in the format string for the errno argument.
5027
5028         * editfns.c (Ftemp_directory):
5029         Warning fix.
5030         Avoid buffer overrun on very long file name.
5031
5032         * input-method-xlib.c (XIM_init_device):
5033         6th parameter of XRegisterIMInstantiateCallback has different
5034         pointer types on different OSes, so simply cast to (void *).
5035
5036         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5037
5038         * sysdll.c (dll_open):
5039         shl_load will hang hard if passed a NULL filename.
5040         Simply return NULL for compatibility with dlopen.
5041         * sysdll.c: Conform to XEmacs coding standards.
5042
5043         * sysdep.c (get_pty_max_bytes):
5044         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5045
5046 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5047
5048         * tooltalk.c: Add #include <syssignal.h>
5049
5050 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5051
5052         * s/hpux.h: Don't use undefined function sigunblock().
5053
5054 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5055
5056         * config.h.in: Add HAVE_BALLOON_HELP.
5057         * emacs.c: Use HAVE_BALLOON_HELP.
5058         * Makefile.in.in (x_objs):
5059         Make Balloon Help conditional on finding shape.h.
5060
5061 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5062
5063         * syntax.c (regex_emacs_buffer_p): New variable.
5064         * syntax.h (regex_emacs_buffer_p): extern.
5065         * search.c (looking_at_1):
5066         (string_match_1):
5067         (fast_string_match):
5068         (search_buffer): Set regex_emacs_buffer_p.
5069         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5070         when before_dot, at_dot, after_dot.
5071
5072 2000-08-23  Andy Piper  <andy@xemacs.org>
5073
5074         * gui-x.c (popup_selection_callback): Only set action_occurred
5075         when we really have an image instance.
5076         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5077
5078 2000-08-23  Andy Piper  <andy@xemacs.org>
5079
5080         * gui-msw.c (mswindows_handle_gui_wm_command): set
5081         action_occurred.
5082         * gui-x.c (popup_selection_callback): ditto.
5083
5084         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5085         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5086         (struct Lisp_Image_Instance): add action_occurred flag.
5087
5088         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5089         (image_instance_changed): ditto.
5090         (reset_frame_subwindow_instance_cache): only unmap windows - do
5091         not remove them from the cache also.
5092
5093         * glyphs-widget.c (tab_control_update): better debug.
5094         (progress_gauge_update): ditto.
5095         (layout_update): ditto.
5096         (layout_instantiate): ditto.
5097         (tab_control_order_only_changed): cope with null pending items.
5098
5099         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5100         debug. Force selection of an item when an action occurred. Cope
5101         with null pending_items.
5102         (mswindows_progress_gauge_redisplay): better debug.
5103         * glyphs-x.c (x_tab_control_redisplay): ditto.
5104
5105         * redisplay.c (redisplay_frame): reset the frame cache if the
5106         frame is garbaged.
5107
5108         * window.c (Fset_window_configuration): potentially re-enable
5109         frame cache reset.
5110         (window_unmap_subwindows): need to finalize instances here since
5111         it is only used in mark_window_as_deleted.
5112
5113 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5114
5115         * nas.c (SndOpenDataForReading):
5116         nas.c (WaveOpenDataForReading):
5117         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5118         Somehow escaped from the 2000-08-14 patch.
5119
5120 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5121
5122         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5123         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5124
5125 2000-08-21  Andy Piper  <andy@xemacs.org>
5126
5127         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5128         window if it is not already displayed.
5129
5130         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5131         it is not already displayed.
5132
5133         * window.c (Fset_window_configuration): don't reset the frame
5134         cache.
5135
5136         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5137         instances from the frame cache if we are actually finalizing them.
5138         (reset_frame_subwindow_instance_cache): reset frame cache only
5139         after unmapping everything.
5140         (map_subwindow): set displayed flag after mapping.
5141
5142 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5143
5144         * data.c (indirect_function):
5145         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5146
5147         * eval.c (function_argcount):
5148         Use original function when signaling errors.
5149
5150 2000-08-18  Andy Piper  <andy@xemacs.org>
5151
5152         * frame.c (delete_frame_internal): use new
5153         free_frame_subwindow_instances name.
5154
5155         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5156         (add_tab_item): make return type correct.
5157         (mswindows_tab_control_instantiate): assert index of tab.
5158         (mswindows_tab_control_redisplay): Re-code to use
5159         gui_item_equal_sans_selected and gui_item_list_find_selected.
5160
5161         * glyphs-widget.c (tab_control_update): Correct comment.
5162
5163         * window.c (window_unmap_subwindows): use new
5164         unmap_subwindow_instance_cache_mapper.
5165         (window_unmap_subwindows_cache_mapper): deleted.
5166         (Fset_window_configuration): comparisons should now be with
5167         EQ. Preserve the subwindow instance cache across configuration
5168         changes.
5169         (allocate_window): ditto.
5170         (make_dummy_parent): ditto.
5171
5172         * glyphs.c (free_frame_subwindow_instances): rename from
5173         free_frame_subwindow_instance_cache. finalize all instances rather
5174         than just those in the display cache.
5175         (finalize_all_subwindow_instances): walk windows unmapping and
5176         finalizing subwindows.
5177         (unmap_subwindow_instance_cache_mapper): moved from
5178         window.c. Allow finalization as well as unmapping.
5179
5180         * gui.c (gui_item_list_find_selected): new function.
5181
5182         * gui.h (gui_item_list_find_selected): declare.
5183
5184         * glyphs-x.c (x_tab_control_redisplay): pick tab
5185         explicitly. Re-code to use gui_item_equal_sans_selected and
5186         gui_item_list_find_selected.
5187
5188         * glyphs-x.h: add lwlib-utils.h
5189
5190         * buffer.c (Frecord_buffer): undo previous change.
5191
5192 2000-08-09  Vin Shelton  <acs@xemacs.org>
5193
5194         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5195         possible.  Create temporary files more securely.  The patch was
5196         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5197         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5198         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5199         for details.
5200
5201 2000-08-07  Ben Wing  <ben@xemacs.org>
5202
5203         * getloadavg.c: remove duplicate (and windows-breaking)
5204         includes of fcntl.h and sys/file.h.
5205
5206         * nt.c: remove duplicate getloadavg() definition.
5207
5208         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5209         encodings.
5210
5211 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5212
5213         * eval.c (function_argcount): If function needs to be autoloaded
5214         actually use the loaded definition.
5215         GCPRO function.
5216
5217 2000-08-05  Ben Wing  <ben@xemacs.org>
5218
5219         * getloadavg.c: add prototype for getloadavg().  remove
5220         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5221         of the code).  remove duplicate header includes.
5222
5223         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5224
5225         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5226         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5227         useful load average.
5228
5229         * alloc.c (reinit_alloc_once_early): removed references to
5230         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5231         the lisp vars are the only things referencing the malloc_sbrk_*
5232         vars, and they were already if 0'd out.  these vars only exist
5233         in the older malloc.c, which is basically unused, and they're
5234         only for informational purposes.
5235
5236         * m\*.h: removed useless VIRT_ADDR_VARIES.
5237
5238         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5239
5240 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5241
5242         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5243         color if the image is a mono pixmap.
5244
5245 2000-07-30  Ben Wing  <ben@xemacs.org>
5246
5247         * Makefile.in.in (release):
5248         Remove stray @.
5249
5250         * buffer.c (directory_is_current_directory):
5251         * dired-msw.c (mswindows_get_files):
5252         * dired.c:
5253         * dired.c (Fdirectory_files):
5254         * dired.c (file_name_completion_stat):
5255         * dired.c (Ffile_attributes):
5256         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5257         preprocessor tricks, to avoid problems on some machines
5258         (e.g. SCO).
5259
5260         * callproc.c (egetenv): GC docs.
5261
5262         * console-msw.h:
5263         * console-msw.h (struct mswindows_dialog_id):
5264         * lrecord.h (lrecord_type):
5265         New object for use with MSW dialogs.
5266
5267         * console.h (struct console_methods):
5268         New enable/disable frame methods, for proper modal dialogs.
5269
5270         * device-msw.c (msprinter_default_printer): Fix to follow
5271         proper Mule conventions.
5272
5273         * device-msw.c:
5274         * device-msw.c (signal_open_printer_error):
5275         * device-msw.c (msprinter_init_device):
5276         * device-msw.c (ensure_not_printing):
5277         * device-msw.c (plist_get_margin):
5278         * device-msw.c (Fmsprinter_select_settings):
5279         * device-msw.c (finalize_devmode):
5280         * device-msw.c (Fmsprinter_settings_despecialize):
5281         * device-msw.c (signal_enum_priner_error):
5282         * extents.c (decode_extent):
5283         * extents.c (decode_map_extents_flags):
5284         * extents.c (decode_extent_at_flag):
5285         * extents.c (Fextent_at):
5286         * extents.c (Fextents_at):
5287         * extents.c (symbol_to_glyph_layout):
5288         [[[[2]]]] Use structured errors.
5289
5290         * dialog-msw.c:
5291         * dialog-msw.c (mswindows_is_dialog_msg):
5292         * dialog-msw.c (mark_mswindows_dialog_id):
5293         * dialog-msw.c (dialog_proc):
5294         * dialog-msw.c (handle_question_dialog_box):
5295         * dialog-msw.c (syms_of_dialog_mswindows):
5296         Define new object to clean up marking; use it as a dialog identifier.
5297         Call new delete-dialog-box-hook.
5298
5299         * dialog-x.c (dbox_selection_callback):
5300         * dialog-x.c (dbox_descriptor_to_widget_value):
5301         * dialog-x.c (x_make_dialog_box_internal):
5302         Call new delete-dialog-box-hook.
5303         Return an id.
5304
5305         * dialog.c:
5306         * dialog.c (syms_of_dialog):
5307         * dialog.c (vars_of_dialog):
5308         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5309
5310         * eval.c:
5311         * eval.c (signal_call_debugger):
5312         when noninteractive, output stack traces on the console instead
5313         of in a (never-seen) buffer.
5314
5315         * eval.c (signal_type_error):
5316         * eval.c (invalid_argument_2):
5317         * lisp.h:
5318         new funs for use w/structured errors.
5319
5320         * event-Xt.c:
5321         * event-Xt.c (x_to_emacs_keysym):
5322         * event-Xt.c (describe_event):
5323         * event-Xt.c (emacs_Xt_event_handler):
5324         * event-Xt.c (vars_of_event_Xt):
5325         * event-msw.c:
5326         * event-msw.c (mswindows_wnd_proc):
5327         * event-msw.c (vars_of_event_mswindows):
5328         rename {x,mswindows}-debug-events to debug-{}-events for
5329         consistency with other debug-foo variables.
5330
5331         * event-stream.c:
5332         document next-event more clearly.
5333
5334         * fileio.c (Ffile_name_directory):
5335         * fileio.c (Ffile_name_nondirectory):
5336         * fileio.c (Funhandled_file_name_directory):
5337         * fileio.c (file_name_as_directory):
5338         * fileio.c (Ffile_name_as_directory):
5339         * fileio.c (directory_file_name):
5340         * fileio.c (Fdirectory_file_name):
5341         * fileio.c (Fmake_temp_name):
5342         * fileio.c (Ffile_truename):
5343         * fileio.c (Fsubstitute_in_file_name):
5344         * fileio.c (expand_and_dir_to_file):
5345         * fileio.c (barf_or_query_if_file_exists):
5346         * fileio.c (check_executable):
5347         * fileio.c (Ffile_exists_p):
5348         * fileio.c (Ffile_writable_p):
5349         * fileio.c (Ffile_directory_p):
5350         * fileio.c (Ffile_regular_p):
5351         * fileio.c (Ffile_modes):
5352         * fileio.c (Ffile_newer_than_file_p):
5353         * fileio.c (Fverify_visited_file_modtime):
5354         * fileio.c (Fset_visited_file_modtime):
5355         * fileio.c (auto_save_1):
5356         (1). (2).
5357         fix up gcpro's.
5358
5359         * frame-msw.c:
5360         * frame-msw.c (mswindows_init_frame_1):
5361         * frame-msw.c (mswindows_enable_frame):
5362         * frame-msw.c (error_frame_unsizable):
5363         * frame-msw.c (msprinter_init_frame_1):
5364         * frame-msw.c (msprinter_init_frame_3):
5365         * frame-msw.c (console_type_create_frame_mswindows):
5366         (2).
5367         implement new enable/disable frame methods.
5368
5369         * frame-x.c:
5370         * frame-x.c (x_enable_frame):
5371         * frame-x.c (console_type_create_frame_x):
5372         implement new enable/disable frame methods.
5373
5374         * frame.c:
5375         * frame.c (Fdisable_frame):
5376         * frame.c (syms_of_frame):
5377         * frame.h (struct frame):
5378         implement new enable/disable frame methods/functions.
5379
5380         * general-slots.h:
5381         add initial-focus.
5382
5383         * glyphs-msw.c (mswindows_widget_instantiate):
5384         comment that initial-focus should be implemented.
5385
5386         * glyphs-widget.c:
5387         * glyphs-widget.c (check_valid_instantiator):
5388         * glyphs-widget.c (check_valid_orientation):
5389         * glyphs-widget.c (check_valid_tab_orientation):
5390         * glyphs-widget.c (check_valid_justification):
5391         * glyphs-widget.c (check_valid_border):
5392         * glyphs-widget.c (check_valid_callback):
5393         * glyphs-widget.c (check_valid_int_or_function):
5394         * glyphs-widget.c (check_valid_string_or_vector):
5395         * glyphs-widget.c (check_valid_item_list_1):
5396         * glyphs-widget.c (widget_validate):
5397         * glyphs-widget.c (combo_box_validate):
5398         * glyphs-widget.c (widget_instantiate):
5399         * glyphs-widget.c (syms_of_glyphs_widget):
5400         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5401         * glyphs-widget.c (image_instantiator_combo_box):
5402         * glyphs-widget.c (image_instantiator_scrollbar):
5403         * glyphs-widget.c (image_instantiator_tab_control):
5404         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5405         (2).
5406         support (unimplemented) keyword initial-focus.
5407         reindent long macros.
5408
5409         * glyphs-x.c (x_redisplay_widget):
5410         * glyphs-x.c (x_button_instantiate):
5411         * glyphs-x.c (x_button_redisplay):
5412         * glyphs-x.c (x_progress_gauge_instantiate):
5413         * glyphs-x.c (x_edit_field_instantiate):
5414         * glyphs-x.c (x_combo_box_instantiate):
5415         * glyphs-x.c (x_tab_control_instantiate):
5416         * glyphs-x.c (x_label_instantiate):
5417         * gui-x.c:
5418         * gui-x.c (button_item_to_widget_value):
5419         * gui-x.c (gui_items_to_widget_values_1):
5420         * gui-x.c (gui_item_children_to_widget_values):
5421         * gui-x.c (gui_items_to_widget_values):
5422         * gui-x.h:
5423         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5424         add new flag to gui-parsing routines to indicate whether
5425         accelerator specs should be supported.
5426
5427         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5428
5429         * glyphs.h (struct Lisp_Image_Instance):
5430         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5431         add initial-focus flag.
5432
5433         * gui.c:
5434         * gui.c (syms_of_gui):
5435         * gui.c (vars_of_gui):
5436         clean up menu-no-selection-hook.
5437
5438         * gui.h:
5439         support delete-dialog-box-hook.
5440
5441         * lread.c (Fload_internal):
5442         * lread.c (locate_file_in_directory_mapper):
5443         (1).
5444
5445         * lrecord.h:
5446         * lrecord.h (struct toolbar_button):
5447         * lrecord.h (syms_of_toolbar):
5448         document how to create a new object.
5449
5450         * menubar-msw.c (mswindows_char_is_accelerator):
5451         may be called on frames w/o menus.
5452
5453         * menubar.c (vars_of_menubar):
5454         clean up :filter docs.
5455
5456         * nt.c (readdir):
5457         * ntproc.c:
5458         (1).
5459
5460         * process-nt.c:
5461         * process-nt.c (validate_signal_number):
5462         * process-nt.c (signal_cannot_launch):
5463         * process-nt.c (nt_create_process):
5464         * process-nt.c (nt_send_process):
5465         * process-nt.c (nt_kill_child_process):
5466         * process-nt.c (nt_open_network_stream):
5467         * process-nt.c (syms_of_process_nt):
5468         (2).
5469         delete quote-handling.  call new lisp code that does it better.
5470
5471         * process-unix.c (connect_to_file_descriptor):
5472         * process-unix.c (allocate_pty):
5473         * process-unix.c (unix_send_process):
5474         * process-unix.c (unix_kill_child_process):
5475         * process-unix.c (unix_open_network_stream):
5476         * process-unix.c (unix_open_multicast_group):
5477         (1). (2).
5478
5479         * process.c:
5480         * process.c (Fstart_process_internal):
5481         (2).  need to canonicalize process path even if absolute.
5482
5483         * select-msw.c (symbol_to_ms_cf):
5484         * select-msw.c (ms_cf_to_symbol):
5485         * select-msw.c (cf_is_autofreed):
5486         * select-msw.c (mswindows_destroy_selection):
5487         * select.c:
5488         * select.c (syms_of_select):
5489         * select.h:
5490         support dibv5, fix bugs. (from Mike Alexander)
5491
5492         * select.c (Fget_selection_internal):
5493         * select.c (select_convert_out):
5494
5495         * sysdep.c:
5496         * sysdep.c (xemacs_stat):
5497         renamed.
5498
5499         * sysdep.c (mkdir):
5500         * sysdep.c (rmdir):
5501         but keep original stat() here because we provide encapsulation
5502         around these funs.
5503
5504         * sysfile.h:
5505         * sysfile.h (fstat):
5506         remove stat garbage.
5507
5508         * syswindows.h:
5509         fix X/MSW conflict.
5510         don't include tchar.h.  it's inappropriate because it makes
5511         compile-time distinctions when we want runtime distinctions.
5512         (we provide our own tchar replacements)
5513
5514         * toolbar.c:
5515         use default object printer for toolbar-button.
5516
5517         * unexcw.c:
5518         make sure we don't encapsulate.
5519
5520         * window.c (vars_of_window):
5521         emphasize that temp-buffer-show-hook is obsolete.
5522
5523 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5524
5525         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5526         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5527
5528         * events.c (Fevent_timestamp_lessp):
5529         Not 64-bit clean.  Use EMACS_INT, not int.
5530
5531 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5532
5533         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5534         unsigned int and changed the last enum to
5535         lrecord_type_last_built_in_type.
5536         (lrecord_implementations_table): changed prototype to know how
5537         long the array is supposed to be.
5538         (lrecord_type_count): new unsigned int to keep track of the
5539         current number of lisp lrecord types.
5540         (DEFINE_EXTERNAL_LRECORD):
5541         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5542         dynamic-modules to declare new lisp types. They are the same
5543         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5544         int for each new type, and increment lrecord_type_count by 1.
5545
5546         * alloc.c (lrecord_implementations_table): Changed to reference
5547         lrecord_type_last_built_in_type for the size of the array.
5548         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5549
5550 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5551
5552         * glyphs.h (check_valid_item_list): Renamed from
5553         check_valid_item_list_1.
5554
5555 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5556
5557         * select.c (Qselect_coerce): New.
5558         * select.c (Vselection_coercion_alist): New.
5559         * select.c (syms_of_select): Declare.
5560         * select.c (get-selection-internal): Use it.
5561         Use the new select-coerce functionality.
5562
5563         * select.c (select_coerce): New.
5564         * select.h (select_coerce): Declare.
5565         New function to coerce one type of data into another.
5566
5567 2000-08-03  Martin Buchholz  <martin@xemacs.org>
5568
5569         * callproc.c (Fcall_process_internal):
5570         (Fcall_process_internal):
5571         * process-unix.c (unix_create_process):
5572         Save and restore the value of errno, so that error messages are accurate.
5573
5574 2000-08-01  Martin Buchholz  <martin@xemacs.org>
5575
5576         * elhash.c (print_hash_table):
5577         Fix printing of hash tables to also use `key-and-value' instead of `t'.
5578         Prettify docstrings and indentation.
5579
5580 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5581
5582         * window.c (Fwindow_pixel_edges): Subtract frame border and
5583         gutter size.
5584
5585 2000-07-31  Andy Piper  <andy@xemacs.org>
5586
5587         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
5588         will acknowledge the change.
5589
5590         * glyphs.h: declare tab_control_order_only_changed.
5591
5592         * glyphs-x.c (x_tab_control_redisplay): use
5593         tab_control_order_only_changed.
5594
5595         * glyphs-widget.c (tab_control_order_only_changed): new function.
5596
5597         * glyphs-msw.c (mswindows_tab_control_redisplay): use
5598         tab_control_order_only_changed.
5599
5600         * gui.c (gui_item_equal_sans_selected): new function.
5601         (gui_item_equal): use it.
5602
5603         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
5604         :properties in favor of :items..
5605
5606         * glyphs-widget.c (check_valid_item_list): rename from
5607         check_valid_item_list_1.
5608         (check_valid_item_list_1): renamed.
5609         (combo_box_validate): deprecate :properties in favor of :items.
5610         (widget_instantiate): ditto.
5611         (tab_control_update): ditto.
5612         (image_instantiator_combo_box): ditto.
5613         (image_instantiator_tree_view): ditto.
5614         (image_instantiator_tab_control): ditto.
5615         (layout_post_instantiate): remove dead code.
5616
5617         * print.c (debug_print_no_newline): only write to debugger if in
5618         WIN32_NATIVE.
5619
5620         * elhash.c (Fmake_hash_table): update doc string.
5621
5622         * event-msw.c (mswindows_wnd_proc): don't allow processing of
5623         messages whilst in GC. This at least stops XEmacs crashing but has
5624         the potential for wierd behaviour.
5625
5626 2000-07-31  Martin Buchholz  <martin@xemacs.org>
5627
5628         * config.h.in:
5629         Make existence of s&m files optional.
5630
5631         * s/bsd386.h: Remove HAVE_GETLOADAVG.
5632         * s/freebsd.h: Remove HAVE_GETLOADAVG.
5633         * s/gnu.h: Remove HAVE_GETLOADAVG.
5634         * s/netbsd.h: Remove HAVE_GETLOADAVG.
5635         * s/sol2.h: Remove HAVE_GETLOADAVG.
5636         * lisp.h: Remove getloadavg() declaration.
5637         * fns.c:
5638         Include <sys/loadavg.h> if available.
5639         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
5640         * config.h.in:  Group together getloadavg()-related macros.
5641         Use only configure-time tests to detect getloadavg().
5642
5643 2000-07-30  Martin Buchholz  <martin@xemacs.org>
5644
5645         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
5646
5647 2000-07-25  Andy Piper  <andy@xemacs.org>
5648
5649         * syswindows.h: add tchar.h for native builds.
5650
5651         * frame.c (syms_of_frame): remove set-glyph-image.
5652
5653         * general-slots.h: add Qset_glyph_image.
5654
5655         * glyphs-widget.c (layout_update): add domain arg to
5656         set-glyph-image.
5657         (syms_of_glyphs_widget): remove set-glyph-image.
5658
5659 2000-07-23  Ben Wing  <ben@xemacs.org>
5660
5661         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
5662         Vpopup_frame_list.
5663
5664 2000-07-22  Andy Piper  <andy@xemacs.org>
5665
5666         * symsinit.h: add syms_of_win32().
5667
5668         * gui-msw.c (syms_of_gui_mswindows): remove
5669         Fmswindows_shell_execute.
5670         (Fmswindows_shell_execute): moved to win32.c.
5671
5672         * emacs.c (main_1): add syms_of_win32 ().
5673
5674         * win32.c (init_potentially_nonexistent_functions): rewrite in
5675         compiler-friendly terms.
5676         (Fmswindows_shell_execute): move here from gui-msw.c.
5677         (syms_of_win32): new.
5678
5679         * device-msw.c (Fmswindows_printer_list): clean up args to
5680         EnumPrinters.
5681         Don't include tchar under cygwin or mingw.
5682         (msprinter_default_printer): make cygwin-friendly.
5683
5684 2000-07-21  Andy Piper  <andy@xemacs.org>
5685
5686         * glyphs-widget.c (image_instantiator_tree_view): use tab
5687         control's update function.
5688         (layout_property): new function. Retrieve items.
5689
5690         * glyphs-msw.c (mswindows_tree_view_redisplay): new
5691         function. Re-populate the tree view from the pending items.
5692
5693         * glyphs.c (instantiate_image_instantiator): Make sure the domain
5694         is designated the parent if the domain is an image instance. This
5695         is needed so that dirtiness can be cascade up the hierarchy and
5696         thus for layout children to be redisplayed correctly.
5697         (allocate_image_instance): rename glyph -> parent.
5698
5699         * redisplay.h: change redisplay_output_layout signature.
5700
5701         * redisplay-msw.c (mswindows_output_display_block): use domain
5702         arg.
5703
5704         * redisplay-x.c (x_output_display_block): use domain arg.
5705
5706 2000-07-10  Andy Piper  <andy@xemacs.org>
5707
5708         * window.c (Fset_window_configuration): add comment.
5709
5710         * redisplay-output.c (compare_runes):
5711         (redisplay_output_subwindow): redisplay rather than update subwindow.
5712         (redisplay_output_layout): ditto.
5713
5714         * redisplay-msw.c (mswindows_frame_output_end):
5715         (mswindows_frame_output_end): make defer window pos optional.
5716
5717         * lisp.h: add Flast.
5718
5719         * glyphs.h (struct image_instantiator_methods): add dest_mask top
5720         normalize method. Change update method to be for changed
5721         instantiators. Add redisplay method. Change signature of layout
5722         method.
5723         (struct Lisp_Image_Instance): add instantiator.
5724         (IMAGE_INSTANCE_INSTANTIATOR): new.
5725         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
5726         (XIMAGE_INSTANCE_INSTANTIATOR): new.
5727         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
5728
5729         * glyphs.c:
5730         (find_instantiator_differences): new function.
5731         (Fset_instantiator_property): new convenience function.
5732         (check_image_instance_structure): strictly check for vector
5733         instantiators.
5734         (normalize_image_instantiator): make non-static.
5735         (instantiate_image_instantiator): pass on dest_mask and use new
5736         signatures for image_instance_layout and friends.
5737         (mark_image_instance): mark the instantiator. Mark the subwindow
5738         face not the widget face.
5739         (image_instance_equal): add instantiator.
5740         (image_instance_hash): ditto.
5741         (allocate_image_instance): ditto.
5742         (Fset_image_instance_property): removed.
5743         (Fimage_instance_file_name): ditto.
5744         (Fcolorize_image_instance): ditto.
5745         (image_instance_layout): add offsets to be set.
5746         (update_image_instance): new function. update an image instance
5747         from its changed instantiator.
5748         (inherit_normalize): add dest_mask.
5749         (xbm_normalize): ditto.
5750         (xface_normalize): ditto.
5751         (xpm_normalize): ditto.
5752         (text_update): set_property -> update.
5753         (image_instantiate): use the glyph identity as a hash key, not the
5754         instantiator.
5755         (glyph_width): use new image_instance_layout signature.
5756         (glyph_ascent): ditto.
5757         (glyph_descent): ditto.
5758         (glyph_height): ditto.
5759         (glyph_query_geometry): ressurrect.
5760         (glyph_layout): ditto.
5761         (redisplay_subwindow): update -> redisplay.
5762         (syms_of_glyphs): add Fset_instantiator_property.
5763         (image_instantiator_format_create): set_property -> update.
5764
5765         * glyphs-x.c:
5766         (autodetect_normalize): add dest_maks to signature.
5767         (x_redisplay_subwindow): update -> redisplay.
5768         (x_redisplay_widget): ditto.
5769         (x_button_redisplay): ditto.
5770         (x_progress_gauge_redisplay): ditto.
5771         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
5772         stacking order.
5773         (console_type_create_glyphs_x): update -> redisplay.
5774         (image_instantiator_format_create_glyphs_x): ditto.
5775
5776         * glyphs-widget.c:
5777         (check_valid_instantiator): disallow glyphs in the instantiator,
5778         they must now be vectors.
5779         (check_valid_instantiator_list): ditto.
5780         (glyph_instantiator_to_glyph): use internal symbol rather than
5781         intern.
5782         (widget_update): renamed from widget_set_property. Call cascaded
5783         update methods.
5784         (redisplay_widget): renamed from update_widget.
5785         (widget_layout): image_instance_layout now takes position as well
5786         as size.
5787         (widget_normalize): ditto.
5788         (widget_instantiate): ditto.
5789         (tab_control_query_geometry) ditto.:
5790         (tab_control_update): renamed from tab_control_set_property.
5791         (progress_gauge_update): set_property -> update.
5792         (layout_normalize): rewrite so that child instantiators are
5793         normalized also.
5794         (layout_update): new function. Create glyphs from the normalized
5795         children and cope with any other layout keywords. We do not
5796         instantiate children here that will be take care of by
5797         redisplay_output_layout.
5798         (layout_instantiate): call layout_update and not much else.
5799         (layout_post_instantiate): not sure whether this is needed
5800         anymore.
5801         (layout_query_geometry): query glyph geometry rather than
5802         image_instance geometry.
5803         (layout_layout): set offsets from pass in parameters. Use glyph
5804         geometry and layout functions rather than image instance ones.
5805         (native_layout_layout): ditto.
5806         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
5807         (image_instantiator_widget): set_property -> update.
5808         (image_instantiator_buttons): ditto.
5809         (image_instantiator_progress_guage): ditto.
5810         (image_instantiator_tab_control): ditto.
5811         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
5812         (image_instantiator_layout): add update method.
5813
5814         * glyphs-msw.c (bmp_normalize):
5815         (mswindows_resource_normalize): add dest_mask so that it can be
5816         proprogated by layout_normalize.
5817         (begin_defer_window_pos): make optional because it may not be the
5818         right thing to do and it introduces differences with X.
5819         (mswindows_unmap_subwindow): ditto.
5820         (mswindows_map_subwindow): ditto.
5821         (mswindows_redisplay_subwindow): renamed from
5822         mswindows_update_subwindow.
5823         (mswindows_redisplay_widget): ditto.
5824         (mswindows_button_redisplay): renamed from
5825         mswindows_button_update. Update is now what the instantiation
5826         function does for a changed instantiator.
5827         (mswindows_progress_gauge_instantiate): set the progress value
5828         here if appropriate.
5829         (mswindows_tab_control_redisplay): cope with re-ordering of the
5830         members of the tab widget by simply selecting the new top
5831         widget. This makes things appear ok if you click on a tab.
5832         (mswindows_combo_box_instantiate): image_instance_layout now takes
5833         position as well as size.
5834         (mswindows_progress_gauge_redisplay): renamed from
5835         mswindows_progress_gauge_update.
5836         (console_type_create_glyphs_mswindows): fix update -> redisplay.
5837         (image_instantiator_format_create_glyphs_mswindows): ditto.
5838
5839         * glyphs-eimage.c (jpeg_normalize):
5840         (gif_normalize):
5841         (png_normalize):
5842         (tiff_normalize): add dest_mask so that it can be proprogated by
5843         layout_normalize.
5844
5845         * elhash.c:
5846         (print_hash_table):
5847         (hash_table_weakness_validate):
5848         (decode_hash_table_weakness):
5849         (Fhash_table_weakness):
5850         (Fhash_table_type):
5851         (syms_of_elhash): use Ben's naming scheme for hashtable types..
5852
5853         * console.h (struct console_methods): move update_* to
5854         redisplay_*.
5855
5856 2000-07-20  Ben Wing  <ben@xemacs.org>
5857
5858         * *.[ch] (XSETOBJ): remove unused middle argument.
5859         lisp-disunion.h: correct wrap_object() to one argument.
5860
5861 2000-07-15  Ben Wing  <ben@xemacs.org>
5862
5863         * s/cygwin32.h:
5864         * s/cygwin32.h (CYGWIN_CONV_PATH):
5865         Add missing logb prototype for v1.1.
5866         Use post-b20 names and alias to pre-b20 names when pre-b20.
5867
5868         * s/windowsnt.h: [5].
5869
5870 2000-07-15  Ben Wing  <ben@xemacs.org>
5871
5872         * Makefile.in.in (x_objs):
5873         * Makefile.in.in (sheap_objs):
5874         * Makefile.in.in (objs):
5875         added win32.o, cosmetic cleanups.
5876
5877         * alloc.c (Fmake_byte_code):
5878         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
5879         etc. macros which declare their own args now.
5880
5881         * alloc.c (syms_of_alloc):
5882         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
5883
5884         * buffer.c:
5885         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
5886
5887         * buffer.c (Fget_file_buffer):
5888         Fixed GCPRO problem.
5889
5890         * buffer.c (get_truename_buffer):
5891         Fixed comment about GC checking.
5892
5893         * buffer.c (syms_of_buffer):
5894         Undeclared those dedicated frame funs.
5895         [2].
5896
5897         * buffer.h:
5898         Define convenience macros for internal/external conversions.
5899         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
5900         and Qenvironment_variable_encoding for cleaner code.
5901
5902         * bufslots.h:
5903         Remove dedicated-frame; in lisp.
5904
5905         * bytecode.c (funcall_compiled_function):
5906         [1].
5907
5908         * bytecode.c (syms_of_bytecode):
5909         [2].
5910
5911         * console-msw.c:
5912         * console-msw.c (mswindows_show_console): Rewrote.
5913
5914         * console-msw.c (Fmswindows_debugging_output): New.
5915         Sends to OutputDebugString (special MSWin debugger interface).
5916
5917         * console-msw.c (Fmswindows_message_box):
5918         Fixed stupid bugs so it works when called from kill-emacs.
5919
5920         * console-msw.c (syms_of_console_mswindows):
5921         Declare Fmswindows_debugging_output.
5922
5923         * console-msw.h:
5924         New MSWin prototypes.
5925
5926         * console-msw.h (struct mswindows_frame):
5927         New entry last-click-mods for improved button-modifier support.
5928
5929         * console-msw.h (FRAME_MSWINDOWS_POPUP):
5930         New struct entry `popup' with corresponding accessor.
5931
5932         * console-x.c:
5933         * console-x.c (split_up_display_spec):
5934         * console-x.c (get_display_arg_connection):
5935         * console-x.c (x_semi_canonicalize_console_connection):
5936         * console-x.c (x_canonicalize_device_connection):
5937         [[[6]]]: Change char to more specific type.
5938         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
5939
5940         * console-x.c (x_semi_canonicalize_console_connection):
5941         * console-x.c (x_canonicalize_device_connection):
5942         [[[9]]]: Fix up error signalling to use new structured error system.
5943
5944         * console-x.h:
5945         [[[4]]]: Define codesys aliases:
5946         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
5947         Qx_color_name_encoding, Qx_display_name_encoding.
5948
5949         * console.h (struct console_methods):
5950         New method make_dialog_box_internal supersedes older
5951         popup_dialog_box method.
5952
5953         * data.c:
5954         Define many new errors, part of new structured errors.
5955
5956         * data.c (init_errors_once_early):
5957         * data.c (syms_of_data):
5958         [2].
5959
5960         * device-msw.c (mswindows_init_device):
5961         [[[5]]]: Cleanup to support NT 3.51.
5962
5963         * device-msw.c (decode_devmode): Cleanup.
5964
5965         * device-msw.c (mswindows_handle_print_setup_dialog_box):
5966         * device-msw.c (mswindows_handle_print_dialog_box):
5967         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5968         * device-msw.c (syms_of_device_mswindows):
5969         Delete the dialog box primitives recently introduced by Kirill and
5970         instead interface to general dialog box interface.
5971
5972         * device-x.c:
5973         * device-x.c (compute_x_app_name):
5974         * device-x.c (x_init_device):
5975         * device-x.c (Fx_valid_keysym_name_p):
5976         * device-x.c (Fx_set_font_path):
5977         [6].
5978         [7].
5979
5980         * device.h (wrap_device): New.
5981         First of its kind; meant to replace XSETDEVICE.
5982
5983         * dialog-msw.c: Many file-dialog symbols.
5984
5985         * dialog-msw.c (mswindows_register_popup_frame): New.
5986         * dialog-msw.c (mswindows_is_dialog_msg): New.
5987         For supporting kbd traversal in dialog boxes.
5988
5989         * dialog-msw.c (dialog_proc):
5990         Support hitting ESC in dialogs.
5991
5992         * dialog-msw.c (struct):
5993         Common dialog box errors.
5994
5995         * dialog-msw.c (handle_file_dialog_box): New.
5996         Add file dialog code.
5997
5998         * dialog-msw.c (handle_question_dialog_box):
5999         Redo existing code to support new question dialog syntax.
6000
6001         * dialog-msw.c (console_type_create_dialog_mswindows):
6002         We support new dialog console method.
6003
6004         * dialog-msw.c (syms_of_dialog_mswindows):
6005         * dialog-msw.c (vars_of_dialog_mswindows):
6006         New file dialog symbols, vars.
6007
6008         * dialog-x.c:
6009         * dialog-x.c (maybe_run_dbox_text_callback):
6010         * dialog-x.c (dbox_descriptor_to_widget_value):
6011         * dialog-x.c (x_make_dialog_box_internal):
6012         * dialog-x.c (console_type_create_dialog_x):
6013         Mule-ize entire file.
6014         Redo to support question dialog syntax.
6015         [6].
6016
6017         * dialog.c:
6018         * dialog.c (Fmake_dialog_box_internal):
6019         * dialog.c (syms_of_dialog):
6020         Kill old popup-dialog-box, replace with new primitive.
6021         Just call device method or signal error.
6022
6023         * eldap.c (Fldap_open):
6024         * eldap.c (Fldap_search_basic):
6025         * eldap.c (Fldap_add):
6026         * eldap.c (Fldap_modify):
6027         [1].
6028         [7].
6029
6030         * emacs.c:
6031         * emacs.c (make_arg_list_1):
6032         * emacs.c (make_arg_list):
6033         Mule-ize call to dll_init().
6034         [6].
6035         [8].
6036
6037         * emacs.c (make_argc_argv):
6038         * emacs.c (free_argc_argv):
6039         * emacs.c (init_cmdargs):
6040         * emacs.c (main_1):
6041         * emacs.c (Fkill_emacs):
6042         * emacs.c (Fdump_emacs):
6043         Update comments about what can be used in syms_* etc.
6044         Call init_win32() when necessary.
6045         Fix up MS Win dialog box in kill-buffer to actually work right.
6046         [7].
6047
6048         * eval.c:
6049         * eval.c (For):
6050         * eval.c (Fand):
6051         * eval.c (Fprogn):
6052         * eval.c (Fprog1):
6053         * eval.c (Fprog2):
6054         * eval.c (FletX):
6055         * eval.c (Flet):
6056         * eval.c (condition_case_3):
6057         * eval.c (Feval):
6058         * eval.c (function_argcount):
6059         * eval.c (funcall_lambda):
6060         [1].
6061
6062         * eval.c (type_error): New.
6063         * eval.c (maybe_type_error): New.
6064         * eval.c (continuable_type_error): New.
6065         * eval.c (maybe_continuable_type_error): New.
6066         * eval.c (type_error_with_frob): New.
6067         * eval.c (maybe_type_error_with_frob): New.
6068         * eval.c (continuable_type_error_with_frob): New.
6069         * eval.c (maybe_continuable_type_error_with_frob): New.
6070         New functions for use with structured errors.
6071
6072         * event-Xt.c:
6073         * event-Xt.c (x_event_to_emacs_event):
6074         Buttons are now modifiers too.
6075
6076         * event-Xt.c (emacs_Xt_current_event_timestamp):
6077         Implement new event method.
6078         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6079
6080         * event-msw.c:
6081         * event-msw.c (ntpipe_shove_writer): [5].
6082         * event-msw.c (mswindows_enqueue_mouse_button_event):
6083         * event-msw.c (mswindows_drain_windows_queue):
6084         * event-msw.c (mswindows_wnd_proc): [7].
6085         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6086         * event-msw.c (mswindows_modifier_state):
6087         Throughout: support new button modifiers.
6088
6089         * event-msw.c (emacs_mswindows_current_event_timestamp):
6090         Implement new event method.
6091         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6092
6093         * event-stream.c:
6094         * event-stream.c (event_stream_current_event_timestamp): New.
6095         * event-stream.c (maybe_kbd_translate): New functionality.
6096         * event-stream.c (vars_of_event_stream):
6097         Document new kbd-translate-table functionality.
6098
6099         * event-stream.c (Fcurrent_event_timestamp): New.
6100         New primitive for use in fabricated events.
6101         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6102
6103         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6104
6105         * events.c:
6106         * events.c (Fmake_event):
6107         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6108         [1].
6109         [9].
6110
6111         * events.c (format_event_object): fix gcc warnings.
6112
6113         * events.c (Fevent_timestamp): Document new primitives.
6114
6115         * events.c (TIMESTAMP_HALFSPACE): New.
6116
6117         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6118         comparing timestamps correctly (half-space algorithm).
6119
6120         * events.c (Fevent_modifier_bits): Doc fix.
6121
6122         * events.c (Fevent_modifiers): Major doc addition.
6123         * events.c (event_x_y_pixel_internal): Typo fix.
6124         * events.c (syms_of_events): Declare new primitives.
6125
6126         * events.h:
6127         Update long comment for button modifiers, timestamps.
6128
6129         * events.h (struct event_stream):
6130         New current_event_timestamp method.
6131
6132         * extents.c:
6133         * extents.c (extent_in_region_p):
6134         * extents.c (decode_extent):
6135         * extents.c (Fset_extent_parent):
6136         * extents.c (decode_map_extents_flags):
6137         Fix gcc warnings.
6138         [9].
6139
6140         * extents.c (struct extent_at_arg):
6141         * extents.c (decode_extent_at_flag):
6142         * extents.c (extent_at_mapper):
6143         * extents.c (extent_at_bytind):
6144         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6145         * extents.c (Fextents_at): New primitive. [9].
6146         * extents.c (symbol_to_glyph_layout): [9].
6147         Support new primitive `extents-at'.
6148
6149
6150         * extents.c (get_text_property_bytind):
6151         extent_at_bytind has another arg.
6152         [9].
6153
6154         * extents.c (syms_of_extents): New primitive.
6155
6156         * file-coding.c (Fmake_coding_system): [1].
6157         * file-coding.c (subsidiary_coding_system): fix gcc warning
6158         * file-coding.c (syms_of_file_coding): [2].
6159
6160         * fileio.c (Fexpand_file_name):
6161         * fileio.c (Fsysnetunam):
6162         * fileio.c (Ffile_exists_p):
6163         * fileio.c (Ffile_executable_p):
6164         * fileio.c (Fverify_visited_file_modtime):
6165         Clean up GCPROing.
6166
6167         * fileio.c (syms_of_fileio): [2].
6168
6169         * filelock.c (lock_file_1):
6170         * filelock.c (current_lock_owner):
6171         * filelock.c (lock_if_free):
6172         * filelock.c (lock_file):
6173         * filelock.c (unlock_file):
6174         Clean up GCPROing.
6175
6176         * fns.c (concat): Fix gcc warning.
6177
6178         * fns.c (Fmember):
6179         * fns.c (Fold_member):
6180         * fns.c (Fmemq):
6181         * fns.c (Fold_memq):
6182         * fns.c (memq_no_quit):
6183         * fns.c (Fassoc):
6184         * fns.c (Fold_assoc):
6185         * fns.c (Fassq):
6186         * fns.c (Fold_assq):
6187         * fns.c (assq_no_quit):
6188         * fns.c (Frassoc):
6189         * fns.c (Fold_rassoc):
6190         * fns.c (Frassq):
6191         * fns.c (Fold_rassq):
6192         * fns.c (rassq_no_quit):
6193         * fns.c (Fdelete):
6194         * fns.c (Fold_delete):
6195         * fns.c (Fdelq):
6196         * fns.c (Fold_delq):
6197         * fns.c (delq_no_quit):
6198         * fns.c (Fremassoc):
6199         * fns.c (Fremassq):
6200         * fns.c (remassq_no_quit):
6201         * fns.c (Fremrassoc):
6202         * fns.c (Fremrassq):
6203         * fns.c (remrassq_no_quit):
6204         * fns.c (Freverse):
6205         * fns.c (mapcar1):
6206         [1].
6207
6208         * frame-msw.c (mswindows_init_frame_1):
6209         * frame-msw.c (mswindows_delete_frame):
6210         Register popups with dialog code so keyboard traversing works.
6211
6212         * frame-tty.c (tty_raise_frame_no_select): [1].
6213
6214         * frame-x.c:
6215         * frame-x.c (x_set_frame_text_value):
6216         * frame-x.c (x_set_frame_properties):
6217         * frame-x.c (x_create_widgets):
6218         [7].
6219
6220         * frame.c:
6221         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6222
6223         * frame.h (wrap_frame): New.
6224         Macro like wrap_device.
6225
6226         * general.c:
6227         * general.c (SYMBOL):
6228         * general.c (syms_of_general):
6229         Major reorg.  This is now just a wrapper and symbols themselves
6230         are listed in general-slots.h.
6231
6232         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6233         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6234
6235         * glyphs-msw.c (mswindows_native_layout_instantiate):
6236         Add DS_CONTROL so keyboard traversal will work.
6237
6238         * glyphs-widget.c:
6239         * glyphs-widget.c (syms_of_glyphs_widget):
6240         Move some symbols to general-slots.h.
6241
6242         * glyphs-x.c:
6243         * glyphs-x.c (xbm_instantiate_1):
6244         * glyphs-x.c (x_xbm_instantiate):
6245         * glyphs-x.c (x_xface_instantiate):
6246         * glyphs-x.c (autodetect_instantiate):
6247         * glyphs-x.c (cursor_font_instantiate):
6248         * glyphs-x.c (x_update_widget):
6249         * glyphs-x.c (x_widget_instantiate):
6250         * glyphs.c (bitmap_to_lisp_data):
6251         * glyphs.c (pixmap_to_lisp_data):
6252         [7].
6253
6254         * glyphs.c (syms_of_glyphs):
6255         [2].
6256
6257         * gui-x.c:
6258         * gui-x.c (print_widget_value):
6259         * gui-x.c (menu_separator_style_and_to_external):
6260         * gui-x.c (add_accel_and_to_external):
6261         * gui-x.c (button_item_to_widget_value):
6262         * gui-x.c (gui_items_to_widget_values_1):
6263         * gui-x.c (gui_items_to_widget_values):
6264         * gui-x.c (syms_of_gui_x):
6265         * gui-x.c (vars_of_gui_x):
6266         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6267         [9].
6268
6269         * gui-x.h:
6270         Muleize, prototype changes matching gui-x.c.
6271
6272         * gui.c:
6273         * gui.c (separator_string_p):
6274         * gui.c (gui_item_add_keyval_pair):
6275         * gui.c (make_gui_item_from_keywords_internal):
6276         * gui.c (signal_too_long_error):
6277         * gui.c (parse_gui_item_tree_item):
6278         * gui.c (syms_of_gui):
6279         * gui.c (vars_of_gui):
6280         * gui.h:
6281         menu-no-selection-hook moved here (used by MSWin).
6282         Move some symbols to general-slots.h.
6283         [6].
6284         [9].
6285
6286         * insdel.c (get_buffer_pos_char):
6287         * insdel.c (get_buffer_range_char):
6288         Add GC comments.
6289
6290         * keymap.c (keymap_lookup_directly):
6291         * keymap.c (keymap_store):
6292         * keymap.c (ensure_meta_prefix_char_keymapp):
6293         * keymap.c (describe_map):
6294         * keymap.h:
6295         Support new button modifiers.
6296
6297         * lisp-disunion.h (wrap_object):
6298         * lisp-disunion.h (XSETOBJ):
6299         Rename make_obj to wrap_object.
6300
6301         * lisp-union.h:
6302         * lisp-union.h (make_int):
6303         * lisp-union.h (make_char):
6304         Support wrap_object.
6305
6306         * lisp.h:
6307         * lisp.h (LIST_LOOP):
6308         * lisp.h (EXTERNAL_LIST_LOOP):
6309         * lisp.h (LIST_LOOP_2):
6310         * lisp.h (EXTERNAL_LIST_LOOP_1):
6311         * lisp.h (EXTERNAL_LIST_LOOP_2):
6312         * lisp.h (EXTERNAL_LIST_LOOP_3):
6313         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6314         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6315         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6316         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6317         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6318         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6319         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6320         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6321         * lisp.h (struct Lisp_Symbol):
6322         * lisp.h (maybe_continuable_error_with_frob):
6323         Fix up section comments.
6324         Add new types for char to indicate usage.
6325         Delete symbols auto-generated from general-slots.h.
6326         Add prototypes for structured error functions.
6327         Add long comments describing looping macros and change interface
6328         so that lvalues are automatically declared.
6329         Add NO_DECLARE macro in case callers want to declare lvalues
6330         themselves.
6331
6332         * lread.c (read_syntax_error):
6333         * lread.c (continuable_read_syntax_error):
6334         * lread.c (read_structure):
6335         * lread.c (sequence_reader):
6336         * lread.c (read_list_conser):
6337         * lread.c (read_compiled_function):
6338         Rename syntax_error and continuable_syntax_error to avoid clash
6339         with same-named structured error functions.
6340
6341         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6342         * menubar-msw.c (populate_menu_add_item):
6343         * menubar-msw.c (populate_or_checksum_helper):
6344         [5].
6345         [9].
6346
6347         * menubar-x.c:
6348         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6349         Mule-ize whole file.
6350
6351         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6352
6353         * mule-charset.c (Fmake_charset):
6354         * mule-wnnfns.c (Fwnn_set_param):
6355         [1].
6356
6357         * ntproc.c (create_child):
6358         * ntproc.c (Fwin32_set_current_locale):
6359         Add comments portending doom.
6360
6361         * objects-msw.c:
6362         * objects-msw.c (old_font_enum_callback_2):
6363         * objects-msw.c (font_enum_callback_1):
6364         * objects-msw.c (mswindows_enumerate_fonts):
6365         [5].
6366
6367         * objects-x.c:
6368         * objects-x.c (allocate_nearest_color):
6369         * objects-x.c (x_parse_nearest_color):
6370         * objects-x.c (x_initialize_color_instance):
6371         * objects-x.c (x_print_color_instance):
6372         * objects-x.c (x_finalize_color_instance):
6373         * objects-x.c (x_valid_color_name_p):
6374         * objects-x.c (x_initialize_font_instance):
6375         * objects-x.c (x_print_font_instance):
6376         * objects-x.c (valid_x_font_name_p):
6377         * objects-x.c (truename_via_FONT_prop):
6378         * objects-x.c (truename_via_random_props):
6379         * objects-x.c (truename_via_XListFonts):
6380         * objects-x.c (x_font_truename):
6381         * objects-x.c (x_font_instance_truename):
6382         * objects-x.c (x_font_instance_properties):
6383         * objects-x.c (x_list_fonts):
6384         * objects-x.c (x_find_charset_font):
6385         Mule-ize entire file.
6386         [7].
6387
6388         * objects-x.h:
6389         Mule-verify.
6390
6391         * print.c:
6392         * print.c (std_handle_out_external):
6393         * print.c (debug_print_no_newline):
6394         * print.c (syms_of_print):
6395         Output to all debugger kinds in debug-print.
6396         Fix console-output code under MSWin to actually work.
6397
6398         * process-nt.c (send_signal):
6399         * process-nt.c (nt_create_process):
6400         Use newer Unicode macros.
6401
6402         * process-unix.c (unix_create_process):
6403         * process-unix.c (unix_canonicalize_host_name):
6404         * process-unix.c (unix_open_network_stream):
6405         [7].
6406
6407         * scrollbar-x.c:
6408         Mule-verify.
6409
6410         * search.c (syms_of_search):
6411         [2].
6412
6413         * select-msw.c (mswindows_destroy_selection):
6414         Use LIST_LOOP_2.
6415
6416         * select-x.c (symbol_to_x_atom):
6417         [7].
6418
6419         * select.c (syms_of_select):
6420         [2].
6421
6422         * sound.c (Fplay_sound_file):
6423         [7].
6424
6425         * specifier.c:
6426         * specifier.c (decode_specifier_type):
6427         * specifier.c (Fvalid_specifier_locale_type_p):
6428         * specifier.c (check_valid_locale_or_locale_type):
6429         * specifier.c (decode_locale):
6430         * specifier.c (decode_locale_type):
6431         * specifier.c (decode_locale_list):
6432         * specifier.c (check_valid_domain):
6433         * specifier.c (decode_specifier_tag_set):
6434         * specifier.c (Fcanonicalize_tag_set):
6435         * specifier.c (Fdefine_specifier_tag):
6436         * specifier.c (Fspecifier_tag_predicate):
6437         * specifier.c (check_valid_inst_list):
6438         * specifier.c (check_valid_spec_list):
6439         * specifier.c (decode_how_to_add_specification):
6440         * specifier.c (check_modifiable_specifier):
6441         * specifier.c (specifier_add_spec):
6442         * specifier.c (boolean_validate):
6443         * specifier.c (display_table_validate):
6444         [9].
6445
6446         * specifier.c (syms_of_specifier):
6447         Move some symbols to general-slots.h.
6448         [2].
6449
6450         * symbols.c:
6451         * symbols.c (Fmapatoms):
6452         * symbols.c (Fapropos_internal):
6453         Add GCPROs.
6454
6455         * symbols.c (set_default_buffer_slot_variable):
6456         * symbols.c (set_default_console_slot_variable):
6457         [1].
6458
6459         * symbols.c (defsymbol_massage_name_1):
6460         * symbols.c (defkeyword_massage_name):
6461         * symbols.c (deferror_1):
6462         * symbols.c (deferror):
6463         * symbols.c (deferror_massage_name_and_message):
6464         * symeval.h:
6465         * symeval.h (DEFSYMBOL):
6466         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6467
6468         * symbols.c (syms_of_symbols):
6469         [2].
6470
6471         * symsinit.h:
6472         * symsinit.h (init_win32): New.
6473         Also new is syms_of_dialog_mswindows.
6474
6475         * syswindows.h:
6476         Add new Unicode macros, missing Cygwin wide-char functions,
6477         convenience conversion macros for Qmswindows_tstr, macros for
6478         encapsulating required MSWin <-> Cygwin filename conversions,
6479         prototype for dynamically-extracted (not in NT 3.51) functions.
6480
6481         * toolbar-x.c:
6482         Mule-verify.
6483
6484         * tooltalk.c (Fadd_tooltalk_message_arg):
6485         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6486         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6487         [7].
6488
6489         * tooltalk.c (syms_of_tooltalk):
6490         [2].
6491
6492         * unexnt.c:
6493         * unexnt.c (unexec):
6494         Fix up headers, declaration of unexec() to be more standard.
6495
6496 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6497
6498         * offix.h: Revert change to guard macros - they're used in offix.c!
6499
6500 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6501
6502         * lisp.h: Defsubred Fdelete.
6503
6504         * console-msw.h:  (msprinter_default_printer): Added.
6505
6506         * console-msw.c (msprinter_canonicalize_console_connection):
6507         (msprinter_canonicalize_device_connection): Added.
6508
6509         * device-msw.c (msprinter_default_printer):
6510         (Fmswingows_get_default_printer):
6511         (signal_enum_priner_error):
6512         (Fmswingows_printer_list): Added.
6513
6514 2000-07-19  Martin Buchholz <martin@xemacs.org>
6515
6516         * XEmacs 21.2.35 is released.
6517
6518 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6519
6520         * select-x.c (x_handle_selection_request):
6521         Text selected in xemacs and pasted into xterm failed to appear.
6522         Spelling fixes and cosmetic changes.
6523
6524 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6525
6526         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6527         XEmacs frame (fix for doubling chars in dialog boxes).
6528
6529 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6530
6531         * select.c (select_convert_in, select_convert_out):
6532         Don't call intern() every time.
6533
6534         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6535         * select.c (vars_of_select): Initialise them.
6536
6537 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6538
6539         * select.c (selection-coercible-types): New.
6540
6541         * select.c (own-selection-internal):
6542         * select.c (get-selection-internal):
6543         MULE bug fix - these should default to COMPOUND_TEXT and not
6544         STRING for MULE. I think.
6545
6546         * select.c (select_convert_out): Use selection-coercible-types
6547         to find types that we can attempt to perform coercions on.
6548
6549 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6550
6551         * mule-wnnfns.c:
6552         * mule-canna.c:
6553         Add coding: cookie to identify encoding.
6554
6555         * mule-canna.c (CANNA_mode_keys): make static.
6556         Use proper prototypes, even for functions of no arguments.
6557         Remove external prototype for Fding().
6558
6559         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6560
6561         * select.c (syms_of_select): Add missing DEFSUBR.
6562
6563 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6564
6565         * select.c (get_selection_internal, own_selection_internal):
6566         Make the type default to STRING, rather than placing a nil type
6567         into Vselection_alist.
6568
6569 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6570
6571         * gpmevent.c (tty_selection_exists_p):
6572         * gpmevent.c (tty_own_selection):
6573         Updated parameter lists.
6574
6575 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
6576
6577         * select.h (selection-alist): Removed declaration.
6578
6579         * select.h (get_local_selection):
6580         * select.c (get_local_selection):
6581         Made static.
6582
6583         * select.h (convert_selection): Removed declaration.
6584         * select.c (convert_selection): Removed.
6585         This function belongs in Lisp.
6586
6587         * select.h (select_convert_in): Declare.
6588         * select.h (select_convert_out): Declare.
6589         * select.c (select_convert_in): New.
6590         * select.c (select_convert_out): New.
6591         New conversion functions for other files to call.
6592
6593         * select.h (select_notify_buffer_kill): Declare.
6594         * select.c (select_notify_buffer_kill): New.
6595         New functions that get called from kill-buffer.
6596
6597         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
6598         X-specific lisp code.
6599
6600         * select.h: Declare some of the lisp-visible functions for
6601         external use.
6602
6603         * select.c (clean_local_selection_data): Removed. This was
6604         a disgusting function, and previously should have been in
6605         select-x.c in any case. The functionality is now provided
6606         in select-convert-from-integer (select.el).
6607
6608         * select.c (available-selection-types): Fixed stupidity where
6609         INTEGER and ATOM got added twice. Also add STRING when we see an
6610         extent.
6611
6612         * select.c (get-selection-internal): Removed symbol stripping. No
6613         longer causes conversion when data comes from the internal cache.
6614
6615         * select.c (syms_of_select): Added new functions.
6616
6617         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
6618         error checking - previously this called abort!
6619
6620         * select-x.c (x_own_selection): Changed comment.
6621
6622         * select-x.c (x_handle_selection_request): Use select_convert_out.
6623         Don't mess with selection-alist; it's an internal variable of select.c.
6624
6625         * select-x.c (x_get_foreign_selection): Use select_convert_in.
6626
6627         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
6628         rather than messing with selection-alist.
6629
6630         * select-msw.c (mswindows_get_foreign_selection):
6631         Use TO_INTERNAL_FORMAT rather than hacking.
6632
6633 2000-07-14  Martin Buchholz  <martin@xemacs.org>
6634
6635         * process-unix.c (unix_open_multicast_group):
6636         (unix_open_multicast_group): Remove useless casts.
6637
6638 2000-07-13  Martin Buchholz  <martin@xemacs.org>
6639
6640         * sound.c (Fplay_sound): Fix `unused variable' warning.
6641
6642         * emacs.c (main): Use correct type for _environ on SCO5.
6643
6644 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
6645
6646         * console.h (own_selection_method):
6647         * console.h (selection_exists_p_method):
6648         * console.h (available_selection_types_method): New.
6649         * console.h (register_selection_data_type_method): New.
6650         * console.h (selection_data_type_name): New.
6651
6652         * console-msw.h (mswindows_destroy_selection): Declare it.  New
6653         function & alist to track GlobalAlloc()'d handles that need
6654         releasing when the clipboard data gets replaced or emptied.
6655
6656         * event-msw.c (mswindows_wnd_proc): Call it.
6657
6658         * lisp.h, general.c (Qappend): New symbol representing a
6659         `how-to-add' mode.
6660
6661         * select.c (own-selection-internal):
6662         * select.c (selection-exists-p):
6663         * select.c (available-selection-types): New.
6664         * select.c (register-selection-data-type): New.
6665         * select.c (selection-data-type-name): New.  New functions to deal
6666         with device-specific selection data formats.
6667         * select.c (selection-converter-out-alist): Renamed.
6668         * select.c (selection-converter-in-alist): New.
6669         * select.c (selection-appender-alist): New.  Added new alists.
6670         * select.c (syms_of_select, vars_of_select): Added new symbols &
6671         variables.
6672         * select.c (get_local_selection): Split.
6673         * select.c: Removed spurious type checking - selections may now be
6674         of any type, not just strings.
6675         * select.c (own-selection-internal):
6676
6677         * select.h, select.c (convert_selection): New. Created
6678         convert_selection() function based on get_local_selection().
6679         * select.h, select.c (QCF_*): New symbols representing mswindows
6680         clipboard formats.
6681         * select.h, select.c (Qreplace_all, Qreplace_existing): New
6682         symbols representing `how-to-add' modes.
6683
6684         * select-msw.c (x_sym_p): New.
6685         * select-msw.c (symbol_to_ms_cf): New.
6686         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
6687         symbols & clipboard formats. Can also handle string names.
6688         * select-msw.c (mswindows_own_selection):
6689         * select-msw.c (mswindows_selection_exists_p):
6690         Added `data-type' parameter. Use it.
6691         * select-msw.c (mswindows_available_selection_types): New.
6692         * select-msw.c (mswindows_register_selection_data_type): New.
6693         * select-msw.c (mswindows_selection_data_type_name): New.
6694         * select-msw.c (mswindows_own_selection):
6695         * select-msw.c (mswindows_get_foreign_selection):
6696         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
6697         * select-msw.c (console_create_select_mswindows): Added new methods.
6698         * select-msw.c (mswindows_destroy_selection): New.
6699         * select-msw.c (Vhandle_alist): New list.
6700         * select-msw.c (mswindows_own_selection):
6701
6702         * select-x.c (x_own_selection):
6703         * select-x.c (x_selection_exists_p):
6704         * select-x.c: Added some comments about maybe using new
6705         functionality.
6706         * select-x.c (x_own_selection):
6707
6708         * specifier.c: Remove definition of Qappend (now in general.c)
6709         * specifier.c (syms_of_specifier): Remove Qappend.
6710
6711 2000-07-12  Martin Buchholz  <martin@xemacs.org>
6712
6713         * config.h.in: Add socklen_t.
6714
6715         * s/decosf4-0.h: No special compiler flags needed or desired.
6716         In particular, undefine _BSD for DEC OSF 4.0.
6717
6718 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6719
6720         * redisplay-msw.c (msprinter_frame_output_end): Added.
6721         (console_type_create_redisplay_mswindows): Referred the above.
6722
6723         * frame.c (setup_frame_without_minibuffer): Do not create a
6724         default minibuffer frame on a printer device.
6725
6726         * frame-msw.c (apply_dc_geometry): Added.
6727         (msprinter_start_page):
6728         (msprinter_init_frame_3):
6729         (msprinter_eject_page): Use it.
6730
6731         * console-msw.h (struct msprinter_frame): Added pix_left and top,
6732         and removed residual duplex and orientation properties.
6733
6734 2000-07-11  Martin Buchholz  <martin@xemacs.org>
6735
6736         * eval.c (function_argcount): Work around a DEC CC compiler bug.
6737
6738         * unexalpha.c: Remove system prototypes from C sources!
6739
6740 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
6741
6742         * eval.c: Remove references to M-x edit-options in DEFUNs for
6743         `defvar' and `defconst'.
6744
6745 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6746
6747         * config.h.in: Remove SMART_INCLUDE hackery.
6748
6749         PostgreSQL hacking:
6750         * config.h.in: Don't use SMART_INCLUDE.
6751
6752         * postgresql.h: Include libpq-fe.h here.  Fix typo.
6753         * inline.c: Simply #include "postgresql.h"
6754         * postgresql.c:
6755         - Don't use SMART_INCLUDE
6756         - Use simply "const".
6757         - Use standard doc string conventions.
6758         - Use correct type for result of PQstatus.
6759
6760 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6761
6762         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
6763
6764         C++ compilation changes.
6765         * config.h.in (EXTERN_C): Define.
6766         * config.h.in (not): This is also a C++ keyword.
6767         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
6768         * cm.c: Use EXTERN_C.
6769         * redisplay-tty.c: Use EXTERN_C.
6770         * sysdep.c: Use EXTERN_C.  Remove Gould support.
6771
6772 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6773
6774         * general.c: Remove duplicate definition for Qfunction.
6775
6776 2000-07-08  Ben Wing  <ben@xemacs.org>
6777
6778         * device-msw.c (msprinter_init_device):
6779         * device-msw.c (sync_printer_with_devmode):
6780         * device-msw.c (handle_devmode_changes):
6781         * device-msw.c (print_dialog_worker):
6782         * device-msw.c (Fmsprinter_apply_settings):
6783         * device-msw.c (hash_devmode):
6784         * device-msw.c (Fmsprinter_settings_despecialize):
6785         use Qmswindows_tstr, not Qctext.
6786
6787         * vm-limit.c (check_memory_limits):
6788         avoid infinite loop printing warning messages.
6789
6790 2000-07-05  Craig Lanning  <lanning@scra.org>
6791
6792         * Makefile.in.in: Add support for including the Windows resources
6793         when building with the cygwin and mingw targets.
6794
6795         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
6796         not set or not correct.
6797         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
6798         (init_initial_directory): Don't try to use $PWD on the
6799         WIN32_NATIVE target.
6800
6801         * s\cygwin32.h:
6802         [[Add -mwindows to eliminate console window.]] not required --ben
6803         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6804         (MAIL_USE_POP): removed; now handled by configure.
6805
6806         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
6807         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
6808         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6809         (MAIL_USE_POP): removed; now handled by configure.
6810         (ENCAPSULATE_STAT): from Dan Holmsand, added.
6811         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
6812         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
6813         constant string.
6814         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
6815         up from <winsock.h> via systime.h.
6816         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
6817         (getpagesize): from Dan Holmsand, added.
6818         Added #endif which was left dangling by Ben's mega patch; added
6819         comment to help prevent this in the future.
6820
6821         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
6822
6823 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6824
6825         * console-msw.h (struct mswindows_device): Removed unnecessary
6826         cached device geometry values.
6827         Added update_tick and an accessor macro.
6828         (Lisp_Devmode): Added lrecord declaration.
6829         (struct msprinter_device): Contain devmode as a Lisp object.
6830         Added mswindows_get_selected_frame_hwnd();
6831
6832         * console.h (struct console_methods): Indentation nitpicking.
6833
6834         * device-msw.c (mswindows_init_device): Do not initialize geometry
6835         cache. Initialize update tick.
6836         (mswindows_device_system_metrics): Ask the device for its geometry.
6837         (global_free_2_maybe):
6838         (devmode_to_hglobal):
6839         (handle_printer_changes):
6840         (ensure_not_printing):
6841         (print_dialog_worker):
6842         (Fmsprinter_print_setup_dialog):
6843         (Fmsprinter_print_dialog):
6844         (plist_get_margin):
6845         (plist_set_margin):
6846         (Fmsprinter_page_setup_dialog): Added functions.
6847         (sync_printer_with_devmode):
6848         (handle_devmode_changes):
6849         (Fmsprinter_get_settings):
6850         (Fmsprinter_select_settings):
6851         (Fmsprinter_apply_settings):
6852         (allocate_devmode):
6853         (Fmsprinter_settings_copy):
6854         (Fmsprinter_settings_despecialize):
6855         (print_devmode):
6856         (finalize_devmode):
6857         (equal_devmode):
6858         (hash_devmode): Added functions
6859         (syms_of_device_mswindows): Init devmode lrecord class.
6860
6861         * device.h: Added an exfun for find-device.
6862
6863         * event-msw.c (mswindows_wnd_proc): Do not update the cached
6864         geometry; although, recreate the device compatible DC.
6865
6866         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
6867         (msprinter_init_frame_3):
6868         (msprinter_frame_property):
6869         (msprinter_internal_frame_property_p):
6870         (msprinter_frame_properties):
6871         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
6872         print job properties (will move to device settings).
6873
6874         * lisp.h: Added symbols.
6875
6876         * general.c (syms_of_general): Declared them.
6877
6878         * hash.c (string_hash): Added.
6879
6880         * lrecord.h (lrecord_type): Added devmode lrecord type.
6881
6882 2000-07-02  Mike Sperber <mike@xemacs.org>
6883
6884         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
6885         FreeBSD 4.0.
6886
6887 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
6888
6889         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
6890         integer.
6891
6892 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
6893
6894         * data.c (Fstring_to_number): Don't recognize floating point if
6895         base is not 10.
6896
6897 2000-06-22  Martin Buchholz  <martin@xemacs.org>
6898
6899         * glyphs-widget.c (tab_control_query_geometry):
6900         (widget_query_geometry):
6901         (button_query_geometry):
6902         * glyphs.c (text_query_geometry):
6903         Enforce type correctness.
6904
6905 2000-06-18  Martin Buchholz  <martin@xemacs.org>
6906
6907         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
6908         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
6909
6910 2000-06-17  Martin Buchholz  <martin@xemacs.org>
6911
6912         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
6913         conflicts with gcc's fixincluded version of FOO.h.
6914
6915         * glyphs.h (image_instance_geometry): Remove trailing `,'
6916
6917 2000-06-08  Mike Alexander  <mta@arbortext.com>
6918
6919         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
6920         (shove_thread): Don't write the same output twice
6921         (make_ntpipe_output_stream): Increase priority of shove thread
6922         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
6923         chance to run
6924         (ntpipe_shove_closer): Don't delete the pipe until we're done with
6925         it.
6926
6927 2000-06-12  Ben Wing  <ben@xemacs.org>
6928
6929         * s\mingw32.h (sigset):
6930         * s\windowsnt.h (sigset):
6931         rename msw_ to mswindows_ for consistency with general convention.
6932
6933 2000-06-12  Ben Wing  <ben@xemacs.org>
6934
6935         * console-msw.c:
6936         * console-msw.c (mswindows_get_console_hwnd):
6937         * console-msw.c (mswindows_ensure_console_allocated):
6938         * console-msw.c (mswindows_hide_console):
6939         * console-msw.c (mswindows_show_console):
6940         * console-msw.c (mswindows_ensure_console_buffered):
6941         * console-msw.c (mswindows_output_console_string):
6942         * console-msw.c (mswindows_windows9x_p):
6943         * console-msw.h:
6944         * device-msw.c (mswindows_get_workspace_coords):
6945         * device-msw.c (mswindows_device_system_metrics):
6946         * dialog-msw.c (mswindows_popup_dialog_box):
6947         * event-msw.c (mswindows_wnd_proc):
6948         * frame-msw.c (mswindows_size_frame_internal):
6949         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6950         * menubar-msw.c (displayable_menu_item):
6951         * menubar-msw.c (mswindows_char_is_accelerator):
6952         * nt.c:
6953         * nt.c (mswindows_sigset):
6954         * nt.c (mswindows_sigrelse):
6955         * nt.c (mswindows_sigpause):
6956         * nt.c (mswindows_raise):
6957         * nt.c (timer_proc):
6958         * ntproc.c:
6959         * ntproc.c (find_child_console):
6960         * ntproc.c (sys_kill):
6961         * print.c:
6962         * print.c (std_handle_out_external):
6963         * process-nt.c (find_child_console):
6964         * process-nt.c (send_signal_the_95_way):
6965         * process-nt.c (ensure_console_window_exists):
6966         * process-nt.c (nt_create_process):
6967         * syssignal.h:
6968         rename msw_ to mswindows_ for consistency with general convention.
6969
6970         * emacs.c:
6971         * dumper.c:
6972         include nt.h, not syswindows.h.
6973
6974         * nt.c (mswindows_fstat):
6975         * nt.c (mswindows_stat):
6976         prefix mswindows_ instead of attempting to directly override the
6977         library functions.  fix declarations.
6978
6979         * nt.h:
6980         include syswindows.h.  move some sysdep.h stuff here.
6981
6982         * ntheap.h:
6983         include syswindows.h, not <windows.h>.
6984
6985         * ntplay.c:
6986         clean up headers.
6987
6988         * sysdep.c:
6989         clean up headers.
6990
6991         * sysdep.c (sys_fstat):
6992         * sysdep.c (sys_stat):
6993         call mswindows versions when appropriate.
6994
6995         * sysdep.h:
6996         move mswin decls to nt.h.
6997
6998         * syswindows.h:
6999         add long comment describing appropriate use of the various windows
7000         headers.
7001
7002 2000-06-11  Ben Wing  <ben@xemacs.org>
7003
7004         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7005
7006 2000-06-10  Ben Wing  <ben@xemacs.org>
7007
7008         * Makefile.in.in (release):
7009         Correction to make sure xemacs.exe always dumped when correct.
7010
7011         * alloca.c:
7012         * balloon_help.c:
7013         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7014
7015         * buffer.c (set_buffer_internal):
7016         [[[[2]]]]: Remove HAVE_FEP code.
7017
7018         * buffer.c (init_initial_directory):
7019         [3].
7020
7021         * bytecode.c:
7022         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7023         individual files.
7024
7025         * callproc.c:
7026         * callproc.c (call_process_cleanup):
7027         * callproc.c (Fold_call_process_internal):
7028         * callproc.c (child_setup):
7029         * callproc.c (getenv_internal):
7030         * callproc.c (init_callproc):
7031         * callproc.c (vars_of_callproc):
7032         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7033         __CYGWIN32__ -> CYGWIN.
7034         DOS_NT -> WIN32_NATIVE.
7035         Remove MSDOS support/references, converting to WIN32_NATIVE
7036           where correct.
7037         __MINGW32__ -> MINGW.
7038         Fix windows.h includes.
7039         Remove bogus HAVE_NTGUI.
7040
7041         * config.h.in:
7042         [2].
7043
7044         * console-msw.c:
7045         mswindows_message_outputted added for use in allowing startup
7046         errors on the console to be seen.
7047
7048         * console-msw.c (msw_ensure_console_allocated):
7049         * console-msw.c (msw_output_console_string):
7050         * console-msw.c (DHEADER):
7051         * console-msw.c (DOPAQUE_DATA):
7052         * console-msw.c (DEVENT):
7053         * console-msw.c (DCONS):
7054         * console-msw.c (DCONSCDR):
7055         * console-msw.c (DSTRING):
7056         * console-msw.c (DVECTOR):
7057         * console-msw.c (DSYMBOL):
7058         * console-msw.c (DSYMNAME):
7059         Fix warnings.
7060
7061         * console-stream.c (stream_init_console):
7062         Fix text/binary problems.
7063
7064         * device-msw.c:
7065         * device-msw.c (mswindows_finish_init_device):
7066         * device-msw.c (mswindows_delete_device):
7067         [1].
7068
7069         * device.c (handle_asynch_device_change):
7070         [3].
7071
7072         * dgif_lib.c:
7073         * dgif_lib.c (DGifOpenFileName):
7074         * dgif_lib.c (DGifOpenFileHandle):
7075         * dgif_lib.c (DGifGetLine):
7076         * dgif_lib.c (DGifGetPixel):
7077         Added config.h/lisp.h, fix up includes.
7078         [1].
7079
7080         * dired-msw.c:
7081         [4].
7082
7083         * dired.c:
7084         * dired.c (file_name_completion):
7085         * dired.c (Ffile_attributes):
7086         * dired.c (syms_of_dired):
7087         [1].
7088
7089         * dumper.c:
7090         * dumper.c (pdump_file_unmap):
7091         * dumper.c (pdump_load):
7092         [1].
7093
7094         * editfns.c:
7095         * editfns.c (Ftemp_directory):
7096         * editfns.c (user_login_name):
7097         * editfns.c (Fuser_real_login_name):
7098         * editfns.c (get_home_directory):
7099         [1].
7100
7101         * elhash.c (finish_marking_weak_hash_tables):
7102         [[[[5]]]]: Fix GCC warnings.
7103
7104         * emacs.c:
7105         * emacs.c (mswindows_handle_hardware_exceptions):
7106         * emacs.c (make_arg_list_1):
7107         * emacs.c (main_1):
7108         * emacs.c (Fkill_emacs):
7109         * emacs.c (Fdump_emacs):
7110         [1].
7111         Fix problems with nested crashes, add long comment.
7112
7113         * event-Xt.c (init_event_Xt_late):
7114         [1].
7115
7116         * event-msw.c:
7117         * event-msw.c (mswindows_dde_callback):
7118         * event-msw.c (mswindows_handle_sticky_modifiers):
7119         * event-msw.c (mswindows_wnd_proc):
7120         [1].
7121         [5].
7122
7123         * events.c (character_to_event):
7124         [1].
7125
7126         * fileio.c:
7127         * fileio.c (Ffile_name_directory):
7128         * fileio.c (Ffile_name_nondirectory):
7129         * fileio.c (directory_file_name):
7130         * fileio.c (Fexpand_file_name):
7131         * fileio.c (Fsubstitute_in_file_name):
7132         * fileio.c (Ffile_name_absolute_p):
7133         * fileio.c (check_executable):
7134         * fileio.c (Ffile_readable_p):
7135         * fileio.c (Ffile_accessible_directory_p):
7136         * fileio.c (Ffile_modes):
7137         * fileio.c (Funix_sync):
7138         * fileio.c (vars_of_fileio):
7139         [1]. [4].
7140
7141         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7142
7143         Expand getdefdir defn.
7144         Fix bogus rename() comment.
7145
7146         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7147         to use standard XEmacs include files, e.g. sysfile.h, rather
7148         than system-specific includes.
7149
7150         * fns.c:
7151         * fns.c (Fsubseq):
7152         [5]. [6].
7153
7154         * frame.c (vars_of_frame):
7155         [1].
7156
7157         * getloadavg.c:
7158         * getloadavg.c (getloadavg):
7159         [1]. [6].
7160         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7161         (We don't use it elsewhere in the code; just add a comment.)
7162
7163         * gif_io.c:
7164         [6].
7165         Add config.h.
7166
7167         * glyphs-msw.c:
7168         * glyphs-msw.c (mswindows_resource_instantiate):
7169         [1].
7170
7171         * glyphs-x.c (x_native_layout_instantiate):
7172         [5].
7173
7174         * gui-msw.c (Fmswindows_shell_execute):
7175         [1].
7176
7177         * insdel.c:
7178         [4].
7179
7180         * lisp.h:
7181         [4]. [5].
7182
7183         * lread.c (locate_file_in_directory_mapper):
7184         [1].
7185
7186         * lstream.c:
7187         [4].
7188
7189         * mem-limits.h:
7190         * mem-limits.h (get_lim_data):
7191         [1].
7192
7193         * menubar-msw.c:
7194         [4].
7195
7196         * ndir.h:
7197         [1].
7198
7199         * nt.c:
7200         * nt.c (getwd):
7201         * nt.c (closedir):
7202         * nt.c (rva_to_section):
7203         * nt.c (mswindows_executable_type):
7204         [1]. [6].
7205         Fix closedir() defn.
7206
7207         * nt.h:
7208         [[[[8]]]]: *_OK defs moved to sysfile.h.
7209
7210         * ntproc.c:
7211         [6]. [7].
7212
7213         * objects-x.c:
7214         [4].
7215
7216         * print.c:
7217         * print.c (std_handle_out_external):
7218         [1]. [4].
7219
7220         * process-nt.c:
7221         * process-nt.c (nt_create_process):
7222         [6].
7223         try to fix process quoting somewhat.
7224
7225         * process-unix.c (unix_create_process):
7226         [1].
7227
7228         * process.c:
7229         * process.c (vars_of_process):
7230         Add Vnull_device.
7231
7232         * process.h:
7233         [1].
7234
7235         * realpath.c:
7236         * realpath.c (xrealpath):
7237         [1].
7238
7239         * redisplay-tty.c (init_tty_for_redisplay):
7240         [3].
7241
7242         * redisplay.c:
7243         [4]. [6].
7244
7245         * scrollbar-msw.c:
7246         [4].
7247
7248         * sheap.c:
7249         * sheap.c (more_static_core):
7250         * sheap.c (report_sheap_usage):
7251         [5]. [6].
7252
7253         * signal.c:
7254         * signal.c (alarm_signal):
7255         [1]. [6].
7256
7257         * sound.c:
7258         [6].
7259
7260         * strftime.c:
7261         * strftime.c (zone_name):
7262         [1]. [5].
7263
7264         * symsinit.h (init_sunpro):
7265         [1].
7266
7267         * syscommctrl.h:
7268         commctrl.h not in Cygwin b20.1.
7269
7270         * sysdep.c:
7271         * sysdep.c (endif):
7272         * sysdep.c (sys_subshell):
7273         * sysdep.c (init_baud_rate):
7274         * sysdep.c (emacs_get_tty):
7275         * sysdep.c (emacs_set_tty):
7276         * sysdep.c (tty_init_sys_modes_on_device):
7277         * sysdep.c (init_system_name):
7278         * sysdep.c (sys_open):
7279         * sysdep.c (interruptible_open):
7280         * sysdep.c (sys_fopen):
7281         * sysdep.c (sys_mkdir):
7282         * sysdep.c (sys_rename):
7283         * sysdep.c (get_process_times_1):
7284         [1]. [6].
7285
7286         * sysdep.h:
7287         [1].
7288
7289         * sysdir.h:
7290         * sysdir.h (DIRENTRY_NONEMPTY):
7291         [1]. [6].
7292
7293         * sysdll.c (dll_init):
7294         * sysdll.h:
7295         [1].
7296
7297         * sysfile.h:
7298         [1]. [6]. [8].
7299         added text/binary defs.
7300
7301         * sysfloat.h:
7302         [1].
7303
7304         * sysproc.h:
7305         * sysproc.h (EDESTADDRREQ):
7306         * sysproc.h (poll_fds_for_input):
7307         [1]. [6].
7308
7309         * syspwd.h:
7310         [6].
7311
7312         * syssignal.h:
7313         [1].
7314
7315         * systime.h:
7316         [1]. [6].
7317
7318         * systty.h:
7319         [1].
7320
7321         * syswindows.h:
7322         [1].
7323         Always define WIN32_LEAN_AND_MEAN.
7324
7325         * unexcw.c (unexec):
7326         [5].
7327
7328         * unexec.c:
7329         * unexec.c (copy_text_and_data):
7330         * unexec.c (adjust_lnnoptrs):
7331         [1].
7332
7333         * unexnt.c:
7334         * unexnt.c (_start):
7335         [1].
7336
7337 2000-06-07  Ben Wing  <ben@xemacs.org>
7338
7339         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7340         was used only as a model.  We've long since extracted any useful
7341         logic or code out of this. (I just did an exhaustive search.)
7342
7343         * s\msdos.h: Removed.
7344
7345         * s\windows95.h: Removed.
7346
7347 2000-06-10  Ben Wing  <ben@xemacs.org>
7348
7349         * s\cygwin32.h:
7350         [1]. [5].
7351         Don't use extern with fun defs.
7352
7353         * s\mingw32.h:
7354         [1]. [7].
7355         Remove nt\inc include.
7356         Remove getdisk, getdefdir. (The former is unused, the latter
7357         expanded in fileio.h.)
7358
7359         * s\windowsnt.h:
7360         * s\windowsnt.h (WIN32_NATIVE):
7361         * s\windowsnt.h (HAVE_STRCASECMP):
7362         [1]. [7].
7363         Add long comment about preprocessor changes.
7364         Remove getdisk, getdefdir. (The former is unused, the latter
7365         expanded in fileio.h.)
7366
7367 2000-06-10  Ben Wing  <ben@xemacs.org>
7368
7369         * m\arm.h:
7370         * m\delta.h:
7371         * m\intel386.h:
7372         * m\sequent.h:
7373         * m\template.h:
7374         * m\windowsnt.h:
7375         [1].
7376         Remove bogus/unused NO_SOCK_SIGIO.
7377
7378 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7379
7380         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7381         not an Emchar.
7382
7383 2000-06-04  Mike Sperber <mike@xemacs.org>
7384
7385         * casetab.c (set_case_table): For `set-standard-case-table',
7386         actually deposit the new case tables where the rest of XEmacs can
7387         see them.
7388
7389 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7390
7391         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7392
7393 2000-06-05  Ben Wing  <ben@xemacs.org>
7394
7395         * callproc.c (child_setup): Don't do close_load_descs() under
7396         MS Windows.  Put in a comment explaining why.
7397
7398 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7399
7400         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7401         Toolkit shell" which breaks `kill-compilation' on Windows NT
7402         native, retaining STDERR handling improvements.
7403
7404 2000-06-01  Andreas Jaeger  <aj@suse.de>
7405
7406         * s/s390.h: Support for S390, based on a patch by Martin
7407         Schwidefsky <schwidefsky@de.ibm.com>.
7408
7409 2000-05-30  Andy Piper  <andy@xemacs.org>
7410
7411         * window.c (allocate_window):
7412         (make_dummy_parent):
7413         (Fset_window_configuration): use new hashtable type.
7414
7415         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7416         (struct image_instantiator_methods):
7417         (struct Lisp_Image_Instance): make instance geometry signed.
7418
7419         * glyphs.c (instantiate_image_instantiator):
7420         (image_instance_query_geometry):
7421         (image_instance_layout):
7422         (image_instance_layout):
7423         (query_string_geometry):
7424         (text_query_geometry):
7425         (image_instantiate):
7426         (image_instantiate):
7427         (cache_subwindow_instance_in_frame_maybe):
7428         (subwindow_query_geometry): make instance geometry signed.
7429
7430         * glyphs-widget.c (widget_query_geometry):
7431         (widget_layout):
7432         (button_query_geometry):
7433         (tree_view_query_geometry):
7434         (tab_control_query_geometry):
7435         (layout_query_geometry):
7436         (layout_layout):
7437         (native_layout_layout): make instance geometry signed.
7438
7439 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7440
7441         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7442         constant.
7443
7444         * general.c (syms_of_general): Add Qfull_assoc symbol.
7445
7446         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7447         correctly.
7448         (decode_weak_list_type): Decode full-assoc type.
7449         (encode_weak_list_type): Encode full-assoc type.
7450         (Fmake_weak_list): Update doc string.
7451
7452 2000-05-30  Andy Piper  <andy@xemacs.org>
7453
7454         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7455
7456         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7457         (decode_hash_table_weakness): ditto.
7458         (Fhash_table_weakness): ditto.
7459         (Fhash_table_type): ditto.
7460         (finish_marking_weak_hash_tables): ditto.
7461         (hash_table_weakness_validate): ditto.
7462         (syms_of_elhash): ditto.
7463
7464 2000-05-28  Martin Buchholz <martin@xemacs.org>
7465
7466         * XEmacs 21.2.34 is released.
7467
7468 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7469
7470         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7471         start cache.
7472         (updating_line_start_cache): Gone.
7473         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7474         generic code to force a minimum of 1 line laid out in the
7475         CMOTION_DISP case.
7476
7477 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7478
7479         * glyphs.c (instantiate_image_instantiator): Check for initialized
7480         height & width no longer special cases IMAGE_NOTHING.
7481         (nothing_instantiate): Set height and width of instance.
7482
7483 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7484
7485         * unexelf.c (unexec): Search for ".data" section.
7486         Initialize new_data2_offset from old_data_index.
7487         Remove redundant check for ElfW.
7488
7489 2000-05-23  Andy Piper  <andy@xemacs.org>
7490
7491         * glyphs.c (get_image_instantiator_governing_domain): allow more
7492         specific domains as the governing domain rather than expecting an
7493         exact match. This fixes problems with layouts.
7494
7495 2000-05-22  Andy Piper  <andy@xemacs.org>
7496
7497         * redisplay-output.c (compare_runes): check for non-images
7498
7499         * glyphs.c (set_glyph_dirty_p): ditto.
7500         (update_glyph_cachel_data): ditto.
7501
7502         * glyphs-widget.c (layout_post_instantiate): ditto.
7503         (layout_post_instantiate): ditto.
7504
7505         * event-msw.c (mswindows_wnd_proc): warning removal.
7506
7507 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7508
7509         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7510
7511         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7512
7513         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7514
7515         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7516         (mswindows_executable_type): mingw32 now has enough headers for
7517         this to work.
7518
7519 2000-05-20  Andy Piper  <andy@xemacs.org>
7520
7521         * console-msw.c (mswindows_output_last_error): ; -> ,
7522
7523 2000-05-12  Andy Piper  <andy@xemacs.org>
7524
7525         * console-msw.c (FROB): compare ints with ints.
7526
7527 2000-05-11  Andy Piper  <andy@xemacs.org>
7528
7529         * glyphs-x.c (x_finalize_image_instance): make minimal build
7530         happy.
7531
7532 2000-05-20  Ben Wing  <ben@xemacs.org>
7533
7534         * event-Xt.c:
7535         * event-Xt.c (vars_of_event_Xt):
7536         move modifier-keys-are-sticky to event-stream.c.
7537
7538         * event-msw.c:
7539         * event-msw.c (mswindows_enqueue_mouse_button_event):
7540         * event-msw.c (key_needs_default_processing_p):
7541         * event-msw.c (XEMSW_LCONTROL):
7542         * event-msw.c (mswindows_handle_sticky_modifiers):
7543         * event-msw.c (FROB):
7544         * event-msw.c (clear_sticky_modifiers):
7545         * event-msw.c (output_modifier_keyboard_state):
7546         * event-msw.c (output_alt_keyboard_state):
7547         * event-msw.c (mswindows_wnd_proc):
7548         * event-msw.c (mswindows_modifier_state):
7549         * event-msw.c (emacs_mswindows_handle_magic_event):
7550         implement sticky modifiers.
7551
7552         * event-stream.c:
7553         * event-stream.c (vars_of_event_stream):
7554         move modifier-keys-are-sticky here.
7555
7556         * lisp.h:
7557         add CHECK_FUNCTION.
7558
7559         * rangetab.c:
7560         implement map-range-table.
7561
7562
7563 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7564
7565         * redisplay-tty.c (reset_tty_modes):
7566         (tty_redisplay_shutdown): Adjust argument type to
7567         tty_frame_output_end.
7568
7569 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7570
7571         * eval.c (Fbacktrace): Don't output a line with only right
7572         parenthesis.
7573
7574 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
7575
7576         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
7577         (Fpq_reset_poll): Ditto.
7578
7579 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
7580
7581         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
7582
7583 2000-05-16  Ben Wing  <ben@xemacs.org>
7584
7585         * buffer.c:
7586         * buffer.c (dfc_convert_to/from_internal_format):
7587         * buffer.c (reinit_vars_of_buffer):
7588         Fix conversion functions to allow reentrancy.
7589
7590         * console-msw.c:
7591         * console-msw.c (mswindows_output_last_error):
7592         New fun, generally useful -- output a human-readable
7593         version of GetLastError() on the console.
7594
7595         * console-msw.h:
7596         * console-msw.h (struct mswindows_frame):
7597         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
7598
7599         * console-stream.c (stream_output_begin):
7600         * console-stream.c (stream_output_end):
7601         * console-stream.c (stream_output_vertical_divider):
7602         * console-stream.c (stream_clear_region):
7603         * console-stream.c (stream_flash):
7604         * console-stream.c (console_type_create_stream):
7605         Delete blank stream methods, not needed.
7606
7607         * console.h (struct console_methods):
7608         Split begin/end methods into window and frame.
7609
7610         * event-msw.c:
7611         * event-msw.c (mswindows_handle_paint):
7612         * event-msw.c (output_alt_keyboard_state):
7613         * event-msw.c (mswindows_wnd_proc):
7614         * event-msw.c (vars_of_event_mswindows):
7615         Comment about problems with ignored-expose.
7616         Define mswindows-debug-events; not really implemented.
7617
7618         * frame-msw.c (mswindows_init_frame_1):
7619         random cleanups.
7620
7621         * glyphs-msw.c:
7622         * glyphs-msw.c (begin_defer_window_pos):
7623         * glyphs-msw.c (mswindows_unmap_subwindow):
7624         * glyphs-msw.c (mswindows_map_subwindow):
7625         * glyphs-msw.c (mswindows_resize_subwindow):
7626         Use DeferWindowPos to reduce flashing when mapping/unmapping.
7627
7628         * glyphs.c (make_image_instance_1):
7629         Fix crash.
7630
7631         * gutter.c (Fredisplay_gutter_area):
7632         Use new begin/end methods.
7633
7634         * lisp.h (Dynarr_new2):
7635         New creation fun.
7636
7637         * redisplay-msw.c:
7638         * redisplay-msw.c (mswindows_frame_output_begin):
7639         * redisplay-msw.c (mswindows_frame_output_end):
7640         * redisplay-msw.c (console_type_create_redisplay_mswindows):
7641         New begin/end methods -- handle DeferWindowPos.
7642
7643         * redisplay-output.c (redisplay_move_cursor):
7644         * redisplay-output.c (redraw_cursor_in_window):
7645         * redisplay-output.c (redisplay_update_line):
7646         * redisplay-output.c (redisplay_output_window):
7647         New begin/end methods.
7648
7649         * redisplay-tty.c:
7650         * redisplay-tty.c (tty_frame_output_begin):
7651         * redisplay-tty.c (tty_frame_output_end):
7652         * redisplay-tty.c (console_type_create_redisplay_tty):
7653         New begin/end methods.
7654
7655         * redisplay-x.c:
7656         * redisplay-x.c (x_window_output_begin):
7657         * redisplay-x.c (x_window_output_end):
7658         * redisplay-x.c (console_type_create_redisplay_x):
7659         New begin/end methods.
7660
7661         * redisplay.c (redisplay_frame):
7662         * redisplay.c (Fredisplay_echo_area):
7663         New begin/end methods.
7664         use MAYBE_DEVMETH for clear_frame; it may not exist.
7665
7666         * window.h (WINDOW_XFRAME):
7667         WINDOW_XFOO macros -- get locale and decode struct pointer.
7668
7669
7670 2000-05-12  Ben Wing  <ben@xemacs.org>
7671
7672         * emacs.c:
7673         * emacs.c (ensure_no_quitting_from_now_on):
7674         * emacs.c (fatal_error_signal):
7675         * emacs.c (mswindows_handle_hardware_exceptions):
7676         * emacs.c (main):
7677         * emacs.c (Fkill_emacs):
7678         * emacs.c (shut_down_emacs):
7679         * emacs.c (assert_failed):
7680         various improvements in fatal error handling.
7681
7682         * eval.c:
7683         move preparing_for_armageddon to emacs.c.
7684
7685         * lisp.h:
7686         declare fatal_error_in_progress.
7687
7688         * print.c:
7689         * print.c (std_handle_out_external):
7690         * print.c (std_handle_out_va):
7691         * print.c (stderr_out):
7692         * print.c (stdout_out):
7693         use console under mswin when no standard output.
7694         don't do code conversion during fatal error.
7695
7696         * scrollbar.c (Fscrollbar_page_up):
7697         * scrollbar.c (Fscrollbar_page_down):
7698         fix missing else.  reindent.
7699
7700 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
7701
7702         Emergency fix.
7703
7704         * glyphs.h (GLYPH_CACHEL_DESCENT):
7705         (GLYPH_CACHEL_DESCENT):
7706         (GLYPH_CACHEL_DESCENT):
7707         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
7708         used in case these are inline functions.
7709         Use more absurd values to error check.
7710
7711         include window.h for error check functions.
7712
7713 2000-05-11  Ben Wing  <ben@xemacs.org>
7714
7715         * cmdloop.c (Freally_early_error_handler):
7716         Display message box under windows; otherwise, message will disappear
7717         before it can be viewed.
7718
7719         * console-msw.c:
7720         * console-msw.c (Fmswindows_message_box):
7721         * console-msw.c (FROB):
7722         * console-msw.c (syms_of_console_mswindows):
7723         Define new fun `mswindows-message-box'.
7724         #### I will merge this into `popup-dialog-box'; just give me
7725         a bit of time.
7726
7727         * general.c:
7728         * general.c (syms_of_general):
7729         Some new symbols used in `mswindows-message-box'.
7730
7731         * glyphs.c:
7732         * glyphs.c (Fset_image_instance_property):
7733         put warning in this fun.
7734
7735         * glyphs.h:
7736         * glyphs.h (GLYPH_CACHEL_WIDTH):
7737         * glyphs.h (GLYPH_CACHEL_ASCENT):
7738         * glyphs.h (GLYPH_CACHEL):
7739         * glyphs.h (GLYPH_CACHEL_GLYPH):
7740         define error-checking versions to try to catch a bug i've seen --
7741         redisplay gets in an infinite loop because the glyph width of the
7742         continuation glyph is 65535.
7743
7744         * lisp.h:
7745         Extern message-box stuff.
7746
7747         * window.c (allocate_window):
7748         * window.c (make_dummy_parent):
7749         * window.c (Fset_window_configuration):
7750         Use EQUAL not EQ for subwindow caches to make them work a bit
7751         better. (Something is still very broken.)
7752
7753
7754 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7755
7756         * glyphs.c (image_instantiate): Suppress gcc warnings.
7757         (Fmake_image_instance): Fix doc string.
7758         * specifier.c (Fmake_specifier): Ditto.
7759
7760 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
7761
7762         * paths.h.in (PATH_LOCK): Removed.
7763         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
7764         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
7765
7766 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7767
7768         * fns.c (Ffeaturep): Update e-mail address in doc-string.
7769         Document (featurep '(and xemacs 21.02)).
7770
7771 2000-05-09  Ben Wing  <ben@xemacs.org>
7772
7773         * buffer.c (complex_vars_of_buffer):
7774         update modeline-format doc.
7775
7776         * device.h:
7777         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
7778
7779         * emacs.c:
7780         timeline of all released versions of Emacs, for use in creating
7781         authorship comments and in synching up.
7782
7783         * glyphs-widget.c (image_instantiator_buttons):
7784         * glyphs-widget.c (image_instantiator_edit_fields):
7785         * glyphs-widget.c (image_instantiator_combo_box):
7786         * glyphs-widget.c (image_instantiator_scrollbar):
7787         * glyphs-widget.c (image_instantiator_progress_guage):
7788         * glyphs-widget.c (image_instantiator_tree_view):
7789         * glyphs-widget.c (image_instantiator_tab_control):
7790         * glyphs-widget.c (image_instantiator_labels):
7791         * glyphs-widget.c (image_instantiator_layout):
7792         * glyphs-widget.c (image_instantiator_native_layout):
7793         rename decode_domain method to governing_domain.
7794
7795         * glyphs.c:
7796         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
7797         * glyphs.c (add_entry_to_device_ii_format_list):
7798         make sure we don't put an entry more than once into the list.
7799         * glyphs.c (check_instance_cache_mapper):
7800         *************************************************************
7801         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7802         HAVE BEEN GETTING.
7803         *************************************************************
7804         * glyphs.c (get_image_instantiator_governing_domain):
7805         clean up, expand on new concept of governing domain.
7806         * glyphs.c (instantiate_image_instantiator):
7807         * glyphs.c (allocate_image_instance):
7808         use governing_domain instead of cache_domain in naming.
7809         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
7810         * glyphs.c (make_image_instance_1):
7811         * glyphs.c (Fmake_image_instance):
7812         allow for any domain (not just device), and process the
7813         governing domain correctly.  very big doc fix.
7814         * glyphs.c (Fimage_instance_domain):
7815         new primitive, to retrieve the governing domain of an image instance.
7816         * glyphs.c (image_instantiate):
7817         use new governing_domain stuff.  this fixes a crash you could get
7818         by instantiating certain widget glyphs in frame locales. (should
7819         signal an error instead of crashing.)
7820         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
7821         * glyphs.c (Fglyphp): clean up doc.
7822         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
7823         * glyphs.c (syms_of_glyphs):
7824         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
7825         * glyphs.c (image_instantiator_format_create): add some comments about
7826         bogus code.
7827         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
7828         for current-display-table. (Apparently Hrjove implemented in 1998 a
7829         design I wrote up in 1996, but didn't update the doc string.)
7830
7831         * glyphs.h: clean up a doc string.
7832         * glyphs.h (governing_domain):
7833         * glyphs.h (struct image_instantiator_methods):
7834         changes for governing_domain stuff.
7835
7836         * gutter.c:
7837         * gutter.c (Fgutter_specifier_p):
7838         * gutter.c (Fgutter_size_specifier_p):
7839         * gutter.c (Fgutter_visible_specifier_p):
7840         * objects.c:
7841         * objects.c (Fcolor_specifier_p):
7842         * objects.c (Ffont_specifier_p):
7843         * objects.c (Fface_boolean_specifier_p):
7844         doc strings moved to make-*-specifier.
7845
7846         * redisplay.c (add_disp_table_entry_runes_1):
7847         * redisplay.c (generate_fstring_runes):
7848         * redisplay.c (screen):
7849         add random comments and doc strings.
7850
7851         * specifier.c:
7852         * specifier.c (Fmake_specifier):
7853         major overhaul of this doc string.
7854
7855         * specifier.c (Fvalid_specifier_domain_p):
7856         comment about the bogosity of image instances being domains.
7857         * specifier.c (decode_domain):
7858         now non-static, used in glyphs.c.
7859         * specifier.c (specifier_instance):
7860         comment about the bogosity of image instances being domains.
7861         * specifier.c (Fgeneric_specifier_p):
7862         move doc string to make-generic-specifier.
7863         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
7864         rebackslashify.
7865
7866         * specifier.h:
7867         * specifier.h (DOMAIN_FRAME):
7868         * specifier.h (DOMAIN_LIVE_P):
7869         * specifier.h (DOMAIN_XDEVICE):
7870         rebackslashify.
7871         add comments about problems with these macros.
7872         prototype for decode_domain.
7873
7874         * toolbar.c:
7875         * toolbar.c (Ftoolbar_specifier_p):
7876         move doc string to `make-toolbar-specifier'.
7877
7878         * window.c (window_unmap_subwindows_cache_mapper):
7879         *************************************************************
7880         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7881         HAVE BEEN GETTING.
7882         *************************************************************
7883
7884 2000-05-09  Andy Piper  <andy@xemacs.org>
7885
7886         * glyphs.h: declare reset_frame_subwindow_instance_cache.
7887
7888         * window.c (Fset_window_configuration): reset the frame subwindow
7889         cache and re-initialize the window subwindow caches.
7890
7891         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
7892
7893 2000-05-09  Ben Wing  <ben@xemacs.org>
7894
7895         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
7896         DWORD.
7897
7898 2000-04-26  Mike Woolley  <mike@bulsara.com>
7899
7900         * ntheap.c: Changed recreate_heap to limit the amount reserved
7901         for the heap to that which is actually available. Also now
7902         displays a message box (with some dignostics) in the event that
7903         it still can't start.
7904
7905 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
7906
7907         * callproc.c (Fold_call_process_internal): GCPRO path
7908
7909 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
7910
7911         Patch by Bill Perry.
7912
7913         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
7914         back data instead of #ifdef.
7915         (Fscrollbar_page_down): ditto.
7916
7917 2000-05-07  Ben Wing  <ben@xemacs.org>
7918
7919         * buffer.h:
7920         Kludge for defining Qmswindows_tstr.
7921
7922         * nt.c:
7923         * nt.c (open_input_file):
7924         * nt.c (open_output_file):
7925         * nt.c (rva_to_section):
7926         * nt.c (mswindows_executable_type):
7927         Move all memory-mapped-file routines here (some were in unexnt.c,
7928         which is bad because they are used by process-nt.c, and unexnt
7929         won't be around when portable dumping).  Synched the above routines
7930         with FSF 20.6.
7931
7932         * nt.h:
7933         Removed ifdef'd out bogus code.
7934         Fixed some prototypes.
7935
7936         * nt.h (file_data):
7937         * nt.h (OFFSET_TO_RVA):
7938         * nt.h (RVA_TO_OFFSET):
7939         * nt.h (RVA_TO_PTR):
7940         Moved the memory-mapped-file structures, macros and prototypes
7941         here, to parallel nt.c.  ntheap.h should really be removed
7942         entirely, and it's a non-portable-dumper specific file.
7943
7944         * ntheap.h (round_to_next):
7945         Moved the memory-mapped-file structures, macros and prototypes
7946         to nt.h.
7947
7948         * ntproc.c (compare_env):
7949         Moved rva_to_section and mswindows_executable_type to nt.c.
7950         Moved compare_env to process-nt.c.
7951         ntproc.c will die, one day.
7952
7953         * ntproc.c (sys_spawnve):
7954         Account for win32_ -> mswindows_.
7955
7956         * process-nt.c:
7957         * process-nt.c (struct nt_process_data):
7958         * process-nt.c (ensure_console_window_exists):
7959         * process-nt.c (compare_env):
7960         * process-nt.c (nt_create_process):
7961         * process-nt.c (nt_kill_process_by_pid):
7962         * process-nt.c (syms_of_process_nt):
7963         * process-nt.c (vars_of_process_nt):
7964         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
7965         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
7966         changes).  Eliminate our old `nt-quote-process-args' mechanism.
7967         Synch up nt_create_process with FSF 20.6 sys_spawnve.
7968         Move compare_env here from ntproc.c.
7969
7970         * process.c (Fprocess_send_region):
7971         Takes an optional fourth argument, BUFFER, which should fix some
7972         problems with call-process.
7973
7974         * syscommctrl.h:
7975         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
7976
7977         * syswindows.h:
7978         Move ICC_BAR_CLASSES to syscommctrl.h.
7979         Add preliminary macros for MSWindows/Mule.  More to come.
7980
7981         * unexnt.c:
7982         * unexnt.c (unexec):
7983         open_output_file moved to nt.c.
7984
7985
7986 2000-05-05  Andy Piper  <andy@xemacs.org>
7987
7988         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
7989         instance from the frame cache also since GC may catch up too late
7990         to make frame deletion sane.
7991
7992 2000-05-04  Andy Piper  <andy@xemacs.org>
7993
7994         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
7995         (x_finalize_image_instance): ungcpro on deletion.
7996
7997         * glyphs.c (image_instantiator_format_create): give pointers a
7998         query geometry method so that the geometry is at least set.
7999
8000         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8001         initialize layouts if using widgets.
8002
8003 2000-05-03  Andy Piper  <andy@xemacs.org>
8004
8005         * nt.c: remove bogus reference to sysmmsystem.h
8006
8007         * gui-x.c (popup_selection_callback): fix no selection abort.
8008
8009 2000-05-02  Andy Piper  <andy@xemacs.org>
8010
8011         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8012         (mswindows_widget_instantiate): ditto.
8013
8014         * glyphs-widget.c (initialize_widget_image_instance): initialize
8015         children correctly.
8016         (widget_instantiate): cope with children and items in the same
8017         instance.
8018
8019         * glyphs.c (mark_image_instance): cope with children as a first
8020         class member.
8021         (image_instance_equal): ditto.
8022         (image_instance_hash): ditto.
8023         (image_instance_changed): ditto.
8024
8025 2000-04-30  Andy Piper  <andy@xemacs.org>
8026
8027         * glyphs.c (subwindow_query_geometry): new function. Return some
8028         defaults.
8029         (subwindow_instantiate): don't assign dimensions if none have been
8030         given.
8031         (image_instantiator_format_create): add subwindow_query_geometry.
8032         (print_image_instance): cope with layouts as widgets.
8033
8034 2000-04-29  Andy Piper  <andy@xemacs.org>
8035
8036         * frame.c (delete_frame_internal): call
8037         free_frame_subwindow_instance_cache so that all subwindows are
8038         finalized before their parent.
8039         (mark_frame): remove subwindow_cachels.
8040         (Fmake_frame): remove subwindow_cachel manipulation.
8041         (allocate_frame_core): subwindow_instance_cache is a weak list.
8042         (delete_frame_internal): set subwindow_instance_cache to nil.
8043
8044         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8045         finalization safe.
8046         (mswindows_finalize_image_instance): use the device
8047         not the domain as the domain may have died already.
8048
8049         * glyphs-x.c (x_finalize_image_instance): ditto.
8050         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8051         HEIGHT.
8052
8053         * redisplay-output.c (redisplay_unmap_subwindows): update for
8054         subwindow instance cache as a weak list.
8055         (redisplay_unmap_subwindows_maybe): ditto.
8056         (redisplay_unmap_subwindows_except_us): ditto.
8057
8058         * glyphs.c (unmap_subwindow): error checking will check the domain
8059         so don't deal with it here. Don't use cachels anymore.
8060         (map_subwindow): ditto.
8061         (update_subwindow_cachel_data): remove old accessor names.
8062         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8063         (Fresize_subwindow): don't update cachel.
8064         (mark_subwindow_cachels):
8065         (update_subwindow_cachel_data):
8066         (add_subwindow_cachel):
8067         (get_subwindow_cachel_index):
8068         (update_subwindow_cachel):
8069         (reset_subwindow_cachels):
8070         (mark_subwindow_cachels_as_not_updated): deleted.
8071         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8072         subwindow instance to the frame cache.
8073         (find_matching_subwindow): update for subwindow instance cache as
8074         a weak list.
8075         (update_widget_instances): ditto.
8076         (image_instance_type_to_mask):inlined.
8077         (free_frame_subwindow_instance_cache): new function. finalize all
8078         subwindows that are instantiated.
8079
8080         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8081         of cachel information.
8082         (IMAGE_INSTANCE_DISPLAY_X):
8083         (IMAGE_INSTANCE_DISPLAY_Y):
8084         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8085         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8086         (XIMAGE_INSTANCE_DISPLAY_X):
8087         (XIMAGE_INSTANCE_DISPLAY_Y):
8088         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8089         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8090         remove subwindow_cachel structure and function references.
8091         (image_instance_type_to_mask): inline from glyphs.c
8092
8093         * redisplay.c (redisplay_frame): remove subwindow_cachel
8094         references.
8095
8096         * frame.h (struct frame): remove subwindow_cachels.
8097         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8098
8099         * frameslots.h: add subwindow_instance_cache.
8100
8101         * window.c (replace_window): check subwindow cache of replacement.
8102         (window_unmap_subwindows_cache_mapper):
8103         (window_unmap_subwindows): new functions. Unmap all subwindows
8104         cached on this window.
8105         (mark_window_as_deleted): unmap all subwindows.
8106
8107 2000-04-27  Andy Piper  <andy@xemacs.org>
8108
8109         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8110
8111         * glyphs-widget.c (widget_layout): return something.
8112         (layout_layout): return something. Fail if not initialized.
8113         (layout_query_geometry): ditto.
8114         (image_instantiator_native_layout): new function. Initialized the
8115         native layout type.
8116         (widget_instantiate): don't do layout stuff here.
8117
8118         * glyphs.c (instantiate_image_instantiator): reorded calling or
8119         instantiate and post_instantiate with layout in between.
8120         (image_instance_layout): be more selective about deciding whether
8121         the layout has been done or not.
8122
8123         * glyphs.h (struct image_instantiator_methods): return a value
8124         from layout_method.
8125
8126 2000-04-26  Andy Piper  <andy@xemacs.org>
8127
8128         * glyphs.c (allocate_image_instance): make initial width and
8129         height unspecified. Set initialized to 0.
8130
8131         * syscommctrl.h new file. Encapsulates commctrl.h.
8132
8133         * syswindows.h new file. Encapsulates windows.h.
8134
8135         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8136         * nt.c: ditto.
8137         * console-msw.h: ditto.
8138
8139         * redisplay-tty.c (tty_output_display_block): remove layout references.
8140
8141         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8142         window handle rather than just the frame.
8143
8144         * glyphs.c (mark_image_instance): remove layout references.
8145         (print_image_instance): ditto.
8146         (image_instance_equal): ditto.
8147         (image_instance_hash): ditto.
8148         (decode_image_instance_type): ditto.
8149         (encode_image_instance_type): ditto.
8150         (image_instantiate): ditto.
8151         (allocate_glyph): ditto.
8152         (Fimage_instance_height): ditto.
8153         (Fimage_instance_width): ditto.
8154         (update_subwindow): ditto.
8155
8156         * redisplay-x.c (x_output_display_block): recode for layouts as
8157         widgets.
8158
8159         * redisplay-output.c (redisplay_output_layout): recode for layouts
8160         as widgets.
8161         (compare_runes): remove layout references.
8162
8163         * redisplay-msw.c (mswindows_output_display_block): recode for
8164         layouts as widgets.
8165
8166         * glyphs-widget.c (image_instantiator_layout): remove
8167         layout_possible_dest_types.
8168         (layout_possible_dest_types): deleted.
8169
8170         * glyphs.h (image_instance_type): remove layout references.
8171         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8172         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8173         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8174
8175 2000-04-25  Andy Piper  <andy@xemacs.org>
8176
8177         * glyphs-widget.c (image_instantiator_buttons):
8178         (image_instantiator_edit_fields):
8179         (image_instantiator_combo_box):
8180         (image_instantiator_scrollbar):
8181         (image_instantiator_progress_guage):
8182         (image_instantiator_tree_view):
8183         (image_instantiator_tab_control):
8184         (image_instantiator_labels):
8185         (image_instantiator_layout): call default post_instantiate method.
8186         (widget_post_instantiate): new function. Simply lays out the
8187         widgets.
8188
8189         * glyphs.h (struct image_instantiator_methods): add
8190         post_instantiate method.
8191
8192         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8193         method calls.
8194
8195 2000-04-23  Andy Piper  <andy@xemacs.org>
8196
8197         * glyphs.h (struct image_instantiator_methods): add
8198         decode_domain_method.
8199         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8200         derived from the domain.
8201         (IMAGE_INSTANCE_FRAME): new accessor.
8202         (XIMAGE_INSTANCE_FRAME): ditto.
8203
8204         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8205         instead of _SUBWINDOW_FRAME.
8206         (finalize_image_instance): ditto.
8207         (Fimage_instance_foreground): ditto.
8208         (Fimage_instance_background): ditto.
8209         (image_instantiate): ditto.
8210         (update_subwindow_cachel): ditto.
8211         (update_subwindow): ditto.
8212         (unmap_subwindow): ditto.
8213         (map_subwindow): ditto
8214         (subwindow_instantiate): ditto.
8215         * glyphs-msw.c (mswindows_update_widget): ditto.
8216         (mswindows_progress_gauge_instantiate): ditto.
8217         (mswindows_tab_control_update): ditto.
8218         * glyphs-x.c (x_update_widget): ditto.
8219         (x_widget_instantiate): ditto.
8220         (x_tab_control_instantiate): ditto.
8221         (x_tab_control_update): ditto.
8222         * event-msw.c (mswindows_wnd_proc): ditto
8223
8224         * glyphs-widget.c (image_instantiator_layout): use
8225         subwindow_decode_domain.
8226         (image_instantiator_buttons): ditto.
8227         (image_instantiator_edit_fields): ditto.
8228         (image_instantiator_combo_box): ditto.
8229         (image_instantiator_scrollbar): ditto.
8230         (image_instantiator_progress_guage): ditto.
8231         (image_instantiator_tree_view): ditto.
8232         (image_instantiator_tab_control): ditto.
8233         (image_instantiator_labels): ditto.
8234         (image_instantiator_layout): ditto.
8235
8236         * glyphs.c: add instance error checking to many functions.
8237         (instantiate_image_instantiator): decode device from cache_domain.
8238         (image_instantiate): partially rewrite by using
8239         decode_image_instantiator_domain to determine what domain the
8240         instance needs to be cached in.
8241         (decode_image_instantiator_domain): new function. Determine what
8242         domain the image needs to be cached in.
8243         (check_window_subwindow_cache): new error checking function.
8244         (check_instance_cache_mapper): ditto.
8245         (check_image_instance_structure): ditto.
8246         (subwindow_decode_domain): new function. Encodes a window as a
8247         subwindow's cache domain.
8248         (image_instantiator_format_create): use it for text and
8249         subwindows.
8250
8251 2000-04-21  Andy Piper  <andy@xemacs.org>
8252
8253         * glyphs.c (image_instance_device): new function.
8254         (image_instance_frame): new function.
8255         (image_instance_window): new function.
8256         (image_instance_live_p): new function.
8257
8258         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8259         cache to nil.
8260
8261         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8262         (IMAGE_INSTANCE_DOMAIN): new accessor.
8263         (XIMAGE_INSTANCE_DOMAIN): ditto.
8264
8265         * glyphs-x.c (x_finalize_image_instance): device->domain.
8266
8267         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8268         (mswindows_finalize_image_instance): ditto.
8269
8270         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8271         (gif_instantiate): ditto.
8272         (png_instantiate): ditto.
8273         (tiff_instantiate): ditto.
8274
8275         * glyphs.c (instantiate_image_instantiator): use domain rather
8276         than device.
8277         (mark_image_instance): device -> domain.
8278         (print_image_instance): ditto.
8279         (finalize_image_instance): ditto.
8280         (image_instance_equal): ditto.
8281         (allocate_image_instance): ditto.
8282         (Fcolorize_image_instance): ditto.
8283         (query_string_geometry): ditto.
8284         (image_instantiate): ditto
8285         (query_string_font): ditto.
8286         (image_instantiate): ditto.
8287         (update_subwindow): ditto.
8288         (unmap_subwindow): ditto.
8289         (map_subwindow): ditto.
8290         (subwindow_instantiate): ditto.
8291
8292         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8293         (DOMAIN_FRAME): ditto.
8294         (DOMAIN_WINDOW): ditto.
8295         (DOMAIN_LIVE_P): ditto.
8296         (XDOMAIN_DEVICE): ditto.
8297         (XDOMAIN_FRAME): ditto.
8298         (XDOMAIN_WINDOW): ditto.
8299
8300         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8301         a valid specifier domain.
8302
8303 2000-04-19  Andy Piper  <andy@xemacs.org>
8304
8305         * glyphs-widget.c (syms_of_glyphs_widget): remove
8306         widget-callback-current-channel.
8307         (vars_of_glyphs_widget): ditto.
8308         * glyphs.h: ditto
8309
8310         * gui.c (get_gui_callback): revert to previous behaviour.
8311
8312 2000-04-18  Andy Piper  <andy@xemacs.org>
8313
8314         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8315         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8316         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8317
8318         * glyphs.c (image_instance_equal): add margin_width.
8319         (image_instance_hash): ditto.
8320
8321         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8322         (layout_query_geometry): ditto.
8323         (layout_layout): ditto.
8324         (syms_of_glyphs_widget): add margin-width.
8325         (image_instantiator_layout): allow margin-width.
8326
8327         * glyphs.c (update_widget_instances): make a normal function.
8328         (syms_of_glyphs): remove Qupdate_widget_instances.
8329         * glyphs.h: ditto.
8330
8331         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8332         so that we don't corrupt ideas about the last event or
8333         command. Remove widget-callback-current-channel fiddling.
8334         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8335
8336 2000-05-01  Martin Buchholz <martin@xemacs.org>
8337
8338         * XEmacs 21.2.33 is released.
8339
8340 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8341
8342         * make-src-depend: Allow dots in header file name.
8343
8344 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8345
8346         * mule-charset.h (struct charset_lookup): Add
8347         next_allocated_1_byte_leading_byte and
8348         next_allocated_2_byte_leading_byte.
8349         * mule-charset.c: Move above two variables so that those values
8350         will be dumped.
8351
8352 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8353
8354         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8355         when string length is zero.
8356         (find_charsets_in_emchar_string): Ditto.
8357
8358 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8359
8360         * lisp.h: extern Qdialog and Qmenubar.
8361
8362         * gui-x.c: added events.h.
8363                 also fixed typo which made the file uncompilable.
8364
8365         * general.c: Added Qmenubar and Qdialog
8366
8367 2000-04-28  Ben Wing  <ben@xemacs.org>
8368
8369         * frame-msw.c (mswindows_init_frame_1):
8370         * frame-msw.c (mswindows_mark_frame):
8371         * event-msw.c (mswindows_enqueue_dispatch_event):
8372         * console-msw.h:
8373         * console-msw.h (struct mswindows_frame):
8374         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8375         there are now three hash tables for callbacks.
8376         mswindows_enqueue_dispatch_event is no longer static.
8377
8378         * dialog-x.c (maybe_run_dbox_text_callback):
8379         * dialog-x.c (dbox_descriptor_to_widget_value):
8380         switch to new cons3 form for callbacks.
8381
8382         * glyphs-msw.c (mswindows_register_gui_item):
8383         * glyphs-msw.c (mswindows_widget_instantiate):
8384         * glyphs-msw.c (add_tree_item):
8385         * glyphs-msw.c (add_tab_item):
8386         new image instance parameter, so it can be passed to callback-ex.
8387         respect :callback-ex as well as :callback.
8388
8389         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8390         add :callback-ex.
8391
8392         * glyphs.c (print_image_instance):
8393         prettify, e.g. now prints widget type.
8394
8395         * gui-x.h:
8396         certain funs have new image instance parameter.
8397
8398         * gui.c:
8399         * gui.c (get_gui_callback):
8400         * gui.c (gui_item_add_keyval_pair):
8401         * gui.c (gui_item_init):
8402         * gui.c (gui_add_item_keywords_to_plist):
8403         * gui.c (mark_gui_item):
8404         * gui.c (gui_item_hash):
8405         * gui.c (gui_item_equal):
8406         * gui.c (copy_gui_item):
8407         * gui.c (syms_of_gui):
8408         recognize callback-ex in a number of places.
8409         also, fix the annoying "can't get out of yes-no dialog" bug.
8410
8411         * gui.h:
8412         * gui.h (struct Lisp_Gui_Item):
8413         recognize callback-ex in a number of places.
8414
8415         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8416         new parameter in button_item_to_widget_value.
8417
8418         * glyphs-x.c (x_update_widget):
8419         * glyphs-x.c (x_button_instantiate):
8420         * glyphs-x.c (x_button_update):
8421         * glyphs-x.c (x_progress_gauge_instantiate):
8422         * glyphs-x.c (x_edit_field_instantiate):
8423         * glyphs-x.c (x_combo_box_instantiate):
8424         * glyphs-x.c (x_tab_control_instantiate):
8425         * glyphs-x.c (x_label_instantiate):
8426         new image instance parameter in various places.
8427
8428         * event-Xt.c:
8429         * event-Xt.c (enqueue_Xt_dispatch_event):
8430         this fun gets exported.
8431
8432         * gui-msw.c:
8433         * gui-msw.c (mswindows_handle_gui_wm_command):
8434         handle both :callback and :callback-ex, and generate our own
8435         event because it's one of the callback-ex arguments.
8436
8437         * gui-x.c:
8438         * gui-x.c (popup_selection_callback):
8439         handle both :callback and :callback-ex, and generate our own
8440         event because it's one of the callback-ex arguments.
8441         * gui-x.c (button_item_to_widget_value):
8442         * gui-x.c (gui_items_to_widget_values_1):
8443         * gui-x.c (gui_item_children_to_widget_values):
8444         * gui-x.c (gui_items_to_widget_values):
8445         new image instance parameter in various places.
8446
8447         * fns.c (Freplace_list):
8448         fix small typo in doc string.
8449
8450         * lisp.h:
8451         declare enqueue_Xt_dispatch_event.
8452
8453 2000-04-28  Ben Wing  <ben@xemacs.org>
8454
8455         * buffer.c:
8456         * buffer.c (Frecord_buffer):
8457         * buffer.c (syms_of_buffer):
8458         delete record-buffer-hook.
8459
8460         * fns.c:
8461         * fns.c (Freplace_list):
8462         * fns.c (syms_of_fns):
8463         new primitive replace-list.
8464
8465         * frameslots.h:
8466         slot for old buffer-alist.
8467
8468         * lisp.h:
8469         exfun replace-list.
8470
8471         * redisplay.c:
8472         * redisplay.c (redisplay_frame):
8473         * redisplay.c (syms_of_redisplay):
8474         * redisplay.c (vars_of_redisplay):
8475         new hook buffer-list-changed-hook.
8476         call it.
8477
8478 2000-04-27  Ben Wing  <ben@xemacs.org>
8479
8480         * extents.h: extern in_modeline_generation.
8481
8482         * redisplay.c (generate_formatted_string_db): set
8483         in_modeline_generation.
8484
8485         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8486         flags if in modeline generation.  otherwise frame-modified-tick
8487         is ticked far too often.
8488         Declare in_modeline_generation.
8489
8490 2000-04-26  Ben Wing  <ben@xemacs.org>
8491
8492         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8493         option.
8494         (vars_of_emacs): add quick-build as an error-checking option.
8495         A bit kludgy, but there doesn't seem much point in creating
8496         a real var for this.
8497
8498         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8499
8500 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8501
8502         * redisplay.h (struct display_line): Add a new variable,
8503         line_continuation.
8504
8505         * redisplay.c (create_text_block): Set dl->line_continuation if
8506         the line continues.
8507         (create_string_text_block): Ditto.
8508         (regenerate_window_incrementally): Use line_continuation instead
8509         of searching continuation glyph.
8510         (add_margin_runes): Call add_glyph_rune.
8511         (add_glyph_rune): Handle margin glyph.
8512
8513 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8514
8515         * filelock.c (fill_in_lock_file_name):
8516         ANSIfy.
8517         Check for IS_ANY_SEP instead of '/'.
8518         (lock_file_1):
8519         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8520         Never check errno without first seeing that system call failed.
8521         (unlock_file): Add GCPRO.
8522         (Flock_buffer): Fix docstring.
8523         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8524
8525 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8526
8527         * sysdep.c (get_pty_max_bytes):
8528         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8529         strings longer than 252 bytes.
8530
8531         * md5.c: Unconditionally include ANSI header <limits.h>
8532
8533         * glyphs-x.c (convert_EImage_to_XImage):
8534         * lisp-union.h (union Lisp_Object):
8535         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8536
8537 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8538
8539         * filelock.c (current_lock_owner): Remove unused variable o, p.
8540
8541 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8542
8543         * callint.c: Remove multiply defined symbol Qlet
8544         (syms_of_callint): ditto.
8545
8546 2000-04-14  Andy Piper  <andy@xemacs.org>
8547
8548         * general.c (syms_of_general): add last-command, this-command, let
8549         and funcall.
8550
8551         * lisp.h: declare various symbols.
8552
8553         * glyphs.h: declare Qwidget_callback_current_channel;
8554
8555         * glyphs-widget.c (syms_of_glyphs_widget): add
8556         Qgui_callback_current_channel.
8557         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8558
8559         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8560         widget-callback-current-channel when invoking the interactive
8561         arg. Also bind last-command and next-command when invoking the
8562         widget updates.
8563         * gui-x.c (popup_selection_callback): ditto.
8564
8565         * gui.c (get_gui_callback): massage args so that we are always
8566         calling eval. This allows us to add our own variable bindings
8567         outside.
8568
8569         * glyphs-x.c (x_button_instantiate): use
8570         gui_items_to_widget_values since this is GC safe.
8571         (x_progress_gauge_instantiate): ditto.
8572         (x_edit_field_instantiate): ditto.
8573         (x_label_instantiate): ditto.
8574
8575         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
8576         (emacs_Xt_event_widget_focus_out): new function
8577         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
8578         focus.
8579         (emacs_Xt_event_add_widget_actions): new function. add focus
8580         functions as actions.
8581         (init_event_Xt_late): use it.
8582
8583 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
8584
8585         * event-stream.c (Fdispatch_event): Doc fix.
8586
8587 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
8588
8589         * postgresql.c: Remove all references to PQsetenv*.
8590
8591         * postgresql.h: Remove references to PGsetenvHandler object.
8592         * lrecord.h (lrecord_type): Ditto.
8593
8594 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8595
8596         * glyphs-msw.h (struct mswindows_image_instance_data): Added
8597         real_heigh and real_width members, and accessor macros for these.
8598
8599         * glyphs-msw.c (init_image_instance_geometry): New function.
8600         (init_image_instance_from_dibitmap): Use it.
8601         (mswindows_resource_instantiate): Use it.
8602         (init_image_instance_from_xbm_inline): Use it.
8603         (mswindows_initialize_image_instance_mask): Use real bitmap
8604         geometry.
8605         (mswindows_create_resized_bitmap): Ditto.
8606         (mswindows_create_resized_mask): Ditto.
8607
8608         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
8609         and bitmap to their surface size.
8610
8611 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
8612
8613         * process-unix.c (unix_send_process): Guard against process MIA
8614         after Faccept_process_output.
8615
8616 2000-04-11  Ben Wing  <ben@xemacs.org>
8617
8618         * eval.c (unbind_to_hairy): fix brokenness introduced by
8619         nanosecond speed improvements.
8620
8621 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
8622
8623         * sunplay.c (init_device): To play sounds correctly, the device
8624         apparently needs to be initialized at least once by XEmacs.  Make
8625         it so.
8626
8627 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8628
8629         * redisplay.c (add_margin_runes): Add text image glyph
8630           handling.
8631
8632 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8633
8634         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
8635         gcc is newer than 2.5.
8636
8637 2000-04-06  Colin Rafferty  <colin@xemacs.org>
8638
8639         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
8640
8641         * fns.c (size_bit_vector):
8642         * alloc.c (size_vector):
8643         (make_vector_internal):
8644         (make_bit_vector_internal):
8645         (sweep_bit_vectors_1):
8646         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
8647
8648 2000-04-06  Andy Piper  <andy@xemacs.org>
8649
8650         * gmalloc.c (malloc): undo previous change.
8651         (malloc): ditto.
8652         (free): ditto.
8653         (realloc): ditto.
8654
8655 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
8656
8657         * line-number.c (buffer_line_number): Revert to former version.
8658
8659 2000-04-06  Andy Piper  <andy@xemacs.org>
8660
8661         * gmalloc.c (malloc): add error checking.
8662         (malloc): ditto.
8663         (free): ditto.
8664         (realloc): ditto.
8665
8666         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
8667         button_item_to_widget_value arg.
8668
8669         * glyphs-x.c (x_button_instantiate): add extra
8670         button_item_to_widget_value arg.
8671         (x_progress_gauge_instantiate): ditto.
8672         (x_edit_field_instantiate): ditto.
8673         (x_label_instantiate): ditto.
8674
8675         * gui-x.c (gui_items_to_widget_values_1): add extra
8676         button_item_to_widget_value arg.
8677         (button_item_to_widget_value): add extra menu_item_p arg.
8678
8679         * gui-x.h: change signature of button_item_to_widget_value.
8680
8681         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
8682         button_item_to_widget_value arg.
8683
8684 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8685
8686         * buffer.h (struct buffer): auto_save_modified should be long.
8687
8688 2000-04-05  Andy Piper  <andy@xemacs.org>
8689
8690         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
8691         type.
8692         (button_query_geometry): give a little more room so that athena
8693         buttons fit.
8694
8695 2000-04-05  Andy Piper  <andy@xemacs.org>
8696
8697         * faces.c (complex_vars_of_faces): The widget face should inherit
8698         the font of the gui-element face.
8699
8700 2000-04-04  Andy Piper  <andy@xemacs.org>
8701
8702         * glyphs-x.c (x_button_update): new function. unconditionally
8703         update a button's state when the instance is dirty.
8704         (image_instantiator_format_create_glyphs_x): add x_button_update.
8705         (x_widget_instantiate): remove old resize cruft.
8706
8707 2000-04-02  Andy Piper  <andy@xemacs.org>
8708
8709         * frame.c (change_frame_size_1): The introduction of gutters means
8710         that we need to allow 0 as a potential frame dimension.
8711
8712 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8713
8714         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
8715         image glyph if allow_cursor.
8716         (add_hscroll_rune): Don't allow cursor to border glyph.
8717         (create_text_block): Ditto.
8718
8719         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
8720         text not in buffer.
8721         (redisplay_output_layout): Call ensure_face_cachel_complete for
8722         text image glyph.
8723
8724
8725 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8726
8727         * redisplay.c (add_glyph_rune): Adding text image as text runes.
8728
8729         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
8730         not in buffer
8731
8732         * redisplay-tty.c (tty_output_display_block): Delete the routine
8733         for text image glyph
8734         * redisplay-x.c (x_output_display_block): ditto
8735         * redisplay-msw.c (mswindows_output_display_block): ditto
8736
8737 2000-02-02  Mike Alexander  <mta@arbortext.com>
8738
8739         Note: Some of these were committed by accident as part of other
8740         patches.
8741
8742         * regex.c (regex_compile): Avoid compiler warnings.
8743
8744         * ntproc.c (sys_spawnve): Avoid compiler warnings.
8745
8746         * nt.h: Declare term_ntproc correctly.
8747
8748         * nt.c: Remove incorrect declaration of get_home_directory which
8749         is declared correctly in lisp.h.
8750
8751         * keymap.c (get_keyelt): Avoid compiler warnings.
8752         (raw_lookup_key_mapper): Avoid compiler warnings.
8753
8754         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
8755
8756         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
8757
8758         * filemode.c (mode_string): Avoid compiler warnings.
8759
8760         * file-coding.c (Fcoding_system_aliasee): Add return statement to
8761         avoid warning.
8762
8763         * events-mod.h: Undef some things that winuser.h defines differently.
8764
8765         * data.c (Faset): Avoid compiler warnings.
8766
8767         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
8768
8769 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8770
8771         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
8772         Fall through to simple beep on error.
8773         Replace "extern" by real header file.
8774
8775         * linuxplay.c: Use nativesound.h
8776         (play_sound_data): Return error code. Be less verbose on error.
8777
8778         * sunplay.c: Use nativesound.h
8779         (play_sound_data): Return error code. Be less verbose on error.
8780
8781         * ntplay.c: Use nativesound.h
8782         (play_sound_data): Return fake error code
8783
8784         * sgiplay.c: Use nativesound.h
8785         (play_sound_data): Return error code
8786
8787         * hpplay.c: Use nativesound.h, partially implement
8788         new error code. Break compilation until finished.
8789         (play_sound_data): error code.
8790
8791         * nativesound.h (play_sound_file):
8792           (play_sound_data): Prototype in new header.
8793
8794 2000-03-31  Andy Piper  <andy@xemacs.org>
8795
8796         * glyphs-widget.c: (button_query_geometry): new function. Adjust
8797         for toggle and radio buttons.
8798         (image_instantiator_buttons): use it.
8799
8800 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8801
8802         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
8803         (x_update_horizontal_scrollbar_callback): Return if no mirror was
8804         found. Scrollbar event probably belonged to some old config.
8805
8806 2000-03-31  Andy Piper  <andy@xemacs.org>
8807
8808         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
8809         than 1.
8810         (initialize_widget_image_instance): default layout to
8811         LAYOUT_HORIZONTAL rather than 0.
8812         (widget_instantiate): reverse the item list at the end rather than
8813         every iteration.
8814         (layout_layout): re-code for the border text at the front of the
8815         item list rather than at the end.
8816         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
8817         provided by the user.
8818         (widget_query_geometry): comment.
8819
8820 2000-03-30  Andy Piper  <andy@xemacs.org>
8821
8822         * glyphs-widget.c (image_instantiator_layout): allow standard
8823         widget keywords in layouts.
8824
8825         * gutter.c (output_gutter): cope with nil gutter contents.
8826
8827         * frame.c (Fset_frame_properties): add gutter docs.
8828
8829 2000-03-29  Andy Piper  <andy@xemacs.org>
8830
8831         * toolbar-msw.c (TBSTYLE_FLAT): add.
8832         (mswindows_output_toolbar): minor fiddling.
8833
8834 2000-03-29  Andy Piper  <andy@xemacs.org>
8835
8836         * gutter.c (output_gutter): force gutter size recalculation if
8837         what we are trying to display won't fit.
8838         (update_gutter_geometry): new function. A per-gutter version of
8839         update_frame_gutter_geometry.
8840         (update_frame_gutter_geometry): use it.
8841         (redraw_exposed_gutter): add extra debugging output.
8842
8843 2000-03-28  Mike Alexander  <mta@arbortext.com>
8844
8845         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
8846         (pdump_file_unmap): Implement it on Windows
8847         (pdump_file_get): Save alocated handles for pdump_file_unmap
8848
8849 2000-03-28  Andy Piper  <andy@xemacs.org>
8850
8851         * gui.c (get_gui_callback): treat Quit specially.
8852
8853 2000-03-27  Andy Piper  <andy@xemacs.org>
8854
8855         * glyphs.c (image_instantiate): be careful to check in the same
8856         way we assigned.
8857
8858 2000-03-27  Didier Verna  <didier@xemacs.org>
8859
8860         * config.h.in: define the proper SMART_INCLUDE macro.
8861         handle renaming of `foo_h_path' to `foo_h_file'.
8862
8863         * database.c: ditto.
8864
8865         * emacs.c: ditto.
8866
8867         * linuxplay.c: ditto.
8868
8869         * terminfo.c: ditto.
8870
8871         * tooltalk.h: ditto.
8872
8873 2000-03-27  Andy Piper  <andy@xemacs.org>
8874
8875         * glyphs-msw.c (mswindows_update_widget): make sure the widget
8876         gets updated whenever the face might have changed.
8877
8878 2000-03-26  Mike Alexander  <mta@arbortext.com>
8879
8880         * dumper.c (pdump_resource_free): Fix the comment.
8881
8882 2000-03-21  Olivier Galibert  <galibert@pobox.com>
8883
8884         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
8885
8886 2000-03-22  Mike Alexander  <mta@arbortext.com>
8887
8888         * dumper.c: Include Windows headers on Windows
8889         (pdump_resource_free): Add a body to the function
8890         (pdump_load): exe_name -> exe_path and add some comments.
8891
8892 2000-03-25  Mike Alexander  <mta@arbortext.com>
8893
8894         * gui.c (copy_gui_item_tree): Return a value in all cases
8895
8896 2000-03-21  Didier Verna  <didier@xemacs.org>
8897
8898         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
8899         lwlib/config.h.in.
8900         (SMART_INCLUDE): new macro.
8901         (POSTGRES_INCLUDE): new macro to include postgresql headers from
8902         the proper location.
8903
8904         * postgresql.c: use it.
8905
8906         * inline.c: ditto.
8907
8908 2000-03-24  Andy Piper  <andy@xemacs.org>
8909
8910         * gutter.c (redraw_exposed_gutters): must be "in display" when we
8911         do this.
8912
8913 2000-03-24  Andy Piper  <andy@xemacs.org>
8914
8915         * redisplay-output.c (compare_runes): use image_instance_changed
8916         to detect changes. Do not depend on glyphs_changed, only depend on
8917         dirtiness.
8918          (redisplay_output_layout): add debug messages.
8919         (compare_runes): ditto.
8920
8921         * glyphs.h: declare new functions.
8922         (struct Lisp_Image_Instance): remove percent and associated
8923         accessors.
8924
8925         * gui.h: declare new copying functions.
8926
8927         * gui.c (copy_gui_item_tree): new function.
8928         (copy_gui_item): new function.
8929         (gui_item_id_hash): revert to standard hash.
8930         (gui_item_hash): ditto.
8931         (gui_item_hash_internal): deleted.
8932         (mark_gui_item): mark value.
8933         (gui_item_add_keyval_pair): add value.
8934         (gui_item_init): ditto.
8935         (gui_add_item_keywords_to_plist): ditto.
8936         (gui_item_equal): ditto.
8937         (syms_of_gui): add Q_value.
8938
8939         * glyphs-x.c (x_progress_gauge_update): use pending items and
8940         value for setting the state.
8941         (x_update_widget): don't set items from pending here.
8942
8943         * glyphs-widget.c (update_widget): update items here.
8944         (progress_gauge_set_property): use items for storing value. Put
8945         new value in pending items.
8946
8947         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
8948         items for new value. Convert percent -> value.
8949         (mswindows_tab_control_update): don't update items here.
8950
8951         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
8952         (update_subwindow): ditto.
8953         (image_instance_changed): new function. Compare hash values and
8954         past and present widget items.
8955         (image_instantiate): We more careful about where we instantiate
8956         things.
8957         (image_instantiate): add error checking.
8958
8959         * gutter.c (syms_of_gutter): use -hook.
8960
8961 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
8962
8963         * console-tty.c (Fset_console_tty_input_coding_system): Use
8964         Qkeyboard.
8965         (Fset_console_tty_output_coding_system): Use Qterminal.
8966         (tty_init_console): Use Qkeyboard and Qterminal.
8967
8968 2000-03-21  Ben Wing  <ben@xemacs.org>
8969
8970         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
8971         From Mike Alexander <mta@arbortext.com>.
8972
8973 2000-03-21  Ben Wing  <ben@xemacs.org>
8974
8975         * event-msw.c (mswindows_need_event): Horrible kludge to fix
8976         process brokenness.  Proper implementation to come.
8977         * callproc.c:
8978         Rename call-process-internal to old-call-process-internal.
8979         New impl. in process.el.
8980
8981 2000-03-21  Martin Buchholz  <martin@xemacs.org>
8982
8983         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
8984
8985 2000-03-20  Andy Piper  <andy@xemacs.org>
8986
8987         * glyphs.c (full_list_hash): make hashes of the same elements in
8988         different orders return different values.
8989
8990 2000-03-20  Martin Buchholz <martin@xemacs.org>
8991
8992         * XEmacs 21.2.32 is released.
8993
8994 2000-03-20  Martin Buchholz  <martin@xemacs.org>
8995
8996         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
8997         (DFC_MALLOC_USE_CONVERTED_DATA):
8998         Add aliasing-safe casts to allow use with char* or unsigned char*
8999         lvalues.
9000
9001         * eldap.c (Fldap_open):
9002         (Fldap_search_basic):
9003         (Fldap_add):
9004         (Fldap_modify):
9005         Make C++-compilable.
9006         Make sure GCPRO'ed variables are initialized.
9007         Use temp variables to avoid repeated calls to Flength.
9008
9009 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9010
9011         * sysfile.h:
9012         Make sure PATH_MAX is always defined.
9013         Include limits.h for PATH_MAX.
9014         Deprecate use of MAXPATHLEN.
9015
9016 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9017
9018         * emacs.c: Add reinit_vars_of_fileio.
9019         * symsinit.h: Add reinit_vars_of_fileio.
9020         * fileio.c (reinit_vars_of_fileio): New.
9021         * fileio.c (Fmake_temp_name):
9022         Initialize temp_name random number from microseconds to make
9023         collisions even less likely.  Initialize always at process startup
9024         time.  (make-temp-name) used to return the same file name twice in
9025         a row when PDUMP.
9026         Random stylistic fiddling.
9027         Comment fixes.
9028
9029 2000-03-20  Andy Piper  <andy@xemacs.org>
9030
9031         * glyphs.c (image_instantiate): allow text glyphs to be
9032         instantiated in the minibuffer window.
9033
9034 2000-03-19  Andy Piper  <andy@xemacs.org>
9035
9036         * glyphs.c (image_instance_hash): be careful about which items we
9037         hash on.
9038
9039         * glyphs-widget.c (tab_control_set_property): record into pending
9040         items rather than the actual items.
9041
9042         * glyphs-x.c (x_update_widget): use pending items to update with.
9043
9044         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9045         to update with.
9046
9047         * glyphs.c (mark_image_instance): mark pending items.
9048
9049         * window.c (Fset_window_configuration): record the buffer.
9050         (Fselect_window): totally revert previous change which breaks many
9051         things.
9052
9053 2000-03-18  Andy Piper  <andy@xemacs.org>
9054
9055         * glyphs-msw.c (mswindows_tab_control_update): force selected
9056         item.
9057
9058         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9059         window domain cache, otherwise we get inconsistencies at
9060         startup. There is something fishy at startup which can lead to the
9061         minibuffer being the selected window when the gutter content is
9062         instantiated.
9063
9064         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9065         gcpros.
9066         (parse_gui_item_tree_children): ditto.
9067         (parse_gui_item_tree_item): ditto.
9068
9069         * glyphs.c (Fupdate_widget_instances): return something.
9070
9071 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9072
9073         * window.c (Fselect_window): Undo 2000-03-17 change.
9074
9075 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9076
9077         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9078         against v7.0 libraries.  Insta-coredump city until the postgres
9079         folks fix it.
9080
9081 2000-03-17  Andy Piper  <andy@xemacs.org>
9082
9083         * faces.c (complex_vars_of_faces): don't give the widget face an
9084         inherited background pixmap.
9085
9086         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9087         selected item.
9088
9089         * event-stream.c (Fdispatch_non_command_events): return something.
9090
9091         * gutter.c (output_gutter): use widget face.
9092         (clear_gutter): ditto.
9093
9094         * NEWS: adjust again.
9095
9096         * window.c (Fselect_window): make sure this runs to completion to
9097         avoid oddities with Fset_window_configuration.
9098         (Fcurrent_window_configuration): in general do not save the
9099         minibuffer as the selected window.
9100
9101         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9102
9103 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9104
9105         * emacs.c (Frunning_temacs_p): Revert previous patch.
9106         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9107
9108 2000-03-16  Andy Piper  <andy@xemacs.org>
9109
9110         * glyphs-x.c (x_tab_control_update): if no widget values then
9111         return.
9112
9113         * NEWS: update for new features.
9114
9115         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9116         synthetic event to the native system.
9117         (reinit_vars_of_event_Xt): set force_event_pending to
9118         emacs_Xt_force_event_pending.
9119
9120         * events.h (struct event_stream): add force_event_pending.
9121
9122         * specifier.c (recompute_one_cached_specifier_in_window): add
9123         comment.
9124
9125         * redisplay.c (redisplay_frame): don't call
9126         update_frame_subwindows. Reset subwindow cachels when
9127         subwindows_changed, removing this was an optimization too far.
9128
9129         * redisplay-output.c (compare_runes): reorganize so that we catch
9130         glyph changes when we want them. Set optimize_output when this
9131         would help layouts.
9132         (redisplay_output_layout): remove frame_really_changed, use
9133         optimize_output instead.
9134
9135         * redisplay-msw.c (mswindows_output_display_block): reset
9136         optimize_output after outputting a glyph.
9137         * redisplay-x.c (x_output_display_block): ditto.
9138         * redisplay-tty.c (tty_output_display_block): ditto.
9139
9140         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9141         functions.
9142         (gutter_specs_changed): do specific gutter positions.
9143         (top_gutter_specs_changed): new function. Only update the
9144         specified gutter specs.
9145         (bottom_gutter_specs_changed): ditto.
9146         (left_gutter_specs_changed): ditto.
9147         (right_gutter_specs_changed): ditto.
9148
9149         * gui.c (gui_item_hash_internal): new function, does a real hash.
9150         (gui_item_id_hash): use it.
9151         (gui_item_hash): hash the eval'ed gui_item.
9152
9153         * gui-x.c (popup_selection_callback): send an eval event to call
9154         Fupdate_widget_instances.
9155
9156         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9157         to call Fupdate_widget_instances.
9158
9159         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9160         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9161
9162         * glyphs.c: (update_frame_subwindows): deleted.
9163         (Fupdate_widget_instances): new function for updating the dirty
9164         state of widgets that might have changed.
9165         (syms_of_glyphs): add Qupdate_widget_instances.
9166         (full_list_hash): hash a list completely.
9167         (image_instance_hash): use it for items and properties.
9168
9169         * frame-msw.c (mswindows_size_frame_internal): remove unused
9170         variable.
9171
9172         * faces.h (struct face_cachel): fix comment.
9173
9174         * event-stream.c (Fdispatch_non_command_events): new
9175         function. Process non-command events, forcing an event cycle
9176         beforehand.
9177         (syms_of_event_stream): declare.
9178         (event_stream_force_event_pending): new function. Force an event
9179         on the native event queue so that an event cycle will occur next
9180         time we check.
9181
9182         * event-msw.c:
9183         (struct ntpipe_shove_stream):
9184         (mswindows_enqueue_dispatch_event):
9185         (mswindows_dequeue_dispatch_event):
9186         (mswindows_cancel_dispatch_event):
9187         (mswindows_pump_outstanding_events):
9188         (mswindows_drain_windows_queue):
9189         (mswindows_handle_paint):
9190         (mswindows_wnd_proc):
9191         (mswindows_key_to_emacs_keysym):
9192         (get_process_input_waitable):
9193         (emacs_mswindows_delete_stream_pair): re-indent file.
9194         (mswindows_need_event): do not process further fds if the windows
9195         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9196         fixes the 100% cpu problem.
9197         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9198
9199 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9200
9201         * alloc.h: New.
9202         * dumper.h: New.
9203         * dumper.c: New.
9204
9205         * emacs.c: Moved dump file searching to dumper.c.
9206         (Frunning_temacs_p): Fixed.
9207
9208         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9209         last_lrecord_type_index_assigned.
9210
9211 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9212
9213         * symsinit.h: Added reinit parameter to init_console_stream
9214         declaration.
9215
9216         * lisp.h: Added file parameter to pdump_load declaration.
9217
9218         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9219         support.  Added dump file searching.
9220
9221         * config.h.in: Added EMACS_PROGNAME.
9222
9223         * console-stream.c (init_console_stream): Fix reinitialisation
9224         when running from temacs.
9225
9226         * alloc.c (pdump): Add id support.
9227         (pdump_load): Add file parameter and signature/id support.
9228
9229         * Makefile.in.in: Add full pdump support.
9230
9231 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9232
9233         * postgresql.c: Update documentation to reflect latest code
9234         status.
9235         (print_result): Show tuple counts in printed representation when
9236         appropriate.
9237         (Fpq_put_nbytes): MULE-ize.
9238         (Fpq_get_line_async): Ditto.
9239
9240 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9241
9242         * postgresql.c (Fpq_lo_import): Fix return value.
9243         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9244
9245 2000-03-13  Ben Wing  <ben@xemacs.org>
9246
9247         * alloc.c (pdump_load):
9248         Fix compile warning under mswin.
9249
9250 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9251
9252         * postgresql.c: Mule-ization, bug fixes.
9253         Use PG_CODING to encapsulate coding system name changes.
9254         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9255         (pg-coding-system): Create.
9256
9257         (Fpq_conn_defaults): Mule-ize.
9258         (Fpq_connectdb): Mule-ize & bug fix.
9259         (Fpq_connect_start): Mule-ize.
9260         (Fpq_set_client_encoding): Mule-ize.
9261         (Fpq_finish): Document `DEAD' connection status.
9262         (Fpq_clear): Ditto.
9263         (Fpq_pgconn): Mule-ize.
9264         (Fpq_exec): Mule-ize & bug fix.
9265         (Fpq_send_query): Ditto.
9266         (Fpq_get_result): Ditto.
9267         (Fpq_res_status): Mule-ize.
9268         (Fpq_result_error_message): Mule-ize.
9269         (Fpq_ntuples): fix comments.
9270         (Fpq_fname): Mule-ize.
9271         (Fpq_fnumber): Mule-ize.
9272         (Fpq_ftype): fix comments.
9273         (Fpq_get_value): Mule-ize.
9274         (Fpq_cmd_status): Ditto.
9275         (Fpq_cmd_tuples): Ditto.
9276         (Fpq_oid_value): Ditto.
9277         (Fpq_notifies): Ditto.
9278         (Fpq_lo_import): Ditto.
9279         (Fpq_lo_export): Ditto.
9280         (Fpq_get_line): Ditto.
9281         (Fpq_put_line): Mule-ize and bug fix.
9282         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9283
9284 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9285
9286         * postgresql.c (vars_of_postgresql): Mule-ize.
9287         (Fpq_conn_defaults): Ditto.
9288
9289 2000-03-12  Ben Wing  <ben@xemacs.org>
9290
9291         * alloc.c (Fmake_byte_code):
9292         * alloc.c (debug_string_purity_print):
9293         * alloc.c (pdump_backtrace):
9294         * alloc.c (pdump_get_indirect_count):
9295         * alloc.c (pdump_register_sub):
9296         * alloc.c (pdump_register_object):
9297         * alloc.c (pdump_register_struct):
9298         * alloc.c (pdump_dump_data):
9299         * alloc.c (pdump_reloc_one):
9300         Minor cleanups.
9301
9302         * console-msw.c:
9303         * console-msw.c (GetConsoleHwnd):
9304         * console-msw.c (msw_hide_console):
9305         * console-msw.c (msw_show_console):
9306         * console-msw.c (msw_ensure_console_buffered):
9307         * console-msw.c (msw_output_console_string):
9308         * console-msw.c (console_type_create_mswindows):
9309
9310         a) Added functions to manipulate the console window for use with
9311         shell support.
9312
9313         b) Added support for writing text to the console, which is now
9314         used under Windows when xemacs is not being run non-interactively,
9315         to write text that would otherwise be destined for stdout because
9316         under these circumstances, text written to stdout tends to
9317         disappear and not be seen.
9318
9319         * console-msw.h:
9320         * event-Xt.c:
9321         * event-Xt.c (x_event_to_emacs_event):
9322         * event-Xt.c (describe_event_window):
9323         * events-mod.h (XEMACS_MOD_CONTROL):
9324         * events.c:
9325         * events.c (Fmake_event):
9326         * events.c (character_to_event):
9327         * events.c (event_to_character):
9328         * events.c (format_event_object):
9329         * events.c (Fevent_modifiers):
9330         * events.h:
9331         * events.h (struct key_data):
9332         * events.h (struct button_data):
9333         * events.h (struct misc_user_data):
9334         * frame-x.c (Fcde_start_drag_internal):
9335         * frame-x.c (Foffix_start_drag_internal):
9336         * gpmevent.c (Freceive_gpm_event):
9337         * keymap.c:
9338         * keymap.c (bucky_sym_to_bucky_bit):
9339         * keymap.c (control_meta_superify):
9340         * keymap.c (make_key_description):
9341         * keymap.c (keymap_lookup_directly):
9342         * keymap.c (create_bucky_submap):
9343         * keymap.c (keymap_store):
9344         * keymap.c (define_key_check_and_coerce_keysym):
9345         * keymap.c (define_key_parser):
9346         * keymap.c (define_key_alternate_name):
9347         * keymap.c (Fdefine_key):
9348         * keymap.c (raw_lookup_key_mapper):
9349         * keymap.c (struct map_keymap_unsorted_closure):
9350         * keymap.c (map_keymap_unsorted_mapper):
9351         * keymap.c (map_keymap_sort_predicate):
9352         * keymap.c (map_keymap_sorted):
9353         * keymap.c (accessible_keymaps_mapper_1):
9354         * keymap.c (where_is_recursive_mapper):
9355         * keymap.c (describe_map_mapper):
9356         * keymap.c (describe_map_sort_predicate):
9357         * keymap.c (describe_map):
9358         * keymap.c (complex_vars_of_keymap):
9359         And a number of other files, the key modifier preprocessor
9360         constants that xemacs uses have names that conflict with constants
9361         defined under MS Windows for other purposes, so they were renamed
9362         to begin with the prefix XEMACS_. The variables that hold such
9363         modifiers were changed to consistently be of type int to fix
9364         various compile warnings.
9365
9366         * console.c (complex_vars_of_console):
9367         * device.c:
9368         * device-msw.c:
9369         * device-msw.c (mswindows_finish_init_device):
9370         * device-msw.c (msw_get_workspace_coords):
9371         * device-msw.c (mswindows_device_system_metrics):
9372         and various other files, added support for a new
9373         device property called offset-workspace which returns the position
9374         of the upper left corner of the workspace area and goes along with
9375         the existing size-workspace property.
9376
9377         * dialog-msw.c:
9378         * dialog-msw.c (push_bufbyte_string_as_unicode):
9379         * dialog-msw.c (mswindows_popup_dialog_box):
9380         Added support for XEmacs-style accelerator specifications in
9381         button text.  Note: I didn't add support for this under X Windows,
9382         and somebody needs to do this.
9383
9384         * dialog.c:
9385         * dialog.c (Fpopup_dialog_box):
9386         Documented the support for accelerators that was just mentioned.
9387
9388         editfns.c (get_home_directory): Changed behavior under Windows
9389         when HOME not defined; former behavior was irretrievably broken.
9390
9391         * emacs.c:
9392         * emacs.c (main_1):
9393         * emacs.c (main):
9394         * minibuf.c (clear_echo_area_internal):
9395         * minibuf.c (echo_area_append):
9396         * print.c:
9397         * print.c (std_handle_out_external):
9398         * print.c (std_handle_out_va):
9399         * print.c (fatal):
9400         * print.c (write_string_to_stdio_stream):
9401         * print.c (output_string):
9402         * print.c (debug_print):
9403         * print.c (debug_backtrace):
9404         * print.c (debug_short_backtrace):
9405         Cleaned up the code that prints text to stdout so that this can be
9406         changed to output into a console window instead under MS Windows,
9407         as described above.
9408
9409         * eval.c:
9410         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9411         * eval.c (internal_catch):
9412         * eval.c (unwind_to_catch):
9413         * eval.c (throw_or_bomb_out):
9414         * eval.c (condition_case_1):
9415         * eval.c (signal_1):
9416         * eval.c (check_error_state_sanity):
9417         * eval.c (call_with_suspended_errors_1):
9418         * eval.c (call_with_suspended_errors):
9419         * eval.c (reinit_vars_of_eval):
9420         Added code to catch throw loops and check for a pesky bug that may
9421         be gone now.
9422
9423         * event-msw.c:
9424         * event-msw.c (key_needs_default_processing_p):
9425         * event-msw.c (mswindows_wnd_proc):
9426         * event-msw.c (mswindows_modifier_state):
9427         * event-msw.c (emacs_mswindows_quit_p):
9428         * event-msw.c (vars_of_event_mswindows):
9429         a) Added support for using the alt key to select menu items as is
9430         standard under MS Windows.  This is controlled using the variable
9431         menu-accelerator-enabled, just like under X Windows.  There is an
9432         option on the options menu to turn this support on.  I really
9433         think that it should be on by default under Windows, but I'm not
9434         going to make this change yet.
9435
9436         b)  Added support for dynamic display size changes under Windows.
9437
9438         * event-stream.c:
9439         * event-stream.c (maybe_echo_keys):
9440         * event-stream.c (Fnext_event):
9441         * event-stream.c (command_builder_find_leaf):
9442         * event-stream.c (lookup_command_event):
9443         * event-stream.c (execute_command_event):
9444         * event-stream.c (pre_command_hook):
9445         * event-stream.c (post_command_hook):
9446         * event-stream.c (syms_of_event_stream):
9447         * event-stream.c (vars_of_event_stream):
9448         * event-stream.c (complex_vars_of_event_stream):
9449         * events.h (struct command_builder):
9450
9451         a) Tried to clean up a little bit the horribly written x-specific
9452         accelerator code that crept into this file.  I moved this code
9453         into menubar-x.c where it belongs. I also needed to move the
9454         command builder structure into the file events.h because it is
9455         accessed directly by this accelerator code.  What I didn't do, but
9456         which should be done at some point, is to properly abstract this
9457         code using device methods instead of the kludgy way that it
9458         currently hooks into the event code.
9459
9460         b) Added the lisp variables this-command-properties and
9461         last-command- properties, which should be used to synchronize two
9462         adjacent commands in preference to playing games with the variable
9463         this-command, which is typically what happens.
9464
9465         c) Added some slightly nasty code to hook into the lisp support
9466         for shifted- motion-key selection.  This is actually necessary for
9467         somewhat complicated reasons, which are described in
9468         simple.el. (NB: I think the proper thing would be to have the code
9469         that calls the pre and post command hooks also call out to generic
9470         lisp functions in simple.el, where all built-in stuff could be
9471         added.  I will think about this more.)
9472
9473         * event-unixoid.c (poll_fds_for_input):
9474         * lread.c (readchar):
9475         * redisplay-tty.c (tty_clear_frame):
9476         * redisplay-x.c (x_get_gc):
9477         * signal.c (interrupt_signal):
9478         And a whole bunch of other files: fixed up places that printed
9479         directly to stderr to instead call the function stderr_out so that
9480         the changes I made under Windows work correctly.
9481
9482         * filemode.c (mode_string):
9483         Warning fixes.
9484
9485         * frame-msw.c:
9486         * frame-msw.c (mswindows_size_frame_internal):
9487         Fixed the computation of frame size and position to keep the frame
9488         within the workspace area, rather than within the physical
9489         dimensions of the screen, so that the frame doesn't overlap window
9490         manager decorations, such as the start menu and toolbar, typically
9491         at the bottom of the screen.
9492
9493         * frame.c (vars_of_frame):
9494         Changed the default frame title format under MS Windows to consist
9495         of buffername-XEmacs, which is standard under MS Windows.  I think
9496         it might be a good idea to change this everywhere because I think
9497         it is superior to the current frame title format, but this is the
9498         kind of change that is likely to cause some people to get annoyed,
9499         so I'm not making it.
9500
9501         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9502
9503         * gui-msw.c (mswindows_handle_gui_wm_command):
9504         Fixed compile warnings.
9505
9506         * gui-x.c:
9507         * gui-x.c (strdup_and_add_accel):
9508         * gui-x.c (button_item_to_widget_value):
9509         * gui-x.h:
9510         Added code to automatically put an accelerator onto the beginning
9511         of menu items that don't have one as is now the standard, and is
9512         described more later.  Also fixed things so that the menu item
9513         name can be an evaluated expression, again a new standard.
9514
9515         * gui.c:
9516         * gui.c (gui_item_add_keyval_pair):
9517         * gui.c (make_gui_item_from_keywords_internal):
9518         * gui.c (gui_add_item_keywords_to_plist):
9519         * gui.c (gui_item_accelerator):
9520         * gui.c (gui_name_accelerator):
9521         * gui.c (gui_item_included_p):
9522         * gui.c (gui_item_display_flush_left):
9523         * gui.c (gui_item_display_flush_right):
9524         * gui.c (parse_gui_item_tree_item):
9525         * gui.c (parse_gui_item_tree_children):
9526         * gui.c (parse_gui_item_tree_list):
9527         Mule-ized.  Cleanup.  GCPRO addition.
9528
9529         * line-number.c (buffer_line_number):
9530         * lisp.h:
9531         * lisp.h (EMACS_INT_MAX):
9532         Added the manifest constant EMACS_INT_MIN corresponding to the
9533         existing constant EMACS_INT_MAX.  This is partially to fix compile
9534         warnings under Windows, and partly for cleanliness.
9535
9536         * menubar-msw.c:
9537         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9538         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9539         * menubar-msw.c (displayable_menu_item):
9540         * menubar-msw.c (populate_menu_add_item):
9541         * menubar-msw.c (populate_or_checksum_helper):
9542         * menubar-msw.c (populate_menu):
9543         * menubar-msw.c (update_frame_menubar_maybe):
9544         * menubar-msw.c (prune_menubar):
9545         * menubar-msw.c (msw_char_is_accelerator):
9546         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9547         * menubar-msw.c (mswindows_handle_wm_command):
9548         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9549         * menubar-msw.c (mswindows_handle_wm_initmenu):
9550         * menubar-msw.c (mswindows_update_frame_menubars):
9551         * menubar-msw.c (mswindows_free_frame_menubars):
9552         * menubar-msw.c (mswindows_popup_menu):
9553         Fixed a bug in handling accelerators where an extra character
9554         would be displayed in the menu item.  Also generalized the
9555         function displayable_menu_item because it is now used by the
9556         dialog box code as well.  And finally, added code in the functions
9557         that create the menubar to extract a list of accelerators for the
9558         top level menubar, which is used in the event code to determine
9559         whether a particular alt-key combination should be used to invoke
9560         a menu item, or should be passed through to access the standard
9561         XEmacs keymap binding for this key combination.
9562
9563         Much needed GCPROing.
9564
9565         * menubar-x.c:
9566         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9567         * menubar-x.c (menu_item_descriptor_to_widget_value):
9568         * menubar-x.c (restore_in_menu_callback):
9569         * menubar-x.c (x_popup_menu):
9570         * menubar-x.c (menu_move_up):
9571         * menubar-x.c (menu_move_down):
9572         * menubar-x.c (menu_move_left):
9573         * menubar-x.c (menu_move_right):
9574         * menubar-x.c (menu_select_item):
9575         * menubar-x.c (command_builder_operate_menu_accelerator):
9576         * menubar-x.c (menu_accelerator_junk_on_error):
9577         * menubar-x.c (command_builder_find_menu_accelerator):
9578         * menubar-x.c (Faccelerate_menu):
9579         * menubar.h:
9580         Moved a whole bunch of code here that was previously in
9581         event-stream.c as described above.  There is also code connected
9582         to the new standard of adding an accelerator to the beginning of
9583         menu items that don't have one as described above and below.
9584
9585         * menubar.c:
9586         * menubar.c (menu_parse_submenu_keywords):
9587         * menubar.c (Fmenu_find_real_submenu):
9588         * menubar.c (Fnormalize_menu_item_name):
9589         * menubar.c (syms_of_menubar):
9590         * menubar.c (vars_of_menubar):
9591         * menubar.c (complex_vars_of_menubar):
9592
9593         a) Cleaned up a bunch of documentation and improved it.
9594
9595         b) XEmacs now automatically adds an accelerator onto the beginning
9596         of any menu items that don't have one.  I did this because there
9597         will inevitably be some menu items on the main menubar that don't
9598         have accelerators on them because the package that adds that
9599         particular menu item hasn't yet been fixed up to have accelerators
9600         in them and it looked rather strange to have some items with and
9601         some items without accelerators, especially since even in items
9602         without accelerators, you can, at least under windows, still
9603         access the item through an accelerator corresponding to the first
9604         character in the item's name.  If people don't like this behavior,
9605         I can add a variable to turn it off optionally, but I'm not sure
9606         this is a good idea because we really do need to have accelerators
9607         on all of the menu items, and if a package doesn't like the
9608         accelerators being put on the first character, then it should put
9609         the accelerators where they belong.
9610
9611         c) I made a behavior change, which is that the descriptor that
9612         specifies the text of the menu item, which formerly was just a
9613         string, can now also be an evaluated expression.  This makes this
9614         descriptor parallel with all of the others, which could also be
9615         evaluated expressions.  This also obviates the need for the
9616         keyword :label, which was previously listed in the documentation
9617         as unimplemented, and which was for the same purpose.
9618
9619         d) GCPROing.
9620
9621         * ntproc.c:
9622         * ntproc.c (new_child):
9623         * ntproc.c (sys_spawnve):
9624         * ntproc.c (find_child_console):
9625         * ntproc.c (sys_kill):
9626         Fixed compile warnings.  By the way, this file should really go
9627         away entirely, and this will happen as soon as Kirill makes his
9628         final round of process cleanups, which affect the function
9629         call-process.
9630
9631         * process-nt.c:
9632         * process-nt.c (struct nt_process_data):
9633         * process-nt.c (find_process_from_pid):
9634         * process-nt.c (send_signal_the_nt_way):
9635         * process-nt.c (enable_child_signals):
9636         * process-nt.c (find_child_console):
9637         * process-nt.c (send_signal_the_95_way):
9638         * process-nt.c (nt_finalize_process_data):
9639         * process-nt.c (ensure_console_window_exists):
9640         * process-nt.c (nt_create_process):
9641         * process-nt.c (nt_kill_child_process):
9642         * process-nt.c (nt_kill_process_by_pid):
9643         * process-nt.c (nt_open_network_stream):
9644         * process-nt.c (vars_of_process_nt):
9645         Copied over code from Emacs 20.5 to correctly send signals to sub-
9646         processes under Windows 95.  Also added code to automatically
9647         create and hide console window when a sub-process is created under
9648         Windows 95, which obviates the need for the separate runemacs.exe
9649         executable, and finally implemented some variables that were
9650         implemented in Emacs 20.5, but previously not in XEmacs.  These
9651         include mswindows- start-process-share-console and
9652         mswindows-start-process-inherit-error-mode. (Both of these only
9653         apply to Windows 95.)
9654
9655         * regex.c (regex_compile): Fixed a compile warning.
9656
9657         * select-msw.c:
9658         * select-msw.c (mswindows_own_selection):
9659         * select-msw.c (mswindows_get_foreign_selection):
9660         * select-msw.c (mswindows_disown_selection):
9661         * select-msw.c (console_type_create_select_mswindows):
9662         * select-msw.c (syms_of_select_mswindows):
9663         Cleaned up the file and implemented the device method
9664         selection_exists_p, which had accidentally been left out.  Also
9665         removed four lisp functions that were remnants from before the
9666         time when the selection code was properly device abstracted.
9667         These functions are no longer needed because there are generic
9668         equivalents, and because they were added recently and don't exist
9669         in FSF Emacs, I don't think there's any problem with just deleting
9670         them.
9671
9672         * sysdep.c:
9673         * sysdep.c (sys_subshell):
9674         Fixed a compile warning, although in this case there's probably
9675         something wrong with this code, and it ought to be looked into
9676         more thoroughly by somebody who understands it.
9677
9678         * window.c:
9679         * window.c (Fwindow_text_area_height):
9680         * window.c (Fwindow_width):
9681         * window.c (Fwindow_full_width):
9682         * window.c (Fwindow_pixel_width):
9683         * window.c (debug_print_window):
9684         * window.c (syms_of_window):
9685         Added functions window-text-area-height and window-full-width,
9686         which are functions for returning various width and height
9687         characteristics of a window. (One of these functions is necessary
9688         for making the file dialog box work correctly, and the other one
9689         was added for completeness.)  Also added a table to the
9690         documentation for window-height which describes the entire scheme
9691         for accessing width and height characteristics of a window.
9692
9693 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9694
9695         * nt.c (fstat): Added a comment for another problem with
9696         non-encapsulated [f]stat(), reported by Adrian Aichner
9697         <aichner@ecf.teradyne.com>.
9698
9699 2000-03-11  Andy Piper  <andy@xemacs.org>
9700
9701         * window.c (make_dummy_parent): initialize subwindow instance
9702         cache.
9703         (Fset_window_configuration): zero extent_modiff.
9704
9705 2000-03-10  Andy Piper  <andy@xemacs.org>
9706
9707         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
9708         more changes can be triggered.
9709         (Fredisplay_frame): ditto.
9710         (Fredraw_device): ditto.
9711         (Fredisplay_device): ditto.
9712         (redisplay_frame): make non-static.
9713         (redisplay_frame): call update_frame_gutter_geometry outside of
9714         display proper.
9715
9716         * gutter.h: declare update_frame_gutter_geometry.
9717
9718         * redisplay.h: declare redisplay_frame.
9719
9720         * gutter.c (update_frame_gutter_geometry): move geometry changes
9721         in update_frame_gutters here. Geometry changes can only occur
9722         outside of redisplay.
9723         (update_frame_gutters): remove geometry change code.
9724         (Fredisplay_gutter_area): make sure that we are in display when we
9725         update and that we have flushed any size changes.
9726
9727 2000-03-11  Andy Piper  <andy@xemacs.org>
9728
9729         * alloc.c (pdump_dump_data): remove i & count shadows.
9730
9731 2000-02-27  Mike Alexander  <mta@arbortext.com>
9732
9733         * sysdep.h: Declare pdump_read_file
9734
9735         * sysdep.c (pdump_read_file): New function
9736
9737         * alloc.c (pdump_load): Call pdump_read_file to get the portable
9738         dump data
9739
9740 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9741
9742         * lrecord.h: add `lrecord_type_pgsetenv'.
9743
9744 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
9745
9746         * symsinit.h: declare (vars|syms)_of* functions.
9747         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
9748
9749 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
9750
9751         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
9752
9753         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
9754         GCCs.
9755
9756         * emacs.c (main_1): Call postgres initialization code.
9757
9758         * postgresql.h: New file.  PostgreSQL RDBMS support.
9759         * postgresql.c: New file.
9760
9761 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9762
9763         * redisplay-output.c (redisplay_output_display_block): Disable
9764         redundant code.
9765
9766 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9767
9768         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
9769         (Fcanna_henkan_next): Ditto.
9770         (Fcanna_bunsetu_henkou): Ditto.
9771         (Fcanna_henkan_kakutei): Ditto.
9772         (Fcanna_henkan_end): Ditto.
9773         (Fcanna_henkan_quit): Ditto.
9774         (Fcanna_henkan_next): Set retun value correctly.
9775         (c2mu): Use unsigned char instead of signed char.
9776
9777 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9778
9779         * emacs.c (main_1): Always call syms_of_gui.
9780         * inline.c: include gui.h
9781
9782 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9783
9784         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
9785         converted to Lisp_Object.
9786         (Qtop_bottom): New variable.
9787         (syms_of_redisplay): Initialize it.
9788         * redisplay.h (Vvisible_bell): Ditto.
9789         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
9790         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
9791         only flash top and bottom.
9792
9793 2000-03-08  Andy Piper  <andy@xemacs.org>
9794
9795         * buffer.c (Frename_buffer): record new buffer name the right way.
9796
9797 2000-03-08  Andy Piper  <andy@xemacs.org>
9798
9799         * glyphs.c (update_subwindow): increase hash depth so that widget
9800         items get picked up properly.
9801
9802         * redisplay-output.c (compare_runes): increase hash depth so that
9803         widget items get picked up properly.
9804
9805 2000-03-08  Andy Piper  <andy@xemacs.org>
9806
9807         * gutter.c (output_gutter): add some debug.
9808
9809         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
9810         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
9811         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
9812
9813         * redisplay-output.c (compare_runes): use display_hash to
9814         determine if glyphs really are not the same.
9815
9816         * glyphs.c (update_subwindow): check display_hash to see if
9817         anything really needs to be updated. If not then do
9818         nothing. Record the display_hash after updating.
9819         (image_instance_equal): compare the image_instance face also.
9820
9821 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
9822
9823         * redisplay.h: Fix comment style.
9824
9825 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9826
9827         * consle-msw.h (struct mswindows_frame):
9828         Added new member paint_pending to indicate whether a WM_PAINT
9829         magic event has been queued for this frame.
9830
9831         * event-msw.c (mswindows_drain_windows_queue):
9832         Don't queue a WM_PAINT magic event if one is already queued.
9833         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
9834
9835         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
9836
9837 2000-03-07  Didier Verna  <didier@xemacs.org>
9838
9839         * dired.c: #include `regex.h' after `sysfile.h'.
9840
9841 2000-03-06  Martin Buchholz  <martin@xemacs.org>
9842
9843         * sound.c (init_nas_sound): Fix compiler warning.
9844
9845         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
9846         (FREE_STRUCT_P):
9847         (MARK_STRUCT_AS_FREE):
9848         (MARK_STRUCT_AS_NOT_FREE):
9849         Make `gcc -fstrict-aliasing' work properly.
9850
9851 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9852
9853         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
9854         (mswindows_delete_device): Call CoUnnitialize().
9855
9856         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
9857
9858 2000-02-25    <CraigL@DyCon.com>
9859
9860         * process-nt.c: MinGW now has <shellapi.h>, but still needs
9861         <errno.h>.
9862
9863         * sysdep.c: This extern declaration for environ prevents MinGW
9864         from finding the variable in CRTDLL.DLL.
9865
9866         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
9867         windows headers.
9868         (SHGFI_EXETYPE): ..
9869         (WM_MOUSEWHEEL): ..
9870         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
9871         definitions.
9872         (MMRESULT): Removed, now defined in cygwin's windows headers.
9873         (TIMECAPS): ..
9874         (uid_t,gid_t,pid_t,ssize_t): ..
9875         (_timeb): Removed, MinGW defines both _timeb and timeb.
9876         (HAVE_H_ERRNO): Added.
9877         (HAVE_TZNAME): Added, configure is not detecting this.
9878
9879 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
9880
9881         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
9882         * syntax.c (syntax_match): Use it.
9883
9884         * cmds.c: Import auto-fill-chars from FSF Emacs.
9885         (Vauto_fill_chars): New variables.
9886         (internal_self_insert): Check Vauto_fill_chars.
9887         (vars_of_cmds):
9888         Declare auto-fill-chars as a Lisp variable and initialize it.
9889
9890 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9891
9892         * fileio.c (Fmake_symbolic_link):
9893         (Ffile_symlink_p):
9894         Run handlers even if local machine doesn't have symlinks.
9895
9896 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9897
9898         * event-msw.c (mswindows_drain_windows_queue):
9899         Don't generate paint magic events for non-XEmacs frames.
9900
9901 2000-03-05  Andy Piper  <andy@xemacs.org>
9902
9903         * redisplay.c (redisplay_frame): generate_displayable_area and
9904         friends assumes that we are not in GC, we therefore have to make
9905         sure that this doesn't happen.
9906
9907         * gutter.c (calculate_gutter_size): generate_displayable_area
9908         assumes that we are not in GC, we therefore have to make sure that
9909         this doesn't happen.
9910
9911 2000-03-05  Martin Buchholz  <martin@xemacs.org>
9912
9913         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
9914
9915 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9916
9917         * redisplay.c (regenerate_window): Make sure we set a sane value
9918         for end_pos even if we jump out of the loop.
9919         (regenerate_window): Answer Ben's question :-).
9920         (start_end_of_last_line): Add may_error argument.
9921         (start_of_last_line):
9922         (end_of_last_line): Pass may_error = 0.
9923         (end_of_last_line_may_error): New function.
9924         (pixel_to_glyph_translation): Use it, so we don't crash in
9925         event_to_glyph.
9926
9927 2000-03-04  Andy Piper  <andy@xemacs.org>
9928
9929         * window.h (struct window): add gutter_extent_modiff.
9930
9931         * window.c (allocate_window): zero out gutter_extent_modiff.
9932
9933         * redisplay.h: declare sync_display_line_structs.
9934
9935         * redisplay.c (add_glyph_rune): add a better comment.
9936
9937         * redisplay-output.c (sync_display_line_structs): made non-static.
9938         (compare_runes): remove unneccesary glyph cachel access.
9939
9940         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
9941
9942         * gutter.c (output_gutter): don't output the gutter if extent
9943         changes only involve extents in buffers. use 4 sets of display
9944         lines.
9945         (gutter_extent_signal_changed_region_maybe): new function. Mark
9946         extents in gutters as changed.
9947         (update_frame_gutters): use 4 sets of display lines.
9948         (reset_gutter_display_lines): ditto.
9949         (free_frame_gutters): ditto.
9950         (redraw_exposed_gutter): force output of gutters.
9951
9952         * frame.h (struct frame): add 4 sets of gutter display lines.
9953
9954         * extents.c: (extent_changed_for_redisplay): signal changes to
9955         extents in strings in the gutter as well as extents in buffers.
9956
9957 2000-03-02  Andy Piper  <andy@xemacs.org>
9958
9959         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
9960
9961         * frame.c (Fmake_frame): make sure the gutters get initialized
9962         after the frame is visible.
9963         (set_frame_selected_window): re-arrange compilation macros a
9964         little.
9965         (change_frame_size_1): mark gutters changed.
9966
9967         * device.c (Fset_device_class): mark gutters changed.
9968
9969 2000-03-01  Andy Piper  <andy@xemacs.org>
9970
9971         * window.c (window_top_frame_gutter_height): deleted.
9972         (window_bottom_frame_gutter_height): ditto.
9973         (window_left_frame_gutter_height): ditto.
9974         (window_right_frame_gutter_height): ditto.
9975         (window_top_gutter_height): don't use them.
9976         (window_bottom_gutter_height): ditto.
9977         (window_left_gutter_width): ditto.
9978         (window_right_gutter_width): ditto.
9979         (Fsplit_window): ditto.
9980         (Fwindow_pixel_edges): don't use border dimensions here.
9981
9982         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
9983         (update_scrollbar_instance): ditto.
9984
9985         * redisplay.c (generate_modeline): don't take gutters into account.
9986         (generate_modeline): ditto.
9987         (redisplay_frame): small gutter display optimization.
9988
9989         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
9990
9991         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
9992         gutters into account.
9993
9994         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
9995         for window position and type.
9996
9997         * gutter.c (get_gutter_coords): fix for frame gutters.
9998         (update_frame_gutters): update frame geometry if the gutters have
9999         changed.
10000         (init_frame_gutters): record current gutter geometries.
10001
10002         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10003         var.
10004         (mswindows_widget_instantiate): ditto.
10005
10006         * frame.h (struct frame): add current_gutter_bounds.
10007
10008         * frame.c (change_frame_size_1): position window and minibuffer
10009         appropriately taking into account the frame gutters.
10010
10011         * frame-x.c: (x_initialize_frame_size): take into account the
10012         frame gutters.
10013
10014 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10015
10016         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10017
10018 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10019
10020         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10021
10022 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10023
10024         * file-coding.c (reset_decoding_stream): Clear previous
10025         detection state when autodetect.
10026
10027 2000-02-29  Didier Verna  <didier@xemacs.org>
10028
10029         * extents.c (set_extent_glyph_1): don't require extents to be
10030         attached.
10031
10032 2000-02-27  Andy Piper  <andy@xemacs.org>
10033
10034         * gutter.c (Fset_default_gutter_position): don't default left and
10035         right gutter visibility to t.
10036         (Fset_default_gutter_position): run
10037         default-gutter-position-changed-hook.
10038         (syms_of_gutter): add default-gutter-position-changed-hook.
10039
10040 2000-02-26  Andy Piper  <andy@xemacs.org>
10041
10042         * specifier.c (Fmake_specifier): add gutter references.
10043
10044         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10045
10046         * lisp.h: declare Fvalid_plist_p.
10047
10048         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10049         as changed.
10050         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10051         well as its visibility so that it gets reconstructed.
10052         (construct_window_gutter_spec): new function. Construct a string
10053         to be displayed in the gutter from a plist of strings. Take care
10054         to only use elements that are declared as visible.
10055         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10056         WINDOW_GUTTER.
10057         (gutter_validate): allow plists of strings in the specifier.
10058         (gutter_specs_changed): construct the real_gutter from the gutter
10059         specs using construct_window_gutter_spec.
10060         (gutter_visible_validate): gutter-visible is a new specifier type.
10061         (Fgutter_visible_specifier_p): new function for the new specifier.
10062         (syms_of_gutter): declare gutter-visible and
10063         Fgutter_visible_specifier_p.
10064         (specifier_type_create_gutter): intitalize new gutter-visible
10065         specifier.
10066         (reinit_specifier_type_create_gutter): ditto.
10067         (specifier_vars_of_gutter): use new specifier type for gutter
10068         visibility.
10069         (init_frame_gutters): construct real_gutter correctly.
10070         (Fgutter_specifier_p): beef up documentation.
10071         (Fgutter_size_specifier_p): ditto.
10072
10073         * winslots.h: add real_gutter slots.
10074
10075 2000-02-25  Andy Piper  <andy@xemacs.org>
10076
10077         * device-msw.c: Be kind to older cygwin versions. From Raymond
10078         Toy <toy@rtp.ericsson.se>.
10079
10080         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10081         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10082
10083 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10084
10085         * elhash.c (MARK_OBJ): Practice macro hygiene.
10086
10087 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10088
10089         * miscplay.c: s/__inline__/inline/g;
10090         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10091         (get_device_compdc): INLINE ==> static inline
10092         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10093         find -name '*.h' | \
10094         xargs global-replace \
10095         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10096
10097 2000-02-25  Andy Piper  <andy@xemacs.org>
10098
10099         * window.c (window_top_frame_gutter_height): new function.
10100         (window_top_window_gutter_height): ditto.
10101         (window_top_gutter_height): use them.
10102         (window_bottom_frame_gutter_height): new function.
10103         (window_bottom_window_gutter_height): ditto.
10104         (window_bottom_gutter_height): use them.
10105         (window_left_window_gutter_width): new function.
10106         (window_left_frame_gutter_width): ditto.
10107         (window_left_gutter_width): use them.
10108         (window_right_window_gutter_width): new function.
10109         (window_right_frame_gutter_width): ditto.
10110         (window_right_gutter_width): use them.
10111         (window_pixel_height): new function. calulate window pixel height
10112         with frame gutter involvement.
10113         (Fsplit_window): calculate new sizes taking frame gutters into
10114         account.
10115         (window_char_height_to_pixel_height): don't include frame gutters.
10116         (window_char_height): use window_pixel_height.
10117         (window_pixheight): rename from window_pixel_height.
10118         (change_window_height): use it.
10119         (window_pixel_height_to_char_height): don't include frame gutters.
10120         (window_char_width_to_pixel_width): ditto.
10121
10122 2000-02-25  Andy Piper  <andy@xemacs.org>
10123
10124         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10125         if it is.
10126
10127 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10128
10129         * alloc.c (staticpro):
10130         (staticpro_nodump):
10131         (dumpstruct):
10132         (dumpopaque):
10133         (pdump_wire):
10134         (pdump_wire_list):
10135         (compact_string_chars):
10136         (pdump_dump_wired):
10137         Convert:  if (foo) abort();  ==>  assert (! foo);
10138
10139         * eldap.c (Fldap_search_basic):
10140         (Fldap_add):
10141         (Fldap_modify):
10142         (Fldap_delete):
10143         Fix compiler warnings, and possible crashes if (random) return
10144         value were to be used.
10145
10146 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10147
10148         * device-msw.c: Workaround ResetDC failure.
10149
10150         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10151         applying a devmode.
10152
10153         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10154         (mswindows_text_width): Do not start printer page.
10155
10156         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10157
10158         * glyphs-msw.c: Added image methods to msprinter console and
10159         msprinter-specific image instantiation.
10160
10161 2000-02-20  Mike Alexander  <mta@arbortext.com>
10162
10163         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10164         to avoid crashes when selection-sets-clipboard is on
10165         (mswindows_own_selection): ditto
10166
10167 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10168
10169         * glyphs-msw.c:
10170         * redisplay-msw.c (get_frame_dc):
10171         (get_frame_compdc):
10172         * console-msw.h:
10173         * device-msw.c (mswindows_init_device):
10174         (mswindows_delete_device):
10175         (msprinter_init_device):
10176         (msprinter_delete_device):
10177         * frame-msw.c (mswindows_init_frame_1):
10178         (mswindows_delete_frame):
10179         (msprinter_init_frame_3):
10180         (msprinter_delete_frame): Move compatible DC to device object from
10181         frame object, for both mswindows and msprinter. Only one at a time
10182         is needed, it is a real waste to have one per frame!
10183
10184 2000-02-23  Andy Piper  <andy@xemacs.org>
10185
10186         * glyphs.c: add dynamic width and height elements.
10187         (image_instance_equal): ditto.
10188
10189         * glyphs-widget.c (widget_query_geometry): calculate width and
10190         height dynamically if required.
10191         (initialize_widget_image_instance): initialize dynamic dimensions.
10192         (widget_instantiate): pick-up dynamic dimensions.
10193
10194         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10195         dynamic determination. Add appropriate macros.
10196
10197         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10198         dimensions safe.
10199         (WINDOW_GUTTER_SIZE): ditto.
10200         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10201
10202         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10203         inline.
10204         (get_frame_dc): ditto.
10205
10206         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10207         here.
10208
10209 2000-02-23  Martin Buchholz <martin@xemacs.org>
10210
10211         * XEmacs 21.2.31 is released.
10212
10213 2000-02-22  Ben Wing <ben@xemacs.org>
10214
10215         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10216
10217 2000-02-22  Andy Piper  <andy@xemacs.org>
10218
10219         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10220
10221 2000-02-21  Mike Sperber <mike@xemacs.org>
10222
10223         * .dbxrc:
10224         * .gdbinit:
10225         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10226         variables.
10227
10228 2000-02-21  Mike Sperber <mike@xemacs.org>
10229
10230         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10231
10232 2000-02-21  Martin Buchholz <martin@xemacs.org>
10233
10234         * XEmacs 21.2.30 is released.
10235
10236 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10237
10238         Performance hacking.
10239         * *.c (syms_of_*):
10240         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10241         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10242         * emacs.c (main_1):
10243         * lisp.h (DEFUN):
10244         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10245         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10246         * symeval.h (DEFVAR_SYMVAL_FWD):
10247         * symbols.c (guts_of_unbound_marker):
10248         Make all c_readonly objects also lisp_readonly and marked for life.
10249         * lrecord.h (struct lrecord_implementation):
10250         Document flags better.
10251         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10252         * lrecord.h (DECLARE_LRECORD):
10253         * lrecord.h (XSETRECORD):
10254         * lrecord.h (RECORDP):
10255         * lrecord.h (RECORD_TYPEP):
10256         * lrecord.h (RECORD_MARKER): New.
10257         * lrecord.h (error_check_*):
10258         * lrecord.h (CONCHECK_NONRECORD):
10259         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10260         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10261         * lrecord.h (set_lheader_implementation):
10262         * lrecord.h (enum lrecord_type): New.
10263         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10264         * alloc.c (disksave_object_finalization_1):
10265         * alloc.c (mark_object):
10266         * alloc.c (lrecord_type_index):
10267         * alloc.c (tick_lcrecord_stats):
10268         * alloc.c (Fgarbage_collect):
10269         * alloc.c (init_alloc_once_early):
10270         * alloc.c (pdump_load):
10271         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10272         * alloc.c (lrecord_type_index): Delete.
10273         Make lisp object type indexes be constant.
10274           Makes (byte-compile) 5% faster.
10275         Put all marker functions into their own array.
10276           Makes (garbage-collect) 5% faster.
10277         Optimize SYMBOL_VALUE_MAGIC_P.
10278           Makes (byte-compile) 2-3% faster.
10279         * config.h.in (gc_checking_assert): New.
10280         * alloc.c: Use gc_checking_assert().
10281         * .dbxrc: Make compatible with new object type implementation.
10282         * .gdbinit: Make compatible with new object type implementation.
10283         * alloc.c: Delete all symbols defined only for debugging, such as
10284         Lisp_Type_Vector and lrecord_charset.
10285
10286 2000-02-21  Andy Piper  <andy@xemacs.org>
10287
10288         * gui-msw.c (Fmswindows_shell_execute): fix file location
10289         problems.
10290
10291         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10292         unshowing so that set_window_buffer doesn't undo
10293         kill_buffer_hook's hard work.
10294
10295         * glyphs-widget.c (tab_control_query_geometry): don't count the
10296         first item when calculating geometry.
10297
10298         * glyphs.c (map_subwindow): remove redundant code.
10299         (update_frame_subwindows): be more circumspect about when to
10300         update subwindows.
10301
10302         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10303         when items haven't changed. Update faces if faces have changed as
10304         well as just the widget face.
10305         (x_tab_control_update): Update faces if faces have changed as well
10306         as just the widget face.
10307
10308 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10309
10310         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10311         registration.
10312         (build_syscolor_string): Use mswindows_color_to_string to try to
10313         get a named color.
10314         (mswindows_device_system_metrics): Reverse the foreground and
10315         background colors so that they match the documentation.
10316
10317         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10318         they match the default Windows palette.
10319         (mswindows_color_to_string): New function.
10320
10321 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10322
10323         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10324
10325 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10326
10327         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10328         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10329
10330         * symbols.c (init_symbols_once_early): Removed obsolete
10331         DATA_SEG_BITS related kludge.
10332         (defvar_magic): Ditto.
10333
10334         * malloc.c: Removed obsolete DATA_SEG_BITS
10335         * ralloc.c: Ditto.
10336         * mem-limits.h: Ditto.
10337
10338         * Makefile.in.in: Removed obsolete HAVE_SHM
10339         * emacs.c: Ditto.
10340
10341 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10342
10343         *  device-msw.c (mswindows_delete_device): Free DDE string
10344         handles.
10345
10346 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10347
10348         * keymap.c (get_keyelt):
10349         * unexnt.c (unexec):
10350         * vm-limit.c (memory_warnings):
10351         * ntheap.c (recreate_heap):
10352         * ntheap.h (UNINIT_PTR):
10353         * select-msw.c (Fmswindows_get_clipboard):
10354         (Fmswindows_set_clipboard):
10355         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10356         * objects-msw.c:
10357         * menubar-msw.c (displayable_menu_item):
10358         * glyphs-msw.c:
10359         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10360         * sysdep.c (sys_subshell):
10361         * process-nt.c (nt_create_process):
10362         * nt.c (normalize_filename):
10363         (dostounix_filename):
10364         (unixtodos_filename):
10365         * ntproc.c (win32_executable_type):
10366         * ntplay.c (play_sound_data_1):
10367         (play_sound_file):
10368         * editfns.c (get_home_directory):
10369         * event-msw.c (struct winsock_stream):
10370         (mswindows_dde_callback):
10371         * device-msw.c (msprinter_init_device):
10372         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10373
10374         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10375         mswindows_clear_toolbar were swapped!
10376
10377         * objects-msw.c:(colormap_t):
10378         (fontmap_t):
10379         * emacs.c (struct standard_args): Fixed const jumble.
10380
10381         * glyphs-widget.c (update_widget): Fixed comparison notation.
10382
10383         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10384
10385         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10386         __declspec(noreturn) syntax.
10387
10388 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10389
10390         * eldap.c (Fldap_open):
10391         (Fldap_search_basic):
10392         (Fldap_add):
10393         (Fldap_modify):
10394         Use new coding system conversion macros.
10395
10396 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10397
10398         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10399
10400 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10401
10402         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10403         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10404
10405         * eldap.c (Qadd, Qreplace): New constant symbols
10406         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10407         interruptions by XEmacs signals
10408         Remove unnecessary calls to slow_down_interrupts and
10409         speed_up_interrupts
10410         (Fldap_search_basic): Renamed from Fldap_search_internal
10411         Added new optional parameter VERBOSE that triggers the
10412         display of progress messages
10413         Remove unnecessary calls to slow_down_interrupts and
10414         speed_up_interrupts
10415         LDAP result code analysis rewritten
10416         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10417         (syms_of_eldap): Define the new symbols and functions
10418
10419
10420 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10421
10422         * realpath.c: Determine PATH_MAX maximally portably.
10423
10424         * insdel.c (bytecount_to_charcount): Optimize.
10425         The function used to be optimized for entirely ASCII sequences.
10426         Now it is optimized for successive characters from the same
10427         charset.  This also wins big for _mostly_ ASCII sequences.
10428
10429         * fileio.c (Ffile_truename): convert return from realpath() using
10430         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10431         - Rewrite GCPROing slightly.
10432
10433         * sysdep.c (sys_open): Do filename conversion, like all other
10434         sys_* functions.  Fixes bug:
10435         (let ((file-name-coding-system 'iso-8859-2))
10436            (write-region x y latin2-name))
10437         ==> writes filename using internal encoding.
10438
10439 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10440
10441         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10442         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10443         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10444         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10445         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10446         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10447         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10448         (CONST_IF_NOT_DEBUG): Delete.
10449         * alloc.c (this_one_is_unmarkable): Delete.
10450         (mark_object): Don't check for this_one_is_unmarkable. Use the
10451         c_readonly flag instead.
10452         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10453
10454 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10455
10456         * event-msw.c (mswindows_drain_windows_queue):
10457         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10458         away redundant repaint events.
10459
10460 2000-02-17  Andy Piper  <andy@xemacs.org>
10461
10462         * redisplay.h: declare mark_redisplay_structs.
10463
10464         * redisplay.c (redisplay_window):
10465         (redisplay_frame): don't check subwindows_state_changed.
10466         (mark_redisplay): mark gutters here.
10467
10468         * glyphs.c: (instantiate_image_instantiator): always layout if we
10469         haven't done so already.
10470         (allocate_image_instance): don't mark as dirty.
10471         (update_subwindow): bind inhibit_quit.
10472
10473         * gutter.c (mark_gutters): new function.
10474
10475         * glyphs-x.c (x_update_widget): Always resize to get round a
10476         widget bug.
10477
10478         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10479         breaking absolutely everything.
10480
10481         * gutter.h: declare mark_gutters.
10482
10483 2000-02-16  Martin Buchholz <martin@xemacs.org>
10484
10485         * XEmacs 21.2.29 is released.
10486
10487 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10488
10489         * fns.c (size_bit_vector): Fix computation of the size.
10490
10491 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10492
10493         * *.[ch]: Change CONST to const globally.
10494         find -name '*.[ch]' | \
10495         xargs global-replace \
10496         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10497         - Remove vestigial references to CONST_IS_LOSING
10498
10499 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10500
10501         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10502         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10503         events instead of dispatching them directly.
10504         (mswindows_handle_paint): New function to do repainting.
10505         (mswindows_wnd_proc):
10506         (emacs_mswindows_handle_magic_event): Call above function.
10507
10508 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10509
10510         * objects-msw.c (mswindows_create_font_variant): Return the new
10511         font handle.
10512         (initialize_font_instance): Get font metrics from the underlined
10513         variant of the font to cope with the case where the underlined
10514         font has a bigger descent.
10515
10516 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10517
10518         * gui.c (gui_item_accelerator): Return the first underlined
10519         character in item name.
10520
10521 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10522
10523         * lisp.h: Added Qprinter.
10524
10525         * general.c (syms_of_general): Initialized it.
10526
10527         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10528         (get_frame_dc):
10529         (get_frame_compdc): Made inline.
10530
10531         * console.h (struct console_methods): Added eject_page method.
10532
10533         * frame.h: Added FRAME_DISPLAY_P and friends.
10534         Aligned backslahes in many macros in more readable fashion.
10535         Added page_number to struct frame, and an accessor macro
10536         for it.
10537
10538         * defice.h: Added DEVICE_DISPLAY_P and friends.
10539
10540         * device.c (Fdevice_printer_p): Used these.
10541
10542         * frame.c (allocate_frame_core): Initialize page number.
10543         (Fprint_job_page_number):
10544         (Fprint_job_eject_page): Implemented.
10545
10546         * frame-msw.c (msprinter_eject_page): Added method.
10547         (msprinter_start_page): Added.
10548
10549         * window.c (Fwindow_truncated_p): Fixed docstring.
10550         (Fwindow_last_line_visible_height): Implemented.
10551
10552 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10553
10554         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10555
10556 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10557
10558         * syntax.c (scan_words): Always advance at least one character.
10559
10560 2000-02-13  Andy Piper  <andy@xemacs.org>
10561
10562         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10563         to make sure the glyph is in the cachels.
10564
10565         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
10566         global image instance flag.
10567         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
10568         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
10569
10570         * glyphs.c (allocate_image_instance): set dirty bits correctly.
10571         (Fset_image_instance_property): mark layout as changed.
10572         (invalidate_glyph_geometry_maybe): mark layout as changed.
10573         (glyph_width): use new NEEDS_LAYOUT macro.
10574         (glyph_ascent): ditto.
10575         (glyph_descent): ditto.
10576         (glyph_height): ditto.
10577         (image_instance_layout): mark layout as clean after laying out.
10578         (update_subwindow): don't mark layout as clean here.
10579
10580         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
10581         should no longer be needed.
10582
10583         * glyphs-x.c (x_update_widget): sanitize asserts.
10584         (x_finalize_image_instance): sanitize assignment to widgets.
10585
10586         * glyphs-widget.c (widget_instantiate): don't need to clear the
10587         layout flag here.
10588
10589 2000-02-13  Martin Buchholz  <martin@xemacs.org>
10590
10591         * sysdep.c (getcwd): Use standard prototype.
10592         * sysdep.h (getcwd): Use standard prototype.
10593
10594         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
10595         (sequence, start, end).
10596         Remove redundant type checking.
10597         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
10598         view of `caller-protects') to avoid a crash where the real fix was
10599         found elsewhere.
10600
10601 2000-02-12  Martin Buchholz  <martin@xemacs.org>
10602
10603         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
10604
10605         * s/sol2.h: Remove feature macro initialization.
10606
10607         * alloc.c (alloc_lcrecord): Add more type checking assertions.
10608         (vector_hash): New.  Code from internal_hash.
10609         * lrecord.h:
10610         Fix up allocation subsystem comments.
10611
10612         * config.h.in: Add __EXTENSIONS__ for Solaris.
10613
10614         * systime.h (EMACS_GETTIMEOFDAY): New.
10615         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
10616         Remove Solaris-specific code.
10617         Use void* for the (ignored) second arg for gettimeofday().
10618
10619         * elhash.c (hash_table_hash): Implement it, finally.
10620         * elhash.c:  Use hashcode_t.
10621
10622         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
10623         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
10624
10625         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
10626         * fns.c (size_bit_vector):
10627         * alloc.c (size_vector):
10628         (make_vector_internal):
10629         (make_bit_vector_internal):
10630         (sweep_bit_vectors_1):
10631         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
10632
10633 2000-02-10  Martin Buchholz  <martin@xemacs.org>
10634
10635         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
10636         Include strings.h to avoid warnings for bzero and strcasecmp.
10637
10638 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10639
10640         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
10641         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
10642
10643         * fns.c (size_bit_vector): New.  Declare bit vectors as a
10644         sequence.
10645
10646 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10647
10648         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
10649         use a value field instead.
10650         (symbol_value_forward_forward): Use value field.
10651         (DEFVAR_SYMVAL_FWD): Use value field.
10652         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
10653         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
10654         (DEFVAR_CONST_INT): Ditto.
10655         (DEFVAR_BOOL): Ditto.
10656         (DEFVAR_CONST_BOOL): Ditto.
10657         (DEFVAR_INT_MAGIC): Ditto.
10658         (DEFVAR_BOOL_MAGIC): Ditto.
10659
10660         * symbols.c (guts_of_unbound_marker): Use value field.
10661         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
10662         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
10663
10664         * lisp.h: Declare dumpopaque and noninteractive1.
10665
10666         * alloc.c (dumpopaque): Added.
10667         (pdump_dump_opaquevec): Added.
10668         (pdump): Call pdump_dump_opaquevec to dump opaque data.
10669         (pdump_load): Reload opaque data.  Sync noninteractive1 with
10670         noninteractive.
10671
10672 2000-02-10  Andy Piper  <andy@xemacs.org>
10673
10674         * glyphs.c (image_instance_layout): if the size changes, mark it
10675         as such.
10676
10677         * redisplay-output.c (redisplay_output_layout): Update the
10678         subwindow here.
10679         (redisplay_output_subwindow): ditto.
10680
10681         * glyphs.c (update_subwindow): make sure we reset flags for
10682         layouts as well as everything else.
10683
10684         * glyphs-widget.c (layout_layout): don't need to set the instances
10685         dimensions here.
10686
10687 2000-02-09  Martin Buchholz  <martin@xemacs.org>
10688
10689         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
10690         not HAVE_DLOPEN, which is a lower-level thing.
10691
10692         * .cvsignore: Ignore gmon.out
10693
10694 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
10695
10696         * .cvsignore: Ignore portable dumper xemacs.dmp file
10697
10698 2000-02-09  Andy Piper  <andy@xemacs.org>
10699
10700         * redisplay-output.c (redisplay_output_layout): be more clever
10701         about when we output based on the changed flags.
10702
10703         * glyphs.h (struct image_instantiator_methods): add update_method.
10704         (struct Lisp_Image_Instance): add changed flags. Declare new
10705         macros for manipulating them.
10706
10707         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
10708         (image_instance_parent_glyph): find an image_instance's parent
10709         glyph or image_instance.
10710         (image_instance_layout): mark the size as changed.
10711         (set_image_instance_dirty_p): new function. mark an image
10712         instance, plus all of its parents, as dirty.
10713         (Fset_image_instance_property): use it.
10714         (Fglyph_animated_timeout_handler): use it.
10715         (update_subwindow): call update_widget and device methods for
10716         update_subwindow. Mark all changed flags as clean.
10717         (Fresize_subwindow): mark size as changed.
10718
10719         * glyphs-x.c (x_finalize_image_instance): try and detect gc
10720         failures.
10721         (x_update_subwindow): only resize subwindows here.
10722         (x_update_widget): new function. Update all changed properties of
10723         a widget.
10724         (x_resize_subwindow): deleted.
10725         (x_widget_set_property): deleted.
10726         (x_progress_gauge_set_property): deleted.
10727         (x_progress_gauge_update): new function. Implement recorded
10728         changes.
10729         (x_tab_control_update): ditto.
10730         (x_tab_control_set_property): deleted.
10731         (console_type_create_glyphs_x): declare new functions.
10732         (image_instantiator_format_create_glyphs_x): ditto.
10733
10734         * glyphs-widget.c (widget_set_property): mark text changed.
10735         (update_widget): new function. Update properties of a widget.
10736         (widget_instantiate): for layouts make sure we set their
10737         children's parent correctly.
10738         (tab_control_set_property): new function. Record changes that will
10739         take place under redisplay's control.
10740         (progress_gauge_set_property): ditto.
10741         (image_instantiator_progress_guage): declare new functions.
10742         (image_instantiator_tab_control): ditto.
10743
10744         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
10745         now.
10746         (mswindows_update_widget): new function. Update all properties on
10747         a widget that have changed.
10748         (mswindows_button_update): new function. Update a button's set
10749         state.
10750         (mswindows_tab_control_update): new function. Update the items in
10751         a tab.
10752         (mswindows_tab_control_set_property): deleted.
10753         (mswindows_progress_gauge_update): new function. Update the
10754         progress gauge's progress.
10755         (mswindows_widget_set_property): deleted. This is all done
10756         asynchronously now.
10757         (mswindows_progress_gauge_set_property): ditto.
10758         (console_type_create_glyphs_mswindows): declare new methods.
10759         (image_instantiator_format_create_glyphs_mswindows): ditto.
10760
10761         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
10762         (msprinter_set_frame_properties): ditto.
10763
10764         * console.h (struct console_methods): Add update_widget_method.
10765
10766 2000-02-09  Andy Piper  <andy@xemacs.org>
10767
10768         * gui-msw.c (Fmswindows_shell_execute): Make
10769         mswindows-shell-execute industrial strength.
10770
10771 2000-02-08  Martin Buchholz  <martin@xemacs.org>
10772
10773         * lrecord.h: Make macro argument `props' match member function `plist'.
10774         * fns.c (Fget):
10775         * fns.c (Fput):
10776         * fns.c (Fremprop):
10777         * fns.c (Fobject_plist):
10778         * alloc.c:
10779         * symbols.c:
10780         Object property list frobbing cleanup.
10781         - Allow any lisp object (compared with `eq'), not just symbols, as
10782           keys in object plists.
10783         - Move symbol plist frobbing into symbols.c, where it belongs.
10784         - Move string plist frobbing into alloc.c, where it belongs.
10785         - Everything's an lrecord now, so no need to test for symbolp, etc.
10786         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
10787
10788         * extents.c: Reorder code to remove declarations.
10789
10790         * frame.h (store_in_alist): Remove useless declaration.
10791
10792 2000-02-07  Martin Buchholz  <martin@xemacs.org>
10793
10794         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
10795         * config.h.in: Add HAVE_XCONVERTCASE.
10796
10797 2000-02-07  Andy Piper  <andy@xemacs.org>
10798
10799         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
10800         it breaks many things.
10801
10802 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
10803
10804         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
10805         actually can start a common comment type.
10806         * src/syntax.h (SYNTAX_END_P): ditto for end.
10807
10808 2000-02-07  Martin Buchholz <martin@xemacs.org>
10809
10810         * XEmacs 21.2.28 is released.
10811
10812 2000-02-06  Martin Buchholz  <martin@xemacs.org>
10813
10814         * event-Xt.c (x_keysym_to_character): New.
10815         (maybe_define_x_key_as_self_inserting_character): New.
10816         (x_has_keysym): New.
10817         Auto-define all keys on the keyboard as self-insert-key.
10818
10819 2000-02-02  Martin Buchholz  <martin@xemacs.org>
10820
10821         * menubar.c (vars_of_menubar): A small code simplification.
10822
10823         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
10824
10825         * ExternalShell.c:
10826         * ExternalClient.c:
10827         * EmacsShell-sub.c:
10828         * EmacsManager.c:
10829         * EmacsFrame.c:
10830         Use consistent style for specifying X resources.
10831
10832         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
10833         This makes (dontusethis-set-symbol-value-handler) actually usable.
10834
10835         * lrecord.h (lrecord_decription_type):
10836         * alloc.c (pdump_register_sub):
10837         (pdump_dump_data):
10838         (pdump_reloc_one):
10839         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
10840         Comply with XEmacs coding style.
10841         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
10842         args, and XD_LISP_OBJECT_ARRAY with 3 args.
10843
10844         * keymap.c (Faccessible_keymaps):
10845         Make (accessible-keymaps map "\C-h") do the Right Thing.
10846         Make (accessible-keymaps map []) do the Right Thing.
10847         Make (accessible-keymaps map "") do the Right Thing.
10848         (check_keymap_definition_loop): New function.
10849         (keymap_store_internal): Keep luser from shooting self in foot,
10850           via (define-key ctl-x-4-map "p" global-map).
10851         Remove fullness slot from struct Lisp_Keymap, since hash tables
10852         are now reliable.
10853         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
10854
10855 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10856
10857         * redisplay.c (init_redisplay): Fix small memory leak.
10858         * elhash.h:
10859         * elhash.c (pdump_reorganize_hash_table):
10860         Rename from reorganize_hash_table. Change prototype.
10861         Reuse the original memory for hentries.  Save 100k.
10862         * alloc.c (PDUMP_READ): new macro.
10863         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
10864         * alloc.c: No need to #ifndef before #undef.
10865
10866         * print.c: Allow debug_print() to print readably by modifying
10867         debug_print_readably.  Use consistent variable names.
10868
10869         * .dbxrc: Try to get things to work even if stopped in a function
10870         without source available by explicitly specifying source files.
10871 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10872
10873         * unexnt.c (_start): Removed bogus code which caused loading heap
10874         from differrent executable file.
10875         Removed bogus assignment to _fmode, which caused inconsistencies.
10876
10877 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10878
10879         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
10880         Have spawnve encapsulation regard DONT_ENCAPSULATE.
10881         Do not preliminary `#define signal sigset'.
10882
10883         * systime.h: Do not prototype environ on windows nt and cygwin,
10884         this conflicts with system header.
10885
10886         * syssignal.h: Use correct define for WINDOWSNT
10887
10888         * sysdep.h: Do not prototype environ on windows nt, this conflicts
10889         with system header.
10890
10891         * sysdep.c (near start of file): Fixed commentary and rearranged
10892         ifdefs in readable order.
10893         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
10894         (start_of_text):
10895         (end_of_text):
10896         (end_of_data): Do not compile in if using PDUMP.
10897
10898         * symsinit.h: Prototyped vars_of_nt().
10899
10900         * ntproc.c (windows9x_p): Added, instead of os_subtype.
10901         (find_child_console): Use it.
10902         (sys_kill): Use it.
10903
10904         * ntheap.h: Do not extern os_subtype.
10905
10906         * ntheap.c (cache_system_info): Do not cache unneeded:
10907         nt_major_version, nt_minor_version and os_subtype.
10908         (recreate_heap): Do not compile in when PDUMPing.
10909
10910         * nt.c (geteuid and friends): Use the new varibale
10911         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
10912         (init_user_info): Removed the above mentioned hackery.
10913         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
10914         stat has been fixed in the C runtime.
10915         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
10916
10917         * file-coding.c (struct file_coding_dump): Do not define
10918         ucs_to_mule_table in the struct if not MULE.
10919         (struct struct lrecord_description fcd_description_1): Do not dump
10920         the above.
10921
10922         * emacs.c (main_1): Call vars_of_nt().
10923         (right before Fdump_emacs_data): Don't need lastfile if using both
10924         portabe dumper and system malloc.
10925
10926         * alloc.c (Fmemory_limit): Conditionalized out.
10927         (pdump): Use OPEN_BINARY for the portable dump file.
10928         (pdump_load): Ditto.
10929
10930 2000-02-02  Mike Alexander  <mta@arbortext.com>
10931
10932         * nt.c (convert_time): Set tm_isdst before calling mktime and
10933         avoid calling it at all if the compiler supports 64 bit integers.
10934         Also initialize utc_base_ft before using it.
10935
10936 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10937
10938         * frame.c (change_frame_size_1): Take f->internal_border_width
10939         into consideration when calculating the width of the frame.
10940
10941 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10942
10943         * window.c (frame_min_height):
10944         (frame_size_valid_p):
10945         (frame_pixsize_valid_p): Added.
10946         (check_frame_size): Generalized.
10947
10948         * window.h: Prototyped the above.
10949
10950         * lisp.h:
10951         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
10952         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
10953         Deleted Vwin32_* and Vbinary_process_* unused variables.
10954
10955         * device-msw.c (msprinter_init_device): Do not get printer font
10956         list; Added DEVMODE functions.
10957
10958         * frame-msw.c: Added lots of printer code.
10959
10960         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
10961         general.c.
10962
10963         * console-msw.h: Added more msprinter device private slots.
10964
10965 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10966
10967         * event-msw.c (key_needs_default_processing_p): Added.
10968         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
10969
10970 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10971
10972         * glyphs.c (image_instance_layout): Mark image instance as clean
10973         after layout.
10974         (glyph_dirty_p): Removed redundant function.
10975         (invalidate_glyph_geometry_maybe): Added.
10976         (update_glyph_cachel_data): Call it.
10977
10978         * glyphs.h: Prototyped it.
10979
10980         * redisplay.c (add_glyph_rune): Call it.
10981         (redisplay_window): Reset glyphs cachels when frame faces have
10982         changed, thus forcing recomputation of built-in border glyphs.
10983
10984 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10985
10986         * Makefile.in.in: Make portable dumper and purify play well together.
10987         Add imperfect, but better than nothing, support for pdump.
10988         Remove xemacs.dmp when temacs is re-generated.
10989         Don't ignore errors when dumping xemacs.
10990
10991         * symbols.c (maybe_call_magic_handler): Remove one magic number.
10992
10993 2000-01-28  Andy Piper  <andy@xemacs.org>
10994
10995         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
10996         (setup_normal_frame): ditto.
10997         (setup_frame_without_minibuffer): ditto.
10998         (setup_minibuffer_frame): ditto.
10999         (delete_frame_internal): ditto.
11000         (Fmake_frame_invisible): ditto.
11001         (Ficonify_frame): ditto.
11002
11003         * window.h: change Fset_window_buffer signature.
11004
11005         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11006         (Fset_window_buffer): allow recording of buffer if the window is
11007         the selected window.
11008         (window_loop): Use new Fset_window signature.
11009
11010 2000-01-23  Daniel Pittman  <daniel@danann.net>
11011
11012         * config.h.in: Added template for `HAVE_ATHENA_3D'
11013
11014 2000-01-29  Andy Piper  <andy@xemacs.org>
11015
11016         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11017
11018         * gutter.c (output_gutter): Don't output if the window isn't live.
11019
11020 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11021
11022         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11023         of 01/12/00: Moved SetFocus back here where it belongs.
11024
11025 2000-01-23  Andy Piper  <andy@xemacs.org>
11026
11027         * s/cygwin32.h: declare printer things.
11028
11029 2000-01-26  Andy Piper  <andy@xemacs.org>
11030
11031         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11032         Alexander.
11033
11034 2000-01-24  Andy Piper  <andy@xemacs.org>
11035
11036         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11037         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11038
11039         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11040
11041         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11042
11043         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11044
11045         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11046         (mswindows_output_display_block): Avoid local shadows.
11047
11048         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11049         (mswindows_enqueue_mouse_button_event): ditto.
11050         (mswindows_handle_gui_wm_command): remove declaration.
11051
11052         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11053         warnings.
11054
11055         * console-msw.h: Avoid shadows.
11056         (mswindows_get_toolbar_button_text):
11057         (emacs_mswindows_create_stream_pair):
11058         (emacs_mswindows_delete_stream_pair):
11059         (mswindows_handle_toolbar_wm_command): declare.
11060
11061         * device-msw.c (build_syscolor_string): Avoid shadows.
11062
11063 2000-01-23  Andy Piper  <andy@xemacs.org>
11064
11065         * glyphs-widget.c (widget_instantiate): reverse the items for
11066         layouts so that children are in the expected order.
11067
11068 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11069
11070         * ralloc.c: safe_bcopy ==> memmove
11071         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11072         * s/msdos.h: Remove BCOPY macros.
11073         * insdel.c (gap_right): Remove BCOPY conditional code.
11074         * insdel.c (gap_left): Remove BCOPY conditional code.
11075         XEmacs demands a working ANSI C compiler - hence memmove.
11076
11077         * regex.c (regex_compile): Remove accidental use of trigraphs.
11078
11079 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11080
11081         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11082         event timestamp.
11083
11084 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11085
11086         * event-msw.c (mswindows_drain_windows_queue): Added the
11087         parameter.
11088         (mswindows_need_event): Commented the call to
11089         mswindows_drain_windows_queue().
11090         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11091         only.
11092
11093         * console-msw.h: Moved a few function prototypes here from
11094         event-msw.c.
11095
11096         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11097         parameter from unsigned short to unsigned long.
11098         (Fmswindows_shell_execute): Added return value.
11099
11100 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11101
11102         * sysdep.c (init_system_name):
11103           process-unix.c (unix_canonicalized_host_name):
11104         Don't call freeaddrinfo() if getaddrinfo() fails.
11105
11106         * process-unix.c (unix_open_unix_network_stream):
11107         Moved the code to get a port # into address loop.
11108
11109 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11110
11111         * buffer.c (reinit_vars_of_buffer):
11112         The right place to initialize conversion_in_dynarr and
11113         conversion_out_dynarr.
11114
11115         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11116
11117         * process-unix.c (unix_canonicalize_host_name): Muleize.
11118         (unix_open_network_stream): Muleize.
11119
11120         * buffer.h: Fix up prototypes for ralloc.c functions.
11121
11122 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11123         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11124         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11125                 instead of gethostbyname()
11126         * process-unix.c: In unix_canonicalize_host_name() and
11127                 unix_open_network_stream(), add code to use getaddrinfo()
11128                 instead of gethostbyname().
11129
11130 2000-01-27  Daniel Pittman <daniel@danann.net>
11131
11132         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11133         libs when built with flat Athena.
11134
11135 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11136
11137         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11138         Use coding standards for function prototypes.
11139
11140 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11141
11142         * dialog-msw.c (push_lisp_string_as_unicode):
11143         * doc.c (unparesseuxify_doc_string):
11144         * dired.c (Fuser_name_completion_1):
11145         * dired.c (Fuser_name_all_completions):
11146         * dired.c (free_user_cache):
11147         * dired.c (user_name_completion):
11148         * console-x.c (get_display_arg_connection):
11149         * minibuf.c (clear_echo_area_internal):
11150         * minibuf.c (echo_area_append):
11151         * eldap.c (Fldap_open):
11152         * eldap.c (Fldap_search_internal):
11153         * frame-x.c (x_set_frame_text_value):
11154         * frame-x.c (x_set_frame_properties):
11155         * frame-x.c (x_create_widgets):
11156         * redisplay-tty.c (term_get_fkeys_1):
11157         * objects-x.c (x_parse_nearest_color):
11158         * objects-x.c (x_valid_color_name_p):
11159         * objects-x.c (x_initialize_font_instance):
11160         * objects-x.c (x_list_fonts):
11161         * objects-x.c (x_find_charset_font):
11162         * tooltalk.c (Fadd_tooltalk_message_arg):
11163         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11164         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11165         * process-unix.c (unix_create_process):
11166         * ntproc.c (sys_spawnve):
11167         * sound.c (Fplay_sound_file):
11168         * sound.c (Fplay_sound):
11169         * buffer.c (init_initial_directory):
11170         * buffer.c (init_buffer):
11171         * editfns.c (init_editfns):
11172         * editfns.c (Ftemp_directory):
11173         * editfns.c (Fuser_full_name):
11174         * editfns.c (uncache_home_directory):
11175         * editfns.c (get_home_directory):
11176         * editfns.c (Fuser_home_directory):
11177         * editfns.c (Fformat_time_string):
11178         * editfns.c (Fcurrent_time_string):
11179         * gui-x.c (button_item_to_widget_value):
11180         * database.c (Fopen_database):
11181         * event-Xt.c (x_to_emacs_keysym):
11182         * event-Xt.c (x_event_to_emacs_event):
11183         * event-Xt.c (describe_event_window):
11184         * event-msw.c (mswindows_wnd_proc):
11185         * glyphs-eimage.c (jpeg_instantiate):
11186         * glyphs-eimage.c (gif_instantiate):
11187         * glyphs-eimage.c (png_instantiate):
11188         * glyphs-eimage.c (tiff_instantiate):
11189         * glyphs-x.c (xbm_instantiate_1):
11190         * glyphs-x.c (x_xbm_instantiate):
11191         * glyphs-x.c (x_xface_instantiate):
11192         * glyphs-x.c (autodetect_instantiate):
11193         * glyphs-x.c (cursor_font_instantiate):
11194         * glyphs-x.c (x_widget_instantiate):
11195         * glyphs-x.c (x_widget_set_property):
11196         * glyphs-x.c (x_widget_property):
11197         * glyphs-x.c (BUILD_GLYPH_INST):
11198         * print.c (write_string_to_stdio_stream):
11199         * print.c (output_string):
11200         * print.c (Falternate_debugging_output):
11201         * print.c (Fexternal_debugging_output):
11202         * glyphs-msw.c (extract_xpm_color_names):
11203         * glyphs-msw.c (mswindows_xpm_instantiate):
11204         * glyphs-msw.c (bmp_instantiate):
11205         * glyphs-msw.c (resource_name_to_resource):
11206         * glyphs-msw.c (mswindows_resource_instantiate):
11207         * glyphs-msw.c (xbm_instantiate_1):
11208         * glyphs-msw.c (mswindows_xbm_instantiate):
11209         * glyphs-msw.c (mswindows_xface_instantiate):
11210         * glyphs-msw.c (mswindows_widget_instantiate):
11211         * glyphs-msw.c (add_tree_item):
11212         * glyphs-msw.c (add_tab_item):
11213         * glyphs-msw.c (mswindows_combo_box_instantiate):
11214         * glyphs-msw.c (mswindows_widget_property):
11215         * glyphs-msw.c (mswindows_combo_box_property):
11216         * glyphs-msw.c (mswindows_widget_set_property):
11217         * console.c (stuff_buffered_input):
11218         * objects-msw.c (mswindows_initialize_color_instance):
11219         * objects-msw.c (mswindows_valid_color_name_p):
11220         * objects-msw.c (mswindows_list_fonts):
11221         * objects-msw.c (mswindows_font_instance_truename):
11222         * bytecode.c (optimize_compiled_function):
11223         * select-x.c (symbol_to_x_atom):
11224         * select-x.c (x_atom_to_symbol):
11225         * select-x.c (hack_motif_clipboard_selection):
11226         * select-x.c (selection_data_to_lisp_data):
11227         * select-x.c (lisp_data_to_selection_data):
11228         * select-x.c (Fx_get_cutbuffer_internal):
11229         * select-x.c (Fx_store_cutbuffer_internal):
11230         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11231         * buffer.h (TO_INTERNAL_FORMAT): New function.
11232         * emacs.c (make_arg_list_1):
11233         * emacs.c (make_argc_argv):
11234         * emacs.c (main_1):
11235         * emacs.c (Fdump_emacs):
11236         * emacs.c (split_string_by_emchar_1):
11237         * file-coding.h:
11238         * lisp.h:
11239         * lstream.h:
11240         * symsinit.h:
11241         * device-x.c (x_init_device):
11242         * device-x.c (Fx_valid_keysym_name_p):
11243         * device-x.c (Fx_get_font_path):
11244         * device-x.c (Fx_set_font_path):
11245         * glyphs.c (bitmap_to_lisp_data):
11246         * glyphs.c (pixmap_to_lisp_data):
11247         * alloc.c (make_ext_string): Use coding system arguments.  Update
11248         all callers.
11249         * alloc.c (build_string):
11250         * callproc.c (child_setup):
11251         * callproc.c (init_callproc):
11252         * fileio.c (lisp_strerror):
11253         * fileio.c (directory_file_name):
11254         * fileio.c (Fexpand_file_name):
11255         * fileio.c (Ffile_truename):
11256         * fileio.c (Fsysnetunam):
11257         * fileio.c (Fdo_auto_save):
11258         * sysdep.c (sys_readdir):
11259         * tests.c: New file.  Allow adding C tests.
11260         Replace GET_* macros with a more comprehensible and flexible
11261         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11262         Modify all calls.
11263         Any coding system can be used to do format conversion.
11264         Eliminate enum external_data_format.
11265         Eliminate convert_to_external_format.
11266         Eliminate convert_to_internal_format.
11267         Make sure file-name, keyboard, terminal, and ctext are always
11268         defined as coding systems or aliases.  Make
11269         file-name-coding-system, terminal-coding-system, and
11270         keyboard-coding-system magical variables that are equivalent to
11271         defining the corresponding coding system aliases.
11272
11273         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11274         * file-coding.c (Fcoding_system_alias_p): New function.
11275         * file-coding.c (Fcoding_system_aliasee): New function.
11276         * file-coding.c (append_suffix_to_symbol): New function.
11277         * file-coding.c (dangling_coding_system_alias_p): New function.
11278         * file-coding.c (Ffind_coding_system):
11279         * file-coding.c (Fcopy_coding_system):
11280         * file-coding.c (encode_coding_no_conversion):
11281         * file-coding.c (syms_of_file_coding):
11282         * file-coding.c (vars_of_file_coding):
11283         Rewrite coding system alias code.
11284         Allow nested aliases, like symbolic links.
11285         Allow redefinition of coding system aliases.
11286         Prevent existence of dangling coding system aliases.
11287
11288         * dired.c (Fuser_name_completion_1):
11289         * dired.c (Fuser_name_all_completions):
11290         A crash would happen if user did QUIT in the middle of building
11291         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11292
11293         * lisp.h:
11294         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11295
11296         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11297         an unsigned char *.  Update all callers.
11298
11299 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11300
11301         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11302
11303 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11304
11305         * elhash.c (hentry_description): Use more portable definition.
11306         (resize_hash_table): Initialize new hentries using
11307         xnew_array_and_zero, thereby simplifying the code.
11308
11309         * mule-charset.c (make_charset): Make sure entire object is
11310         initialized, to avoid Purify warnings.
11311
11312         * alloc.c (resize_string): Fix unlikely crash with big strings.
11313
11314 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11315
11316         * realpath.c (xrealpath):
11317         Don't call getwd().
11318
11319 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11320
11321         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11322
11323 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11324
11325         * unexelfsgi.c (unexec): Change the way we decide which segment
11326         should be extended.
11327
11328         Assumption that .bss section should be outside the PT_LOADable
11329         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11330         it's present) is inside the 'data' segment. This would fail the
11331         test which was used to find a segment to grow and cover new
11332         heap. Instead of this assumption, I created another one - on IRIX
11333         the segment to grow should start below .bss and it's address
11334         should extent above the end of .bss. Once this segment is
11335         identified, it's grown to accommodate the new heap and new
11336         zero-length .bss section is added at the end of .data2.
11337
11338 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11339
11340         * eval.c (Feval): Wrong number of arguments should use original
11341         function, not the indirect_function version of it.
11342
11343 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11344
11345         * glyphs-x.c (x_button_instantiate): Don't add image if
11346         it is not a pixmap.
11347         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11348         is relative.
11349
11350 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11351
11352         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11353         declaration.
11354         (DEFVAR_INT_MAGIC): Ditto.
11355         (DEFVAR_BOOL_MAGIC): Ditto.
11356         * glyphs.h: Reindent backslash.
11357
11358 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11359
11360         * glyphs-widget.c (layout_query_geometry):
11361         (layout_layout): Use correct types for gheight, gwidth.
11362
11363 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11364
11365         * EmacsManager.c (QueryGeometry): Purified.
11366
11367 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11368
11369         * alloc.c (make_float): Make sure entire object is initialized, to
11370         avoid Purify warnings.
11371         (pdump_register_sub): Remove useless assignment.
11372         (pdump): Use xmalloc, not malloc.
11373         (pdump_load): Use xmalloc, not malloc.
11374
11375 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11376
11377         * callproc.c:
11378         * dired-msw.c:
11379         * fileio.c:
11380         * process-nt.c:
11381         * redisplay-msw.c:
11382         * sysdep.c: Removed redundant #include <windows.h>
11383
11384 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11385
11386         * frame.c (delete_frame_internal): Do not delete device when its
11387         implementation so declares.
11388         (delete_frame_internal): Set device selected frame to nil when
11389         last frame goes away.
11390
11391         * device-msw.c (msprinter_device_system_metrics): Implemented.
11392         (mswindows_device_system_metrics): Added 'device-dpi property.
11393
11394         * device.c: (Fdevice_printer_p): Added.
11395         Added 'offset-workspace device metric.
11396
11397         * console.h (device_metrics): Declared DM_offset_workspace.
11398
11399 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11400
11401         * fileio.c (Ffile_truename): Remove pointless and confusing
11402         initialization of elen.
11403
11404         * glyphs-widget.c: Compiler warning fixes.
11405
11406 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11407
11408         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11409         instead of a Lisp_Object as argument to make it consistent with
11410         the other LIVE_P macros.
11411         (CHECK_LIVE_PROCESS): New macro.
11412
11413         * process.c: Declare Qprocess_live_p.
11414         (Fprocess_live_p): New function.
11415         (create_process): Use PROCESS_LIVE_P.
11416         (read_process_output): Ditto.
11417         (set_process_filter): Ditto.
11418         (Fdelete_process): Ditto.
11419         (kill_buffer_processes): Ditto
11420         (process_send_signal): Use CHECK_LIVE_PROCESS.
11421         (Fprocess_input_coding_system): Check whether process is still
11422         alive (fix PR#1061).
11423         (Fprocess_output_coding_system): Ditto.
11424         (Fprocess_coding_system): Ditto.
11425         (Fset_process_input_coding_system): Ditto.
11426         (Fset_process_output_coding_system): Ditto.
11427
11428 2000-01-23  Andy Piper  <andy@xemacs.org>
11429
11430         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11431         layout and widget.
11432
11433         * glyphs.c (mark_image_instance): take into account changed
11434         image_instance format.
11435         (image_instance_equal): ditto.
11436         (image_instance_hash): ditto.
11437
11438         * glyphs-widget.c (widget_instantiate): Incorporate layout
11439         instantiation here. Delay layout of the layout until later.
11440         (layout_instantiate): deleted.
11441         (layout_query_geometry): new function. get the geometry of a
11442         layout.
11443         (layout_layout): layout a layout dynamically.
11444         (image_instantiator_widget): New function - splitting up
11445         image_instantiator_format_create_glyphs_widget for netwinder
11446         compilation.
11447         (image_instantiator_buttons):
11448         (image_instantiator_edit_fields):
11449         (image_instantiator_combo_box):
11450         (image_instantiator_scrollbar):
11451         (image_instantiator_progress_guage):
11452         (image_instantiator_tree_view):
11453         (image_instantiator_tab_control):
11454         (image_instantiator_labels):
11455         (image_instantiator_layout): ditto.
11456         (image_instantiator_format_create_glyphs_widget): Call preceding
11457         functions.
11458
11459 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11460
11461         * process.c (Fset_process_coding_system):
11462         * device-x.c (Fx_keysym_hash_table):
11463         Docstring fixes.
11464
11465         * lstream.c (Lstream_write): Return documented value, not 0.
11466
11467         * fileio.c (directory_file_name):
11468         (Fsubstitute_in_file_name):
11469         (Fsubstitute_insert_file_contents_internal):
11470         (Fwrite_region_internal):
11471         * emacs.c:
11472         * sysdep.c:
11473         * getloadavg.c:
11474         * systty.h:
11475         Remove vestigial APOLLO-conditional code.
11476
11477 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11478
11479         * getpagesize.h: Add guard macros.
11480         * libsst.h: Add guard macros.
11481         * libst.h: Add guard macros.
11482         * line-number.h: Add guard macros.
11483         * ndir.h: Add guard macros.
11484         * sysfloat.h: Add guard macros.
11485         * sysfile.h: Add guard macros.
11486         * sysproc.h: Add guard macros.
11487         * syswait.h: Add guard macros.
11488         * xintrinsic.h: Add guard macros.
11489         * xintrinsicp.h: Add guard macros.
11490         * xmmanager.h: Add guard macros.
11491         * xmmanagerp.h: Add guard macros.
11492         * xmprimitive.h: Add guard macros.
11493         * xmu.h: Add guard macros.
11494         * gpmevent.h: Add copyright statement. Add guard macros.
11495         * miscplay.h: Add guard macros.
11496         * *.h: Use consistent C-standards-approved guard macro names.
11497
11498         * opaque.c (make_opaque): Switch parameter order.
11499         * opaque.h (make_opaque): Switch parameter order.
11500         Update all callers.
11501         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11502
11503         * config.h.in (type_checking_assert): Added.
11504         (bufpos_checking_assert): Added.
11505
11506 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11507
11508         * alloc.c: Harmless pdump changes.
11509         - Use countof().
11510         - spell alignment correctly.
11511         * sysdep.c: Use countof()
11512
11513 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11514
11515         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11516         initially_selected_for_input() console method, default to 0.
11517         (semi_canonicalize_console_connection): Try to delegate to
11518         canonicalize_console_connection if no such console method.
11519         (canonicalize_console_connection): Vice versa.
11520         (print_console): Do not print nil connection.
11521
11522         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11523         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11524         (XDEVIMPF_FRAMELESS_OK): Added.
11525         (CONSOLE_INHERITS_METHOD): Added.
11526
11527         * console-msw.c (mswindows_canonicalize_console_connection):
11528         Added.
11529         (mswindows_canonicalize_device_connection): Added.
11530
11531         * console-msw.h (struct msprinter_device): Added this struct and
11532         accessor macros.
11533         (mswindows_device): Made fontlist a lisp object.
11534
11535         * device.c (semi_canonicalize_device_connection):  Try to delegate
11536         to canonicalize_device_connection if no such console method.
11537         (canonicalize_device_connection): Vice versa.
11538         (print_device): Do not print nil connection.
11539
11540         * device-msw.c (mswindows_init_device): Call InitCommonControls
11541         when have widgets.
11542         (mswindows_delete_device): Removed fontlist deallocation.
11543         (mswindows_mark_device): Added.
11544
11545         * events.c (event_equal): Added abort() at unreached code.
11546         (event_hash): Ditto.
11547
11548         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11549         fallback tags of Windows devices.
11550
11551         * general.c (syms_of_general): Initialized Qmsprinter.
11552
11553         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11554         of fallback tags of Windows devices.
11555
11556         * lisp.h: Declared Qmsprinter.
11557
11558         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11559         of strings.
11560         (mswindows_list_fonts): Ditto.
11561         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11562         that it can be used by both mswindows and msprinter devices.
11563         (initialize_font_instance): Added.
11564         (mswindows_initialize_font_instance): Use it.
11565         (msprinter_initialize_font_instance): Added.
11566
11567         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
11568         and implementation flags check.
11569         (redisplay_without_hooks): Changed the call to the above.
11570         (Fredraw_device): Ditto.
11571         (Fredisplay_device): Ditto.
11572
11573         * redisplay-msw.c (get_frame_dc): Implemented.
11574         (get_frame_compdc): Implemented.
11575         (many functions): Use the two functions above to get device
11576         contexts, ether for a window or a printer.
11577
11578 2000-01-21  Olivier Galibert  <galibert@pobox.com>
11579
11580         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
11581         initialization here.
11582         (init_symbols_once_early): Call it.
11583         * emacs.c (main_1): Call it.
11584         * symsinit.h: Declare it.
11585
11586 2000-01-19  Olivier Galibert  <galibert@pobox.com>
11587
11588         * alloc.c: Use a lrecord_header * in the backtrace instead of a
11589         Lisp_Object.
11590         (pdump_backtrace): Ditto.
11591         (pdump_register_object): Ditto.  Cleanup use of the pointers.
11592         (pdump_get_entry): Abort if trying to register a null pointer.
11593         (pdump_dump_data): Cleanup types when relocating.
11594         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
11595         (pdump_dump_rtables): Remove bad casts.
11596         (pdump_load): Cleanup relocation w.r.t union type.  Use a
11597         Lisp_Object instead of a EMACS_INT for the hashtable
11598         reorganization.
11599
11600 2000-01-20  Martin Buchholz  <martin@xemacs.org>
11601
11602         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
11603
11604         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
11605
11606         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
11607
11608         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
11609
11610 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11611
11612         * faces.h (FACE_STRIKETHRU_P): Added.
11613
11614         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
11615         of font variants.
11616
11617         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
11618         (mswindows_set_dc_font): New function, aware of font variants,
11619         separated from mswindows_update_dc.
11620
11621         * objects-msw.h (struct mswindows_font_instance_data): Added
11622         definition.
11623
11624         * objects-msw.c (mswindows_finalize_font_instance): Delete all
11625         cached fonts and the data structure.
11626         (mswindows_initialize_font_instance): Added creation of font data
11627         structure.
11628         (mswindows_print_font_instance): Print at least something.
11629         (mswindows_create_font_variant): Implemented.
11630         (mswindows_get_hfont): Implemented.
11631
11632 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
11633
11634         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
11635         prototyping problem with msvc.
11636
11637         * emacs.c (main_1): added syms_of_gui_mswindows() call
11638
11639         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
11640         syms_of_gui_mswindows() function
11641
11642         * symsinit.h: added the prototype for syms_of_gui_mswindows()
11643
11644 2000-01-18  Martin Buchholz <martin@xemacs.org>
11645
11646         * XEmacs 21.2.27 is released.
11647
11648 2000-01-18  Martin Buchholz  <martin@xemacs.org>
11649
11650         * glyphs-eimage.c (struct tiff_error_struct):
11651         (tiff_error_func):
11652         (tiff_warning_func):
11653         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
11654
11655         * unexmips.c:
11656         * unexhp9k3.c:
11657         * unexfreebsd.c:
11658         * unexec.c: Remove vestigial Lucid C code.
11659         * unexalpha.c:
11660         * unexaix.c:
11661         * termcap.c:
11662         * libsst.c: Ansify.
11663         Remove declarations of errno and strerror().
11664
11665         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
11666
11667         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
11668
11669 2000-01-16  Martin Buchholz  <martin@xemacs.org>
11670
11671         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
11672         Optimize.
11673
11674 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11675
11676         * md5.c:
11677         * file-coding.c:
11678         * file-coding.h:
11679         Change enum eol_type to eol_type_t.
11680
11681 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11682
11683         * gui.c (get_gui_callback): Check cons before accessing car.
11684
11685 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11686
11687         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
11688         (XSETSPECIFIER_TYPE): Ditto.
11689
11690 2000-01-17  Didier Verna  <didier@xemacs.org>
11691
11692         * redisplay.c (generate_fstring_runes): compute string size in
11693         characters, not bytes.
11694
11695 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11696
11697         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
11698
11699 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
11700
11701         * print.c (print_error_message): Call print_prepare().
11702
11703 2000-01-14  Martin Buchholz  <martin@xemacs.org>
11704
11705         * .dbxrc: Renamed from dbxrc.
11706
11707         * events.c (event_to_character):
11708         Use `assert (foo)' instead of `if (!foo) abort()'
11709
11710         * .gdbinit (xtype): Add documentation.
11711         * .gdbinit (check-temacs): New function.
11712         * .gdbinit (check-xemacs): New function.
11713         * dbxrc (check-xemacs): New function.
11714         * dbxrc (check-xemacs): New function.
11715
11716 2000-01-14  Andy Piper  <andy@xemacs.org>
11717
11718         * glyphs-widget.c (widget_query_geometry): Make sure that we
11719         calculate default dimensions correctly.
11720
11721 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11722
11723         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
11724
11725         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
11726         pdump_wire'd variable.
11727
11728         * emacs.c: (main_1): Conditionalized calls to
11729         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
11730
11731 2000-01-13  Martin Buchholz  <martin@xemacs.org>
11732
11733         * window.c (Fset_window_configuration):
11734         * sysdep.c (_start):
11735         * input-method-motif.c (res):
11736         * event-Xt.c (Xt_process_to_emacs_event):
11737         Simple compiler warning fixes.
11738
11739         * bytecode.c (funcall_compiled_function): Use the original
11740         function symbol on the backtrace list in preference to the
11741         compiled_function object in error messages.
11742
11743 2000-01-13  Andy Piper  <andy@xemacs.org>
11744
11745         * glyphs-x.c (update_widget_face): Make sure we update the widget
11746         background as well as foreground.
11747
11748 2000-01-13  Andy Piper  <andy@xemacs.org>
11749
11750         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
11751         fields to subwindow.
11752         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
11753         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
11754         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11755         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11756
11757         * glyphs-widget.c (check_valid_tab_orientation): new function.
11758         (initialize_widget_image_instance): zero orientation and
11759         justification.
11760         (widget_instantiate): pick up orientation.
11761         (tab_control_query_geometry): return appropriate values for
11762         vertical tabs.
11763
11764         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
11765         appropriate creation flags for left, right and bottom tabs.
11766
11767         * s/cygwin32.h: add tab definitions.
11768
11769 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11770
11771         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
11772         frame upon hiding a subwindow.
11773         (mswindows_button_instantiate): Changed the push button style to
11774         BS_PUSHBUTTON.
11775         (mswindows_button_instantiate): Removed button BS_NOTIFY
11776         style.
11777         (mswindows_button_instantiate): Removed redundant check for
11778         a disabled gui item.
11779         (mswindows_button_instantiate): Made use of WS_TABSTOP
11780         consistent: "operable" controls (edit, button, tree, scroll) have
11781         this style, "display-only" ones (static, progress gauge) do
11782         not. This style is currently ignored by XEmacs though. Also,
11783         removed the WS_EX_CONTROLPARENT style - it is not for children,
11784         it is for their parents!
11785         (mswindows_edit_field_instantiate): Ditto.
11786         (mswindows_progress_gauge_instantiate): Ditto.
11787         (mswindows_tree_view_instantiate): Ditto.
11788         (mswindows_tab_control_instantiate): Ditto.
11789         (mswindows_scrollbar_instantiate): Ditto.
11790         (mswindows_combo_box_instantiate): Ditto.
11791         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
11792         style to the "clip" window.
11793         (mswindows_button_instantiate): Removed compilation warning by
11794         equally typing terms of the ?: operator.
11795
11796 2000-01-12  Didier Verna  <didier@xemacs.org>
11797
11798         * redisplay.c (generate_fstring_runes): new parameter holding the
11799         last modeline-format extent.
11800         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
11801         extent, fill the glyph block with it.
11802         (generate_fstring_runes): handle these parameters.
11803         (generate_formatted_string_db): ditto.
11804
11805         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
11806         glyphs'extents in the modeline.
11807
11808 1999-01-11  Mike Woolley  <mike@bulsara.com>
11809
11810         * ntheap.c: Reduced the reserved heap space from 1Gb down to
11811         256Mb, as a workaround for the non-starting problem many people
11812         have experienced.
11813
11814 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11815
11816         * console-tty.c (Fset_console_tty_output_coding_system):
11817         Force redrawing tty frame.
11818
11819 2000-01-10  Didier Verna  <didier@xemacs.org>
11820
11821         * redisplay.c (generate_fstring_runes): fix size computation bug.
11822
11823 2000-01-09  William M. Perry <wmperry@aventail.com>
11824
11825         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
11826
11827 2000-01-09  Andy Piper  <andy@xemacs.org>
11828
11829         * glyphs-msw.c: index -> i to avoid shadows.
11830         (xbm_create_bitmap_from_data): make static.
11831         (check_valid_string_or_int): deleted.
11832         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
11833
11834         * glyphs-x.c (x_update_subwindow): remove unused args.
11835
11836         * glyphs.c (glyph_image_instance): return the thing. Don't set the
11837         back pointer - this is done in allocate_image_instance.
11838         (query_string_font): return Qnil to make the compiler happy.
11839         (unmap_subwindow): set to ~0 to make the compiler happy.
11840         (glyph_query_geometry): comment out until used.
11841         (glyph_layout): ditto.
11842
11843 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11844
11845         * insdel.c (signal_after_change): Remove extraneous unbind_to().