(J90-7152): Unify JIS X 0208:1978 and 1983 code points.
[chise/xemacs-chise.git] / src / ChangeLog
1 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
4         (LEADING_BYTE_JEF_CHINA3): New macro.
5         (MIN_CHAR_JEF_CHINA3): New macro.
6         (MAX_CHAR_JEF_CHINA3): Likewise.
7         (DECODE_CHAR): Fixed.
8
9 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
10
11         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
12         (Qjapanese_jef_china3): New variable.
13         (encode_builtin_char_1): Support `japanese-jef-china3'.
14         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
15         (complex_vars_of_mule_charset): Add new coded-charset
16         `japanese-jef-china3'.
17
18 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
19
20         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
21         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
22         94^4, 96^3, 96^4, 128^n and 256^n set.
23         (put_char_table): Use `XCHARSET_CELL_RANGE'.
24         (map_char_table): Likewise.
25
26 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
27
28         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
29         UTF-2000.
30
31 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
32
33         * chartab.h (get_char_id_table): New inline function.
34
35         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
36         function.
37
38 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
39
40         * chartab.h (decode_char_table_range): New prototype in XEmacs
41         UTF-2000.
42         (put_char_id_table): New inline function in XEmacs UTF-2000.
43
44         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
45         function.
46         (decode_char_table_range): Delete static declaration in XEmacs
47         UTF-2000.
48
49 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
50
51         * chartab.c (put_char_id_table): Use `put_char_table'.
52
53 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
54
55         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
56         (map_over_uint16_byte_table): Likewise.
57         (map_over_byte_table): Likewise.
58         (map_char_table): Modify for `map_over_uint8_byte_table',
59         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
60         UTF-2000.
61
62 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
63
64         * chartab.c (struct map_char_table_for_charset_arg): New
65         structure.
66         (map_char_table_for_charset_fun): New function.
67         (map_char_table): Use `map_char_table' for encoding_table of
68         `range->charset'.
69
70 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
71
72         * chartab.c (map_char_table): Check a character is found in
73         range->charset instead of non default value is defined in
74         char-table when range is CHARTAB_RANGE_ROW.
75
76 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
77
78         * chartab.c (map_char_id_table): Deleted.
79         (Fmap_char_attribute): Use `map_char_table' instead of
80         `map_char_id_table'.
81
82 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
83
84         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
85         UTF-2000.
86         (update_syntax_table): Deleted in XEmacs UTF-2000.
87
88         * syntax.c (find_defun_start): Use `syntax_table' instead of
89         `mirror_syntax_table' in XEmacs UTF-2000.
90         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
91         UTF-2000.
92         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
93         XEmacs UTF-2000.
94         (Fmatching_paren): Likewise.
95         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
96         in XEmacs UTF-2000.
97         (find_start_of_comment): Likewise.
98         (find_end_of_comment): Likewise.
99         (Fforward_comment): Likewise.
100         (scan_lists): Likewise.
101         (char_quoted): Likewise.
102         (Fbackward_prefix_chars): Likewise.
103         (scan_sexps_forward): Likewise.
104         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
105         (update_syntax_table): Likewise.
106
107         * search.c (skip_chars): Use `syntax_table' instead of
108         `mirror_syntax_table' in XEmacs UTF-2000.
109         (wordify): Likewise.
110         (Freplace_match): Likewise.
111
112         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
113         `mirror_syntax_table' in XEmacs UTF-2000.
114         (WORDCHAR_P_UNSAFE): Likewise.
115         (re_match_2_internal): Likewise.
116
117         * font-lock.c (find_context): Use `buf->syntax_table' instead of
118         `buf->mirror_syntax_table' in XEmacs UTF-2000.
119
120         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
121         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
122
123         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
124         XEmacs UTF-2000.
125
126         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
127         UTF-2000.
128         (print_char_table): Print `default_value' in XEmacs UTF-2000.
129         (char_table_description): Delete `mirror_table' in XEmacs
130         UTF-2000.
131         (fill_char_table): Don't call `update_syntax_table' in XEmacs
132         UTF-2000.
133         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
134         (Fcopy_char_table): Likewise.
135         (put_char_table): Don't call `update_syntax_table' in XEmacs
136         UTF-2000.
137
138         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
139         `buf->mirror_syntax_table' in XEmacs UTF-2000.
140         (casify_region_internal): Likewise.
141
142         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
143
144         * buffer.c (common_init_complex_vars_of_buffer): Don't use
145         `mirror_syntax_table' in XEmacs UTF-2000.
146
147         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
148         `buf->mirror_syntax_table' in XEmacs UTF-2000.
149         (Fexpand_abbrev): Likewise.
150
151 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
152
153         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
154
155 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
156
157         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
158         (map_over_uint16_byte_table): Likewise.
159         (map_over_byte_table): Likewise.
160         (get_char_id_table): Refer `cit->default_value'.
161         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
162         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
163         of character-id ranges.
164         (mark_char_table): Mark `ct->default_value'.
165         (char_table_description): Add `default_value'.
166         (fill_char_table): Use `default_value'.
167         (decode_char_table_range): Decode `nil' as
168         `CHARTAB_RANGE_DEFAULT'.
169         (get_char_id_table): Refer `cit->default_value'.
170         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
171         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
172         temporary hack; check value of char-table is bound or not.
173         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
174
175         * chartab.h (struct Lisp_Char_Table): Add new member
176         `default_value' in XEmacs UTF-2000.
177         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
178         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
179         UTF-2000.
180
181 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
182
183         * chartab.h (Lisp_Char_ID_Table): Deleted.
184
185         * chartab.c (char_table_description): Fix typo.
186         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
187         `Lisp_Char_ID_Table'.
188
189 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
190
191         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
192         `CHAR_ID_TABLE_P'.
193
194         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
195         `CHAR_ID_TABLE_P'.
196
197         * chartab.h (XCHAR_ID_TABLE): Deleted.
198         (XSETCHAR_ID_TABLE): Deleted.
199         (CHAR_ID_TABLE_P): Deleted.
200
201         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
202         `CHAR_ID_TABLE_P'.
203         (Fget_composite_char): Likewise.
204         (put_char_table): Likewise.
205         (add_char_attribute_alist_mapper): Fixed.
206         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
207         `CHAR_ID_TABLE_P'.
208         (Fget_char_attribute): Likewise.
209         (Fget_char_attribute): Likewise.
210         (Fmap_char_attribute): Likewise.
211
212         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
213         `CHAR_ID_TABLE_P'.
214         (encode_char_1): Likewise.
215
216 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
217
218         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
219         `XCHAR_ID_TABLE'.
220
221         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
222         instead of `XCHAR_ID_TABLE'.
223         (remove_char_ccs): Likewise.
224
225         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
226         `XCHAR_ID_TABLE'.
227         (Fget_composite_char): Likewise.
228         (Fchar_variants): Likewise.
229         (put_char_table): Likewise.
230         (add_char_attribute_alist_mapper): Likewise.
231         (Fchar_attribute_alist): Likewise.
232         (Fget_char_attribute): Likewise.
233         (Fput_char_attribute): Likewise.
234         (Fmap_char_attribute): Likewise.
235         (Fmap_char_attribute): Likewise.
236
237         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
238         `XCHAR_ID_TABLE'.
239         (encode_char_1): Likewise.
240
241 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
242
243         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
244         `Lisp_Char_ID_Table'.
245         (mark_char_id_table): Deleted.
246         (print_char_id_table): Likewise.
247         (char_id_table_equal): Likewise.
248         (char_id_table_hash): Likewise.
249         (char_id_table_description): Likewise.
250         (char_id_table): Likewise.
251         (make_char_id_table): Use `Fmake_char_table' and
252         `fill_char_table'.
253         (get_char_id_table): Use `Lisp_Char_Table' instead of
254         `Lisp_Char_ID_Table'.
255         (put_char_id_table): Likewise.
256         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
257         `XCHAR_ID_TABLE'.
258         (Fremove_char_attribute): Likewise.
259         (syms_of_chartab): Don't define type `char-id-table'.
260
261         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
262         (char_id_table): Likewise.
263         (GC_CHAR_ID_TABLE_P): Likewise.
264         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
265         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
266         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
267         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
268         (get_char_id_table): Use `Lisp_Char_Table' instead of
269         `Lisp_Char_ID_Table'.
270         (put_char_id_table_0): Likewise.
271         (put_char_id_table): Likewise.
272
273 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
274
275         * chartab.h: Lisp_Byte_Table related codes are moved from
276         chartab.h.
277
278         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
279
280 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
281
282         * chartab.h: Don't include "chartab.h".
283         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
284         (Lisp_Char_ID_Table): Likewise.
285         (char_id_table): Likewise.
286         (XCHAR_ID_TABLE): Likewise.
287         (XSETCHAR_ID_TABLE): Likewise.
288         (CHAR_ID_TABLE_P): Likewise.
289         (GC_CHAR_ID_TABLE_P): Likewise.
290         (get_char_id_table): Likewise.
291
292         * char-ucs.h: Include "chartab.h".
293         (struct Lisp_Char_ID_Table): Moved to chartab.h.
294         (Lisp_Char_ID_Table): Likewise.
295         (char_id_table): Likewise.
296         (XCHAR_ID_TABLE): Likewise.
297         (XSETCHAR_ID_TABLE): Likewise.
298         (CHAR_ID_TABLE_P): Likewise.
299         (GC_CHAR_ID_TABLE_P): Likewise.
300         (get_char_id_table): Likewise.
301
302 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
303
304         * chartab.c (copy_uint8_byte_table): New function.
305         (copy_uint16_byte_table): New function.
306         (copy_byte_table): New function.
307         (map_over_uint8_byte_table): Modify to avoid huge numbers of
308         characters to call.
309         (map_over_uint16_byte_table): Likewise.
310         (map_over_byte_table): Likewise.
311         (get_byte_table): Move prototype to chartab.h.
312         (put_byte_table): Likewise.
313         (put_char_id_table_0): Moved to chartab.h.
314         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
315         (char_table_entry_equal): Likewise.
316         (char_table_entry_hash): Likewise.
317         (char_table_entry_description): Likewise.
318         (char_table_entry): Likewise.
319         (make_char_table_entry): Likewise.
320         (copy_char_table_entry): Likewise.
321         (get_non_ascii_char_table_value): Likewise.
322         (map_over_charset_ascii): Likewise.
323         (map_over_charset_control_1): Likewise.
324         (map_over_charset_row): Likewise.
325         (map_over_other_charset): Likewise.
326         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
327         (print_char_table): Likewise.
328         (char_table_equal): Likewise.
329         (char_table_hash): Likewise.
330         (char_table_description): Likewise.
331         (fill_char_table): Likewise.
332         (Fcopy_char_table): Likewise.
333         (get_char_table): Likewise.
334         (Fget_range_char_table): Likewise.
335         (put_char_table): Likewise.
336         (map_char_table): Likewise.
337         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
338         UTF-2000.
339
340 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
341
342         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
343         `Vauto_fill_chars' in XEmacs UTF-2000.
344
345         * chartab.h (get_byte_table): New prototype [moved from
346         chartab.c].
347         (put_byte_table): Likewise [moved from chartab.c].
348         (put_char_id_table_0): New inline function [moved from chartab.c].
349         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
350         (Lisp_Char_Table_Entry): Likewise.
351         (char_table_entry): Likewise.
352         (XCHAR_TABLE_ENTRY): Likewise.
353         (XSETCHAR_TABLE_ENTRY): Likewise.
354         (CHAR_TABLE_ENTRYP): Likewise.
355         (CHECK_CHAR_TABLE_ENTRY): Likewise.
356         (NUM_ASCII_CHARS): Likewise.
357         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
358         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
359
360 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
361
362         * chartab.c (get_char_id_table): Change interface.
363         (put_char_id_table_0): New function.
364         (put_char_id_table): Change interface; new implementation.
365         (Fget_composite_char): Modify for interface change of
366         `get_char_id_table'.
367         (Fchar_variants): Likewise.
368         (add_char_attribute_alist_mapper): Likewise.
369         (Fchar_attribute_alist): Likewise.
370         (Fget_char_attribute): Likewise.
371         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
372         as same as character as the first argument like `put-char-table';
373         modify for interface change of `put_char_id_table'.
374         (Fremove_char_attribute): Modify for interface change of
375         `put_char_id_table'.
376
377 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
378
379         * text-coding.c: Sync up with XEmacs 21.2.41.
380         (COMPOSE_ADD_CHAR): Modify for interface change of
381         `get_char_id_table'.
382
383         * mule-charset.c (put_char_ccs_code_point): Modify for interface
384         change of `put_char_id_table'.
385         (remove_char_ccs): Likewise.
386
387         * chartab.h (put_char_id_table): Change interface.
388
389         * char-ucs.h (get_char_id_table): Change interface.
390         (charset_code_point): Modify for interface change of
391         `get_char_id_table'.
392         (encode_char_1): Likewise.
393
394 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
395
396         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
397         argument `ccs'.
398         (map_over_uint16_byte_table): Likewise.
399         (map_over_byte_table): Likewise.
400         (map_char_id_table): Add new argument `range' like
401         `map_char_table'.
402         (Fmap_char_attribute): Add new argument `range' like
403         `Fmap_char_table'.
404
405 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
406
407         * chartab.c (map_over_uint8_byte_table): Change interface of
408         mapping function to use struct chartab_range instead of Emchar.
409         (map_over_uint16_byte_table): Likewise.
410         (map_over_byte_table): Likewise.
411         (map_char_id_table): Likewise.
412         (struct slow_map_char_id_table_arg): Deleted.
413         (slow_map_char_id_table_fun): Deleted.
414         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
415         function `slow_map_char_table_fun' instead of struct
416         `slow_map_char_id_table_arg' and function
417         `slow_map_char_id_table_fun'.
418
419 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
420
421         * mule-charset.c: Move char-it-table related codes to chartab.c.
422         (Vutf_2000_version): Moved to chartab.c.
423         (Fdefine_char): Likewise.
424         (Ffind_char): Likewise.
425         (syms_of_mule_charset): Move types `uint8-byte-table',
426         `uint16-byte-table', `byte-table' and `char-id-table' to
427         chartab.c; move functions `char_attribute_list,
428         `find_char_attribute_table, `char_attribute_alist,
429         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
430         `map_char_attribute, `define_char, `find_char, `char_variants and
431         `get_composite_char to chartab.c; move symbols `=>ucs',
432         `->decomposition', `compat', `isolated', `initial', `medial',
433         `final', `vertical', `noBreak', `fraction', `super', `sub',
434         `circle', `square', `wide', `narrow', `small' and `font' to
435         chartab.c.
436         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
437         setting codes for `Vcharacter_composition_table' and
438         `Vcharacter_variant_table' to chartab.c.
439         (complex_vars_of_mule_charset): Move setting code for
440         `Vchar_attribute_hash_table' to chartab.c.
441
442         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
443         (make_char_id_table): New prototype.
444         (put_char_id_table): Likewise.
445         (Fget_char_attribute): Likewise.
446
447         * chartab.c: Move char-id-table related code from mule-charset.c.
448         (Vutf_2000_version): Moved from mule-charset.c.
449
450         * char-ucs.h (Qucs): New external variable.
451         (put_char_ccs_code_point): New prototype.
452         (remove_char_ccs): Likewise.
453
454 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
455
456         * mule-charset.c (Vcharset_ucs_jis): New variable.
457         (Qucs_jis): Likewise.
458         (syms_of_mule_charset): Add new symbol `ucs-jis'.
459         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
460
461         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
462
463 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
464
465         * mule-charset.c (map_over_uint8_byte_table): New function.
466         (map_over_uint16_byte_table): Likewise.
467         (map_over_byte_table): Likewise.
468         (map_char_id_table): Likewise.
469         (slow_map_char_id_table_fun): Likewise.
470         (Fmap_char_attribute): Likewise.
471         (syms_of_mule_charset): Add new function `map-char-attribute'.
472
473 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
474
475         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
476         (syms_of_mule_charset): Add new function `find-char'.
477
478 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
479
480         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
481         XEmacs UTF-2000.
482         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
483         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
484         XEmacs UTF-2000.
485         (complex_vars_of_mule_charset): Add new coded-charset
486         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
487         `ideograph-gt-pj-*'.
488
489         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
490
491 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
492
493         * mule-charset.c (encode_builtin_char_1): Purge codes about
494         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
495         {MIN|MAX}_CHAR_HEBREW.
496         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
497         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
498
499         * char-ucs.h (MIN_CHAR_GREEK): Purged.
500         (MAX_CHAR_GREEK): Purged.
501         (MIN_CHAR_CYRILLIC): Purged.
502         (MAX_CHAR_CYRILLIC): Purged.
503         (MIN_CHAR_HEBREW): Commented out.
504         (MAX_CHAR_HEBREW): Likewise.
505
506 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
507
508         * mule-charset.c (Qto_ucs): New variable.
509         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
510         (Fdefine_char): Likewise.
511         (syms_of_mule_charset): Add new symbol `=>ucs'.
512
513 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
514
515         * mule-charset.c (Fdecode_char): Fixed.
516
517 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
518
519         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
520         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
521         "tcvn5712-1".
522
523 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
524
525         * mule-charset.c (Vcharset_ucs_big5): New variable.
526         (Qucs_big5): Likewise.
527         (syms_of_mule_charset): Add new symbol `ucs-big5'.
528         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
529
530         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
531
532 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
533
534         * mule-charset.c (decode_builtin_char): Check Big5 code range
535         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
536
537 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
538
539         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
540         (Qchinese_gb12345): Likewise.
541         (Fdecode_builtin_char): Fixed.
542         (syms_of_mule_charset): Add `chinese-gb12345'.
543         (complex_vars_of_mule_charset): Add coded-charset
544         `chinese-gb12345'.
545
546         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
547         (LEADING_BYTE_CHINESE_GB12345): New macro.
548
549 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
550
551         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
552         and `latin-viscii-upper' for `latin-viscii'.
553
554 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
555
556         * mule-charset.c (Fdecode_builtin_char): Comment out
557         regularization code for ISO-IR GR representation.
558
559 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
560
561         * mule-charset.c (decode_builtin_char): New function; renamed from
562         `make_builtin_char'; return -1 instead of signal.
563         (Fdecode_builtin_char): Use `decode_builtin_char'.
564
565         * char-ucs.h (decode_builtin_char): New prototype; renamed from
566         `make_builtin_char'.
567         (DECODE_CHAR): Use `decode_builtin_char' instead of
568         `make_builtin_char'; use mapping table of `chinese-big5' for
569         `chinese-big5-{1,2}'.
570
571 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
572
573         * text-coding.c (char_encode_big5): New function.
574         (char_finish_big5): Likewise.
575         (reset_encoding_stream): Use `char_encode_big5' and
576         `char_finish_big5' for CODESYS_BIG5.
577         (mule_encode): Don't use `encode_coding_big5'.
578         (encode_coding_big5): Deleted.
579
580 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
581
582         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
583         0x81- in XEmacs UTF-2000.
584         (detect_coding_big5): Likewise.
585
586 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
587
588         * mule-charset.c (Fdefine_char): Don't use a CCS property to
589         generate character-id if the CCS property does not have
590         corresponding predefined character.
591         (make_builtin_char): Return -1 if corresponding predefined
592         character is not found.
593         (Fdecode_char): Return nil if corresponding character is not
594         found.
595         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
596         don't map to builtin ucs space.
597
598 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
599
600         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
601         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
602
603 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
604
605         * mule-charset.c (Vcharset_ideograph_gt): New variable.
606         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
607         (Qideograph_gt): Likewise.
608         (Qideograph_gt_pj_{1..11}): Likewise.
609         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
610         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
611         `ideograph-gt-pj-11'.
612         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
613         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
614         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
615
616         * char-ucs.h (LEADING_BYTE_GT): New macro.
617         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
618         (MIN_CHAR_GT): Likewise.
619         (MAX_CHAR_GT): Likewise.
620
621 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
622
623         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
624         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
625
626         * doprnt.c (unsigned_int_converters): Add `c'.
627         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
628
629         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
630         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
631         `MIN_CHAR_MOJIKYO'.
632         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
633         (MAX_CHAR_MOJIKYO_0): New macro.
634         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
635
636 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
637
638         * mule-charset.c (Fdefine_char): Delete cemented out code.
639         (encode_builtin_char_1): Modify for new allocation of builtin
640         Mojikyo characters.
641
642         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
643
644 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
645
646         * mule-charset.c (Vcharset_ucs_cns): New variable.
647         (Qucs_cns): New variable.
648         (syms_of_mule_charset): Add new symbol `ucs-cns'.
649         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
650
651 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
652
653         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
654
655 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
656
657         * search.c (search_buffer): Make `charset_base_code' as
658         character-id >> 6 to eliminate the corresponding last byte in
659         UTF-8 representation [I'm not sure it is right thing].
660         (boyer_moore): Likewise.
661
662 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
663
664         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
665         representation in MULE.
666
667 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
668
669         * text-coding.c (Fmake_coding_system): Use
670         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
671         `EXTERNAL_PROPERTY_LIST_LOOP'.
672
673 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
674
675         * text-coding.c (decode_output_utf8_partial_char): New function.
676         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
677
678 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
679
680         * text-coding.c (decode_coding_utf8): Output original byte
681         sequence if it is broken; change order of conditions.
682
683         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
684         of conditions.
685
686         * mb-multibyte.h (BYTE_ASCII_P):
687         Use bit ops for char-signedness safety.
688         (BYTE_C0_P): Use bit ops for char-signedness safety.
689         (BYTE_C1_P): Use bit ops for char-signedness safety.
690
691         * character.h: (XCHAR_OR_CHAR_INT):
692         Always use inline function.
693         Remove redundant type checking assert() - XINT will abort quite
694         nicely.
695
696 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
697
698         * text-coding.c: (Fencode_shift_jis_char):
699         (Fencode_big5_char):
700         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
701         Replace 0 with '\0' when working with bytes.
702         Replace initial "(" with "\(" in docstrings.
703
704         (Fmake_coding_system):
705         When type is ccl and value is vector, register it with a proper
706         symbol.  And checks whether the given ccl program is valid.
707         (mule_decode): When calling ccl_driver, if src indicates
708         NULL pointer, set an empty string instead.
709         (mule_encode): Likewise.
710
711         (detect_eol_type):
712         (detect_coding_sjis):
713         (decode_coding_sjis):
714         (detect_coding_big5):
715         (decode_coding_big5):
716         (detect_coding_ucs4):
717         (decode_coding_ucs4):
718         (detect_coding_utf8):
719         (decode_coding_utf8):
720         (detect_coding_iso2022):
721         (decode_coding_iso2022):
722         (decode_coding_no_conversion):
723         (mule_decode):
724         Make all detecting and decoding functions take an Extbyte * arg.
725         (text_encode_generic):
726         (encode_coding_big5):
727         (encode_coding_no_conversion):
728         (mule_encode):
729         Make all encoding functions take a Bufbyte * arg.
730         Use size_t instead of unsigned int for memory sizes.
731         Only cast to unsigned char whenever dereferencing Extbyte *.
732
733         (struct lrecord_description fcd_description_1): Use countof.
734         (complex_vars_of_file_coding):
735         Use countof instead of sizeof.
736         Use CHECK_NATNUM instead of CHECK_INT.
737
738 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
739
740         * mule-charset.c (Fget_char_attribute): Add new optional argument
741         `default-value'.
742         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
743         (remove_char_ccs): Likewise.
744
745 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
746
747         * text-coding.c (char_encode_shift_jis): New implementation in
748         UTF-2000.
749         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
750         ...)'.
751
752         * mule-charset.c (Vcharset_chinese_big5): New variable in
753         UTF-2000.
754         (Qchinese_big5): New variable in UTF-2000.
755         (BIG5_SAME_ROW): New macro in UTF-2000.
756         (make_builtin_char): Use builtin characters of
757         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
758         characters of `Vcharset_chinese_big5'.
759         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
760         (complex_vars_of_mule_charset): Add new coded-charset
761         `chinese-big5' in UTF-2000.
762
763         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
764         (Vcharset_chinese_big5): New external variable declaration.
765         (Vcharset_japanese_jisx0208_1990): Likewise.
766
767 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
768
769         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
770         function.
771         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
772
773 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
774
775         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
776         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
777         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
778         `mojikyo-pj-*'.
779
780 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
781
782         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
783
784 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
785
786         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
787         to 0.17.
788
789 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
790
791         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
792         for `CHARSET_BY_ATTRIBUTES'.
793         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
794         `CHARSET_BY_ATTRIBUTES'.
795
796         * text-coding.c (struct decoding_stream): Rename member `CH' to
797         `CPOS'.
798         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
799         (decode_coding_sjis): Likewise.
800         (decode_coding_big5): Likewise.
801         (decode_coding_ucs4): Likewise.
802         (decode_coding_utf8): Likewise.
803         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
804         `CHARSET_BY_ATTRIBUTES'.
805         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
806         `str->counter'; decode 3, 4 bytes sets.
807         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
808         sets.
809         (decode_coding_no_conversion): Use `str->cpos' instead of
810         `str->ch'.
811
812         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
813         (Qmojikyo_2022_1): New variable.
814         (make_charset): Don't use `CHARSET_TYPE_*'.
815         (range_charset_code_point): Support coded-charset
816         `mojikyo-2022-1'.
817         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
818         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
819         `CHARSET_BY_ATTRIBUTES'.
820         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
821         `CHARSET_BY_ATTRIBUTES'.
822         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
823         (complex_vars_of_mule_charset): Add new coded-charset
824         `mojikyo-2022-1'.
825
826         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
827         interface; changed to inline function.
828
829         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
830         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
831         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
832         (CHARSET_TYPE_94): Deleted.
833         (CHARSET_TYPE_94X94): Deleted.
834         (CHARSET_TYPE_96): Deleted.
835         (CHARSET_TYPE_96X96): Deleted.
836         (CHARSET_TYPE_128): Deleted.
837         (CHARSET_TYPE_128X128): Deleted.
838         (CHARSET_TYPE_256): Deleted.
839         (CHARSET_TYPE_256X256): Deleted.
840         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
841         to inline function.
842         (DECODE_MOJIKYO_2022): New inline function.
843         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
844         `Vcharset_mojikyo_2022_1'.
845
846 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
847
848         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
849         instead of `EQ'.
850         (put_byte_table): Likewise.
851         (char_id_table_equal): Use `get_byte_table' [new implementation].
852
853 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
854
855         * mule-charset.c: Include <limits.h> in UTF-2000.
856         (BT_UINT8_MIN): New macro in UTF-2000.
857         (BT_UINT8_MAX): New macro in UTF-2000.
858         (BT_UINT8_t): New macro in UTF-2000.
859         (BT_UINT8_nil): New macro in UTF-2000.
860         (BT_UINT8_unbound): New macro in UTF-2000.
861         (INT_UINT8_P): New inline function in UTF-2000.
862         (UINT8_VALUE_P): New inline function in UTF-2000.
863         (UINT8_ENCODE): New inline function in UTF-2000.
864         (UINT8_DECODE): New inline function in UTF-2000.
865         (mark_uint8_byte_table): New function in UTF-2000.
866         (print_uint8_byte_table): New function in UTF-2000.
867         (uint8_byte_table_equal): New function in UTF-2000.
868         (uint8_byte_table_hash): New function in UTF-2000.
869         (make_uint8_byte_table): New function in UTF-2000.
870         (uint8_byte_table_same_value_p): New function in UTF-2000.
871         (BT_UINT16_MIN): New macro in UTF-2000.
872         (BT_UINT16_MAX): New macro in UTF-2000.
873         (BT_UINT16_t): New macro in UTF-2000.
874         (BT_UINT16_nil): New macro in UTF-2000.
875         (BT_UINT16_unbound): New macro in UTF-2000.
876         (INT_UINT16_P): New inline function in UTF-2000.
877         (UINT16_VALUE_P): New inline function in UTF-2000.
878         (UINT16_ENCODE): New inline function in UTF-2000.
879         (UINT16_DECODE): New inline function in UTF-2000.
880         (UINT8_TO_UINT16): New inline function in UTF-2000.
881         (mark_uint16_byte_table): New function in UTF-2000.
882         (print_uint16_byte_table): New function in UTF-2000.
883         (uint16_byte_table_equal): New function in UTF-2000.
884         (uint16_byte_table_hash): New function in UTF-2000.
885         (make_uint16_byte_table): New function in UTF-2000.
886         (uint16_byte_table_same_value_p): New function in UTF-2000.
887         (print_byte_table): New function in UTF-2000.
888         (byte-table): Use `print_byte_table' as printer.
889         (make_byte_table): Delete second argument `older'.
890         (byte_table_same_value_p): New function in UTF-2000.
891         (copy_byte_table): Deleted.
892         (get_byte_table): New function in UTF-2000.
893         (put_byte_table): New function in UTF-2000.
894         (print_char_id_table): New function in UTF-2000.
895         (char-id-table): Use `print_char_id_table' as printer.
896         (make_char_id_table): Delete second argument `older'.
897         (get_char_id_table): Use `get_byte_table [new implementation].
898         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
899         implementation].
900         (Ffind_char_attribute_table): New function in UTF-2000.
901         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
902         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
903         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
904         (syms_of_mule_charset): Add new function
905         `find-char-attribute-table' in UTF-2000.
906
907         * lrecord.h (enum lrecord_type): Add
908         `lrecord_type_uint16_byte_table' and
909         `lrecord_type_uint8_byte_table'.
910
911         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
912         (Lisp_Uint8_Byte_Table): New type.
913         (XUINT8_BYTE_TABLE): New macro.
914         (XSETUINT8_BYTE_TABLE): New macro.
915         (UINT8_BYTE_TABLE_P): New macro.
916         (GC_UINT8_BYTE_TABLE_P): New macro.
917         (struct Lisp_Uint16_Byte_Table): New structure.
918         (Lisp_Uint16_Byte_Table): New type.
919         (XUINT16_BYTE_TABLE): New macro.
920         (XSETUINT16_BYTE_TABLE): New macro.
921         (UINT16_BYTE_TABLE_P): New macro.
922         (GC_UINT16_BYTE_TABLE_P): New macro.
923
924 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
925
926         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
927         (Vcharacter_ideographic_strokes_table): Deleted.
928         (Vcharacter_total_strokes_table): Deleted.
929         (Vcharacter_morohashi_daikanwa_table): Deleted.
930         (Vcharacter_decomposition_table): Deleted.
931         (Qname): Deleted because it is duplicated.
932         (Qideographic_radical): Deleted.
933         (Qideographic_strokes): Deleted.
934         (Qtotal_strokes): Deleted.
935         (Qmorohashi_daikanwa): Deleted.
936         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
937         `ideographic-radical', `ideographic-strokes', `total-strokes',
938         `morohashi-daikanwa' and `->decomposition'.
939         (Fget_char_attribute): Likewise.
940         (Fput_char_attribute): Likewise; use `make-vector' instead of
941         `make_older_vector' for `->decomposition' value.
942         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
943         `ideograph-daikanwa'.
944         (syms_of_mule_charset): Delete builtin symbols `name',
945         `ideographic-radical', `ideographic-strokes', `total-strokes' and
946         `morohashi-daikanwa'.
947         (vars_of_mule_charset): Don't setup
948         `Vcharacter_ideographic_radical_table',
949         `Vcharacter_ideographic_strokes_table',
950         `Vcharacter_total_strokes_table',
951         `Vcharacter_morohashi_daikanwa_table' and
952         `Vcharacter_decomposition_table'.
953
954 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
955
956         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
957         `make_older_vector', `make_vector_newer_1' and
958         `make_vector_newer'.
959
960         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
961         `make_older_vector' and `make_vector_newer'.
962
963         * config.h.in (HAVE_GGC): New macro.
964
965 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
966
967         * mule-charset.c (struct char_attribute_list_closure): New
968         structure in UTF-2000.
969         (add_char_attribute_to_list_mapper): New function in UTF-2000.
970         (Fchar_attribute_list): Likewise.
971         (Fset_charset_mapping_table): Use `make_vector_newer'.
972         (Fdecode_builtin_char): New function in UTF-2000.
973         (syms_of_mule_charset): Add new function `char-attribute-list' and
974         `decode-builtin-char' in UTF-2000.
975
976         * lisp.h (make_vector_newer): New prototype.
977
978         * alloc.c (make_vector_newer_1): New function.
979         (make_vector_newer): New function.
980
981 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
982
983         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
984         50100)'.
985
986 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
987
988         * mule-charset.c (Vchar_attribute_hash_table): New variable.
989         (Vcharacter_attribute_table): Deleted.
990         (Vcharacter_name_table): Deleted.
991         (put_char_attribute): Deleted.
992         (remove_char_attribute): Deleted.
993         (struct char_attribute_alist_closure): New structure.
994         (add_char_attribute_alist_mapper): New function.
995         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
996         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
997         (Fget_char_attribute): Likewise.
998         (Fput_char_attribute): Likewise.
999         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1000         of `remove_char_attribute'.
1001         (Fdefine_char): Return character.
1002         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1003         and `Vcharacter_name_table'.
1004         (complex_vars_of_mule_charset): Likewise
1005         `Vchar_attribute_hash_table'.
1006
1007 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1008
1009         * character.h (CHARC_CHARSET): New macro.
1010         (CHARC_CHARSET_ID): New macro.
1011         (CHARC_CODE_POINT): New macro.
1012         (CHARC_COLUMNS): New macro.
1013         (CHARC_TO_CHAR): New inline function.
1014         (CHARC_EQ): New inline function.
1015         (CHARC_ASCII_EQ): New inline function.
1016         (CHARC_IS_SPACE): New inline function.
1017         (ASCII_TO_CHARC): New inline function.
1018
1019         * char-ucs.h (encode_char_2): Deleted.
1020         (ENCODE_CHAR): Use `encode_char_1' again.
1021         (breakup_char_1): Likewise.
1022         (CHAR_TO_CHARC): New inline function.
1023
1024         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1025
1026 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1027
1028         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1029         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1030         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1031         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1032         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1033         `CHARC_IS_SPACE'.
1034         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1035
1036         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1037         `CHARC_CODE_POINT'.
1038         (x_output_display_block): Use `CHARC_CHARSET' and
1039         `CHARC_ASCII_EQ'.
1040
1041         * redisplay-tty.c (tty_output_display_block): Use
1042         `CHARC_ASCII_EQ'.
1043         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1044
1045         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1046
1047         * insdel.c (find_charsets_in_charc_string): Use
1048         `CHARC_CHARSET_ID'.
1049         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1050         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1051         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1052         (convert_charc_string_into_malloced_string): Likewise.
1053
1054 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1055
1056         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1057         instead of <Emchar_dynarr *> for buf; use
1058         `convert_bufbyte_string_into_charc_dynarr' instead of
1059         `convert_bufbyte_string_into_emchar_dynarr'; use
1060         `find_charsets_in_charc_string' instead of
1061         `find_charsets_in_emchar_string'.
1062
1063         * redisplay.h:
1064         - Include "character.h".
1065         (struct rune): New member `cglyph'; delete member `chr'.
1066
1067         * redisplay.c (redisplay_text_width_charc_string): New function;
1068         delete `redisplay_text_width_emchar_string'.
1069         (rtw_charc_dynarr): New variable; renamed from
1070         `rtw_emchar_dynarr'.
1071         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1072         `rtw_emchar_dynarr'; use
1073         `convert_bufbyte_string_into_charc_dynarr' instead of
1074         `convert_bufbyte_string_into_emchar_dynarr'; use
1075         `redisplay_text_width_charc_string' instead of
1076         `redisplay_text_width_emchar_string'.
1077         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1078         instead of `rtw_emchar_dynarr'; use
1079         `convert_bufbyte_string_into_charc_dynarr' instead of
1080         `convert_bufbyte_string_into_emchar_dynarr'.
1081         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1082         `redisplay_text_width_charc_string' instead of
1083         `redisplay_text_width_emchar_string'.
1084         (create_text_block): Modify for <struct rune> change.
1085         (generate_formatted_string_db): Likewise.
1086         (create_string_text_block): Likewise.
1087         (pixel_to_glyph_translation): Likewise.
1088
1089         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1090         instead of <const Emchar *>.
1091         (x_text_width): Likewise.
1092         (x_output_display_block): Use <Charc_dynarr *> instead
1093         <Emchar_dynarr *>; modify for <structure rune> change.
1094         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1095         *>.
1096
1097         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1098         <const Emchar *>; use `charc_string_displayed_columns' instead of
1099         `emchar_string_displayed_columns'.
1100         (tty_output_display_block): Use <Charc_dynarr *> instead of
1101         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1102         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1103         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1104         `tty_output_emchar_dynarr_dynarr'.
1105         (tty_output_charc_dynarr): New function; delete
1106         `tty_output_charc_dynarr'.
1107
1108         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1109         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1110         <Emchar_dynarr *> for buf; use
1111         `convert_bufbyte_string_into_charc_dynarr' instead of
1112         `convert_bufbyte_string_into_emchar_dynarr'.
1113
1114         * frame.c (title_string_charc_dynarr): New variable; renamed from
1115         `title_string_emchar_dynarr'.
1116         (generate_title_string): Use `title_string_charc_dynarr' instead
1117         of `title_string_emchar_dynarr'; use
1118         `convert_charc_string_into_malloced_string' instead of
1119         `convert_emchar_string_into_malloced_string'.
1120         (init_frame): Use `title_string_charc_dynarr' instead of
1121         `title_string_emchar_dynarr'.
1122
1123         * console.h:
1124         - Include "character.h".
1125         (struct console_methods): Use <const Charc *> instead of <const
1126         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1127         <Emchar_dynarr *> in output_string_method.
1128
1129         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1130         <Emchar_dynarr *>.
1131
1132         * console-stream.c (stream_text_width): Use <const Charc *>
1133         instead of <const Emchar *>.
1134
1135         * character.h (Charc_dynarr): New type.
1136
1137         * char-ucs.h (structure Charc): New structure; define new type
1138         `Charc'.
1139
1140         * char-lb.h (DECODE_CHAR): New inline function.
1141         (encode_char_1): New inline function.
1142         (ENCODE_CHAR): New macro.
1143         (structure Charc): New structure; define new type `Charc'.
1144
1145         * char-1byte.h (Vcharset_control_1): New macro.
1146         (Vcharset_latin_iso8859_1): New macro.
1147         (DECODE_CHAR): New inline function.
1148         (encode_char_1): New inline function.
1149         (ENCODE_CHAR): New macro.
1150         (structure Charc): New structure; define new type `Charc'.
1151
1152         * insdel.c (find_charsets_in_charc_string): New function; delete
1153         `find_charsets_in_emchar_string'.
1154         (charc_string_displayed_columns): New function; delete
1155         `emchar_string_displayed_columns'.
1156         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1157         `convert_bufbyte_string_into_emchar_dynarr'.
1158         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1159         `convert_charc_string_into_bufbyte_dynarr'.
1160         (convert_charc_string_into_malloced_string): New function; delete
1161         `convert_charc_string_into_malloced_string'.
1162
1163         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1164         `find_charsets_in_emchar_string'.
1165         (charc_string_displayed_columns): New prototype; delete
1166         `emchar_string_displayed_columns'.
1167         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1168         `convert_charc_string_into_bufbyte_dynarr'.
1169         (convert_charc_string_into_malloced_string): New prototype; delete
1170         `convert_charc_string_into_malloced_string'.
1171
1172 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1173
1174         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1175
1176 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1177
1178         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1179
1180         * char-ucs.h: Use <short> for <Charset_ID>.
1181
1182         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1183         <Charset_ID>.
1184
1185 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1186
1187         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1188         to 0.16.
1189
1190 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1191
1192         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1193         variable.
1194         (Qmorohashi_daikanwa): New variable.
1195         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1196         for `morohashi-daikanwa' attribute.
1197         (Fget_char_attribute): Likewise.
1198         (Fput_char_attribute): Likewise.
1199         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1200         has the same value of `ideograph-daikanwa'.
1201         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1202         (vars_of_mule_charset): Setup
1203         `Vcharacter_morohashi_daikanwa_table'.
1204
1205 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1206
1207         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1208         attributes.
1209         (add_charset_to_list_mapper): Add `key' instead of
1210         `XCHARSET_NAME (value)' to return aliases.
1211
1212 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1213
1214         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1215         variable.
1216         (Vcharacter_ideographic_strokes_table): New variable.
1217         (Qideographic_radical): New variable.
1218         (Qideographic_strokes): New variable.
1219         (Fchar_attribute_alist): Use
1220         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1221         attribute; use `Vcharacter_ideographic_strokes_table' for
1222         `ideographic-strokes' attribute.
1223         (Fget_char_attribute): Likewise.
1224         (Fput_char_attribute): Likewise.
1225         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1226         `ideographic-strokes'.
1227         (vars_of_mule_charset): Setup
1228         `Vcharacter_ideographic_radical_table' and
1229         `Vcharacter_ideographic_strokes_table'.
1230
1231 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1232
1233         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1234         (Qtotal_strokes): New variable.
1235         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1236         `total-strokes' attribute.
1237         (Fget_char_attribute): Likewise.
1238         (Fput_char_attribute): Likewise.
1239         (syms_of_mule_charset): Add new symbol `total-strokes'.
1240         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1241
1242 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1243
1244         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1245         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1246         are found.
1247         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1248         `->decomposition' attribute.
1249         (Fput_char_attribute): Likewise.
1250         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1251
1252 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1253
1254         * mule-charset.c (decoding_table_check_elements): New function.
1255         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1256
1257 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1258
1259         * mule-charset.c (Fset_charset_mapping_table): Use
1260         `put_char_ccs_code_point'.
1261
1262 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1263
1264         * mule-charset.c (decoding_table_put_char): New inline function.
1265         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1266
1267 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1268
1269         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1270         (XCHARSET_BYTE_SIZE): New macro.
1271         (decoding_table_remove_char): New inline function.
1272         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1273         `decoding_table_remove_char'.
1274         (remove_char_ccs): Use `decoding_table_remove_char'.
1275         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1276
1277 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1278
1279         * mule-charset.c (Vcharacter_name_table): New variable.
1280         (Qname): New variable.
1281         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1282         attribute.
1283         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1284         `Vcharacter_name_table' for `name' attribute.
1285         (Fremove_char_attribute): Use function `remove_char_ccs'.
1286         (put_char_ccs_code_point): New function.
1287         (remove_char_ccs): New function.
1288         (syms_of_mule_charset): Add new symbol `name'.
1289         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1290
1291 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1292
1293         * mule-charset.c (make_byte_table): Add new argument `older'.
1294         (make_char_id_table): Likewise.
1295         (copy_char_id_table): Comment out because it is not used.
1296         (put_char_id_table): Modify for `make_byte_table'.
1297         (Fput_char_attribute): Make encoding_table as older object;
1298         inherit older bit of `Vcharacter_composition_table'.
1299         (mark_charset): Don't mark `cs->encoding_table'.
1300         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1301         normal object; make `Vcharacter_composition_table' as an older
1302         object; delete staticpro for `Vcharacter_composition_table'; make
1303         `Vcharacter_variant_table' as a normal object.
1304
1305         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1306         (mark_object): Don't check older object in UTF-2000.
1307
1308         * lrecord.h (struct lrecord_header): Add new member `older' in
1309         UTF-2000.
1310         (set_lheader_implementation): Setup `SLI_header->older' in
1311         UTF-2000.
1312         (set_lheader_older_implementation): New macro in UTF-2000.
1313         (OLDER_RECORD_P): New macro in UTF-2000.
1314         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1315         (alloc_older_lcrecord): New prototype in UTF-2000.
1316         (alloc_older_lcrecord_type): New macro in UTF-2000.
1317
1318 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1319
1320         * mule-charset.c (byte_table_description): Use
1321         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1322         (char_id_table_description): Delete bogus `, 1'.
1323         (Fget_char_attribute): Refer encoding_table of each coded-charset
1324         to get value of coded-charset attribute of a character.
1325         (Fput_char_attribute): Use `make_older_vector' instead of
1326         `make_vector'; use encoding_table of each coded-charset to store
1327         value of coded-charset attribute of a character.
1328         (Fremove_char_attribute): Use encoding_table of each coded-charset
1329         to store value of coded-charset attribute of a character.
1330         (mark_charset): Mark `cs->encoding_table'; don't mark
1331         `cs->decoding_table'.
1332         (charset_description): Add description of new member
1333         `encoding_table'.
1334         (make_charset): Initialize `encoding_table'.
1335
1336         * char-ucs.h (struct Lisp_Charset): Add new member
1337         `encoding_table'.
1338         (CHARSET_ENCODING_TABLE): New macro.
1339         (XCHARSET_ENCODING_TABLE): New macro.
1340         (charset_code_point): New implementation.
1341         (encode_char_1): Likewise.
1342
1343         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1344         (disksave_object_finalization_1): Call finalizers of
1345         `all_older_lcrecords' in UTF-2000.
1346         (make_older_vector): New function in UTF-2000.
1347         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1348         UTF-2000.
1349
1350         * lisp.h (make_older_vector): New prototype in UTF-2000.
1351
1352 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1353
1354         * lrecord.h (enum lrecord_type): Rename
1355         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1356
1357         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1358         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1359         `get_char_code_table'.
1360
1361         * mule-charset.c (mark_char_id_table): Renamed from
1362         `mark_char_code_table'.
1363         (char_id_table_equal): Renamed from `char_code_table_equal'.
1364         (char_id_table_hash): Renamed from `char_code_table_hash'.
1365         (make_char_id_table): Renamed from `make_char_code_table'.
1366         (copy_char_id_table): Renamed from `copy_char_code_table'.
1367         (get_char_id_table): Renamed from `get_char_code_table'.
1368         (put_char_id_table): Renamed from `put_char_code_table'.
1369         (to_char_id): Renamed from `to_char_code'.
1370
1371         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1372         `Lisp_Char_Code_Table'.
1373         (char_id_table): Renamed from `char_code_table'.
1374         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1375         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1376         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1377         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1378         (get_char_id_table): Renamed from `get_char_code_table'.
1379
1380 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1381
1382         * lrecord.h (enum lrecord_type): Rename
1383         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1384
1385         * mule-charset.c (mark_byte_table): Renamed from
1386         `mark_char_byte_table'.
1387         (byte_table_equal): Renamed from `char_byte_table_equal'.
1388         (byte_table_hash): Renamed from `byte_table_hash'.
1389         (make_byte_table): Renamed from `make_byte_table'.
1390         (copy_byte_table): Renamed from `copy_char_byte_table'.
1391
1392         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1393         `Lisp_Char_Byte_Table'.
1394         (byte_table): Renamed from `char_byte_table'.
1395         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1396         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1397         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1398         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1399
1400 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1401
1402         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1403         (dfc_convert_to_internal_format): Likewise.
1404         
1405         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1406         * text-coding.c (Fcoding_system_alias_p): New function.
1407         * text-coding.c (Fcoding_system_aliasee): New function.
1408         * text-coding.c (append_suffix_to_symbol): New function.
1409         * text-coding.c (dangling_coding_system_alias_p): New function.
1410         * text-coding.c (Ffind_coding_system):
1411         * text-coding.c (Fcopy_coding_system):
1412         * text-coding.c (encode_coding_no_conversion):
1413         * text-coding.c (syms_of_file_coding):
1414         * text-coding.c (vars_of_file_coding):
1415         Rewrite coding system alias code.
1416         Allow nested aliases, like symbolic links.
1417         Allow redefinition of coding system aliases.
1418         Prevent existence of dangling coding system aliases.
1419         Eliminate convert_to_external_format.
1420         Eliminate convert_to_internal_format.
1421         
1422         * text-coding.c: Change enum eol_type to eol_type_t.
1423
1424 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1425
1426         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1427         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1428
1429         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1430         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1431
1432 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1433
1434         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1435         `ideograph-daikanwa'.
1436
1437         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1438         (Vcharset_ucs_bmp): Likewise.
1439         (Vcharset_mojikyo): Add new extern variable definition.
1440         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1441         (Vcharset_latin_iso8859_3): Likewise.
1442         (Vcharset_latin_iso8859_4): Likewise.
1443         (Vcharset_latin_iso8859_9): Likewise.
1444         (Vcharset_latin_viscii_lower): Likewise.
1445         (Vcharset_latin_viscii_upper): Likewise.
1446         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1447         `mojikyo' code-point is used to decode.
1448         (encode_char_2): New function [to convert `mojikyo' code-point to
1449         Mojikyo font encoding].
1450         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1451         (breakup_char_1): Likewise.
1452         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1453
1454 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1455
1456         * text-coding.c (Fmake_coding_system): Add document about
1457         `disable-composition' property.
1458
1459 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1460
1461         * text-coding.c (Qdisable_composition): New variable; delete
1462         `Qcomposite'.
1463         (Fmake_coding_system): Add new property `disable-composite';
1464         delete property `composite'.
1465         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1466         instead of `!CODING_SYSTEM_COMPOSITE'.
1467         (syms_of_file_coding): Add new symbol `disable-composition';
1468         delete symbol `composite'.
1469
1470         * file-coding.h (struct Lisp_Coding_System): Add
1471         `disable_composition'; delete `enable_composition'.
1472         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1473         `CODING_SYSTEM_COMPOSITE'.
1474         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1475         `XCODING_SYSTEM_COMPOSITE'.
1476
1477 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1478
1479         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1480         to 0.15.
1481
1482 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1483
1484         * text-coding.c (Qcomposite): New variable.
1485         (Fmake_coding_system): Add new property `composite'.
1486         (struct decoding_stream): Add `combined_char_count',
1487         `combined_chars' and `combining_table' in UTF-2000.
1488         (COMPOSE_FLUSH_CHARS): New macro.
1489         (COMPOSE_ADD_CHAR): New macro.
1490         (reset_decoding_stream): Reset `str->combined_char_count' and
1491         `str->combining_table' in UTF-2000.
1492         (decode_coding_iso2022): Modify for character-decomposition.
1493         (syms_of_file_coding): Add new symbol `composite'.
1494
1495 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1496
1497         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1498         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1499         of `Vcharacter_composition_table' if `->decomposition' property
1500         has only 1 element.
1501         (Qlatin_tcvn5712): New variable.
1502         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1503         (complex_vars_of_mule_charset): Add new coded-charset
1504         `latin-tcvn5712'.
1505
1506         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1507
1508 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1509
1510         * file-coding.h (struct Lisp_Coding_System): Add
1511         `enable_composition'.
1512         (CODING_SYSTEM_COMPOSITE): New macro.
1513         (XCODING_SYSTEM_COMPOSITE): New macro.
1514
1515 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1516
1517         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1518
1519 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1520
1521         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1522         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1523
1524 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1525
1526         * mule-charset.c (Vcharset_mojikyo): New variable.
1527         (Fdefine_char): Don't use coded-charset which does not have
1528         non-builtin character range to allocate character-id.
1529         (Qmojikyo): New variable.
1530         (syms_of_mule_charset): Add new symbol `mojikyo'.
1531         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1532
1533         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1534         (LEADING_BYTE_MOJIKYO): New macro.
1535         (MIN_CHAR_MOJIKYO): New macro.
1536         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1537         (MAX_CHAR_MOJIKYO): New macro.
1538
1539 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1540
1541         * mule-charset.c (remove_char_attribute): Fixed.
1542
1543 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1544
1545         * mule-charset.c (remove_char_attribute): New function.
1546         (Fremove_char_attribute): New function.
1547         (encode_builtin_char_1): Comment out builtin-support for
1548         greek-iso8859-7 and cyrillic-iso8859-5.
1549         (Fdecode_char): Check `code' is an integer.
1550         (syms_of_mule_charset): Add `remove-char-attribute'.
1551         (MIN_CHAR_GREEK): Deleted.
1552         (MAX_CHAR_GREEK): Likewise.
1553         (MIN_CHAR_CYRILLIC): Likewise.
1554         (MAX_CHAR_CYRILLIC): Likewise.
1555         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1556         MAX_CHAR_GREEK for `greek-iso8859-7'.
1557
1558         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1559         (MAX_CHAR_GREEK): Likewise.
1560         (MIN_CHAR_CYRILLIC): Likewise.
1561         (MAX_CHAR_CYRILLIC): Likewise.
1562
1563 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1564
1565         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1566         format is used without `ucs' property.
1567         (Fdecode_char): Fix problem with GR representation.
1568         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1569         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1570
1571 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1572
1573         * mule-charset.c (make_builtin_char): New function.
1574         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1575         (Fset_charset_mapping_table): Modify for new representation of
1576         code-point.
1577         (Fdecode_char): New function.
1578         (syms_of_mule_charset): Add new builtin function `decode-char' in
1579         UTF-2000.
1580
1581         * char-ucs.h (make_builtin_char): New prototype.
1582         (DECODE_CHAR): New inline function.
1583         (MAKE_CHAR): Use `DECODE_CHAR'.
1584
1585 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1586
1587         * text-coding.c (parse_charset_conversion_specs): Use
1588         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1589         `XCHARSET_TYPE'.
1590         (iso2022_designate): Likewise.
1591
1592         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1593         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1594
1595         * mule-charset.c (Vcharset_ucs): New variable.
1596         (print_charset): Change design; use `CHARSET_CHARS' and
1597         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1598         (make_charset): Change signature to specify `chars' and
1599         `dimension' instead of `type'.
1600         (range_charset_code_point): Modify for 256^n-set.
1601         (encode_builtin_char_1): Encode as `ucs' in default.
1602         (Fmake_charset): Modify for `make_charset'.
1603         (Fmake_reverse_direction_charset): Likewise.
1604         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1605         UTF-2000.
1606         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1607         for `make_charset'.
1608
1609         * char-ucs.h (Vcharset_ucs): New variable.
1610         (LEADING_BYTE_UCS): New macro.
1611         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1612         and `chars' to `unsigned short' from `unsigned int'.
1613         (CHARSET_TYPE): Deleted.
1614         (XCHARSET_TYPE): Deleted.
1615
1616 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1617
1618         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1619
1620         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1621         (ENCODE_CHAR): New macro.
1622
1623 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1624
1625         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1626         to 0.14 (Kawachi-Katakami).
1627
1628 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1629
1630         * text-coding.c (char_encode_shift_jis): Modify for
1631         `charset_code_point'.
1632         (char_encode_iso2022): Likewise.
1633
1634         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1635         (integer) instead of list of <Lisp_Object>s (integers) as the
1636         format of code-point of a coded-charset.
1637         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1638         (encode_builtin_char_1): New function; delete
1639         `split_builtin_char'.
1640         (charset_code_point): Return <int> instead of <Lisp_Object>.
1641         (Fsplit_char): Don't use `SPLIT_CHAR'.
1642
1643         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1644         prototype for `split_builtin_char'.
1645         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1646         (charset_code_point): Likewise.
1647         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1648         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1649
1650 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1651
1652         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1653         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1654
1655 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1656
1657         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1658
1659         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1660         (MAX_CHAR_OBS_94x94): Deleted.
1661
1662 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1663
1664         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1665
1666         * char-ucs.h (MAX_CHAR_BMP): New macro.
1667
1668 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1669
1670         * text-coding.c: Sync with r21-2-24.
1671
1672 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1673
1674         * file-coding.c: Modify for UTF-2000.
1675
1676 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1677
1678         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1679         to 0.13 (Takaida).
1680
1681 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1682
1683         * mule-charset.c (split_builtin_char): Delete builtin support for
1684         `katakana-jisx0201'.
1685         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1686         BMP area in builtin representation.
1687
1688         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1689         `Vcharset_katakana_jisx0201'.
1690
1691 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1692
1693         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1694         (Qisolated): New variable.
1695         (Qinitial): New variable.
1696         (Qmedial): New variable.
1697         (Qfinal): New variable.
1698         (Qvertical): New variable.
1699         (Qsmall): New variable.
1700         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1701         `Qvertical' and `Qsmall'.
1702         (Qmojikyo_pj_[1 .. 21]): New variable.
1703         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1704         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1705         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1706         .. 21]'.
1707
1708 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1709
1710         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1711         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1712         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1713
1714 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1715
1716         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1717         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1718         BMP.
1719         (Qjapanese_jisx0208_1990): New variable.
1720         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1721         (complex_vars_of_mule_charset): Add new coded-charset
1722         `japanese-jisx0208-1990'.
1723
1724         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1725         (MIN_CHAR_JIS_X0208_1990): New macro.
1726         (MAX_CHAR_JIS_X0208_1990): New macro.
1727
1728 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1729
1730         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1731         coded-charset is not found.
1732
1733 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1734
1735         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1736         (Fdefine_char): Use `Fmake_char'.
1737
1738 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1739
1740         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1741         (Vcharset_hiragana_jisx0208): Deleted.
1742         (Vcharset_katakana_jisx0208): Deleted.
1743         (Qideograph_daikanwa): New variable.
1744         (Qhiragana_jisx0208): Deleted.
1745         (Qkatakana_jisx0208): Deleted.
1746         (split_builtin_char): Split `ideograph-daikanwa'.
1747         (Fsplit_char): New implementation for UTF-2000.
1748         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1749         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1750         (complex_vars_of_mule_charset): Add new coded-charset
1751         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1752         `katakana-jisx0208'.
1753
1754         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1755         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1756         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1757         (MIN_CHAR_DAIKANWA): New macro.
1758         (MAX_CHAR_DAIKANWA): New macro.
1759
1760 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1761
1762         * data.c (Fstring_to_number): Don't recognize floating point if
1763         base is not 10.
1764
1765 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1766
1767         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1768
1769 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1770
1771         * mule-charset.c (Qsquare): New variable.
1772         (to_char_code): Add `Qsquare'.
1773         (syms_of_mule_charset): Add new symbol `square'.
1774
1775 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1776
1777         * mule-charset.c (Qcircle): New variable.
1778         (to_char_code): Add `Qcircle'.
1779         (syms_of_mule_charset): Add new symbol `circle'.
1780
1781 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1782
1783         * mule-charset.c (Qfont): New variable.
1784         (to_char_code): Add `Qfont'.
1785         (syms_of_mule_charset): Add new symbol `font'.
1786
1787 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1788
1789         * mule-charset.c (Qsub): New variable.
1790         (to_char_code): Add `Qsub'.
1791         (syms_of_mule_charset): Add new symbol `sub'.
1792
1793 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1794
1795         * mule-charset.c (Fput_char_attribute): Convert each element of
1796         VALUE to GL position if ATTRIBUTE is a GR-set,
1797
1798 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1799
1800         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1801         coded-charset is a GR-set.
1802
1803 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1804
1805         * mule-charset.c (Fput_char_attribute): Check each element of
1806         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1807
1808 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1809
1810         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1811         UTF-2000.
1812         (Qethiopic_ucs): New variable in UTF-2000.
1813         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1814         (complex_vars_of_mule_charset): Add new coded-charset
1815         `ethiopic-ucs' in UTF-2000.
1816
1817         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1818         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1819         9)'.
1820         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1821         10)'.
1822         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1823
1824 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1825
1826         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1827         `ascii'.
1828
1829 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1830
1831         * mule-charset.c (Vcharacter_variant_table): New variable.
1832         (Q_ucs): New variable.
1833         (Fchar_variants): New function.
1834         (Fput_char_attribute): Register `->ucs' value to
1835         `Vcharacter_variant_table'.
1836         (syms_of_mule_charset): Add new function `char-variants' and new
1837         symbol `->ucs'.
1838         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
1839
1840 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1841
1842         * mule-charset.c (get_char_code_table): Allow negative character
1843         code.
1844         (put_char_code_table): Likewise.
1845         (Vcharacter_composition_table): New variable.
1846         (Q_decomposition): New variable.
1847         (Qwide): New variable.
1848         (Qnarrow): New variable.
1849         (Qcompat): New variable.
1850         (QnoBreak): New variable.
1851         (Qsuper): New variable.
1852         (Qfraction): New variable.
1853         (to_char_code): New function.
1854         (Fget_composite_char): New function.
1855         (Fput_char_attribute): Register `->decomposition' value to
1856         `Vcharacter_composition_table'.
1857         (syms_of_mule_charset): Add new function `get-composite-char', new
1858         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
1859         `super' and `fraction'.
1860         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
1861
1862 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1863
1864         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
1865         character; copy the return value.
1866
1867 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1868
1869         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
1870
1871         * mule-charset.c (range_charset_code_point): Must use make_int.
1872         (split_builtin_char): New function.
1873
1874 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1875
1876         * mule-charset.c (char_byte_table): Change name from
1877         "char-code-table" to "char-byte-table".
1878         (mark_char_code_table): New function.
1879         (char_code_table_equal): New function.
1880         (char_code_table_hash): New function.
1881         (char_code_table_description): New constant.
1882         (char_code_table): New type.
1883         (make_char_code_table): New function.
1884         (copy_char_code_table): New function.
1885         (get_char_code_table): Modify for `char_code_table' type.
1886         (put_char_code_table): Likewise.
1887         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
1888         (Kashiwara).
1889
1890         * char-ucs.h (char_code_table): New type.
1891         (XCHAR_CODE_TABLE): New macro.
1892         (XSETCHAR_CODE_TABLE): New macro.
1893         (CHAR_CODE_TABLE_P): New macro.
1894         (GC_CHAR_CODE_TABLE_P): New macro.
1895         (struct Lisp_Char_Code_Table): New structure.
1896
1897 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1898
1899         * mule-charset.c (Fmake_charset): Setup byte_offset for
1900         {94|96}^n-set.
1901
1902 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1903
1904         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
1905         character.
1906
1907 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1908
1909         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
1910         is found.
1911
1912 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1913
1914         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
1915         charset, it is regarded as a charset.
1916         (put_char_attribute): New function in UTF-2000.
1917         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
1918         charset, mapping-table of the charset is modified.
1919         (Fdefine_char): New function in UTF-2000.
1920         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
1921         `Fput_char_attribute'.
1922         (syms_of_mule_charset): Add new function `define-char' and new
1923         symbol `ucs' in UTF-2000.
1924         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
1925
1926 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1927
1928         * mule-charset.c (Fcharset_name): Define `byte_offset' in
1929         non-UTF-2000 configuration.
1930
1931 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1932
1933         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
1934         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
1935
1936         * mule-charset.c (mark_charset): `cs->encoding_table' has been
1937         deleted.
1938         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
1939         (Fset_charset_mapping_table): Likewise.
1940
1941         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
1942         (CHARSET_ENCODING_TABLE): Delete.
1943         (XCHARSET_ENCODING_TABLE): Delete.
1944         (charset_code_point): New interface.
1945
1946 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1947
1948         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
1949         instead of `charset_get_byte1' and `charset_get_byte2'.
1950
1951         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
1952         (charset_get_byte2): Deleted.
1953
1954 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1955
1956         * char-ucs.h (SPLIT_CHAR): New inline function.
1957         (breakup_char_1): Use `SPLIT_CHAR'.
1958
1959         * mule-charset.c (range_charset_code_point): New function.
1960         (charset_code_point): New function.
1961
1962         * char-ucs.h (range_charset_code_point): New interface.
1963         (breakup_char_1): Use `range_charset_code_point'.
1964
1965 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1966
1967         * mule-charset.c (Fmake_charset): Delete unused local variable
1968         `code_offset'.
1969
1970         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
1971         (breakup_char_1): Find a charset and code-point in
1972         `Vcharacter_attribute_table'.
1973
1974 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1975
1976         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1977         to 0.10 (Yao).
1978
1979 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1980
1981         * mule-charset.c (Vcharacter_attribute_table): New variable.
1982         (Fchar_attribute_alist): New function.
1983         (Fget_char_attribute): New function.
1984         (Fput_char_attribute): New function.
1985         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
1986         too.
1987         (syms_of_mule_charset): Add new function `char-attribute-alist',
1988         `get-char-attribute' and `put-char-attribute'.
1989         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
1990
1991 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
1992
1993         * mule-charset.c (Fmake_charset): Just use
1994         `get_unallocated_leading_byte'.
1995
1996         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
1997         sets; don't use final-byte based number for private sets.
1998
1999 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2000
2001         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2002         integer.
2003
2004 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2005
2006         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2007         to 0.9.
2008
2009 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2010
2011         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2012         of `CHAR_LEADING_BYTE' in UTF-2000.
2013
2014         * insdel.c (find_charsets_in_bufbyte_string): Use
2015         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2016         (find_charsets_in_emchar_string): Likewise.
2017
2018         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2019         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2020
2021         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2022         (CHAR_CHARSET_ID): New macro.
2023
2024 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2025
2026         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2027         charset-id - MIN_LEADING_BYTE.
2028         (put_char_table): Likewise.
2029
2030 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2031
2032         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2033         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2034         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2035         (CHARSET_ID_OFFSET): New macro.
2036         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2037         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2038         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2039         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2040         4).
2041         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2042         5).
2043         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2044         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2045         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2046         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2047         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2048
2049 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2050
2051         * mule-charset.c (next_allocated_leading_byte): New variable in
2052         UTF-2000.
2053         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2054         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2055         (get_unallocated_leading_byte): Simply use
2056         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2057         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2058         UTF-2000.
2059
2060         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2061         (MAX_LEADING_BYTE_PRIVATE): New macro.
2062         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2063         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2064
2065 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2066
2067         * mule-charset.c (Fmake_charset): Allocate final-byte based
2068         charset-id for 94-set, 96-set and 94x94-set.
2069
2070 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2071
2072         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2073         ambiguous `else'.
2074         (Fmake_charset): Likewise.
2075         (complex_vars_of_mule_charset): Modify the font registry of
2076         `ucs-bmp' not to match `Ethiopic-Unicode'.
2077
2078 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2079
2080         * mule-charset.c (complex_vars_of_mule_charset): Add font
2081         registory of `ucs-bmp'.
2082
2083 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2084
2085         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2086         coded-charsets in `default-coded-charset-priority-list' when
2087         breaking up a character.
2088
2089         * mule-charset.c (Vcharset_latin_viscii): New variable.
2090         (Qlatin_viscii): New variable.
2091         (make_charset): Don't use `decoding_table'.
2092         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2093         byte_offset.
2094         (Fset_charset_mapping_table): New implementation.
2095         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2096         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2097         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2098         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2099         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2100         charset `latin_viscii'.
2101
2102         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2103         (CHARSET_TYPE_94X94): Change to 1 from 2.
2104         (CHARSET_TYPE_96): Change to 2 from 1.
2105         (CHARSET_TYPE_128): New macro.
2106         (CHARSET_TYPE_128X128): Change to 5 from 4.
2107         (CHARSET_TYPE_256): New macro.
2108         (CHARSET_TYPE_256X256): Change to 7 from 5.
2109         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2110
2111 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2112
2113         * text-coding.c (char_encode_shift_jis): Refer
2114         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2115         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2116
2117         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2118         (char_byte_table_equal): New function in UTF-2000.
2119         (char_byte_table_hash): New function in UTF-2000.
2120         (char_byte_table_description): New constant in UTF-2000.
2121         (char_byte_table): New type in UTF-2000.
2122         (make_char_byte_table): New function in UTF-2000.
2123         (copy_char_byte_table): New function in UTF-2000.
2124         (make_char_code_table): New macro in UTF-2000.
2125         (get_char_code_table): New function in UTF-2000.
2126         (put_char_code_table): New function in UTF-2000.
2127         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2128         (charset_description): Add setting in UTF-2000.
2129         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2130         `CHARSET_TO_BYTE1_TABLE(cs)'.
2131         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2132         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2133         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2134         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2135         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2136         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2137         `CHARSET_TO_BYTE2_TABLE(cs)'.
2138
2139         * char-ucs.h (char_byte_table): New type.
2140         (XCHAR_BYTE_TABLE): New macro.
2141         (XSETCHAR_BYTE_TABLE): New macro.
2142         (CHAR_BYTE_TABLE_P): New macro.
2143         (GC_CHAR_BYTE_TABLE_P): New macro.
2144         (struct Lisp_Char_Byte_Table): New structure.
2145         (get_char_code_table): New interface.
2146         (Emchar_to_byte_table): Deleted.
2147         (get_byte_from_character_table): Deleted.
2148         (struct Lisp_Charset): Add `encoding_table'; delete
2149         `to_byte1_table' and `to_byte2_table'.
2150         (CHARSET_ENCODING_TABLE): New macro.
2151         (CHARSET_TO_BYTE1_TABLE): Deleted.
2152         (CHARSET_TO_BYTE2_TABLE): Deleted.
2153         (XCHARSET_ENCODING_TABLE): New macro.
2154         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2155         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2156
2157 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2158
2159         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2160         `vietnamese-viscii-*'.
2161
2162 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2163
2164         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2165         (Qvietnamese_viscii_upper): New variable.
2166         (Fdefine_charset_alias): New function.
2167         (syms_of_mule_charset): Add new function `define-charset-alias'.
2168         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2169         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2170         `latin-viscii-*'.
2171
2172 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2173
2174         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2175         (MAX_CHAR_OBS_94x94): New macro.
2176         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2177         for 94x94 sets.
2178
2179         * mule-charset.c (put_byte_from_character_table): Change unit size
2180         from 128 to 256.
2181         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2182         not defined.
2183         (Fmake_reverse_direction_charset): Modify dummy argument of
2184         `make_charset' for non-UTF-2000 environment.
2185
2186 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2187
2188         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2189
2190         * mule-charset.c (destroy_byte_from_character_table): New macro.
2191         (latin_jisx0201_to_ucs): Deleted.
2192         (latin_iso8859_2_to_ucs): Deleted.
2193         (latin_iso8859_3_to_ucs): Deleted.
2194         (latin_iso8859_4_to_ucs): Deleted.
2195         (latin_iso8859_9_to_ucs): Deleted.
2196         (latin_viscii_lower_to_ucs): Deleted.
2197         (latin_viscii_upper_to_ucs): Deleted.
2198         (mark_charset): Mark `cs->decoding_table'.
2199         (Fcharset_mapping_table): Fix DOC-string.
2200         (Fset_charset_mapping_table): New function.
2201         (syms_of_mule_charset): Add nwe function
2202         `set-charset-mapping-table'.
2203         (complex_vars_of_mule_charset): Don't setup and use
2204         `latin_*_to_ucs'.
2205
2206 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2207
2208         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2209         charset.
2210
2211 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2212
2213         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2214         (Vcharset_katakana_jisx0208): New variable.
2215         (Qhiragana_jisx0208): New variable.
2216         (Qkatakana_jisx0208): New variable.
2217         (make_charset): Add new argument `byte_offset'.
2218         (charset_get_byte1): Modify for new coded-charset definition; use
2219         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2220         `XCHARSET_BYTE_OFFSET'.
2221         (Fmake_charset): Modify for `make_charset'.
2222         (Fmake_reverse_direction_charset): Likewise.
2223         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2224         `katakana-jisx0208'.
2225         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2226         `.'  in font registry of charset `katakana-jisx0201',
2227         `latin-jisx0201', `vietnamese-viscii-lower' and
2228         `vietnamese-viscii-upper'; modify DOC-string of charset
2229         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2230         registry of charset `japanese-jisx0208' not to use font for JIS
2231         X0208:1990; add new charset `hiragana-jisx0208' and
2232         `katakana-jisx0208'.
2233
2234         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2235         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2236         (struct Lisp_Charset): Add `byte_offset'.
2237         (CHARSET_BYTE_OFFSET): New macro.
2238         (XCHARSET_UCS_MIN): New macro.
2239         (XCHARSET_UCS_MAX): New macro.
2240         (XCHARSET_CODE_OFFSET): New macro.
2241         (XCHARSET_BYTE_OFFSET): New macro.
2242         (MIN_CHAR_HIRAGANA): New macro.
2243         (MAX_CHAR_HIRAGANA): New macro.
2244         (MIN_CHAR_KATAKANA): New macro.
2245         (MAX_CHAR_KATAKANA): New macro.
2246         (MAKE_CHAR): Modify for new coded-charset definition; use
2247         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2248         `XCHARSET_BYTE_OFFSET'.
2249
2250 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2251
2252         * mule-charset.c (CHAR96): Deleted.
2253         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2254         <Lisp_Object>.
2255         (latin_iso8859_2_to_ucs): Likewise.
2256         (latin_iso8859_3_to_ucs): Likewise.
2257         (latin_iso8859_4_to_ucs): Likewise.
2258         (latin_iso8859_9_to_ucs): Likewise.
2259         (latin_viscii_lower_to_ucs): Likewise.
2260         (latin_viscii_upper_to_ucs): Likewise.
2261         (latin_tcvn5712_to_ucs): Commented out.
2262         (make_charset): Change type of argument `decoding_table' from
2263         <Emchar*> to <Lisp_Object> [vector of characters].
2264         (Fmake_charset): Modify for `make_charset'.
2265         (Fmake_reverse_direction_charset): Likewise.
2266         (Fcharset_mapping_table): New function in UTF-2000.
2267         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2268         UTF-2000.
2269         (complex_vars_of_mule_charset): Modify for type change of
2270         `*_to_ucs'; modify for `make_charset'.
2271
2272         * char-ucs.h (struct Lisp_Charset): Change type of
2273         `decoding_table' from <Emchar*> to <Lisp_Object>.
2274         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2275
2276 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2277
2278         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2279         error with non-UTF-2000-Mule.
2280
2281 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2282
2283         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2284         in lisp again].
2285         (Vcharset_chinese_cns11643_4): Likewise.
2286         (Vcharset_chinese_cns11643_5): Likewise.
2287         (Vcharset_chinese_cns11643_6): Likewise.
2288         (Vcharset_chinese_cns11643_7): Likewise.
2289         (Qchinese_cns11643_3): Likewise.
2290         (Qchinese_cns11643_4): Likewise.
2291         (Qchinese_cns11643_5): Likewise.
2292         (Qchinese_cns11643_6): Likewise.
2293         (Qchinese_cns11643_7): Likewise.
2294         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2295         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2296         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2297         (complex_vars_of_mule_charset): Likewise.
2298
2299 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2300
2301         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2302         96-set.
2303         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2304         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2305
2306 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2307
2308         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2309         0xFF60.
2310         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2311         (breakup_char_1): Likewise.
2312
2313         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2314         one of them includes the specified character.
2315
2316 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2317
2318         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2319
2320 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2321
2322         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2323
2324 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2325
2326         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2327         definition for non-UTF-2000 Mule.
2328         (latin_iso8859_3_to_ucs): Likewise.
2329         (latin_iso8859_4_to_ucs): Likewise.
2330         (latin_iso8859_9_to_ucs): Likewise.
2331         (latin_jisx0201_to_ucs): Likewise.
2332         (MIN_CHAR_THAI): Likewise.
2333         (MAX_CHAR_THAI): Likewise.
2334         (MIN_CHAR_GREEK): Likewise.
2335         (MAX_CHAR_GREEK): Likewise.
2336         (MIN_CHAR_HEBREW): Likewise.
2337         (MAX_CHAR_HEBREW): Likewise.
2338         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2339         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2340         (MIN_CHAR_CYRILLIC): Likewise.
2341         (MAX_CHAR_CYRILLIC): Likewise.
2342
2343 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2344
2345         * char-ucs.h (breakup_char_1): Use
2346         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2347         thai-tis620 and katakana-jisx0201 area.
2348
2349 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2350
2351         * char-ucs.h (breakup_char_1): Use
2352         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2353         area.
2354
2355         * text-coding.c (reset_encoding_stream): Fixed.
2356         (char_encode_ucs4): Delete `& 255'.
2357
2358         * char-ucs.h (breakup_char_1): Use
2359         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2360
2361 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2362
2363         * file-coding.c (Fmake_coding_system): Don't set up
2364         `codesys->fixed.size'.
2365         (encode_coding_no_conversion): Don't refer
2366         `str->codesys->fixed.size'.
2367
2368 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2369
2370         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2371         (latin_a_char_to_byte1): Deleted.
2372         (latin_a_char_to_byte2): Deleted.
2373
2374 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2375
2376         * mule-charset.c (make_charset): Add new argument `ucs_min',
2377         `ucs_max' and `code_offset'.
2378         (charset_get_byte1): New implementation [delete specific charset
2379         depended implementations].
2380         (Fmake_charset): Modify for `make_charset'.
2381         (Fmake_reverse_direction_charset): Likewise.
2382         (complex_vars_of_mule_charset): Likewise.
2383
2384         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2385         `code_offset'.
2386         (CHARSET_UCS_MIN): New macro.
2387         (CHARSET_UCS_MAX): New macro.
2388         (CHARSET_CODE_OFFSET): New macro.
2389         (MAKE_CHAR): Delete charset depended definitions [except
2390         katakana-jisx0201].
2391
2392 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2393
2394         * char-ucs.h (breakup_char_1): Use
2395         `Vdefault_coded_charset_priority_list' for C0-Controls,
2396         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2397
2398 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2399
2400         * char-ucs.h (charset_get_byte1): New function.
2401         (XCHARSET_GET_BYTE1): Deleted.
2402         (charset_get_byte2): New function.
2403         (XCHARSET_GET_BYTE2): Deleted.
2404         (Vdefault_coded_charset_priority_list): New external variable.
2405         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2406         `Vdefault_preferred_coded_charset_list'.
2407
2408         * mule-charset.c (charset_get_byte1): New function.
2409         (charset_get_byte2): New function.
2410         (Vdefault_coded_charset_priority_list): New variable.
2411         (vars_of_mule_charset): Add new variable
2412         `default-coded-charset-priority-list'.
2413
2414 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2415
2416         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2417         (XCHARSET_GET_BYTE2): New inline function.
2418         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2419         `XCHARSET_GET_BYTE2'.
2420
2421 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2422
2423         * mule-charset.c (make_charset): Initialize
2424         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2425         NULL if table is not defined.
2426
2427 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2428
2429         * text-coding.c (char_encode_shift_jis): Use
2430         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2431         `ucs_to_latin_jisx0201'.
2432
2433         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2434         (ucs_to_latin_iso8859_2): Deleted.
2435         (ucs_to_latin_iso8859_3): Deleted.
2436         (ucs_to_latin_iso8859_4): Deleted.
2437         (ucs_to_latin_iso8859_9): Deleted.
2438         (ucs_to_latin_viscii_lower): Deleted.
2439         (ucs_to_latin_viscii_upper): Deleted.
2440         (ucs_to_latin_tcvn5712): Deleted.
2441         (make_charset): Add new argument `decoding_table'; set up
2442         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2443         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2444         `decoding_table' is defined in UTF-2000.
2445         (Fmake_charset): Modify for `make_charset'.
2446         (Fmake_reverse_direction_charset): Likewise.
2447         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2448         and `GENERATE_96_SET'.
2449
2450         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2451         (ucs_to_latin_jisx0201): Deleted.
2452         (latin_iso8859_2_to_ucs): Deleted.
2453         (ucs_to_latin_iso8859_2): Deleted.
2454         (latin_iso8859_3_to_ucs): Deleted.
2455         (ucs_to_latin_iso8859_3): Deleted.
2456         (latin_iso8859_4_to_ucs): Deleted.
2457         (ucs_to_latin_iso8859_4): Deleted.
2458         (latin_iso8859_9_to_ucs): Deleted.
2459         (ucs_to_latin_iso8859_9): Deleted.
2460         (latin_viscii_lower_to_ucs): Deleted.
2461         (ucs_to_latin_viscii_lower): Deleted.
2462         (latin_viscii_upper_to_ucs): Deleted.
2463         (ucs_to_latin_viscii_upper): Deleted.
2464         (struct Lisp_Charset): Renamed `encoding_table' to
2465         `to_byte1_table'; add `to_byte2_table'.
2466         (CHARSET_DECODING_TABLE): New macro.
2467         (CHARSET_TO_BYTE1_TABLE): New macro.
2468         (CHARSET_TO_BYTE2_TABLE): New macro.
2469         (XCHARSET_DECODING_TABLE): New macro.
2470         (XCHARSET_TO_BYTE1_TABLE): New macro.
2471         (XCHARSET_TO_BYTE2_TABLE): New macro.
2472         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2473         tables.
2474         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2475         don't use `ucs_to_*' tables.
2476
2477 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2478
2479         * text-coding.c (Fmake_coding_system): Don't set up
2480         `codesys->fixed.size'.
2481         (encode_coding_no_conversion): Use `if' instead of `switch'.
2482
2483         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2484
2485 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2486
2487         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2488         (Fmake_charset): Modify for `make_charset'.
2489         (Fmake_reverse_direction_charset): Likewise.
2490         (complex_vars_of_mule_charset): Likewise.
2491
2492 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2493
2494         * text-coding.c (char_encode_shift_jis): Use table
2495         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2496
2497 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2498
2499         * text-coding.c (text_encode_generic): Use `if' instead of
2500         `switch'.
2501         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2502         decode JIS-Latin.
2503
2504 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2505
2506         * text-coding.c (encode_coding_sjis): Deleted.
2507         (char_encode_shift_jis): New function.
2508         (char_finish_shift_jis): New function.
2509         (reset_encoding_stream): Set up `encode_char' and `finish' for
2510         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2511         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2512         (char_encode_utf8): Treat `eol_type'.
2513
2514 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2515
2516         * file-coding.c (decode_coding_iso2022): Use
2517         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2518
2519 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2520
2521         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2522         to 0.7 (Hirano).
2523
2524 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2525
2526         * char-lb.h (CHAR_COLUMNS): New macro.
2527
2528 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2529
2530         * text-coding.c (char_encode_ucs4): New function.
2531         (char_finish_ucs4): New function.
2532         (encode_coding_ucs4): Deleted.
2533         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2534         (text_encode_generic): Delete local variable `charset' and `half'.
2535         (ucs_to_mule_table): Deleted.
2536         (mule_to_ucs_table): Deleted.
2537         (Fset_ucs_char): Deleted.
2538         (ucs_to_char): Deleted.
2539         (Fucs_char): Deleted.
2540         (Fset_char_ucs): Deleted.
2541         (Fchar_ucs): Deleted.
2542         (decode_ucs4): Deleted.
2543         (mule_char_to_ucs4): Deleted.
2544         (encode_ucs4): Deleted.
2545         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2546         (decode_coding_utf8): Likewise.
2547         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2548         (char_encode_iso2022): Fixed.
2549         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2550         `Fset_char_ucs' and `Fchar_ucs'.
2551         (complex_vars_of_file_coding): Don't initialize
2552         `ucs_to_mule_table'.
2553
2554         * objects-tty.c (tty_initialize_font_instance): Don't use
2555         `XCHARSET_COLUMNS'.
2556
2557         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2558         UTF-2000.
2559
2560         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2561         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2562
2563         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2564         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2565         (emchar_string_displayed_columns): Likewise.
2566
2567         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2568         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2569         (string_column_at_point): Likewise.
2570         (Fmove_to_column): Likewise.
2571
2572         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2573         `encoding_table' and `decoding_table'.
2574         (CHARSET_REP_BYTES): Deleted.
2575         (XCHARSET_REP_BYTES): Deleted.
2576         (XCHARSET_COLUMNS): Deleted.
2577         (CHAR_COLUMNS): New macro.
2578         (lookup_composite_char): Deleted unconditionally.
2579         (composite_char_string): Likewise.
2580
2581 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2582
2583         * char-ucs.h (Emchar_to_byte_table): New type.
2584         (get_byte_from_character_table): New function interface.
2585         (Vcharset_latin_jisx0201): New variable.
2586         (latin_jisx0201_to_ucs): New variable.
2587         (ucs_to_latin_jisx0201): New variable.
2588         (Vcharset_latin_iso8859_2): New variable.
2589         (latin_iso8859_2_to_ucs): New variable.
2590         (ucs_to_latin_iso8859_2): New variable.
2591         (Vcharset_latin_iso8859_3): New variable.
2592         (latin_iso8859_3_to_ucs): New variable.
2593         (ucs_to_latin_iso8859_3): New variable.
2594         (Vcharset_latin_iso8859_4): New variable.
2595         (latin_iso8859_4_to_ucs): New variable.
2596         (ucs_to_latin_iso8859_4): New variable.
2597         (Vcharset_latin_iso8859_9): New variable.
2598         (latin_iso8859_9_to_ucs): New variable.
2599         (ucs_to_latin_iso8859_9): New variable.
2600         (Vcharset_latin_viscii_lower): New variable.
2601         (latin_viscii_lower_to_ucs): New variable.
2602         (ucs_to_latin_viscii_lower): New variable.
2603         (Vcharset_latin_viscii_upper): New variable.
2604         (latin_viscii_upper_to_ucs): New variable.
2605         (ucs_to_latin_viscii_upper): New variable.
2606         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2607         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2608         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2609         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2610         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2611         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2612         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2613         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2614         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2615         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2616
2617         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2618         (Vcharset_latin_viscii_upper): New variable.
2619         (make_byte_from_character_table): New function.
2620         (put_byte_from_character_table): New function.
2621         (get_byte_from_character_table): New function.
2622         (CHAR96): New macro.
2623         (ucs_to_latin_jisx0201): New variable.
2624         (latin_jisx0201_to_ucs): New variable.
2625         (ucs_to_latin_iso8859_2): New variable.
2626         (latin_iso8859_2_to_ucs): New variable.
2627         (ucs_to_latin_iso8859_3): New variable.
2628         (latin_iso8859_3_to_ucs): New variable.
2629         (ucs_to_latin_iso8859_4): New variable.
2630         (latin_iso8859_4_to_ucs): New variable.
2631         (ucs_to_latin_iso8859_9): New variable.
2632         (latin_iso8859_9_to_ucs): New variable.
2633         (ucs_to_latin_viscii_lower): New variable.
2634         (latin_viscii_lower_to_ucs): New variable.
2635         (ucs_to_latin_viscii_upper): New variable.
2636         (latin_viscii_upper_to_ucs): New variable.
2637         (ucs_to_latin_tcvn5712): New variable.
2638         (latin_tcvn5712_to_ucs): New variable.
2639         (Qlatin_viscii_lower): New variable.
2640         (Qlatin_viscii_upper): New variable.
2641         (syms_of_mule_charset): Set up new symbol
2642         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2643         (complex_vars_of_mule_charset): Set up new charset
2644         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2645         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2646         `ucs_to_<CHARSET>' tables.
2647
2648 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2649
2650         * text-coding.c: New file.
2651
2652 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2653
2654         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2655
2656         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2657         (MAKE_CHAR): Modify for `ucs-bmp'.
2658         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2659         non-MULE characters of BMP.
2660
2661 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2662
2663         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2664         to 0.6.
2665
2666 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2667
2668         * lstream.h:
2669         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2670         - Include character.h for `CHAR_ASCII_P'.
2671
2672         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2673
2674         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2675         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2676
2677         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2678         (BYTE_C0_P): Likewise.
2679         (BYTE_C1_P): Likewise.
2680         (Lstream_get_emchar_1): Likewise.
2681         (Lstream_fput_emchar): Likewise.
2682         (Lstream_funget_emchar): Likewise.
2683         (copy_internal_to_external): Likewise.
2684         (copy_external_to_internal): Likewise.
2685
2686         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2687         (BYTE_C0_P): Likewise.
2688         (BYTE_C1_P): Likewise.
2689         (Lstream_get_emchar_1): Likewise.
2690         (Lstream_fput_emchar): Likewise.
2691         (Lstream_funget_emchar): Likewise.
2692         (copy_internal_to_external): Likewise.
2693         (copy_external_to_internal): Likewise.
2694
2695         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2696         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2697
2698         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2699         (BYTE_ASCII_P): Moved to mb-1byte.h.
2700
2701 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2702
2703         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2704
2705         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2706         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2707         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2708         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2709         (VALIDATE_CHARPTR_FORWARD): Likewise.
2710         (simple_charptr_emchar): Moved to mb-multibyte.h.
2711         (simple_set_charptr_emchar): Likewise.
2712         (simple_charptr_copy_char): Likewise.
2713         (non_ascii_charptr_emchar): Likewise.
2714         (non_ascii_set_charptr_emchar): Likewise.
2715         (non_ascii_charptr_copy_char): Likewise.
2716         (charptr_emchar): Moved to mb-*byte.h.
2717         (set_charptr_emchar): Likewise.
2718         (charptr_copy_char): Likewise.
2719
2720         * mb-1byte.h, mb-multibyte.h: New files.
2721
2722 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2723
2724         * mb-utf-8.h (MULTIBYTE): New macro.
2725         (MAX_EMCHAR_LEN): Moved from buffer.h.
2726         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2727
2728         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2729
2730         * mb-lb.h, multibyte.h: New files.
2731
2732         * char-1byte.h (Charset_ID): Moved from buffer.h.
2733         (MIN_LEADING_BYTE): Likewise.
2734         (LEADING_BYTE_ASCII): Likewise.
2735         (NUM_LEADING_BYTES): Likewise.
2736         (CHARSETP): Likewise.
2737         (CHARSET_BY_LEADING_BYTE): Likewise.
2738         (XCHARSET_LEADING_BYTE): Likewise.
2739         (XCHARSET_GRAPHIC): Likewise.
2740         (XCHARSET_COLUMNS): Likewise.
2741         (XCHARSET_DIMENSION): Likewise.
2742         (CHAR_CHARSET): Likewise.
2743         (CHAR_LEADING_BYTE): Likewise.
2744         (BREAKUP_CHAR): Likewise.
2745         (Vcharset_ascii): Likewise.
2746
2747         * buffer.h: Include multibyte.h unconditionally.
2748         (VALID_CHARPTR_P): Moved to multibyte.h.
2749         (ASSERT_VALID_CHARPTR): Likewise.
2750         (REAL_INC_CHARPTR): Likewise.
2751         (REAL_INC_CHARBYTIND): Likewise.
2752         (REAL_DEC_CHARPTR): Likewise.
2753         (INC_CHARPTR): Likewise.
2754         (INC_CHARBYTIND): Likewise.
2755         (DEC_CHARPTR): Likewise.
2756         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2757         (VALIDATE_CHARPTR_FORWARD): Likewise.
2758         (charptr_n_addr): Likewise.
2759         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2760         (simple_charptr_emchar): Moved to multibyte.h.
2761         (simple_set_charptr_emchar): Likewise.
2762         (simple_charptr_copy_char): Likewise.
2763         (non_ascii_charptr_emchar): Likewise.
2764         (non_ascii_set_charptr_emchar): Likewise.
2765         (non_ascii_charptr_copy_char): Likewise.
2766         (charptr_emchar): Likewise.
2767         (set_charptr_emchar): Likewise.
2768         (charptr_copy_char): Likewise.
2769         (charptr_emchar_n): Likewise.
2770         (Charset_ID): Moved to char-1byte.h.
2771         (Vcharset_ascii): Likewise.
2772         (CHAR_CHARSET): Likewise.
2773         (CHAR_LEADING_BYTE): Likewise.
2774         (LEADING_BYTE_ASCII): Likewise.
2775         (NUM_LEADING_BYTES): Likewise.
2776         (MIN_LEADING_BYTE): Likewise.
2777         (CHARSETP): Likewise.
2778         (CHARSET_BY_LEADING_BYTE): Likewise.
2779         (XCHARSET_LEADING_BYTE): Likewise.
2780         (XCHARSET_GRAPHIC): Likewise.
2781         (XCHARSET_COLUMNS): Likewise.
2782         (XCHARSET_DIMENSION): Likewise.
2783         (BREAKUP_CHAR): Likewise.
2784
2785 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2786
2787         * character.h: Add document about interface for characters.
2788
2789         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2790         (MAKE_CHAR): Delete comment about
2791         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2792         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2793         (BREAKUP_CHAR): Modify name of arguments.
2794         (CHAR_CHARSET): Modify name of argument.
2795
2796         * buffer.h: Delete document about Emchar accessors.
2797
2798 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2799
2800         * character.h (CHAR_INTP): Moved from buffer.h
2801         (CHAR_OR_CHAR_INTP): Likewise.
2802         (XCHAR_OR_CHAR_INT): Likewise.
2803         (CHECK_CHAR_COERCE_INT): Likewise.
2804
2805         * buffer.h (CHAR_INTP): Moved to character.h
2806         (CHAR_OR_CHAR_INTP): Likewise.
2807         (XCHAR_OR_CHAR_INT): Likewise.
2808         (CHECK_CHAR_COERCE_INT): Likewise.
2809
2810 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2811
2812         * character.h:
2813         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2814         - Include char-1byte.h, char-lb.h or char-ucs.h.
2815
2816         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2817
2818         * buffer.h: Include character unconditionally.
2819         (valid_char_p): Moved to char-*.h.
2820         (non_ascii_valid_char_p): Moved to char-lb.h.
2821
2822         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2823
2824 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2825
2826         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2827         in UTF-2000 because it is not ported yet and not to use
2828         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2829         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2830         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2831
2832         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2833         (CHAR_ASCII_P): Moved from character.h.
2834
2835         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
2836         (CHAR_ASCII_P): Likewise.
2837         (CHAR_FIELD1_MASK): Deleted.
2838         (CHAR_FIELD2_MASK): Deleted.
2839         (CHAR_FIELD3_MASK): Deleted.
2840         (MAX_CHAR_BASIC_LATIN): New macro.
2841         (CHAR_FIELD1): Deleted.
2842         (CHAR_FIELD2_INTERNAL): Deleted.
2843         (CHAR_FIELD3_INTERNAL): Deleted.
2844         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
2845         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
2846         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
2847         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
2848         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
2849         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
2850         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
2851         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
2852         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
2853         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
2854         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
2855         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
2856         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
2857         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
2858         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
2859         (MIN_CHAR_COMPOSITION): Deleted.
2860         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
2861         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
2862
2863 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
2864
2865         * buffer.h: Include mb-utf-8.h in UTF-2000.
2866
2867         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
2868
2869         * mb-utf-8.h: New file.
2870
2871 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
2872
2873         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
2874         instead of `int'.
2875
2876         * mule-charset.h, buffer.h (Charset_ID): New type.
2877
2878 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2879
2880         * mule-canna.c (c2mu): Use `MAKE_CHAR',
2881         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
2882         instead of `MULE_CHAR_PRIVATE_OFFSET',
2883         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
2884         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
2885         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
2886
2887         * character.h (Vcharset_japanese_jisx0212): New variable
2888         definition.
2889
2890 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2891
2892         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
2893         (charset_by_attributes): Delete array about direction.
2894         (latin_a_char_to_charset): New variable in UTF-2000.
2895         (latin_a_char_to_byte1): New variable in UTF-2000.
2896         (latin_a_char_to_byte2): New variable in UTF-2000.
2897         (Qucs_bmp): New variable.
2898         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
2899         `Bufbyte'.
2900         (next_allocated_2_byte_leading_byte): Likewise.
2901         (non_ascii_set_charptr_emchar): Likewise.
2902         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
2903         `CHARSET_TYPE_256X256' in UTF-2000; modify for
2904         `charset_by_attributes'.
2905         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
2906         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
2907         and `CHARSET_BY_LEADING_BYTE'.
2908         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
2909         `utf-2000-version' to `vars_of_mule_charset'.
2910         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
2911         define `leading-code-private-11' in UTF-2000; move setting of
2912         `utf-2000-version' from `syms_of_mule_charset'.
2913         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
2914         UTF-2000.
2915
2916         * character.h (Charset_ID): New type.
2917         (LEADING_BYTE_UCS_BMP): New macro.
2918         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
2919         (CHARSET_ID_OFFSET_94): New macro.
2920         (MIN_CHARSET_ID_PRIVATE_94): New macro.
2921         (MAX_CHARSET_ID_PRIVATE_94): New macro.
2922         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
2923         final-byte.
2924         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
2925         (LEADING_BYTE_LATIN_JISX0201): Likewise.
2926         (CHARSET_ID_OFFSET_96): New macro.
2927         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
2928         CHARSET_ID_OFFSET_96 and final-byte.
2929         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
2930         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
2931         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
2932         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
2933         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
2934         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
2935         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
2936         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
2937         (LEADING_BYTE_THAI_TIS620): Likewise.
2938         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
2939         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
2940         (CHARSET_ID_OFFSET_94x94): New macro.
2941         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
2942         CHARSET_ID_OFFSET_94x94 and final-byte.
2943         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
2944         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
2945         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
2946         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
2947         (LEADING_BYTE_CHINESE_GB2312): Likewise.
2948         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
2949         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
2950         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
2951         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
2952         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
2953         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
2954         (CHARSET_TYPE_128X128): New macro.
2955         (CHARSET_TYPE_256X256): New macro.
2956         (XCHARSET_PRIVATE_P): Delete unconditionally.
2957         (charset_by_attributes): Delete array about direction.
2958         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
2959         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
2960         (MIN_CHAR_94): New macro.
2961         (MAX_CHAR_94): New macro.
2962         (MIN_CHAR_96): New macro.
2963         (MAX_CHAR_96): New macro.
2964         (MIN_CHAR_94x94): New macro.
2965         (MAX_CHAR_94x94): New macro.
2966         (MIN_CHAR_96x96): New macro.
2967         (MAX_CHAR_96x96): New macro.
2968         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
2969         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
2970         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
2971         - 32)'.
2972         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
2973         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
2974         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
2975         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
2976         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
2977         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
2978         `XCHARSET_LEADING_BYTE' to make code-point.
2979         (latin_a_char_to_charset): New variable.
2980         (latin_a_char_to_byte1): New variable.
2981         (latin_a_char_to_byte2): New variable.
2982         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
2983         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
2984         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
2985
2986         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
2987         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
2988         (find_charsets_in_emchar_string): Likewise.
2989         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
2990
2991         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
2992         `int'.
2993         (decode_coding_iso2022): Likewise.
2994
2995         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
2996         of `unsigned char'.
2997
2998         * redisplay.c (redisplay_text_width_emchar_string): Use
2999         `Charset_ID' instead of `unsigned char'.
3000         (redisplay_frame_text_width_string): Likewise.
3001
3002         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3003         `unsigned char'.
3004
3005         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3006         instead of `unsigned char'.
3007         (face_cachel_charset_font_metric_info): Likewise.
3008
3009         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3010         (get_non_ascii_char_table_value): Likewise.
3011         (get_char_table): Likewise.
3012         (put_char_table): Likewise.
3013         (map_over_other_charset): Likewise.
3014         (map_char_table): Likewise.
3015
3016         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3017         instead of `unsigned char'.
3018
3019 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3020
3021         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3022         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3023
3024         * mule-charset.c (leading_code_private_11): Don't define in
3025         UTF-2000.
3026
3027         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3028         in UTF-2000 because it is not ported yet and not to use
3029         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3030
3031 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3032
3033         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3034
3035 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3036
3037         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3038         in UTF-2000.
3039
3040         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3041         of unsigned char to store leading-byte.
3042
3043         * chartab.c (get_non_ascii_char_table_value): Don't use
3044         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3045
3046         * file-coding.c (encode_coding_big5): Delete bogus implementation
3047         in UTF2000.
3048
3049         * character.h (LEADING_BYTE_*): Delete definition for
3050         non-UTF-2000.
3051         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3052         (LEADING_BYTE_PREFIX_P): Deleted.
3053         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3054         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3055         (BUFBYTE_LEADING_BYTE_P): Deleted.
3056         (CHARSET_PRIVATE_P): Deleted unconditionally.
3057         (rep_bytes_by_first_byte): Deleted unconditionally.
3058         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3059         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3060         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3061         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3062         (CHAR_FIELD2): Deleted.
3063         (CHAR_FIELD3): Deleted.
3064         (MAKE_CHAR): Delete definition for non-UTF-2000.
3065         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3066         (breakup_char_1): New implementation.
3067         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3068         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3069
3070 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3071
3072         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3073         condition.
3074
3075 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3076
3077         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3078         (CHARSET_PRIVATE_P): Likewise.
3079         (XCHARSET_PRIVATE_P): Likewise.
3080         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3081
3082         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3083         UTF2000.
3084         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3085
3086 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3087
3088         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3089         (NUM_LEADING_BYTES): Changed from 128 to 256.
3090         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3091         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3092         UTF2000.
3093         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3094
3095         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3096         UTF2000.
3097         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3098         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3099         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3100         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3101         (Qchinese_cns11643_3): New variable in UTF2000.
3102         (Qchinese_cns11643_4): New variable in UTF2000.
3103         (Qchinese_cns11643_5): New variable in UTF2000.
3104         (Qchinese_cns11643_6): New variable in UTF2000.
3105         (Qchinese_cns11643_7): New variable in UTF2000.
3106         (syms_of_mule_charset): Define `chinese-cns11643-3',
3107         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3108         and `chinese-cns11643-7' in UTF2000.
3109         (vars_of_mule_charset): Initialize
3110         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3111         + 1 in UTF2000.
3112         (complex_vars_of_mule_charset): Setup charset
3113         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3114         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3115
3116 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3117
3118         * mule-charset.c: Move setting for `leading-code-private-11' from
3119         `syms_of_mule_charset' to `vars_of_mule_charset'.
3120
3121 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3122
3123         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3124         and `NUM_LEADING_BYTES' in assert.
3125
3126 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3127
3128         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3129         instead of 128.
3130         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3131         `NUM_LEADING_BYTES' instead of 128.
3132
3133 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3134
3135         * mule-charset.h (charset_by_leading_byte): Use
3136         `NUM_LEADING_BYTES' instead of 128.
3137         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3138
3139         * mule-charset.c (charset_by_leading_byte): Use
3140         `NUM_LEADING_BYTES' instead of 128.
3141         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3142
3143         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3144         128.
3145
3146 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3147
3148         * mule-charset.c (syms_of_mule_charset): Update to
3149         0.4 (Shin-Imamiya).
3150
3151 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3152
3153         * file-coding.c (encode_coding_sjis): New implementation for
3154         UTF2000.  (decode_coding_sjis): Ditto.
3155
3156 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3157
3158         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3159         Don't define in UTF2000.
3160
3161         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3162         defined.
3163
3164         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3165         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3166         MULE.
3167
3168 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3169
3170         * config.h.in (CHAR_IS_UCS4): New macro.
3171
3172         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3173         conventional MULE representation.
3174         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3175
3176         * mule-charset.h: Reverted to original.
3177
3178         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3179         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3180         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3181
3182         * character.h: New file.
3183
3184         * file-coding.c (Fmake_coding_system): Set 1 to
3185         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3186         defined.
3187         (encode_coding_no_conversion): New implementation for UTF2000.
3188
3189         * file-coding.h (struct Lisp_Coding_System): Add new member
3190         `fixed.size'.
3191
3192 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3193
3194         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3195         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3196         (encode_coding_iso2022): New implementation for UTF2000.
3197
3198 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3199
3200         * mule-canna.c (c2mu): New implementation for UTF2000.
3201         (m2c): Likewise.
3202
3203 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3204
3205         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3206
3207 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3208
3209         * file-coding.c (reset_encoding_stream): Set 0 to
3210         `str->iso2022.current_char_boundary' in UTF2000.
3211         (encode_utf8): Don't define in UTF2000.
3212         (encode_coding_utf8): New implementation for UTF-8 representation
3213         of UTF2000.
3214         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3215
3216 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3217
3218         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3219
3220         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3221         UTF2000.
3222         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3223
3224         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3225
3226         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3227         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3228         as UTF-8 in UTF2000.
3229         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3230         (non_ascii_valid_char_p): Don't define in UTF2000.
3231         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3232         (Lstream_get_emchar_1): Likewise.
3233         (utf-2000-version): New variable in UTF2000.
3234
3235         * lread.c (read_escape): Add new reader `u'.
3236
3237         * insdel.c (three_to_one_table): Don't define in UTF2000.
3238         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3239         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3240         UTF2000.
3241         (bytind_to_bufpos_func): Likewise.
3242         (buffer_mule_signal_inserted_region): Likewise.
3243         (vars_of_insdel): Don't initialize `three_to_one_table'.
3244         (init_buffer_text): Use `buf->text->mule_size' instead of
3245         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3246         UTF2000.
3247
3248         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3249         UTF-8 representation in UTF2000.
3250         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3251         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3252         (decode_coding_iso2022): Don't define local variable `lb' in
3253         UTF2000; don't use LEADING_BYTE in UTF2000; use
3254         `DECODE_ADD_UCS_CHAR' in UTF2000.
3255         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3256
3257         * config.h.in (UTF2000): New macro.
3258
3259         * buffer.h (struct buffer_text): Add new member `mule_size' and
3260         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3261         (valid_char_p): Return always 1 in UTF2000.
3262         (MAX_EMCHAR_LEN): 6 in UTF2000.
3263         (three_to_one_table): Don't define in UTF2000.
3264         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3265         UTF2000.
3266         (real_bytind_to_bufpos): Likewise.
3267
3268         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3269
3270 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3271
3272         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3273         representation change.
3274         (Vutf_2000_version): New variable.
3275         (leading_code_private_11): New variable.
3276         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3277         `leading-code-private-11'.
3278
3279         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3280         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3281         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3282         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3283         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3284         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3285         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3286         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3287         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3288         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3289         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3290         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3291         (MIN_CHAR_GREEK): New macro.
3292         (MAX_CHAR_GREEK): New macro.
3293         (MIN_CHAR_CYRILLIC): New macro.
3294         (MAX_CHAR_CYRILLIC): New macro.
3295         (MIN_CHAR_HEBREW): New macro.
3296         (MAX_CHAR_HEBREW): New macro.
3297         (MIN_CHAR_THAI): New macro.
3298         (MAX_CHAR_THAI): New macro.
3299         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3300         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3301         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3302         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3303         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3304         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3305         (CHAR_FIELD2): New inline function.
3306         (CHAR_FIELD3): New inline function.
3307         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3308         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3309         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3310         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3311         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3312         (MIN_CHAR_COMPOSITION): Likewise.
3313         (CHAR_LEADING_BYTE): Modified for character representation change.
3314         (MAKE_CHAR): Likewise.
3315
3316         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3317         (Vcharset_greek_iso8859_7): Likewise.
3318         (Vcharset_cyrillic_iso8859_5): Likewise.
3319         (Vcharset_hebrew_iso8859_8): Likewise.
3320         (Vcharset_thai_tis620): Likewise.
3321         (Vcharset_katakana_jisx0201): Likewise.
3322
3323 2001-01-17  Martin Buchholz <martin@xemacs.org>
3324
3325         * XEmacs 21.2.41 "Polyhymnia" is released.
3326
3327 2001-01-16  Didier Verna  <didier@xemacs.org>
3328
3329         * glyphs.c (image_instantiate): don't use fallbacks when
3330         instantiating a face's background pixmap by inheritance.
3331
3332 2001-01-14  Mike Sperber <mike@xemacs.org>
3333
3334         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3335         Conditionalize accordingly.
3336
3337 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3338
3339         * dumper.c (pdump_file_get): Fix a compiler warning.
3340
3341 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3342
3343         Make Purify happy when pdumping.
3344         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3345         iniitalizing all bits of new lisp object memory.
3346         * symbols.c (Fmake_local_variable): Likewise.
3347         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3348         * symbols.c (Fdefvaralias): Likewise.
3349         * mule-charset.c (vars_of_mule_charset): Likewise.
3350
3351 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3352         Add the `-nd' flag when running pre-dump operations under the debugger.
3353         * .dbxrc (run-temacs): Add `-nd'.
3354         * .dbxrc (update-elc): Likewise.
3355         * .dbxrc (dump-temacs): Likewise.
3356         * .gdbinit (run-temacs): Likewise.
3357         * .gdbinit (check-temacs): Likewise.
3358         * .gdbinit (update-elc): Likewise.
3359         * .gdbinit (dump-temacs): Likewise.
3360
3361 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3362
3363         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3364         export OBJECT_MODE=64
3365         configure --pdump --use-union-type=no
3366         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3367         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3368
3369         * miscplay.c (sndcnv8U_2mono):
3370         Avoid two uses of `++' in the same expression.
3371         Suppresses a GCC warning.
3372
3373 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3374
3375         Make sure future compilers don't miscompile alloc.c.
3376         * alloc.c:
3377         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3378         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3379
3380 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3381
3382         * dumper.c: A little post-pdump-rename comment fixup.
3383
3384 2001-01-09  Jerry James  <james@eecs.ku.edu>
3385
3386         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3387
3388 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3389
3390         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3391         script:
3392         #!/bin/sh
3393         replace_symbol () {
3394           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3395         }
3396
3397         replace_symbol pdump_wire_lists pdump_weak_object_chains
3398         replace_symbol pdump_wire_list dump_add_weak_object_chain
3399
3400         replace_symbol pdump_wires pdump_root_objects
3401         replace_symbol pdump_wire dump_add_root_object
3402
3403         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3404         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3405
3406         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3407         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3408         replace_symbol dumpstructinfo pdump_root_struct_ptr
3409         replace_symbol dumpstruct dump_add_root_struct_ptr
3410
3411         replace_symbol dumpopaque dump_add_opaque
3412         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3413         replace_symbol dumpopaqueinfos pdump_opaques
3414         replace_symbol dumpopaqueinfo pdump_opaque
3415
3416         replace_symbol nb_structdump nb_root_struct_ptrs
3417         replace_symbol nb_opaquedump nb_opaques
3418
3419         replace_symbol align_table pdump_align_table
3420         replace_symbol dump_header pdump_header
3421
3422         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3423         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3424
3425
3426 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3427
3428         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3429         optimizing bytecount_to_charcount().
3430
3431 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3432
3433         * config.h.in:
3434         (HAVE_DLFCN_H): Removed.
3435         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3436
3437 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3438
3439         Portable dumper maintainability improvements.
3440         * alloc.c (staticpro):
3441         * alloc.c (staticpro_nodump):
3442         * alloc.c (garbage_collect_1):
3443         * alloc.c (reinit_alloc_once_early):
3444         * alloc.c (init_alloc_once_early):
3445         * alloc.c: Move dumper functions to alloc.c.
3446         * dumper.c (pdump_backtrace):
3447         * dumper.c (pdump_dump_structs):
3448         * dumper.c (pdump_dump_opaques):
3449         * dumper.c (pdump_dump_rtables):
3450         * dumper.c (pdump_dump_wired):
3451         * dumper.c (pdump):
3452         * dumper.c (pdump_load_check):
3453         * dumper.c (pdump_load_finish):
3454         * dumper.c (pdump_file_unmap):
3455         * dumper.c (pdump_file_get):
3456         * dumper.c (pdump_resource_free):
3457         * dumper.c (pdump_resource_get):
3458         * dumper.c (pdump_file_free):
3459         * dumper.c (pdump_file_try):
3460         * dumper.c (pdump_load):
3461         Remove fixed size limits on staticpro(), staticpro_nodump(),
3462         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3463         Remove custom code for dumping lrecord_implementations_table - use
3464         dumpopaque instead.
3465         Remove (most of the) custom code for dumping staticpros - dump it
3466         like any other dynarr.
3467
3468         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3469         * dumper.c: Moved functions from alloc.c.
3470         * alloc.c (dumpstruct): Moved to dumper.c.
3471         * alloc.c (dumpopaque): Likewise.
3472         * alloc.c (pdump_wire): Likewise.
3473         * alloc.c (pdump_wire_list): Likewise.
3474
3475         * lisp.h (Dynarr_sizeof): New.
3476         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3477         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3478         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3479
3480         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3481         * lisp.h (dumpopaque): ditto.
3482         * lisp.h (pdump_wire): ditto.
3483         * lisp.h (pdump_wire_list): ditto.
3484
3485 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3486
3487         * make-src-depend (PrintPatternDeps):
3488         Use `sort' to make output independent of perl version.
3489
3490 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3491
3492         Port to Netbsd 1.5.
3493         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3494         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3495
3496 2001-01-03  Didier Verna  <didier@xemacs.org>
3497
3498         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3499         that `focus_frame' is alive before thinking of calling
3500         `redisplay_redraw_cursor' on it.
3501
3502 2001-01-08  Martin Buchholz <martin@xemacs.org>
3503
3504         * XEmacs 21.2.40 is released.
3505
3506 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3507
3508         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3509
3510 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3511
3512         * alloc.c (dbg_valmask): Make const.
3513         * alloc.c (dbg_typemask): Make const.
3514         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3515         * alloc.c (dbg_valbits): Make const.
3516         * alloc.c (dbg_gctypebits): Make const.
3517
3518 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3519
3520         * redisplay-x.c (x_bevel_area):
3521         redisplay.h (struct rune):
3522         Typo fixes in comments.
3523
3524 2001-01-05  Andy Piper  <andy@xemacs.org>
3525
3526         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3527         adjustment.
3528
3529         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3530
3531 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3532
3533         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3534
3535         * mule-ccl.c (stack_idx_of_map_multiple):
3536         Non const global data must not be initialized!
3537         Found by MIYASHITA Hisashi.
3538
3539 2001-01-02  Andy Piper  <andy@xemacs.org>
3540
3541         * frame.c (change_frame_size): make sure frame size is always
3542         marked as changed.
3543
3544         * glyphs.c (image_instance_layout): minor code reuse.
3545
3546         * window.c (Fcurrent_window_configuration): revert previous
3547         change.
3548
3549 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3550
3551         * glyphs.h:
3552         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3553
3554 2000-12-31  Andy Piper  <andy@xemacs.org>
3555
3556         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3557         when widget gets unmapped.
3558
3559         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3560         function. Make sure widgets losing focus don't just drop it.
3561         (handle_focus_event_1): record the widget with focus.
3562
3563 2000-12-31  Andy Piper  <andy@xemacs.org>
3564
3565         * window.c (allocate_window): use
3566         make_image_instance_cache_hash_table.
3567         (make_dummy_parent): ditto.
3568         (Fset_window_configuration): ditto.
3569
3570         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3571
3572         * glyphs.c (process_image_string_instantiator): use
3573         INSTANTIATOR_TYPE.
3574         (get_image_instantiator_governing_domain): ditto.
3575         (normalize_image_instantiator): ditto.
3576         (instantiate_image_instantiator): ditto.
3577         (make_image_instance_1): ditto.
3578         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3579         (instantiator_eq_equal): new function for use with instance hash
3580         tables.
3581         (instantiator_eq_hash): ditto.
3582         (make_image_instance_cache_hash_table): create a suitable hash
3583         table for storing image instances.
3584
3585         * elhash.h (hash_table_weakness): new internal weakness type
3586         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3587         declare new functions.
3588
3589         * elhash.c (finish_marking_weak_hash_tables): introduce yet
3590         another weakness type for glyphs.
3591         (make_standard_lisp_hash_table): new function split out from
3592         make_general_lisp_hash_table.
3593         (make_lisp_hash_table): call make_standard_lisp_hash_table.
3594         (hash_table_instantiate): ditto.
3595         (Fmake_hash_table): ditto.
3596
3597 2000-12-31  Martin Buchholz <martin@xemacs.org>
3598
3599         * XEmacs 21.2.39 is released.
3600
3601 2000-12-29  Andy Piper  <andy@xemacs.org>
3602
3603         * menubar.c (menubar_visible_p_changed): signal the frame changed.
3604
3605         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
3606         the frame has changed so that we pick up geometry changes such as
3607         menubar visibility.
3608
3609 2000-12-28  Andy Piper  <andy@xemacs.org>
3610
3611         * lastfile.c (my_ebss): make a char array so we can pad the
3612         bss. Fixes cygwin unexec.
3613
3614         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
3615
3616 2000-12-26  Andy Piper  <andy@xemacs.org>
3617
3618         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
3619         comments and try and be more precise about a non-/SIGIO world.
3620         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
3621         SIGIO.
3622
3623         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
3624         we don't normalize to zero width or height.
3625
3626 2000-12-24  Andy Piper  <andy@xemacs.org>
3627
3628         * Makefile.in.in (ldflags): add -mwindows when appropriate.
3629
3630 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
3631
3632         * s/sco5.h: SCO 5 has pty support.
3633
3634 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
3635
3636         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
3637         input-method-xlib.c contains whole contents of input-method-xfs.c,
3638         so we can use input-method-xlib.c's code for USE_XFONTSET
3639         using #ifdefs.
3640         * input-method-xfs.c: removed.
3641
3642 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
3643
3644         * file-coding.h (enum coding_category_type): reorder enumerators to
3645         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
3646         (now one greater than largest real coding_category_type enumerator).
3647         * file-coding.c (coding_category_symbol, coding_category_by_priority,
3648         coding_category_system, fcd_descriptihon_1, decode_coding_category,
3649         Fcoding_category_list, Fset_coding_priority_list,
3650         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
3651         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
3652
3653 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3654
3655         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
3656         * redisplay-output.c (redisplay_output_window): Clear top of window
3657         when face is changed.
3658         * redisplay-x.c (x_redraw_exposed_window): Call
3659         redisplay_clear_top_of_window.
3660         * redisplay.h: Publish redisplay_clear_top_of_window.
3661
3662 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3663
3664         * buffer.c (Fkill_buffer): Map over all devices.
3665         * window.c (window_loop): Remove UNSHOW_BUFFER code.
3666         (list_windows): New function.
3667         (list_all_windows): Ditto.
3668         (Freplace_buffer_in_windows): Use them.
3669
3670 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3671
3672         * database.c (berkdb_subtype): Recognize new subtype `queue'.
3673         (Fopen_database): Use `db_create' instead of `db_open'.
3674         (syms_of_database): Initialize Qqueue.
3675
3676 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3677
3678         * buffer.c (common_init_complex_vars_of_buffer): Initialize
3679         buffer_local_face_property.
3680         * buffer.h (struct buffer): New member buffer_local_face_property.
3681         * window.c (Fset_window_buffer):  Mark window's face as changed
3682         when buffer has buffer local face.
3683         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
3684         * objects.c (color_after_change): Set buffer_local_face_property
3685         when locale of face specifier is buffer.
3686         * objects.c (font_after_change): Ditto.
3687         * objects.c (face_boolean_after_change): Ditto.
3688         * glyphs.c (image_after_change): Ditto.
3689
3690 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3691
3692         * nt.c (mswindows_fstat): Report file permissions, volume serial
3693         number, etc. Code adapted from FSF Emacs 20.7.
3694
3695 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3696
3697         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
3698         of stat when we don't have symbolic links, to make sure
3699         mswindows_stat is called on mswindows.
3700
3701 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
3702
3703         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
3704
3705 2000-12-12  Martin Buchholz  <martin@xemacs.org>
3706
3707         * doprnt.c (emacs_doprnt_1): More printing fixes.
3708         Make printing of numbers compatible with libc and FSF Emacs.
3709         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
3710         Use the system printf to do most of the hard work of formatting,
3711         instead of doprnt_1().
3712         Calculate memory to allocate for format string.
3713         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
3714         (doprnt_1): Cleaner code and documentation.
3715
3716 2000-12-01  Jerry James  <james@eecs.ukans.edu>
3717
3718         * Makefile.in.in: Use the loop variable to install headers.
3719
3720 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3721
3722         * window.c (Fsplit_window): Don't invalidate face cache.
3723
3724 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3725
3726         * minibuf.c (Fall_completions): Undo the previous change
3727         which removed checking elements start with space.
3728
3729 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3730
3731         * mule-canna.c: Didier suppression.
3732
3733 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3734
3735         * mule-canna.c: rename static unsigned char buf[] to key_buffer
3736         (warning suppression).  Add English comment translations.
3737
3738 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3739
3740         * unexelfsgi.c (unexec): Better test for mmap failure.
3741
3742 2000-12-05  Martin Buchholz <martin@xemacs.org>
3743
3744         * XEmacs 21.2.38 is released.
3745
3746 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3747
3748         * redisplay.c (bar-cursor): Make a user variable.
3749
3750         * symsinit.h: Add init_postgresql_from_environment.
3751
3752 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3753
3754         * regex.c: Convert to clean C.
3755
3756 2000-12-05  Dan Holmsand  <dan@eyebee.com>
3757
3758         * realpath.c:
3759         Don't #include sysfile.h. Revert to duplicating PATH_MAX
3760         initialization.
3761         (sys_readlink): renamed to system_readlink to avoid conflict with
3762         the other sys_readlink.
3763
3764 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
3765
3766         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
3767
3768 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
3769
3770         * postgresql.c (init_postgresql_from_environment): new function.
3771         (vars_of_postgresql): Move code initializing Lisp variables out and
3772         into init_postgresql_from_environment.
3773         emacs.c (main_1): Call init_postgresql_from_environment if and only
3774         if running a dumped XEmacs.
3775
3776 2000-08-31  Dan Holmsand  <dan@eyebee.com>
3777
3778         * buffer.c: Make find-file-compare-truenames default to true on
3779         windows.
3780
3781         * realpath.c (win32_abs_start):
3782         (cygwin_readlink):
3783         (win32_readlink): New functions.
3784         (xrealpath): Return really real filenames on windows.
3785
3786         * fileio.c (Ffile_truename): Make file-truename work on windows.
3787
3788 2000-11-29  Didier Verna  <didier@xemacs.org>
3789
3790         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
3791         * faces.c (update_face_cachel_data): use it.
3792         * faces.c (add_face_cachel): use it. Complete background pixmap
3793         frobbing in face cache if `update_face_cachel_data' has not done so.
3794
3795 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
3796
3797         * search.c (string_match_1): Don't set last_thing_searched
3798         when search failed.
3799
3800 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
3801
3802         * buffer.c: Include casetab.h
3803         (common_init_complex_vars_of_buffer): Use new case-table object.
3804         * buffer.h: Include casetab.h
3805         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
3806         (DOWNCASE_TABLE_OF): Ditto.
3807         * bufslots.h: Remove char-tables and add case-table.
3808         * casetab.c: Include casetab.h
3809         (CASE_TABLE_P): Removed.
3810         (mark_case_table): New function.
3811         (allocate_case_table): New function.
3812         (Fcase_table_p): Use new case-table.
3813         (case_table_char): New function.
3814         (Fget_case_table): Ditto.
3815         (Fput_case_table): Ditto.
3816         (Fput_case_table_pair): Ditto.
3817         (Fcopy_case_table): Ditto.
3818         (Fcurrent_case_table): Return case-table.
3819         (Fstandard_case_table): Return case-table.
3820         (Fset_case_table): Fix doc-string.
3821         (set_case_table): Use case-table
3822         (syms_of_casetab): DEFSUBR new functions.
3823         (complex_vars_of_casetab): Set up standard case-table.
3824         * casetab.h: New file.
3825         * editfns.c: Include casetab.h
3826         (Fcompare_buffer_substrings): Use case-table.
3827         * inline.c: Include casetab.h
3828         * lisp.h: Remove bogus extern.
3829         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
3830         * search.c: Include casetab.h
3831         (TRANSLATE_ASCII): Removed.
3832         (TRANSLATE): Unconditionally translate character.
3833         (looking_at_1): Use case-table.
3834         (string_match_1): Ditto.
3835         (fast_string_match): Ditto.
3836         (search_command): Ditto.
3837         (search_buffer): Separate boyer_moore.  Check whether
3838         boyer_moore is poosible.
3839         (simple_search): New function.
3840         (boyer_moore): Separated from search_buffer. Translate char.
3841
3842 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
3843
3844         * regex.c (RE_TR_ASCII): Removed.
3845         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
3846         (PATFETCH): Call PATFETCH_RAW.
3847         (PATFETCH_RAW): Fetch Emchar.
3848         (PATUNFETCH): Decrement charptr.
3849         (GET_BUFFER_SPACE): Rename b to buf_end.
3850         (BUF_PUSH): Ditto.
3851         (BUF_PUSH_2): Ditto.
3852         (BUF_PUSH_3): Ditto.
3853         (EXTEND_BUFFER): Ditto.
3854         (SET_LIST_BIT): Ditto.
3855         (regex_compile): Ditto.  Translate non ASCII char.
3856         (compile_range): Ditto.
3857         (re_search_2): Ditto.
3858         (re_match_2_internal): Compare Emchar.
3859         (bcmp_translate): Ditto.
3860
3861 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
3862
3863         * lisp.h (basic char/int typedefs):  comment improvement.
3864
3865 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
3866
3867         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
3868         unstomp inhibit_site_lisp.  Improve comments.
3869
3870 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
3871
3872         * mule-charset.c (Fcharset_property):  improve type checking, comments.
3873
3874 2000-11-28  Andy Piper  <andy@xemacs.org>
3875
3876         * redisplay-output.c (redisplay_output_subwindow): make sure we do
3877         clipped display for windows in the gutter also.
3878         (redisplay_display_boxes_in_window_p): change semantics of return
3879         codes to be more intuitive.
3880
3881         * gutter.h: declare display_boxes_in_gutter_p.
3882
3883         * gutter.c (display_boxes_in_gutter_p): new function for
3884         redisplay.
3885
3886 2000-11-22  Andy Piper  <andy@xemacs.org>
3887
3888         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
3889         autodetect domain.
3890
3891 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
3892
3893         * callproc.c (Fold_call_process_internal):
3894         * gpm.c (Freceive_gpm_event):
3895         (tty_get_foreign_selection): Might be just warning supression.
3896         * fileio.c (Fwrite_region_internal):
3897         (Fset_visited_file_modtime):
3898         * keymap.c (event_matches_key_specifier_p):
3899         Initialize GCPROed variable.
3900
3901         * menubar-x.c (command_builder_find_menu_accelerator):
3902         Initialize before use.
3903
3904 2000-11-23  Andy Piper  <andy@xemacs.org>
3905
3906         * unexcw.c (unexec): make the resulting executable executable.
3907
3908 2000-11-21  Martin Buchholz  <martin@xemacs.org>
3909
3910         * doc.c (get_doc_string):
3911         Use size_t, not int, for result of XSTRING_LENGTH.
3912
3913         * cmds.c (Fdelete_char):
3914         * cmds.c (Fpoint_at_eol):
3915         * cmds.c (Fself_insert_command):
3916         Use EMACS_INT, not int, for result of XINT.
3917         Someday, someone will want to insert more than 2**31 identical characters.
3918
3919         * cmds.c (Fdelete_char):
3920         * cmds.c (Fdelete_backward_char):
3921         * syntax.c (Fforward_word):
3922         * syntax.c (Fforward_comment):
3923         Make COUNT argument optional, for consistency with forward-char et al.
3924
3925 2000-11-22  Martin Buchholz  <martin@xemacs.org>
3926
3927         * lisp.h:
3928         * print.c (long_to_string):
3929         Return a useful value: the pointer at end of data written.
3930
3931         * doprnt.c:
3932         Use `static const char * const' for constant strings.
3933         (union printf_arg): Delete `i', `ui' members.
3934         (get_doprnt_args):
3935         (emacs_doprnt_1):
3936         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
3937         Do all printf-ing via the `l' specifier.
3938         Use EMACS_INT instead of int.
3939         Optimize.
3940
3941 2000-11-20  Didier Verna  <didier@xemacs.org>
3942
3943         * faces.c (update_face_cachel_data): don't frob the background
3944         pixmap when the window is being created. The face is needed but
3945         does not exist yet.
3946
3947 2000-11-20  Andy Piper  <andy@xemacs.org>
3948
3949         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
3950         messing with a debug environment.
3951
3952 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3953
3954         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
3955
3956 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3957
3958         * casetab.c (Fcase_table_p): Fix compile error and crash.
3959
3960 2000-11-18  Philip Aston  <philipa@mail.com>
3961
3962         * s/cygwin32.h: Cygwin has SVR4-like pty support.
3963
3964 2000-11-18  Martin Buchholz  <martin@xemacs.org>
3965
3966         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
3967         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
3968
3969 2000-11-17  Martin Buchholz  <martin@xemacs.org>
3970
3971         * config.h.in: Define HAVE_ELF_H if elf.h exists.
3972         * unexelf.c: Use HAVE_ELF_H.
3973         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
3974         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
3975         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
3976         Greg Harrington <greg_harrington@hotmail.com> provided a machine
3977         for testing.
3978         So this is an unexelfsgi.c from a different line of development.
3979
3980 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3981
3982         * regex.c (RE_TR_ASCII): New function.
3983         (RE_TRANSLATE): Call it.
3984
3985 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3986
3987         * buffer.h (TRT_TABLE_OF): Remove assert.
3988         (IN_TRT_TABLE_DOMAIN): Removed.
3989
3990 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
3991
3992         * free-hook.c (log_gcpro):
3993         (show_gcprohist): Add support for GCPRO5.
3994
3995 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
3996
3997         * emacs.c (main_1): Improve -sd error message when --pdump=no.
3998
3999 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4000
4001         * symeval.h: Declare flush_all_buffer_local_cache.
4002
4003         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4004         (flush_buffer_local_cache): Added.
4005         (flush_all_buffer_local_cache): Added.
4006
4007         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4008
4009         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4010         (pdump_dump_data): Ditto.
4011         (pdump_reloc_one): Ditto.
4012         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4013         before dumping.
4014
4015
4016 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4017
4018         * buffer.c: Remove if 0'ed entry.
4019         * buffer.h: Rewrite TRT to use char-table.
4020         * bufslots.h: Remove mirror tables.
4021         * casetab.c: Remove mirror tables.
4022         (CASE_TABLE_P): New macro.
4023         (Fcase_table_p): Element of a case table is string or char-table.
4024         (make_mirror_trt_table): Removed.
4025         (set_case_table): Setup char-table from strings for backward
4026         compatibility.
4027         * dired.c (Fdirectory_files):
4028         * dired-msw.c: (mswindows_get_files):
4029         * lisp.h: Change prototype of re_pattern_buffer.
4030         * regex.c: (RE_TRANSLATE): New macro.
4031         (TRANSLATE_P): Ditto.
4032         Change translate to type RE_TRANSLATE_TYPE.
4033         * regex.h: Define RE_TRANSLATE_TYPE
4034         * search.c (TRANSLATE): New macro.
4035         (TRANSLATE_ASCII): New macro.
4036         Translate table is changed to Lisp_Object.
4037         (signal_failure): Inhibit return.
4038
4039 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4040
4041         * device-msw.c:
4042         * eldap.c:
4043         * event-Xt.c:
4044         * event-stream.c:
4045         * print.c:
4046         Do UNGCPRO before return.
4047
4048 2000-11-14  Martin Buchholz <martin@xemacs.org>
4049
4050         * XEmacs 21.2.37 is released.
4051
4052 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4053
4054         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4055         Add comments about discarded return value.
4056
4057 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4058
4059         * callint.c:
4060         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4061
4062 2000-10-27  Andy Piper  <andy@xemacs.org>
4063
4064         * gutter.c (Fset_default_gutter_position): default left and right
4065         gutters to visible.
4066         (calculate_gutter_size): calculate resonable heuristic for left
4067         and right gutter sizes.
4068         (specifier_vars_of_gutter): change left and right gutter sizes to
4069         autodetect.
4070         (calculate_gutter_size_from_display_lines): new function.
4071         (output_gutter): check for resizing on left and right gutters.
4072         (clear_gutter): don't special case top and left gutters.
4073         (specifier_vars_of_gutter): use new signature for
4074         set_specifier_caching.
4075
4076         * glyphs-x.c (x_redisplay_widget): spelling fix.
4077         * glyphs.c (specifier_vars_of_glyphs):
4078         * menubar.c (specifier_vars_of_menubar):
4079         * redisplay.c (specifier_vars_of_redisplay):
4080         * toolbar.c (specifier_vars_of_toolbar):
4081         * window.c (specifier_vars_of_window):
4082         * scrollbar.c (specifier_vars_of_scrollbar):
4083         (complex_vars_of_scrollbar): use new signature for
4084         set_specifier_caching.
4085
4086         * specifier.c (set_specifier_caching): include recompute flag.
4087         (recompute_one_cached_specifier_in_window): always recompute if
4088         flag set.
4089         (recompute_one_cached_specifier_in_frame): ditto.
4090
4091         * specifier.h (struct specifier_caching): add recompute flag.
4092
4093 2000-10-24  Andy Piper  <andy@xemacs.org>
4094
4095         * unexcw.c (copy_executable_and_dump_data_section): add new
4096         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4097         5.0 happy.
4098
4099 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4100
4101         * console-x.h (x_device): New member modifier_release_time.
4102         * event-Xt.c (x_handle_sticky_modifiers):
4103         Bound interval modifier keys are sticky.
4104         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4105         * events.h: extern it.
4106
4107 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4108
4109         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4110
4111 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4112
4113         * event-stream.c (execute_command_event): Preserve current_events
4114         and the like when event is misc-user-event.
4115         Inhibit quit during the call to maybe_echo_keys.
4116
4117 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4118
4119         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4120         symlink when buffer is killed.
4121         (inhibit_clash_detection): New variable.
4122
4123 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4124
4125         * console.c (Fset_input_method): Trigger redisplay on tty.
4126
4127 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4128
4129         * process.c (Fprocess_status): Revert to previous behavior:
4130         (process-status "nosuchprocess") ==> nil
4131
4132 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4133
4134         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4135         Work around another GCC 2.95.2 optimizer bug.
4136
4137 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4138
4139         * process.c (Fget_process): Use LIST_LOOP_2.
4140         (kill_buffer_processes): Use LIST_LOOP_2.
4141
4142         * minibuf.c (Fall_completions):
4143         Delete old non-functional code for FSF fourth argument.
4144
4145         * frame.c (frame_matches_frame_spec):
4146         Renamed from `frame_matches_frametype'.  Update all callers.
4147         (device_matches_device_spec):
4148         Renamed from 'device_matches_console_spec'.  Update all callers.
4149
4150         * doc.c (Fsubstitute_command_keys):
4151         Remove buffer overflow crash.  Small code cleanups.
4152
4153         * casetab.c (check_case_table): Simpler code.
4154
4155         * window.c (Freplace_buffer_in_windows):
4156         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4157         (and similar implementation) as Fdelete_windows_on.
4158         Update all callers.
4159
4160         * alloc.c (Fmake_list):
4161         * alloc.c (make_vector):
4162         * alloc.c (Fmake_vector):
4163         * alloc.c (make_bit_vector):
4164         * alloc.c (Fmake_bit_vector):
4165         * alloc.c (Fbit_vector):
4166         * alloc.c (Fmake_string):
4167         * alloc.c (Fpurecopy):
4168         * alloc.c (Fmemory_limit):
4169         * buffer.c:
4170         * buffer.c (Fget_buffer):
4171         * buffer.c (Fkill_buffer):
4172         * buffer.c (complex_vars_of_buffer):
4173         * bytecode.c (Fcompiled_function_stack_depth):
4174         * callint.c (Fprefix_numeric_value):
4175         * event-stream.c:
4176         * event-stream.c (Fread_key_sequence):
4177         * casetab.c:
4178         * casetab.c (Fcase_table_p):
4179         * casetab.c (check_case_table):
4180         * casetab.c (Fset_case_table):
4181         * casetab.c (Fset_standard_case_table):
4182         * chartab.c:
4183         * chartab.c (Fchar_table_type):
4184         * chartab.c (Freset_char_table):
4185         * chartab.c (Fget_char_table):
4186         * chartab.c (Fget_range_char_table):
4187         * chartab.c (Fput_char_table):
4188         * chartab.c (Fmap_char_table):
4189         * chartab.c (Fcategory_table_p):
4190         * chartab.c (Fcheck_category_at):
4191         * chartab.c (Fchar_in_category_p):
4192         * chartab.c (Fcategory_table):
4193         * chartab.c (Fcopy_category_table):
4194         * chartab.c (Fset_category_table):
4195         * chartab.c (Fcategory_designator_p):
4196         * chartab.c (Fcategory_table_value_p):
4197         * cmds.c (Fdelete_char):
4198         * cmds.c (Fdelete_backward_char):
4199         * cmds.c (Fself_insert_command):
4200         * cmds.c (Fself_insert_internal):
4201         * console.c (Fvalid_console_type_p):
4202         * console.c (Fcdfw_console):
4203         * console.c (Fconsole_type):
4204         * console.c (Fconsole_name):
4205         * console.c (Fconsole_device_list):
4206         * console.c (Fconsole_on_window_system_p):
4207         * data.c:
4208         * data.c (Feq):
4209         * data.c (Fold_eq):
4210         * data.c (Fsubr_interactive):
4211         * data.c (Fchar_to_int):
4212         * data.c (Fint_to_char):
4213         * data.c (Fsetcar):
4214         * data.c (Fsetcdr):
4215         * data.c (Fnumber_to_string):
4216         * data.c (Fstring_to_number):
4217         * data.c (Frem):
4218         * database.c (mark_database):
4219         * database.c (finalize_database):
4220         * database.c (Fdatabase_live_p):
4221         * database.c (Fdatabasep):
4222         * device-x.c (Fx_get_resource):
4223         * device.c (Fdfw_device):
4224         * dired.c:
4225         * dired.c (Ffile_name_completion):
4226         * dired.c (Ffile_name_all_completions):
4227         * dired.c (Fuser_name_completion):
4228         * dired.c (Fuser_name_completion_1):
4229         * dired.c (Fuser_name_all_completions):
4230         * doc.c (Fdocumentation):
4231         * doc.c (Fdocumentation_property):
4232         * doc.c (Fsubstitute_command_keys):
4233         * editfns.c:
4234         * editfns.c (Fchar_to_string):
4235         * editfns.c (Fstring_to_char):
4236         * editfns.c (Ftemp_directory):
4237         * editfns.c (Finsert_char):
4238         * editfns.c (Fbuffer_substring_no_properties):
4239         * editfns.c (Fnarrow_to_region):
4240         * editfns.c (Fchar_equal):
4241         * editfns.c (Fchar_Equal):
4242         * editfns.c (Ftranspose_regions):
4243         * emacs.c (Fdump_emacs):
4244         * eval.c (Fthrow):
4245         * eval.c (Fcommand_execute):
4246         * eval.c (Fautoload):
4247         * eval.c (Fbacktrace):
4248         * eval.c (Fbacktrace_frame):
4249         * events.c:
4250         * events.c (Fcopy_event):
4251         * events.c (Fcharacter_to_event):
4252         * events.c (Fevent_button):
4253         * events.c (Fevent_process):
4254         * extents.c:
4255         * extents.c (Fnext_extent_change):
4256         * extents.c (Fextent_property):
4257         * faces.c (Ffacep):
4258         * faces.c (Fmake_face):
4259         * file-coding.c:
4260         * file-coding.c (Fencode_shift_jis_char):
4261         * file-coding.c (Fencode_big5_char):
4262         * fileio.c (Ffile_name_directory):
4263         * fileio.c (Ffile_name_nondirectory):
4264         * fileio.c (Ffile_name_as_directory):
4265         * fileio.c (Fdirectory_file_name):
4266         * fileio.c (Ffile_truename):
4267         * fileio.c (Fsubstitute_in_file_name):
4268         * fileio.c (Ffile_modes):
4269         * fileio.c (Fset_file_modes):
4270         * fileio.c (Fset_default_file_modes):
4271         * fileio.c (Fverify_visited_file_modtime):
4272         * floatfns.c (Facos):
4273         * floatfns.c (Fasin):
4274         * floatfns.c (Fatan):
4275         * floatfns.c (Fcos):
4276         * floatfns.c (Fsin):
4277         * floatfns.c (Ftan):
4278         * floatfns.c (Fbessel_j0):
4279         * floatfns.c (Fbessel_j1):
4280         * floatfns.c (Fbessel_jn):
4281         * floatfns.c (Fbessel_y0):
4282         * floatfns.c (Fbessel_y1):
4283         * floatfns.c (Fbessel_yn):
4284         * floatfns.c (Ferf):
4285         * floatfns.c (Ferfc):
4286         * floatfns.c (Flog_gamma):
4287         * floatfns.c (Fexp):
4288         * floatfns.c (Fexpt):
4289         * floatfns.c (Flog):
4290         * floatfns.c (Flog10):
4291         * floatfns.c (Fsqrt):
4292         * floatfns.c (Fcube_root):
4293         * floatfns.c (Facosh):
4294         * floatfns.c (Fasinh):
4295         * floatfns.c (Fatanh):
4296         * floatfns.c (Fcosh):
4297         * floatfns.c (Fsinh):
4298         * floatfns.c (Ftanh):
4299         * floatfns.c (Fabs):
4300         * floatfns.c (Ffloat):
4301         * floatfns.c (Flogb):
4302         * floatfns.c (Fceiling):
4303         * floatfns.c (Ffloor):
4304         * floatfns.c (Fround):
4305         * floatfns.c (Ftruncate):
4306         * floatfns.c (Ffceiling):
4307         * floatfns.c (Fffloor):
4308         * floatfns.c (Ffround):
4309         * floatfns.c (Fftruncate):
4310         * fns.c (Fstring_equal):
4311         * fns.c (Fstring_lessp):
4312         * fns.c (concat2):
4313         * fns.c (concat3):
4314         * fns.c (vconcat2):
4315         * fns.c (vconcat3):
4316         * fns.c (Fsubstring):
4317         * fns.c (Fassoc):
4318         * fns.c (Fold_assoc):
4319         * fns.c (assoc_no_quit):
4320         * fns.c (Fassq):
4321         * fns.c (Fold_assq):
4322         * fns.c (assq_no_quit):
4323         * fns.c (Frassoc):
4324         * fns.c (Fold_rassoc):
4325         * fns.c (Frassq):
4326         * fns.c (Fold_rassq):
4327         * fns.c (rassq_no_quit):
4328         * fns.c (Fremassoc):
4329         * fns.c (remassoc_no_quit):
4330         * fns.c (Fremassq):
4331         * fns.c (remassq_no_quit):
4332         * fns.c (Fremrassoc):
4333         * fns.c (Fremrassq):
4334         * fns.c (remrassq_no_quit):
4335         * fns.c (Fsort):
4336         * fns.c (Fplist_get):
4337         * fns.c (Fplist_put):
4338         * fns.c (Fplist_remprop):
4339         * fns.c (Fplist_member):
4340         * fns.c (Flax_plist_get):
4341         * fns.c (Flax_plist_put):
4342         * fns.c (Flax_plist_remprop):
4343         * fns.c (Flax_plist_member):
4344         * fns.c (Fequal):
4345         * fns.c (Fold_equal):
4346         * fns.c (Frequire):
4347         * fns.c (Fbase64_encode_region):
4348         * fns.c (Fbase64_encode_string):
4349         * fns.c (Fbase64_decode_region):
4350         * frame.c:
4351         * frame.c (frame_matches_frame_spec):
4352         * frame.c (device_matches_device_spec):
4353         * frame.c (next_frame):
4354         * frame.c (previous_frame):
4355         * frame.c (Fnext_frame):
4356         * frame.c (Fprevious_frame):
4357         * frame.c (Fframe_property):
4358         * frame.c (Fset_frame_height):
4359         * frame.c (Fset_frame_size):
4360         * frame.h:
4361         * glyphs.c:
4362         * glyphs.c (if):
4363         * glyphs.c (decode_error_behavior_flag):
4364         * glyphs.c (Fmake_image_instance):
4365         * indent.c (Findent_to):
4366         * intl.c (Fignore_defer_gettext):
4367         * keymap.c (Fkeymapp):
4368         * keymap.c (Flookup_key):
4369         * lread.c:
4370         * lread.c (Fload_internal):
4371         * lread.c (Feval_buffer):
4372         * lread.c (Feval_region):
4373         * macros.c (Fexecute_kbd_macro):
4374         * marker.c (set_marker_internal):
4375         * marker.c (Fset_marker):
4376         * marker.c (set_marker_restricted):
4377         * marker.c (Fcopy_marker):
4378         * marker.c (noseeum_copy_marker):
4379         * menubar.c:
4380         * menubar.c (Fpopup_menu):
4381         * minibuf.c:
4382         * mule-charset.c (Fcharset_name):
4383         * mule-charset.c (Fchar_charset):
4384         * mule-charset.c (Fchar_octet):
4385         * mule-charset.c (Fsplit_char):
4386         * mule-wnnfns.c (Fwnn_open):
4387         * mule-wnnfns.c (Fwnn_dict_comment):
4388         * mule-wnnfns.c (Fwnn_quit_henkan):
4389         * mule-wnnfns.c (Fwnn_word_toroku):
4390         * mule-wnnfns.c (Fwnn_word_sakujo):
4391         * mule-wnnfns.c (Fwnn_word_use):
4392         * mule-wnnfns.c (Fwnn_hindo_set):
4393         * objects.c:
4394         * objects.c (Fmake_color_instance):
4395         * objects.c (Fmake_font_instance):
4396         * print.c (Fwrite_char):
4397         * process.c:
4398         * process.c (mark_process):
4399         * process.c (print_process):
4400         * process.c (get_process_from_usid):
4401         * process.c (Fprocessp):
4402         * process.c (Fprocess_live_p):
4403         * process.c (Fget_process):
4404         * process.c (Fget_buffer_process):
4405         * process.c (get_process):
4406         * process.c (Fprocess_id):
4407         * process.c (Fprocess_name):
4408         * process.c (Fprocess_command):
4409         * process.c (init_process_io_handles):
4410         * process.c (start_process_unwind):
4411         * process.c (Fstart_process_internal):
4412         * process.c (Fopen_multicast_group_internal):
4413         * process.c (Fset_process_window_size):
4414         * process.c (read_process_output):
4415         * process.c (send_process):
4416         * process.c (Fprocess_tty_name):
4417         * process.c (Fset_process_buffer):
4418         * process.c (Fprocess_buffer):
4419         * process.c (Fprocess_mark):
4420         * process.c (set_process_filter):
4421         * process.c (Fset_process_filter):
4422         * process.c (Fprocess_filter):
4423         * process.c (Fprocess_send_region):
4424         * process.c (Fprocess_send_string):
4425         * process.c (exec_sentinel):
4426         * process.c (Fset_process_sentinel):
4427         * process.c (Fprocess_sentinel):
4428         * process.c (status_notify):
4429         * process.c (Fprocess_status):
4430         * process.c (Fprocess_exit_status):
4431         * process.c (process_send_signal):
4432         * process.c (Fprocess_send_eof):
4433         * process.c (deactivate_process):
4434         * process.c (remove_process):
4435         * process.c (Fdelete_process):
4436         * process.c (kill_buffer_processes):
4437         * process.c (Fprocess_kill_without_query):
4438         * process.c (Fprocess_kill_without_query_p):
4439         * rangetab.c:
4440         * rangetab.c (Fget_range_table):
4441         * rangetab.c (Fput_range_table):
4442         * rangetab.c (Fremove_range_table):
4443         * rangetab.c (Fclear_range_table):
4444         * search.c:
4445         * search.c (Fskip_chars_forward):
4446         * search.c (Fskip_chars_backward):
4447         * search.c (Fskip_syntax_forward):
4448         * search.c (Fskip_syntax_backward):
4449         * search.c (search_command):
4450         * search.c (Freplace_match):
4451         * search.c (Fregexp_quote):
4452         * select.c (Fown_selection_internal):
4453         * select.c (Fselection_owner_p):
4454         * select.c (Fselection_exists_p):
4455         * select.c (Fget_selection_internal):
4456         * specifier.c:
4457         * symbols.c:
4458         * symbols.c (Fintern):
4459         * symbols.c (Fintern_soft):
4460         * symbols.c (Funintern):
4461         * symbols.c (Fapropos_internal):
4462         * symbols.c (Fset_default):
4463         * syntax.c:
4464         * syntax.c (Fsyntax_table_p):
4465         * syntax.c (Fcopy_syntax_table):
4466         * syntax.c (Fset_syntax_table):
4467         * syntax.c (Fchar_syntax):
4468         * syntax.c (syntax_match):
4469         * syntax.c (Fmatching_paren):
4470         * syntax.c (Fforward_word):
4471         * syntax.c (scan_lists):
4472         * syntax.c (Fscan_lists):
4473         * syntax.c (Fscan_sexps):
4474         * syntax.c (Fparse_partial_sexp):
4475         * toolbar.c (Fcheck_toolbar_button_syntax):
4476         * tooltalk.doc:
4477         * window.c:
4478         * window.c (Fwindowp):
4479         * window.c (Fwindow_live_p):
4480         * window.c (Fwindow_point):
4481         * window.c (Fdelete_window):
4482         * window.c (Fnext_window):
4483         * window.c (Fprevious_window):
4484         * window.c (Fother_window):
4485         * window.c (window_loop):
4486         * window.c (Fget_lru_window):
4487         * window.c (Fsplit_window):
4488         * window.c (Fenlarge_window):
4489         * window.c (Fenlarge_window_pixels):
4490         * window.c (Fshrink_window):
4491         * window.c (Fshrink_window_pixels):
4492         * window.c (change_window_height):
4493         * window.c (Fwindow_configuration_p):
4494         * window.c (Fcurrent_window_configuration):
4495         * window.h:
4496         * casefiddle.c (casify_object):
4497         * casefiddle.c (Fupcase):
4498         * casefiddle.c (Fdowncase):
4499         * casefiddle.c (Fcapitalize):
4500         * casefiddle.c (Fupcase_initials):
4501         * casefiddle.c (casify_region_internal):
4502         * casefiddle.c (casify_region):
4503         * casefiddle.c (Fupcase_region):
4504         * casefiddle.c (Fdowncase_region):
4505         * casefiddle.c (Fcapitalize_region):
4506         * casefiddle.c (Fupcase_initials_region):
4507         * casefiddle.c (Fupcase_word):
4508         * casefiddle.c (Fdowncase_word):
4509         * casefiddle.c (Fcapitalize_word):
4510         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4511         Replace 0 with '\0' when working with bytes.
4512         Replace initial "(" with "\(" in docstrings.
4513
4514 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4515
4516         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4517
4518         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4519
4520 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4521
4522         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4523
4524 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4525
4526         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4527         correctly.
4528
4529 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4530
4531         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4532         (inhibit_auto_save_session): New variable.
4533         (vars_of_fileio): Declare and initialize them.
4534         * fileio.c (Fdo_auto_save): Don't create session file if
4535         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4536
4537 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4538
4539         * sgiplay.c (play_internal): C++ compilability.
4540         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4541         * callproc.c (Fold_call_process_internal):
4542         Remove unused vars `env', `first'.
4543         * scrollbar.c (update_scrollbar_instance):
4544         #### unused var `current_window'.
4545         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4546         etc. within #ifdef NOT_YET.
4547         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4548         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4549         * specifier.c (specifier_instance):
4550         #### unused var `tag'.
4551         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4552
4553 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4554
4555         * fns.c (Fbutlast):
4556         * fns.c (list_sort):
4557         * fns.c (Ffillarray):
4558         * fns.c (bytecode_nconc2):
4559         * fns.c (Fnconc):
4560         * fns.c (mapcar1):
4561         * fns.c (Fmapconcat):
4562         Be pedantically 64-bit correct.  For the time when someone will
4563         want to have a list with length > 2**32.
4564
4565         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4566         Work around MIPSpro compiler bug.
4567
4568         * process-unix.c (unix_kill_child_process): Add snarky comment.
4569         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4570
4571         * config.h.in: Oops, _getpt ==> _getpty
4572
4573 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4574
4575         * config.h.in:
4576         * regex.c:
4577         Use void*, not char*, as return type of alloca().
4578
4579         * alloc.c (free_marker): Side effect inside assert expression!
4580
4581 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4582
4583         * mule-charset.c (Fset_charset_ccl_program): To check
4584         if the given ccl program is valid, use setup_ccl_program()
4585         instead of CHECK_VECTOR().
4586         (Fmake_charset): Likewise.
4587
4588 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4589
4590         * faces.c (get_extent_fragment_face_cache_index):
4591         Fix cachel.merged_faces memory leak.
4592
4593 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
4594
4595         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
4596         Reset MSB of octets obtained by DECODE_SJIS
4597         because of the incompatibility with Emacs.
4598         (ccl_driver)<CCL_ENCODE_SJIS>:
4599         Set MSB of octets before passing them to
4600         ENCODE_SJIS because of the incompatibility
4601         with Emacs.
4602
4603 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
4604
4605         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
4606         (DECLARE_LRECORD): Undo the last change.
4607         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
4608
4609 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
4610
4611         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
4612         the implementation to lrecord_implementations_table.
4613
4614 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
4615
4616         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
4617         initial value of `lrecord_type_##c_name' and
4618         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
4619         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
4620         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
4621         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
4622         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
4623
4624 2000-10-17  Martin Buchholz  <martin@xemacs.org>
4625
4626         * miscplay.c (sndcnv8S_2mono):
4627         (sndcnv2monounsigned):
4628         (sndcnvULaw_2linear):
4629         (sndcnv16swap):
4630         Remove implementation-defined behavior.
4631
4632 2000-10-12  Martin Buchholz  <martin@xemacs.org>
4633
4634         * input-method-xlib.c: Warning suppression.
4635
4636 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
4637
4638         * mule-ccl.c: Sync up with Emacs 21.0.90.
4639         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
4640         Do nothing.
4641         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
4642         Likewise.
4643         (ccl_driver[WriteMultibyteChar2]): Bug fix.
4644         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
4645         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
4646         leading char belongs to official 2-dimensional charset.
4647         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
4648         write the given character as is.  Otherwise,
4649         if it is a multibyte char, convert it by
4650         non_ascii_set_charptr_emchar, then write it.
4651         (CCL_WRITE_STRING): Likewise.
4652         (ccl_get_compiled_code): New function.
4653         (setup_ccl_program): When ccl_prog is invalid,
4654         return -1.
4655         (Fregister_code_conversion_map): New function.
4656         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
4657
4658         * mule-ccl.h: Sync up with Emacs 21.0.90.
4659         (Fregister_ccl_program): export it.
4660
4661         * redisplay-msw.c (separate_textual_runs):
4662         If ccl program is not valid, don't do ccl conversion.
4663
4664         * redisplay-x.c (separate_textual_runs): Ditto.
4665
4666         * file-coding.c (Fmake_coding_system):
4667         When type is ccl and value is vector, register it
4668         with a proper symbol.  And checks whether the
4669         given ccl program is valid.
4670         (mule_decode): When calling ccl_driver, if src indicates
4671         NULL pointer, set an empty string instead.
4672         (mule_encode): Likewise.
4673
4674 2000-10-11  Martin Buchholz  <martin@xemacs.org>
4675
4676         The following large batch of changes gets us back to a state of
4677         C++ compilability.  Extbyte is now a char, which means that
4678         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
4679
4680         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
4681
4682         * sound.c (Fplay_sound): Type correctness.
4683
4684         * select-x.c (hack_motif_clipboard_selection): Type correctness.
4685         (x_get_window_property): Type correctness.
4686         (receive_incremental_selection): unsigned char ==> Extbyte
4687         (selection_data_to_lisp_data): unsigned char ==> Extbyte
4688         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
4689         (Fx_store_cutbuffer_internal): Type correctness.
4690
4691         * process-unix.c (try_to_initialize_subtty): Type correctness.
4692
4693         * objects-x.c (x_print_color_instance): Type correctness.
4694         (x_print_font_instance): Type correctness.
4695         (x_list_fonts): SExtbyte ==> Extbyte.
4696         (valid_x_font_name_p): SExtbyte ==> Extbyte.
4697         (x_find_charset_font): SExtbyte ==> Extbyte.
4698         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
4699         (truename_via_XListFonts): SExtbyte ==> Extbyte.
4700         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
4701         Use bufbyte_strcmp.
4702
4703         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
4704         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
4705         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
4706         (BYTE_C0_P): Use bit ops for char-signedness safety.
4707         (BYTE_C1_P): Use bit ops for char-signedness safety.
4708         (CHARSET_BY_LEADING_BYTE):
4709         (CHARSET_BY_ATTRIBUTES):
4710         Always use inline function.
4711         Use type_checking_assert.
4712         Hide chlook.
4713
4714         * mule-charset.c (non_ascii_charptr_copy_char):
4715         Modify to work with both ASCII and non-ASCII characters.
4716         Improve docs and variable names.
4717         Replace over-clever fall-through switch with a simple loop.
4718         (Lstream_get_emchar_1):
4719         Replace over-clever fall-through switch with a simple loop.
4720
4721         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4722         Warning suppression.
4723
4724         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
4725         the return value of Lstream_getc, which could be EOF as well.
4726
4727         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
4728
4729         * lisp.h: Make Extbyte a char, not unsigned char, so that external
4730         APIs can be used on Extbytes without casts.  Risky!
4731         (SExtbyte): Remove.
4732         (UExtbyte): Remove.
4733
4734         * input-method-xlib.c (XIM_init_device):
4735         Use Xlib.h instead of IntrinsicP.h.
4736         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
4737         which will break in X11R7.
4738         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
4739         to call XRegisterIMInstantiateCallback with correct types.
4740
4741         * gui-x.c (button_item_to_widget_value): Type correctness.
4742
4743         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
4744
4745         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
4746         (xbm_instantiate_1): Type correctness.
4747         (BUILD_GLYPH_INST):  Type correctness.
4748
4749         * fileio.c (Fsubstitute_in_file_name): Type correctness.
4750
4751         * file-coding.c:
4752         (decode_coding_sjis):
4753         (decode_coding_big5):
4754         (decode_coding_ucs4):
4755         (decode_coding_utf8):
4756         (decode_coding_iso2022):
4757         (decode_coding_no_conversion):
4758         Make all decoding functions take an Extbyte * arg.
4759         (encode_coding_sjis):
4760         (encode_coding_big5):
4761         (encode_coding_ucs4):
4762         (encode_coding_utf8):
4763         (encode_coding_iso2022):
4764         (encode_coding_no_conversion):
4765         Make all encoding functions take a Bufbyte * arg.
4766         Use size_t instead of unsigned int for memory sizes.
4767         Only cast to unsigned char whenever dereferencing Extbyte *.
4768
4769         * doc.c (unparesseuxify_doc_string): Type correctness.
4770
4771         * console-x.c (split_up_display_spec):
4772         Rewrite without using details of internal string representation.
4773         (x_semi_canonicalize_device_connection): Type correctness.
4774
4775         * config.h.in:
4776         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
4777         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
4778         (HAVE_XFREE386): Removed.
4779
4780         * buffer.h (DEC_CHARPTR): `const' correctness.
4781         (bufbyte_strcmp): New.
4782         (bufbyte_memcmp): New.
4783
4784         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
4785
4786         * buffer.h (XCHAR_OR_CHAR_INT):
4787         Always use inline function.
4788         Remove redundant type checking assert() - XINT will abort quite nicely.
4789
4790 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
4791
4792         * search.c (Freplace_match): Set newtext to an empty string.
4793
4794 2000-10-10  Martin Buchholz  <martin@xemacs.org>
4795
4796         * s/decosf1-3.h: Remove #include of stropts.h
4797         * s/ptx.h: Remove #include of stropts.h
4798         * s/usg5-4.h: Remove #include of stropts.h
4799         * sysproc.h:
4800         * config.h.in:
4801         Use stropts.h, not sys/stropts.h.
4802         Use strtio.h, not sys/strtio.h.
4803
4804 2000-10-04  Martin Buchholz <martin@xemacs.org>
4805
4806         * XEmacs 21.2.36 is released.
4807
4808 2000-09-21  Andy Piper  <andy@xemacs.org>
4809
4810         * glyphs-x.c (x_redisplay_widget): make sure non-structural
4811         changes still involve copying the widget tree.
4812         (update_widget_face): make sure a change is register in the widget
4813         tree. Call update_tab_widget_face appropriately.
4814         (update_tab_widget_face): ditto.
4815         (x_tab_control_redisplay): make sure non-structural changes still
4816         involve copying the widget tree.
4817
4818 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
4819
4820         * lread.c (locate_file): Check the path element is non-nil.
4821
4822 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4823
4824         * lisp.h: Warning suppression for SCO compilers.
4825
4826         * redisplay-tty.c (reset_tty_modes): Fix crash.
4827         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
4828
4829 2000-09-27  Martin Buchholz  <martin@xemacs.org>
4830
4831         Big signal/process handling overhaul.  Bugs fixed:
4832         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
4833         M-x comint-kill-subjob should work for both values nil and t of
4834         process-connection-type. It was broken on most platforms.
4835         Testing on Irix and Cygwin still needed.  Other plaforms tested.
4836         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
4837         * process-unix.c: Signal/Process handling overhaul.
4838         (pty_name): make 64 bytes, as `expect' does, for paranoia.
4839         (allocate_pty): Use all available modern methods of allocating
4840         ptys, falling back to old style BSD allocation as a last resort.
4841         Use allegedly more secure Unix98 pty allocation by default.
4842         (allocate_pty_the_old_fashioned_way): New. the last resort.
4843         (unix_create_process): Push ptem, ldterm, ttcompat where
4844         available.  Autoconfiscate.
4845         (try_to_initialize_subtty): New.
4846         (unix_kill_child_process): Proper signal handling for ptys on most
4847         platforms, using special knowledge of AIX, BSD, etc...
4848         (unix_create_process): Always disconnect_controlling_terminal() for
4849         subprocesses, whether using ptys or not.
4850         * process.h: Remove old getpt-dependent PTY code.
4851         * process.c (Fprocess_send_signal): New, obvious generic function.
4852         (decode_signal): New.
4853         (Finterrupt_process):
4854         (Fkill_process):
4855         (Fquit_process):
4856         (Fstop_process):
4857         (Fcontinue_process):
4858         (Fsignal_process): Use decode_signal.
4859         (process_send_signal):
4860         Many docstring corrections.
4861         Allow any signal to be sent to a process object.
4862         * config.h.in: Add symbols for big signal/process overhaul.
4863         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
4864         * sysproc.h: Include process-related headers, where available:
4865         sys/stropts.h sys/strtio.h pty.h libutil.h
4866         * s/irix4-0.h:
4867         * s/irix5-0.h:
4868         * s/cygwin32.h:
4869         * s/gnu.h:
4870         * s/linux.h:
4871         * s/hpux.h:
4872         * s/aix3-1.h:
4873         Remove old S&M pty stuff.
4874         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
4875         * systty.h: Simplify cpp hackery, improve comments.
4876         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
4877
4878         * editfns.c (Fformat_time_string):
4879         Be a little more paranoid with the return value of ctime.
4880
4881         * fileio.c (check_executable):
4882         (check_writable):
4883         Use symbolic constants X_OK, W_OK.
4884
4885         * console-x.c (split_up_display_spec): Fix a warning.
4886
4887 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4888
4889         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
4890         * ntproc.c (sys_spawnve): make_string ==> build_string
4891         Small clarity improvements.
4892
4893 2000-09-30  Martin Buchholz  <martin@xemacs.org>
4894
4895         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
4896
4897         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
4898
4899         * config.h.in (HAVE_STRCASECMP): Remove.
4900
4901 2000-09-29  Martin Buchholz  <martin@xemacs.org>
4902
4903         * redisplay-output.c (redisplay_output_pixmap):
4904         Cleaner and possibly more 64-bit correct code.
4905
4906 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4907
4908         * dumper.c (pdump_load_finish): move restoration of
4909         `noninteractive1' to emacs.c (main_1).
4910         * emacs.c (main_1): protect LISP-visible command-line flags
4911         from pdump_load().
4912
4913 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
4914
4915         * Makefile.in.in (versionclean):  Use EXE_TARGET and
4916         DUMP_TARGET instead of literal program names.
4917
4918 2000-09-20  Martin Buchholz  <martin@xemacs.org>
4919
4920         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
4921
4922 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4923
4924         * *: Spelling mega-patch
4925
4926 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4927
4928         * fns.c (bad_bad_turtle):
4929         Delete "Eek!" comment, since we fixed the bug to which it refers.
4930
4931 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4932
4933         * alloca.c: Replace REGISTER with register.
4934
4935 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
4936
4937         * file-coding.c (ucs_to_char): Use countof.
4938
4939 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4940
4941         * file-coding.c: (ucs_to_char):
4942         (complex_vars_of_file_coding):
4943         Use countof instead of sizeof.
4944         Use CHECK_NATNUM instead of CHECK_INT.
4945
4946         * sysdep.c (strcasecmp): Remove.
4947         * device-x.c (ascii_strcasecmp): New.
4948         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
4949         Avoid using non-standard non-portable strcasecmp.
4950
4951 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4952
4953         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
4954         * font-lock.c: remove reference to emacsfns.h.
4955         * search.c: small doc improvement.
4956         * event-Xt.c: correct file names in comments.
4957         * console-x.h Correct file names in comments.
4958         * frame.c: Correct file names in comments.
4959         * event-stream.c: remove Energize from comments.
4960
4961 2000-09-15  Martin Buchholz  <martin@xemacs.org>
4962
4963         * symeval.h (DEFERROR_STANDARD):
4964         (DEFERROR):
4965         (DEFSYMBOL):
4966         (DEFSYMBOL_NO_DUMP):
4967         (DEFSYMBOL_MULTIWORD_PREDICATE):
4968         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
4969         (DEFKEYWORD):
4970         The construct &##name is not sensible C.
4971         Fixes compilation errors with Unixware native compiler.
4972
4973 2000-09-14  Martin Buchholz  <martin@xemacs.org>
4974
4975         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
4976         (next_frame_internal): Removed.  We now just have next_frame.
4977         (next_frame):
4978         Write a simpler and cleaner one-pass algorithm.
4979         Remove called_from_delete_device arg and #ifdefed-out code.
4980         (previous_frame):
4981         Renamed from prev_frame.  Update callers.
4982         Cleaned up to have an analogous implementation to next_frame.
4983         (other_visible_frames_internal): Remove the
4984         called_from_delete_device bogus arg, and hence, remove this
4985         function.  Just use other_visible_frames().
4986
4987         * window.c (Fnext_window):
4988         Prettify docstring.
4989         Since next_frame() is guaranteed to return a frame, remove check
4990         for nil inserted in previous patch.
4991         (Fprevious_window):
4992         Prettify docstring.
4993         Make code look more like Fnext_window.
4994         (window_loop):
4995         Respect the `console' arg when iterating through windows.
4996         Fixes bug: (get-buffer-window buffer t device) not respecting
4997         the `device' arg.
4998         This function needs more work, as others have pointed out.
4999
5000         * frame.h: Rename prev_frame to previous_frame.
5001         device_matches_console_spec no longer takes a `frame' arg.
5002
5003         * s/gnu.h:
5004         * s/linux.h:
5005         * s/hpux.h:
5006         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5007         From "Golubev I. N." <gin@mo.msk.ru>.
5008
5009         * make-src-depend: Fix typo.
5010
5011 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5012
5013         * window.c (Fnext_window):
5014         next_frame() might return nil, not a frame.
5015         Fixes this crash:
5016         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5017
5018         * frame.c (next_frame_internal):
5019         We've passed a frame if we've passed its device.
5020         Fixes this crash:
5021         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5022 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5023
5024 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5025
5026         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5027         Allow option to suppress accelerators in menu/dialog items.
5028         (populate_or_checksum_helper): Pass dialog title through above.
5029
5030 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5031
5032         * event-msw.c (mswindows_key_to_emacs_keysym):
5033         Add "pause" key, fix "menu" key.
5034
5035 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5036
5037         * eval.c (reinit_vars_of_eval):
5038         Increase max_lisp_eval_depth to 1000,
5039         required for thai-xtis.el to byte-compile under some circumstances.
5040
5041 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5042
5043         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5044         From Kenichi Handa.
5045
5046 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5047
5048         * make-src-depend: Make the generated Makefiles smaller.
5049
5050         * s/hpux.h (SETUP_SLAVE_PTY):
5051         Provide a %d in the format string for the errno argument.
5052
5053         * editfns.c (Ftemp_directory):
5054         Warning fix.
5055         Avoid buffer overrun on very long file name.
5056
5057         * input-method-xlib.c (XIM_init_device):
5058         6th parameter of XRegisterIMInstantiateCallback has different
5059         pointer types on different OSes, so simply cast to (void *).
5060
5061         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5062
5063         * sysdll.c (dll_open):
5064         shl_load will hang hard if passed a NULL filename.
5065         Simply return NULL for compatibility with dlopen.
5066         * sysdll.c: Conform to XEmacs coding standards.
5067
5068         * sysdep.c (get_pty_max_bytes):
5069         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5070
5071 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5072
5073         * tooltalk.c: Add #include <syssignal.h>
5074
5075 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5076
5077         * s/hpux.h: Don't use undefined function sigunblock().
5078
5079 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5080
5081         * config.h.in: Add HAVE_BALLOON_HELP.
5082         * emacs.c: Use HAVE_BALLOON_HELP.
5083         * Makefile.in.in (x_objs):
5084         Make Balloon Help conditional on finding shape.h.
5085
5086 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5087
5088         * syntax.c (regex_emacs_buffer_p): New variable.
5089         * syntax.h (regex_emacs_buffer_p): extern.
5090         * search.c (looking_at_1):
5091         (string_match_1):
5092         (fast_string_match):
5093         (search_buffer): Set regex_emacs_buffer_p.
5094         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5095         when before_dot, at_dot, after_dot.
5096
5097 2000-08-23  Andy Piper  <andy@xemacs.org>
5098
5099         * gui-x.c (popup_selection_callback): Only set action_occurred
5100         when we really have an image instance.
5101         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5102
5103 2000-08-23  Andy Piper  <andy@xemacs.org>
5104
5105         * gui-msw.c (mswindows_handle_gui_wm_command): set
5106         action_occurred.
5107         * gui-x.c (popup_selection_callback): ditto.
5108
5109         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5110         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5111         (struct Lisp_Image_Instance): add action_occurred flag.
5112
5113         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5114         (image_instance_changed): ditto.
5115         (reset_frame_subwindow_instance_cache): only unmap windows - do
5116         not remove them from the cache also.
5117
5118         * glyphs-widget.c (tab_control_update): better debug.
5119         (progress_gauge_update): ditto.
5120         (layout_update): ditto.
5121         (layout_instantiate): ditto.
5122         (tab_control_order_only_changed): cope with null pending items.
5123
5124         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5125         debug. Force selection of an item when an action occurred. Cope
5126         with null pending_items.
5127         (mswindows_progress_gauge_redisplay): better debug.
5128         * glyphs-x.c (x_tab_control_redisplay): ditto.
5129
5130         * redisplay.c (redisplay_frame): reset the frame cache if the
5131         frame is garbaged.
5132
5133         * window.c (Fset_window_configuration): potentially re-enable
5134         frame cache reset.
5135         (window_unmap_subwindows): need to finalize instances here since
5136         it is only used in mark_window_as_deleted.
5137
5138 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5139
5140         * nas.c (SndOpenDataForReading):
5141         nas.c (WaveOpenDataForReading):
5142         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5143         Somehow escaped from the 2000-08-14 patch.
5144
5145 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5146
5147         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5148         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5149
5150 2000-08-21  Andy Piper  <andy@xemacs.org>
5151
5152         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5153         window if it is not already displayed.
5154
5155         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5156         it is not already displayed.
5157
5158         * window.c (Fset_window_configuration): don't reset the frame
5159         cache.
5160
5161         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5162         instances from the frame cache if we are actually finalizing them.
5163         (reset_frame_subwindow_instance_cache): reset frame cache only
5164         after unmapping everything.
5165         (map_subwindow): set displayed flag after mapping.
5166
5167 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5168
5169         * data.c (indirect_function):
5170         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5171
5172         * eval.c (function_argcount):
5173         Use original function when signaling errors.
5174
5175 2000-08-18  Andy Piper  <andy@xemacs.org>
5176
5177         * frame.c (delete_frame_internal): use new
5178         free_frame_subwindow_instances name.
5179
5180         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5181         (add_tab_item): make return type correct.
5182         (mswindows_tab_control_instantiate): assert index of tab.
5183         (mswindows_tab_control_redisplay): Re-code to use
5184         gui_item_equal_sans_selected and gui_item_list_find_selected.
5185
5186         * glyphs-widget.c (tab_control_update): Correct comment.
5187
5188         * window.c (window_unmap_subwindows): use new
5189         unmap_subwindow_instance_cache_mapper.
5190         (window_unmap_subwindows_cache_mapper): deleted.
5191         (Fset_window_configuration): comparisons should now be with
5192         EQ. Preserve the subwindow instance cache across configuration
5193         changes.
5194         (allocate_window): ditto.
5195         (make_dummy_parent): ditto.
5196
5197         * glyphs.c (free_frame_subwindow_instances): rename from
5198         free_frame_subwindow_instance_cache. finalize all instances rather
5199         than just those in the display cache.
5200         (finalize_all_subwindow_instances): walk windows unmapping and
5201         finalizing subwindows.
5202         (unmap_subwindow_instance_cache_mapper): moved from
5203         window.c. Allow finalization as well as unmapping.
5204
5205         * gui.c (gui_item_list_find_selected): new function.
5206
5207         * gui.h (gui_item_list_find_selected): declare.
5208
5209         * glyphs-x.c (x_tab_control_redisplay): pick tab
5210         explicitly. Re-code to use gui_item_equal_sans_selected and
5211         gui_item_list_find_selected.
5212
5213         * glyphs-x.h: add lwlib-utils.h
5214
5215         * buffer.c (Frecord_buffer): undo previous change.
5216
5217 2000-08-09  Vin Shelton  <acs@xemacs.org>
5218
5219         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5220         possible.  Create temporary files more securely.  The patch was
5221         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5222         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5223         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5224         for details.
5225
5226 2000-08-07  Ben Wing  <ben@xemacs.org>
5227
5228         * getloadavg.c: remove duplicate (and windows-breaking)
5229         includes of fcntl.h and sys/file.h.
5230
5231         * nt.c: remove duplicate getloadavg() definition.
5232
5233         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5234         encodings.
5235
5236 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5237
5238         * eval.c (function_argcount): If function needs to be autoloaded
5239         actually use the loaded definition.
5240         GCPRO function.
5241
5242 2000-08-05  Ben Wing  <ben@xemacs.org>
5243
5244         * getloadavg.c: add prototype for getloadavg().  remove
5245         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5246         of the code).  remove duplicate header includes.
5247
5248         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5249
5250         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5251         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5252         useful load average.
5253
5254         * alloc.c (reinit_alloc_once_early): removed references to
5255         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5256         the lisp vars are the only things referencing the malloc_sbrk_*
5257         vars, and they were already if 0'd out.  these vars only exist
5258         in the older malloc.c, which is basically unused, and they're
5259         only for informational purposes.
5260
5261         * m\*.h: removed useless VIRT_ADDR_VARIES.
5262
5263         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5264
5265 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5266
5267         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5268         color if the image is a mono pixmap.
5269
5270 2000-07-30  Ben Wing  <ben@xemacs.org>
5271
5272         * Makefile.in.in (release):
5273         Remove stray @.
5274
5275         * buffer.c (directory_is_current_directory):
5276         * dired-msw.c (mswindows_get_files):
5277         * dired.c:
5278         * dired.c (Fdirectory_files):
5279         * dired.c (file_name_completion_stat):
5280         * dired.c (Ffile_attributes):
5281         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5282         preprocessor tricks, to avoid problems on some machines
5283         (e.g. SCO).
5284
5285         * callproc.c (egetenv): GC docs.
5286
5287         * console-msw.h:
5288         * console-msw.h (struct mswindows_dialog_id):
5289         * lrecord.h (lrecord_type):
5290         New object for use with MSW dialogs.
5291
5292         * console.h (struct console_methods):
5293         New enable/disable frame methods, for proper modal dialogs.
5294
5295         * device-msw.c (msprinter_default_printer): Fix to follow
5296         proper Mule conventions.
5297
5298         * device-msw.c:
5299         * device-msw.c (signal_open_printer_error):
5300         * device-msw.c (msprinter_init_device):
5301         * device-msw.c (ensure_not_printing):
5302         * device-msw.c (plist_get_margin):
5303         * device-msw.c (Fmsprinter_select_settings):
5304         * device-msw.c (finalize_devmode):
5305         * device-msw.c (Fmsprinter_settings_despecialize):
5306         * device-msw.c (signal_enum_priner_error):
5307         * extents.c (decode_extent):
5308         * extents.c (decode_map_extents_flags):
5309         * extents.c (decode_extent_at_flag):
5310         * extents.c (Fextent_at):
5311         * extents.c (Fextents_at):
5312         * extents.c (symbol_to_glyph_layout):
5313         [[[[2]]]] Use structured errors.
5314
5315         * dialog-msw.c:
5316         * dialog-msw.c (mswindows_is_dialog_msg):
5317         * dialog-msw.c (mark_mswindows_dialog_id):
5318         * dialog-msw.c (dialog_proc):
5319         * dialog-msw.c (handle_question_dialog_box):
5320         * dialog-msw.c (syms_of_dialog_mswindows):
5321         Define new object to clean up marking; use it as a dialog identifier.
5322         Call new delete-dialog-box-hook.
5323
5324         * dialog-x.c (dbox_selection_callback):
5325         * dialog-x.c (dbox_descriptor_to_widget_value):
5326         * dialog-x.c (x_make_dialog_box_internal):
5327         Call new delete-dialog-box-hook.
5328         Return an id.
5329
5330         * dialog.c:
5331         * dialog.c (syms_of_dialog):
5332         * dialog.c (vars_of_dialog):
5333         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5334
5335         * eval.c:
5336         * eval.c (signal_call_debugger):
5337         when noninteractive, output stack traces on the console instead
5338         of in a (never-seen) buffer.
5339
5340         * eval.c (signal_type_error):
5341         * eval.c (invalid_argument_2):
5342         * lisp.h:
5343         new funs for use w/structured errors.
5344
5345         * event-Xt.c:
5346         * event-Xt.c (x_to_emacs_keysym):
5347         * event-Xt.c (describe_event):
5348         * event-Xt.c (emacs_Xt_event_handler):
5349         * event-Xt.c (vars_of_event_Xt):
5350         * event-msw.c:
5351         * event-msw.c (mswindows_wnd_proc):
5352         * event-msw.c (vars_of_event_mswindows):
5353         rename {x,mswindows}-debug-events to debug-{}-events for
5354         consistency with other debug-foo variables.
5355
5356         * event-stream.c:
5357         document next-event more clearly.
5358
5359         * fileio.c (Ffile_name_directory):
5360         * fileio.c (Ffile_name_nondirectory):
5361         * fileio.c (Funhandled_file_name_directory):
5362         * fileio.c (file_name_as_directory):
5363         * fileio.c (Ffile_name_as_directory):
5364         * fileio.c (directory_file_name):
5365         * fileio.c (Fdirectory_file_name):
5366         * fileio.c (Fmake_temp_name):
5367         * fileio.c (Ffile_truename):
5368         * fileio.c (Fsubstitute_in_file_name):
5369         * fileio.c (expand_and_dir_to_file):
5370         * fileio.c (barf_or_query_if_file_exists):
5371         * fileio.c (check_executable):
5372         * fileio.c (Ffile_exists_p):
5373         * fileio.c (Ffile_writable_p):
5374         * fileio.c (Ffile_directory_p):
5375         * fileio.c (Ffile_regular_p):
5376         * fileio.c (Ffile_modes):
5377         * fileio.c (Ffile_newer_than_file_p):
5378         * fileio.c (Fverify_visited_file_modtime):
5379         * fileio.c (Fset_visited_file_modtime):
5380         * fileio.c (auto_save_1):
5381         (1). (2).
5382         fix up gcpro's.
5383
5384         * frame-msw.c:
5385         * frame-msw.c (mswindows_init_frame_1):
5386         * frame-msw.c (mswindows_enable_frame):
5387         * frame-msw.c (error_frame_unsizable):
5388         * frame-msw.c (msprinter_init_frame_1):
5389         * frame-msw.c (msprinter_init_frame_3):
5390         * frame-msw.c (console_type_create_frame_mswindows):
5391         (2).
5392         implement new enable/disable frame methods.
5393
5394         * frame-x.c:
5395         * frame-x.c (x_enable_frame):
5396         * frame-x.c (console_type_create_frame_x):
5397         implement new enable/disable frame methods.
5398
5399         * frame.c:
5400         * frame.c (Fdisable_frame):
5401         * frame.c (syms_of_frame):
5402         * frame.h (struct frame):
5403         implement new enable/disable frame methods/functions.
5404
5405         * general-slots.h:
5406         add initial-focus.
5407
5408         * glyphs-msw.c (mswindows_widget_instantiate):
5409         comment that initial-focus should be implemented.
5410
5411         * glyphs-widget.c:
5412         * glyphs-widget.c (check_valid_instantiator):
5413         * glyphs-widget.c (check_valid_orientation):
5414         * glyphs-widget.c (check_valid_tab_orientation):
5415         * glyphs-widget.c (check_valid_justification):
5416         * glyphs-widget.c (check_valid_border):
5417         * glyphs-widget.c (check_valid_callback):
5418         * glyphs-widget.c (check_valid_int_or_function):
5419         * glyphs-widget.c (check_valid_string_or_vector):
5420         * glyphs-widget.c (check_valid_item_list_1):
5421         * glyphs-widget.c (widget_validate):
5422         * glyphs-widget.c (combo_box_validate):
5423         * glyphs-widget.c (widget_instantiate):
5424         * glyphs-widget.c (syms_of_glyphs_widget):
5425         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5426         * glyphs-widget.c (image_instantiator_combo_box):
5427         * glyphs-widget.c (image_instantiator_scrollbar):
5428         * glyphs-widget.c (image_instantiator_tab_control):
5429         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5430         (2).
5431         support (unimplemented) keyword initial-focus.
5432         reindent long macros.
5433
5434         * glyphs-x.c (x_redisplay_widget):
5435         * glyphs-x.c (x_button_instantiate):
5436         * glyphs-x.c (x_button_redisplay):
5437         * glyphs-x.c (x_progress_gauge_instantiate):
5438         * glyphs-x.c (x_edit_field_instantiate):
5439         * glyphs-x.c (x_combo_box_instantiate):
5440         * glyphs-x.c (x_tab_control_instantiate):
5441         * glyphs-x.c (x_label_instantiate):
5442         * gui-x.c:
5443         * gui-x.c (button_item_to_widget_value):
5444         * gui-x.c (gui_items_to_widget_values_1):
5445         * gui-x.c (gui_item_children_to_widget_values):
5446         * gui-x.c (gui_items_to_widget_values):
5447         * gui-x.h:
5448         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5449         add new flag to gui-parsing routines to indicate whether
5450         accelerator specs should be supported.
5451
5452         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5453
5454         * glyphs.h (struct Lisp_Image_Instance):
5455         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5456         add initial-focus flag.
5457
5458         * gui.c:
5459         * gui.c (syms_of_gui):
5460         * gui.c (vars_of_gui):
5461         clean up menu-no-selection-hook.
5462
5463         * gui.h:
5464         support delete-dialog-box-hook.
5465
5466         * lread.c (Fload_internal):
5467         * lread.c (locate_file_in_directory_mapper):
5468         (1).
5469
5470         * lrecord.h:
5471         * lrecord.h (struct toolbar_button):
5472         * lrecord.h (syms_of_toolbar):
5473         document how to create a new object.
5474
5475         * menubar-msw.c (mswindows_char_is_accelerator):
5476         may be called on frames w/o menus.
5477
5478         * menubar.c (vars_of_menubar):
5479         clean up :filter docs.
5480
5481         * nt.c (readdir):
5482         * ntproc.c:
5483         (1).
5484
5485         * process-nt.c:
5486         * process-nt.c (validate_signal_number):
5487         * process-nt.c (signal_cannot_launch):
5488         * process-nt.c (nt_create_process):
5489         * process-nt.c (nt_send_process):
5490         * process-nt.c (nt_kill_child_process):
5491         * process-nt.c (nt_open_network_stream):
5492         * process-nt.c (syms_of_process_nt):
5493         (2).
5494         delete quote-handling.  call new lisp code that does it better.
5495
5496         * process-unix.c (connect_to_file_descriptor):
5497         * process-unix.c (allocate_pty):
5498         * process-unix.c (unix_send_process):
5499         * process-unix.c (unix_kill_child_process):
5500         * process-unix.c (unix_open_network_stream):
5501         * process-unix.c (unix_open_multicast_group):
5502         (1). (2).
5503
5504         * process.c:
5505         * process.c (Fstart_process_internal):
5506         (2).  need to canonicalize process path even if absolute.
5507
5508         * select-msw.c (symbol_to_ms_cf):
5509         * select-msw.c (ms_cf_to_symbol):
5510         * select-msw.c (cf_is_autofreed):
5511         * select-msw.c (mswindows_destroy_selection):
5512         * select.c:
5513         * select.c (syms_of_select):
5514         * select.h:
5515         support dibv5, fix bugs. (from Mike Alexander)
5516
5517         * select.c (Fget_selection_internal):
5518         * select.c (select_convert_out):
5519
5520         * sysdep.c:
5521         * sysdep.c (xemacs_stat):
5522         renamed.
5523
5524         * sysdep.c (mkdir):
5525         * sysdep.c (rmdir):
5526         but keep original stat() here because we provide encapsulation
5527         around these funs.
5528
5529         * sysfile.h:
5530         * sysfile.h (fstat):
5531         remove stat garbage.
5532
5533         * syswindows.h:
5534         fix X/MSW conflict.
5535         don't include tchar.h.  it's inappropriate because it makes
5536         compile-time distinctions when we want runtime distinctions.
5537         (we provide our own tchar replacements)
5538
5539         * toolbar.c:
5540         use default object printer for toolbar-button.
5541
5542         * unexcw.c:
5543         make sure we don't encapsulate.
5544
5545         * window.c (vars_of_window):
5546         emphasize that temp-buffer-show-hook is obsolete.
5547
5548 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5549
5550         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5551         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5552
5553         * events.c (Fevent_timestamp_lessp):
5554         Not 64-bit clean.  Use EMACS_INT, not int.
5555
5556 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5557
5558         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5559         unsigned int and changed the last enum to
5560         lrecord_type_last_built_in_type.
5561         (lrecord_implementations_table): changed prototype to know how
5562         long the array is supposed to be.
5563         (lrecord_type_count): new unsigned int to keep track of the
5564         current number of lisp lrecord types.
5565         (DEFINE_EXTERNAL_LRECORD):
5566         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5567         dynamic-modules to declare new lisp types. They are the same
5568         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5569         int for each new type, and increment lrecord_type_count by 1.
5570
5571         * alloc.c (lrecord_implementations_table): Changed to reference
5572         lrecord_type_last_built_in_type for the size of the array.
5573         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5574
5575 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5576
5577         * glyphs.h (check_valid_item_list): Renamed from
5578         check_valid_item_list_1.
5579
5580 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5581
5582         * select.c (Qselect_coerce): New.
5583         * select.c (Vselection_coercion_alist): New.
5584         * select.c (syms_of_select): Declare.
5585         * select.c (get-selection-internal): Use it.
5586         Use the new select-coerce functionality.
5587
5588         * select.c (select_coerce): New.
5589         * select.h (select_coerce): Declare.
5590         New function to coerce one type of data into another.
5591
5592 2000-08-03  Martin Buchholz  <martin@xemacs.org>
5593
5594         * callproc.c (Fcall_process_internal):
5595         (Fcall_process_internal):
5596         * process-unix.c (unix_create_process):
5597         Save and restore the value of errno, so that error messages are accurate.
5598
5599 2000-08-01  Martin Buchholz  <martin@xemacs.org>
5600
5601         * elhash.c (print_hash_table):
5602         Fix printing of hash tables to also use `key-and-value' instead of `t'.
5603         Prettify docstrings and indentation.
5604
5605 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5606
5607         * window.c (Fwindow_pixel_edges): Subtract frame border and
5608         gutter size.
5609
5610 2000-07-31  Andy Piper  <andy@xemacs.org>
5611
5612         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
5613         will acknowledge the change.
5614
5615         * glyphs.h: declare tab_control_order_only_changed.
5616
5617         * glyphs-x.c (x_tab_control_redisplay): use
5618         tab_control_order_only_changed.
5619
5620         * glyphs-widget.c (tab_control_order_only_changed): new function.
5621
5622         * glyphs-msw.c (mswindows_tab_control_redisplay): use
5623         tab_control_order_only_changed.
5624
5625         * gui.c (gui_item_equal_sans_selected): new function.
5626         (gui_item_equal): use it.
5627
5628         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
5629         :properties in favor of :items..
5630
5631         * glyphs-widget.c (check_valid_item_list): rename from
5632         check_valid_item_list_1.
5633         (check_valid_item_list_1): renamed.
5634         (combo_box_validate): deprecate :properties in favor of :items.
5635         (widget_instantiate): ditto.
5636         (tab_control_update): ditto.
5637         (image_instantiator_combo_box): ditto.
5638         (image_instantiator_tree_view): ditto.
5639         (image_instantiator_tab_control): ditto.
5640         (layout_post_instantiate): remove dead code.
5641
5642         * print.c (debug_print_no_newline): only write to debugger if in
5643         WIN32_NATIVE.
5644
5645         * elhash.c (Fmake_hash_table): update doc string.
5646
5647         * event-msw.c (mswindows_wnd_proc): don't allow processing of
5648         messages whilst in GC. This at least stops XEmacs crashing but has
5649         the potential for wierd behaviour.
5650
5651 2000-07-31  Martin Buchholz  <martin@xemacs.org>
5652
5653         * config.h.in:
5654         Make existence of s&m files optional.
5655
5656         * s/bsd386.h: Remove HAVE_GETLOADAVG.
5657         * s/freebsd.h: Remove HAVE_GETLOADAVG.
5658         * s/gnu.h: Remove HAVE_GETLOADAVG.
5659         * s/netbsd.h: Remove HAVE_GETLOADAVG.
5660         * s/sol2.h: Remove HAVE_GETLOADAVG.
5661         * lisp.h: Remove getloadavg() declaration.
5662         * fns.c:
5663         Include <sys/loadavg.h> if available.
5664         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
5665         * config.h.in:  Group together getloadavg()-related macros.
5666         Use only configure-time tests to detect getloadavg().
5667
5668 2000-07-30  Martin Buchholz  <martin@xemacs.org>
5669
5670         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
5671
5672 2000-07-25  Andy Piper  <andy@xemacs.org>
5673
5674         * syswindows.h: add tchar.h for native builds.
5675
5676         * frame.c (syms_of_frame): remove set-glyph-image.
5677
5678         * general-slots.h: add Qset_glyph_image.
5679
5680         * glyphs-widget.c (layout_update): add domain arg to
5681         set-glyph-image.
5682         (syms_of_glyphs_widget): remove set-glyph-image.
5683
5684 2000-07-23  Ben Wing  <ben@xemacs.org>
5685
5686         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
5687         Vpopup_frame_list.
5688
5689 2000-07-22  Andy Piper  <andy@xemacs.org>
5690
5691         * symsinit.h: add syms_of_win32().
5692
5693         * gui-msw.c (syms_of_gui_mswindows): remove
5694         Fmswindows_shell_execute.
5695         (Fmswindows_shell_execute): moved to win32.c.
5696
5697         * emacs.c (main_1): add syms_of_win32 ().
5698
5699         * win32.c (init_potentially_nonexistent_functions): rewrite in
5700         compiler-friendly terms.
5701         (Fmswindows_shell_execute): move here from gui-msw.c.
5702         (syms_of_win32): new.
5703
5704         * device-msw.c (Fmswindows_printer_list): clean up args to
5705         EnumPrinters.
5706         Don't include tchar under cygwin or mingw.
5707         (msprinter_default_printer): make cygwin-friendly.
5708
5709 2000-07-21  Andy Piper  <andy@xemacs.org>
5710
5711         * glyphs-widget.c (image_instantiator_tree_view): use tab
5712         control's update function.
5713         (layout_property): new function. Retrieve items.
5714
5715         * glyphs-msw.c (mswindows_tree_view_redisplay): new
5716         function. Re-populate the tree view from the pending items.
5717
5718         * glyphs.c (instantiate_image_instantiator): Make sure the domain
5719         is designated the parent if the domain is an image instance. This
5720         is needed so that dirtiness can be cascade up the hierarchy and
5721         thus for layout children to be redisplayed correctly.
5722         (allocate_image_instance): rename glyph -> parent.
5723
5724         * redisplay.h: change redisplay_output_layout signature.
5725
5726         * redisplay-msw.c (mswindows_output_display_block): use domain
5727         arg.
5728
5729         * redisplay-x.c (x_output_display_block): use domain arg.
5730
5731 2000-07-10  Andy Piper  <andy@xemacs.org>
5732
5733         * window.c (Fset_window_configuration): add comment.
5734
5735         * redisplay-output.c (compare_runes):
5736         (redisplay_output_subwindow): redisplay rather than update subwindow.
5737         (redisplay_output_layout): ditto.
5738
5739         * redisplay-msw.c (mswindows_frame_output_end):
5740         (mswindows_frame_output_end): make defer window pos optional.
5741
5742         * lisp.h: add Flast.
5743
5744         * glyphs.h (struct image_instantiator_methods): add dest_mask top
5745         normalize method. Change update method to be for changed
5746         instantiators. Add redisplay method. Change signature of layout
5747         method.
5748         (struct Lisp_Image_Instance): add instantiator.
5749         (IMAGE_INSTANCE_INSTANTIATOR): new.
5750         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
5751         (XIMAGE_INSTANCE_INSTANTIATOR): new.
5752         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
5753
5754         * glyphs.c:
5755         (find_instantiator_differences): new function.
5756         (Fset_instantiator_property): new convenience function.
5757         (check_image_instance_structure): strictly check for vector
5758         instantiators.
5759         (normalize_image_instantiator): make non-static.
5760         (instantiate_image_instantiator): pass on dest_mask and use new
5761         signatures for image_instance_layout and friends.
5762         (mark_image_instance): mark the instantiator. Mark the subwindow
5763         face not the widget face.
5764         (image_instance_equal): add instantiator.
5765         (image_instance_hash): ditto.
5766         (allocate_image_instance): ditto.
5767         (Fset_image_instance_property): removed.
5768         (Fimage_instance_file_name): ditto.
5769         (Fcolorize_image_instance): ditto.
5770         (image_instance_layout): add offsets to be set.
5771         (update_image_instance): new function. update an image instance
5772         from its changed instantiator.
5773         (inherit_normalize): add dest_mask.
5774         (xbm_normalize): ditto.
5775         (xface_normalize): ditto.
5776         (xpm_normalize): ditto.
5777         (text_update): set_property -> update.
5778         (image_instantiate): use the glyph identity as a hash key, not the
5779         instantiator.
5780         (glyph_width): use new image_instance_layout signature.
5781         (glyph_ascent): ditto.
5782         (glyph_descent): ditto.
5783         (glyph_height): ditto.
5784         (glyph_query_geometry): ressurrect.
5785         (glyph_layout): ditto.
5786         (redisplay_subwindow): update -> redisplay.
5787         (syms_of_glyphs): add Fset_instantiator_property.
5788         (image_instantiator_format_create): set_property -> update.
5789
5790         * glyphs-x.c:
5791         (autodetect_normalize): add dest_maks to signature.
5792         (x_redisplay_subwindow): update -> redisplay.
5793         (x_redisplay_widget): ditto.
5794         (x_button_redisplay): ditto.
5795         (x_progress_gauge_redisplay): ditto.
5796         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
5797         stacking order.
5798         (console_type_create_glyphs_x): update -> redisplay.
5799         (image_instantiator_format_create_glyphs_x): ditto.
5800
5801         * glyphs-widget.c:
5802         (check_valid_instantiator): disallow glyphs in the instantiator,
5803         they must now be vectors.
5804         (check_valid_instantiator_list): ditto.
5805         (glyph_instantiator_to_glyph): use internal symbol rather than
5806         intern.
5807         (widget_update): renamed from widget_set_property. Call cascaded
5808         update methods.
5809         (redisplay_widget): renamed from update_widget.
5810         (widget_layout): image_instance_layout now takes position as well
5811         as size.
5812         (widget_normalize): ditto.
5813         (widget_instantiate): ditto.
5814         (tab_control_query_geometry) ditto.:
5815         (tab_control_update): renamed from tab_control_set_property.
5816         (progress_gauge_update): set_property -> update.
5817         (layout_normalize): rewrite so that child instantiators are
5818         normalized also.
5819         (layout_update): new function. Create glyphs from the normalized
5820         children and cope with any other layout keywords. We do not
5821         instantiate children here that will be take care of by
5822         redisplay_output_layout.
5823         (layout_instantiate): call layout_update and not much else.
5824         (layout_post_instantiate): not sure whether this is needed
5825         anymore.
5826         (layout_query_geometry): query glyph geometry rather than
5827         image_instance geometry.
5828         (layout_layout): set offsets from pass in parameters. Use glyph
5829         geometry and layout functions rather than image instance ones.
5830         (native_layout_layout): ditto.
5831         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
5832         (image_instantiator_widget): set_property -> update.
5833         (image_instantiator_buttons): ditto.
5834         (image_instantiator_progress_guage): ditto.
5835         (image_instantiator_tab_control): ditto.
5836         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
5837         (image_instantiator_layout): add update method.
5838
5839         * glyphs-msw.c (bmp_normalize):
5840         (mswindows_resource_normalize): add dest_mask so that it can be
5841         proprogated by layout_normalize.
5842         (begin_defer_window_pos): make optional because it may not be the
5843         right thing to do and it introduces differences with X.
5844         (mswindows_unmap_subwindow): ditto.
5845         (mswindows_map_subwindow): ditto.
5846         (mswindows_redisplay_subwindow): renamed from
5847         mswindows_update_subwindow.
5848         (mswindows_redisplay_widget): ditto.
5849         (mswindows_button_redisplay): renamed from
5850         mswindows_button_update. Update is now what the instantiation
5851         function does for a changed instantiator.
5852         (mswindows_progress_gauge_instantiate): set the progress value
5853         here if appropriate.
5854         (mswindows_tab_control_redisplay): cope with re-ordering of the
5855         members of the tab widget by simply selecting the new top
5856         widget. This makes things appear ok if you click on a tab.
5857         (mswindows_combo_box_instantiate): image_instance_layout now takes
5858         position as well as size.
5859         (mswindows_progress_gauge_redisplay): renamed from
5860         mswindows_progress_gauge_update.
5861         (console_type_create_glyphs_mswindows): fix update -> redisplay.
5862         (image_instantiator_format_create_glyphs_mswindows): ditto.
5863
5864         * glyphs-eimage.c (jpeg_normalize):
5865         (gif_normalize):
5866         (png_normalize):
5867         (tiff_normalize): add dest_mask so that it can be proprogated by
5868         layout_normalize.
5869
5870         * elhash.c:
5871         (print_hash_table):
5872         (hash_table_weakness_validate):
5873         (decode_hash_table_weakness):
5874         (Fhash_table_weakness):
5875         (Fhash_table_type):
5876         (syms_of_elhash): use Ben's naming scheme for hashtable types..
5877
5878         * console.h (struct console_methods): move update_* to
5879         redisplay_*.
5880
5881 2000-07-20  Ben Wing  <ben@xemacs.org>
5882
5883         * *.[ch] (XSETOBJ): remove unused middle argument.
5884         lisp-disunion.h: correct wrap_object() to one argument.
5885
5886 2000-07-15  Ben Wing  <ben@xemacs.org>
5887
5888         * s/cygwin32.h:
5889         * s/cygwin32.h (CYGWIN_CONV_PATH):
5890         Add missing logb prototype for v1.1.
5891         Use post-b20 names and alias to pre-b20 names when pre-b20.
5892
5893         * s/windowsnt.h: [5].
5894
5895 2000-07-15  Ben Wing  <ben@xemacs.org>
5896
5897         * Makefile.in.in (x_objs):
5898         * Makefile.in.in (sheap_objs):
5899         * Makefile.in.in (objs):
5900         added win32.o, cosmetic cleanups.
5901
5902         * alloc.c (Fmake_byte_code):
5903         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
5904         etc. macros which declare their own args now.
5905
5906         * alloc.c (syms_of_alloc):
5907         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
5908
5909         * buffer.c:
5910         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
5911
5912         * buffer.c (Fget_file_buffer):
5913         Fixed GCPRO problem.
5914
5915         * buffer.c (get_truename_buffer):
5916         Fixed comment about GC checking.
5917
5918         * buffer.c (syms_of_buffer):
5919         Undeclared those dedicated frame funs.
5920         [2].
5921
5922         * buffer.h:
5923         Define convenience macros for internal/external conversions.
5924         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
5925         and Qenvironment_variable_encoding for cleaner code.
5926
5927         * bufslots.h:
5928         Remove dedicated-frame; in lisp.
5929
5930         * bytecode.c (funcall_compiled_function):
5931         [1].
5932
5933         * bytecode.c (syms_of_bytecode):
5934         [2].
5935
5936         * console-msw.c:
5937         * console-msw.c (mswindows_show_console): Rewrote.
5938
5939         * console-msw.c (Fmswindows_debugging_output): New.
5940         Sends to OutputDebugString (special MSWin debugger interface).
5941
5942         * console-msw.c (Fmswindows_message_box):
5943         Fixed stupid bugs so it works when called from kill-emacs.
5944
5945         * console-msw.c (syms_of_console_mswindows):
5946         Declare Fmswindows_debugging_output.
5947
5948         * console-msw.h:
5949         New MSWin prototypes.
5950
5951         * console-msw.h (struct mswindows_frame):
5952         New entry last-click-mods for improved button-modifier support.
5953
5954         * console-msw.h (FRAME_MSWINDOWS_POPUP):
5955         New struct entry `popup' with corresponding accessor.
5956
5957         * console-x.c:
5958         * console-x.c (split_up_display_spec):
5959         * console-x.c (get_display_arg_connection):
5960         * console-x.c (x_semi_canonicalize_console_connection):
5961         * console-x.c (x_canonicalize_device_connection):
5962         [[[6]]]: Change char to more specific type.
5963         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
5964
5965         * console-x.c (x_semi_canonicalize_console_connection):
5966         * console-x.c (x_canonicalize_device_connection):
5967         [[[9]]]: Fix up error signalling to use new structured error system.
5968
5969         * console-x.h:
5970         [[[4]]]: Define codesys aliases:
5971         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
5972         Qx_color_name_encoding, Qx_display_name_encoding.
5973
5974         * console.h (struct console_methods):
5975         New method make_dialog_box_internal supersedes older
5976         popup_dialog_box method.
5977
5978         * data.c:
5979         Define many new errors, part of new structured errors.
5980
5981         * data.c (init_errors_once_early):
5982         * data.c (syms_of_data):
5983         [2].
5984
5985         * device-msw.c (mswindows_init_device):
5986         [[[5]]]: Cleanup to support NT 3.51.
5987
5988         * device-msw.c (decode_devmode): Cleanup.
5989
5990         * device-msw.c (mswindows_handle_print_setup_dialog_box):
5991         * device-msw.c (mswindows_handle_print_dialog_box):
5992         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5993         * device-msw.c (syms_of_device_mswindows):
5994         Delete the dialog box primitives recently introduced by Kirill and
5995         instead interface to general dialog box interface.
5996
5997         * device-x.c:
5998         * device-x.c (compute_x_app_name):
5999         * device-x.c (x_init_device):
6000         * device-x.c (Fx_valid_keysym_name_p):
6001         * device-x.c (Fx_set_font_path):
6002         [6].
6003         [7].
6004
6005         * device.h (wrap_device): New.
6006         First of its kind; meant to replace XSETDEVICE.
6007
6008         * dialog-msw.c: Many file-dialog symbols.
6009
6010         * dialog-msw.c (mswindows_register_popup_frame): New.
6011         * dialog-msw.c (mswindows_is_dialog_msg): New.
6012         For supporting kbd traversal in dialog boxes.
6013
6014         * dialog-msw.c (dialog_proc):
6015         Support hitting ESC in dialogs.
6016
6017         * dialog-msw.c (struct):
6018         Common dialog box errors.
6019
6020         * dialog-msw.c (handle_file_dialog_box): New.
6021         Add file dialog code.
6022
6023         * dialog-msw.c (handle_question_dialog_box):
6024         Redo existing code to support new question dialog syntax.
6025
6026         * dialog-msw.c (console_type_create_dialog_mswindows):
6027         We support new dialog console method.
6028
6029         * dialog-msw.c (syms_of_dialog_mswindows):
6030         * dialog-msw.c (vars_of_dialog_mswindows):
6031         New file dialog symbols, vars.
6032
6033         * dialog-x.c:
6034         * dialog-x.c (maybe_run_dbox_text_callback):
6035         * dialog-x.c (dbox_descriptor_to_widget_value):
6036         * dialog-x.c (x_make_dialog_box_internal):
6037         * dialog-x.c (console_type_create_dialog_x):
6038         Mule-ize entire file.
6039         Redo to support question dialog syntax.
6040         [6].
6041
6042         * dialog.c:
6043         * dialog.c (Fmake_dialog_box_internal):
6044         * dialog.c (syms_of_dialog):
6045         Kill old popup-dialog-box, replace with new primitive.
6046         Just call device method or signal error.
6047
6048         * eldap.c (Fldap_open):
6049         * eldap.c (Fldap_search_basic):
6050         * eldap.c (Fldap_add):
6051         * eldap.c (Fldap_modify):
6052         [1].
6053         [7].
6054
6055         * emacs.c:
6056         * emacs.c (make_arg_list_1):
6057         * emacs.c (make_arg_list):
6058         Mule-ize call to dll_init().
6059         [6].
6060         [8].
6061
6062         * emacs.c (make_argc_argv):
6063         * emacs.c (free_argc_argv):
6064         * emacs.c (init_cmdargs):
6065         * emacs.c (main_1):
6066         * emacs.c (Fkill_emacs):
6067         * emacs.c (Fdump_emacs):
6068         Update comments about what can be used in syms_* etc.
6069         Call init_win32() when necessary.
6070         Fix up MS Win dialog box in kill-buffer to actually work right.
6071         [7].
6072
6073         * eval.c:
6074         * eval.c (For):
6075         * eval.c (Fand):
6076         * eval.c (Fprogn):
6077         * eval.c (Fprog1):
6078         * eval.c (Fprog2):
6079         * eval.c (FletX):
6080         * eval.c (Flet):
6081         * eval.c (condition_case_3):
6082         * eval.c (Feval):
6083         * eval.c (function_argcount):
6084         * eval.c (funcall_lambda):
6085         [1].
6086
6087         * eval.c (type_error): New.
6088         * eval.c (maybe_type_error): New.
6089         * eval.c (continuable_type_error): New.
6090         * eval.c (maybe_continuable_type_error): New.
6091         * eval.c (type_error_with_frob): New.
6092         * eval.c (maybe_type_error_with_frob): New.
6093         * eval.c (continuable_type_error_with_frob): New.
6094         * eval.c (maybe_continuable_type_error_with_frob): New.
6095         New functions for use with structured errors.
6096
6097         * event-Xt.c:
6098         * event-Xt.c (x_event_to_emacs_event):
6099         Buttons are now modifiers too.
6100
6101         * event-Xt.c (emacs_Xt_current_event_timestamp):
6102         Implement new event method.
6103         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6104
6105         * event-msw.c:
6106         * event-msw.c (ntpipe_shove_writer): [5].
6107         * event-msw.c (mswindows_enqueue_mouse_button_event):
6108         * event-msw.c (mswindows_drain_windows_queue):
6109         * event-msw.c (mswindows_wnd_proc): [7].
6110         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6111         * event-msw.c (mswindows_modifier_state):
6112         Throughout: support new button modifiers.
6113
6114         * event-msw.c (emacs_mswindows_current_event_timestamp):
6115         Implement new event method.
6116         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6117
6118         * event-stream.c:
6119         * event-stream.c (event_stream_current_event_timestamp): New.
6120         * event-stream.c (maybe_kbd_translate): New functionality.
6121         * event-stream.c (vars_of_event_stream):
6122         Document new kbd-translate-table functionality.
6123
6124         * event-stream.c (Fcurrent_event_timestamp): New.
6125         New primitive for use in fabricated events.
6126         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6127
6128         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6129
6130         * events.c:
6131         * events.c (Fmake_event):
6132         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6133         [1].
6134         [9].
6135
6136         * events.c (format_event_object): fix gcc warnings.
6137
6138         * events.c (Fevent_timestamp): Document new primitives.
6139
6140         * events.c (TIMESTAMP_HALFSPACE): New.
6141
6142         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6143         comparing timestamps correctly (half-space algorithm).
6144
6145         * events.c (Fevent_modifier_bits): Doc fix.
6146
6147         * events.c (Fevent_modifiers): Major doc addition.
6148         * events.c (event_x_y_pixel_internal): Typo fix.
6149         * events.c (syms_of_events): Declare new primitives.
6150
6151         * events.h:
6152         Update long comment for button modifiers, timestamps.
6153
6154         * events.h (struct event_stream):
6155         New current_event_timestamp method.
6156
6157         * extents.c:
6158         * extents.c (extent_in_region_p):
6159         * extents.c (decode_extent):
6160         * extents.c (Fset_extent_parent):
6161         * extents.c (decode_map_extents_flags):
6162         Fix gcc warnings.
6163         [9].
6164
6165         * extents.c (struct extent_at_arg):
6166         * extents.c (decode_extent_at_flag):
6167         * extents.c (extent_at_mapper):
6168         * extents.c (extent_at_bytind):
6169         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6170         * extents.c (Fextents_at): New primitive. [9].
6171         * extents.c (symbol_to_glyph_layout): [9].
6172         Support new primitive `extents-at'.
6173
6174
6175         * extents.c (get_text_property_bytind):
6176         extent_at_bytind has another arg.
6177         [9].
6178
6179         * extents.c (syms_of_extents): New primitive.
6180
6181         * file-coding.c (Fmake_coding_system): [1].
6182         * file-coding.c (subsidiary_coding_system): fix gcc warning
6183         * file-coding.c (syms_of_file_coding): [2].
6184
6185         * fileio.c (Fexpand_file_name):
6186         * fileio.c (Fsysnetunam):
6187         * fileio.c (Ffile_exists_p):
6188         * fileio.c (Ffile_executable_p):
6189         * fileio.c (Fverify_visited_file_modtime):
6190         Clean up GCPROing.
6191
6192         * fileio.c (syms_of_fileio): [2].
6193
6194         * filelock.c (lock_file_1):
6195         * filelock.c (current_lock_owner):
6196         * filelock.c (lock_if_free):
6197         * filelock.c (lock_file):
6198         * filelock.c (unlock_file):
6199         Clean up GCPROing.
6200
6201         * fns.c (concat): Fix gcc warning.
6202
6203         * fns.c (Fmember):
6204         * fns.c (Fold_member):
6205         * fns.c (Fmemq):
6206         * fns.c (Fold_memq):
6207         * fns.c (memq_no_quit):
6208         * fns.c (Fassoc):
6209         * fns.c (Fold_assoc):
6210         * fns.c (Fassq):
6211         * fns.c (Fold_assq):
6212         * fns.c (assq_no_quit):
6213         * fns.c (Frassoc):
6214         * fns.c (Fold_rassoc):
6215         * fns.c (Frassq):
6216         * fns.c (Fold_rassq):
6217         * fns.c (rassq_no_quit):
6218         * fns.c (Fdelete):
6219         * fns.c (Fold_delete):
6220         * fns.c (Fdelq):
6221         * fns.c (Fold_delq):
6222         * fns.c (delq_no_quit):
6223         * fns.c (Fremassoc):
6224         * fns.c (Fremassq):
6225         * fns.c (remassq_no_quit):
6226         * fns.c (Fremrassoc):
6227         * fns.c (Fremrassq):
6228         * fns.c (remrassq_no_quit):
6229         * fns.c (Freverse):
6230         * fns.c (mapcar1):
6231         [1].
6232
6233         * frame-msw.c (mswindows_init_frame_1):
6234         * frame-msw.c (mswindows_delete_frame):
6235         Register popups with dialog code so keyboard traversing works.
6236
6237         * frame-tty.c (tty_raise_frame_no_select): [1].
6238
6239         * frame-x.c:
6240         * frame-x.c (x_set_frame_text_value):
6241         * frame-x.c (x_set_frame_properties):
6242         * frame-x.c (x_create_widgets):
6243         [7].
6244
6245         * frame.c:
6246         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6247
6248         * frame.h (wrap_frame): New.
6249         Macro like wrap_device.
6250
6251         * general.c:
6252         * general.c (SYMBOL):
6253         * general.c (syms_of_general):
6254         Major reorg.  This is now just a wrapper and symbols themselves
6255         are listed in general-slots.h.
6256
6257         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6258         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6259
6260         * glyphs-msw.c (mswindows_native_layout_instantiate):
6261         Add DS_CONTROL so keyboard traversal will work.
6262
6263         * glyphs-widget.c:
6264         * glyphs-widget.c (syms_of_glyphs_widget):
6265         Move some symbols to general-slots.h.
6266
6267         * glyphs-x.c:
6268         * glyphs-x.c (xbm_instantiate_1):
6269         * glyphs-x.c (x_xbm_instantiate):
6270         * glyphs-x.c (x_xface_instantiate):
6271         * glyphs-x.c (autodetect_instantiate):
6272         * glyphs-x.c (cursor_font_instantiate):
6273         * glyphs-x.c (x_update_widget):
6274         * glyphs-x.c (x_widget_instantiate):
6275         * glyphs.c (bitmap_to_lisp_data):
6276         * glyphs.c (pixmap_to_lisp_data):
6277         [7].
6278
6279         * glyphs.c (syms_of_glyphs):
6280         [2].
6281
6282         * gui-x.c:
6283         * gui-x.c (print_widget_value):
6284         * gui-x.c (menu_separator_style_and_to_external):
6285         * gui-x.c (add_accel_and_to_external):
6286         * gui-x.c (button_item_to_widget_value):
6287         * gui-x.c (gui_items_to_widget_values_1):
6288         * gui-x.c (gui_items_to_widget_values):
6289         * gui-x.c (syms_of_gui_x):
6290         * gui-x.c (vars_of_gui_x):
6291         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6292         [9].
6293
6294         * gui-x.h:
6295         Muleize, prototype changes matching gui-x.c.
6296
6297         * gui.c:
6298         * gui.c (separator_string_p):
6299         * gui.c (gui_item_add_keyval_pair):
6300         * gui.c (make_gui_item_from_keywords_internal):
6301         * gui.c (signal_too_long_error):
6302         * gui.c (parse_gui_item_tree_item):
6303         * gui.c (syms_of_gui):
6304         * gui.c (vars_of_gui):
6305         * gui.h:
6306         menu-no-selection-hook moved here (used by MSWin).
6307         Move some symbols to general-slots.h.
6308         [6].
6309         [9].
6310
6311         * insdel.c (get_buffer_pos_char):
6312         * insdel.c (get_buffer_range_char):
6313         Add GC comments.
6314
6315         * keymap.c (keymap_lookup_directly):
6316         * keymap.c (keymap_store):
6317         * keymap.c (ensure_meta_prefix_char_keymapp):
6318         * keymap.c (describe_map):
6319         * keymap.h:
6320         Support new button modifiers.
6321
6322         * lisp-disunion.h (wrap_object):
6323         * lisp-disunion.h (XSETOBJ):
6324         Rename make_obj to wrap_object.
6325
6326         * lisp-union.h:
6327         * lisp-union.h (make_int):
6328         * lisp-union.h (make_char):
6329         Support wrap_object.
6330
6331         * lisp.h:
6332         * lisp.h (LIST_LOOP):
6333         * lisp.h (EXTERNAL_LIST_LOOP):
6334         * lisp.h (LIST_LOOP_2):
6335         * lisp.h (EXTERNAL_LIST_LOOP_1):
6336         * lisp.h (EXTERNAL_LIST_LOOP_2):
6337         * lisp.h (EXTERNAL_LIST_LOOP_3):
6338         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6339         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6340         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6341         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6342         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6343         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6344         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6345         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6346         * lisp.h (struct Lisp_Symbol):
6347         * lisp.h (maybe_continuable_error_with_frob):
6348         Fix up section comments.
6349         Add new types for char to indicate usage.
6350         Delete symbols auto-generated from general-slots.h.
6351         Add prototypes for structured error functions.
6352         Add long comments describing looping macros and change interface
6353         so that lvalues are automatically declared.
6354         Add NO_DECLARE macro in case callers want to declare lvalues
6355         themselves.
6356
6357         * lread.c (read_syntax_error):
6358         * lread.c (continuable_read_syntax_error):
6359         * lread.c (read_structure):
6360         * lread.c (sequence_reader):
6361         * lread.c (read_list_conser):
6362         * lread.c (read_compiled_function):
6363         Rename syntax_error and continuable_syntax_error to avoid clash
6364         with same-named structured error functions.
6365
6366         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6367         * menubar-msw.c (populate_menu_add_item):
6368         * menubar-msw.c (populate_or_checksum_helper):
6369         [5].
6370         [9].
6371
6372         * menubar-x.c:
6373         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6374         Mule-ize whole file.
6375
6376         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6377
6378         * mule-charset.c (Fmake_charset):
6379         * mule-wnnfns.c (Fwnn_set_param):
6380         [1].
6381
6382         * ntproc.c (create_child):
6383         * ntproc.c (Fwin32_set_current_locale):
6384         Add comments portending doom.
6385
6386         * objects-msw.c:
6387         * objects-msw.c (old_font_enum_callback_2):
6388         * objects-msw.c (font_enum_callback_1):
6389         * objects-msw.c (mswindows_enumerate_fonts):
6390         [5].
6391
6392         * objects-x.c:
6393         * objects-x.c (allocate_nearest_color):
6394         * objects-x.c (x_parse_nearest_color):
6395         * objects-x.c (x_initialize_color_instance):
6396         * objects-x.c (x_print_color_instance):
6397         * objects-x.c (x_finalize_color_instance):
6398         * objects-x.c (x_valid_color_name_p):
6399         * objects-x.c (x_initialize_font_instance):
6400         * objects-x.c (x_print_font_instance):
6401         * objects-x.c (valid_x_font_name_p):
6402         * objects-x.c (truename_via_FONT_prop):
6403         * objects-x.c (truename_via_random_props):
6404         * objects-x.c (truename_via_XListFonts):
6405         * objects-x.c (x_font_truename):
6406         * objects-x.c (x_font_instance_truename):
6407         * objects-x.c (x_font_instance_properties):
6408         * objects-x.c (x_list_fonts):
6409         * objects-x.c (x_find_charset_font):
6410         Mule-ize entire file.
6411         [7].
6412
6413         * objects-x.h:
6414         Mule-verify.
6415
6416         * print.c:
6417         * print.c (std_handle_out_external):
6418         * print.c (debug_print_no_newline):
6419         * print.c (syms_of_print):
6420         Output to all debugger kinds in debug-print.
6421         Fix console-output code under MSWin to actually work.
6422
6423         * process-nt.c (send_signal):
6424         * process-nt.c (nt_create_process):
6425         Use newer Unicode macros.
6426
6427         * process-unix.c (unix_create_process):
6428         * process-unix.c (unix_canonicalize_host_name):
6429         * process-unix.c (unix_open_network_stream):
6430         [7].
6431
6432         * scrollbar-x.c:
6433         Mule-verify.
6434
6435         * search.c (syms_of_search):
6436         [2].
6437
6438         * select-msw.c (mswindows_destroy_selection):
6439         Use LIST_LOOP_2.
6440
6441         * select-x.c (symbol_to_x_atom):
6442         [7].
6443
6444         * select.c (syms_of_select):
6445         [2].
6446
6447         * sound.c (Fplay_sound_file):
6448         [7].
6449
6450         * specifier.c:
6451         * specifier.c (decode_specifier_type):
6452         * specifier.c (Fvalid_specifier_locale_type_p):
6453         * specifier.c (check_valid_locale_or_locale_type):
6454         * specifier.c (decode_locale):
6455         * specifier.c (decode_locale_type):
6456         * specifier.c (decode_locale_list):
6457         * specifier.c (check_valid_domain):
6458         * specifier.c (decode_specifier_tag_set):
6459         * specifier.c (Fcanonicalize_tag_set):
6460         * specifier.c (Fdefine_specifier_tag):
6461         * specifier.c (Fspecifier_tag_predicate):
6462         * specifier.c (check_valid_inst_list):
6463         * specifier.c (check_valid_spec_list):
6464         * specifier.c (decode_how_to_add_specification):
6465         * specifier.c (check_modifiable_specifier):
6466         * specifier.c (specifier_add_spec):
6467         * specifier.c (boolean_validate):
6468         * specifier.c (display_table_validate):
6469         [9].
6470
6471         * specifier.c (syms_of_specifier):
6472         Move some symbols to general-slots.h.
6473         [2].
6474
6475         * symbols.c:
6476         * symbols.c (Fmapatoms):
6477         * symbols.c (Fapropos_internal):
6478         Add GCPROs.
6479
6480         * symbols.c (set_default_buffer_slot_variable):
6481         * symbols.c (set_default_console_slot_variable):
6482         [1].
6483
6484         * symbols.c (defsymbol_massage_name_1):
6485         * symbols.c (defkeyword_massage_name):
6486         * symbols.c (deferror_1):
6487         * symbols.c (deferror):
6488         * symbols.c (deferror_massage_name_and_message):
6489         * symeval.h:
6490         * symeval.h (DEFSYMBOL):
6491         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6492
6493         * symbols.c (syms_of_symbols):
6494         [2].
6495
6496         * symsinit.h:
6497         * symsinit.h (init_win32): New.
6498         Also new is syms_of_dialog_mswindows.
6499
6500         * syswindows.h:
6501         Add new Unicode macros, missing Cygwin wide-char functions,
6502         convenience conversion macros for Qmswindows_tstr, macros for
6503         encapsulating required MSWin <-> Cygwin filename conversions,
6504         prototype for dynamically-extracted (not in NT 3.51) functions.
6505
6506         * toolbar-x.c:
6507         Mule-verify.
6508
6509         * tooltalk.c (Fadd_tooltalk_message_arg):
6510         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6511         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6512         [7].
6513
6514         * tooltalk.c (syms_of_tooltalk):
6515         [2].
6516
6517         * unexnt.c:
6518         * unexnt.c (unexec):
6519         Fix up headers, declaration of unexec() to be more standard.
6520
6521 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6522
6523         * offix.h: Revert change to guard macros - they're used in offix.c!
6524
6525 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6526
6527         * lisp.h: Defsubred Fdelete.
6528
6529         * console-msw.h:  (msprinter_default_printer): Added.
6530
6531         * console-msw.c (msprinter_canonicalize_console_connection):
6532         (msprinter_canonicalize_device_connection): Added.
6533
6534         * device-msw.c (msprinter_default_printer):
6535         (Fmswingows_get_default_printer):
6536         (signal_enum_priner_error):
6537         (Fmswingows_printer_list): Added.
6538
6539 2000-07-19  Martin Buchholz <martin@xemacs.org>
6540
6541         * XEmacs 21.2.35 is released.
6542
6543 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6544
6545         * select-x.c (x_handle_selection_request):
6546         Text selected in xemacs and pasted into xterm failed to appear.
6547         Spelling fixes and cosmetic changes.
6548
6549 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6550
6551         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6552         XEmacs frame (fix for doubling chars in dialog boxes).
6553
6554 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6555
6556         * select.c (select_convert_in, select_convert_out):
6557         Don't call intern() every time.
6558
6559         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6560         * select.c (vars_of_select): Initialise them.
6561
6562 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6563
6564         * select.c (selection-coercible-types): New.
6565
6566         * select.c (own-selection-internal):
6567         * select.c (get-selection-internal):
6568         MULE bug fix - these should default to COMPOUND_TEXT and not
6569         STRING for MULE. I think.
6570
6571         * select.c (select_convert_out): Use selection-coercible-types
6572         to find types that we can attempt to perform coercions on.
6573
6574 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6575
6576         * mule-wnnfns.c:
6577         * mule-canna.c:
6578         Add coding: cookie to identify encoding.
6579
6580         * mule-canna.c (CANNA_mode_keys): make static.
6581         Use proper prototypes, even for functions of no arguments.
6582         Remove external prototype for Fding().
6583
6584         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6585
6586         * select.c (syms_of_select): Add missing DEFSUBR.
6587
6588 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6589
6590         * select.c (get_selection_internal, own_selection_internal):
6591         Make the type default to STRING, rather than placing a nil type
6592         into Vselection_alist.
6593
6594 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6595
6596         * gpmevent.c (tty_selection_exists_p):
6597         * gpmevent.c (tty_own_selection):
6598         Updated parameter lists.
6599
6600 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
6601
6602         * select.h (selection-alist): Removed declaration.
6603
6604         * select.h (get_local_selection):
6605         * select.c (get_local_selection):
6606         Made static.
6607
6608         * select.h (convert_selection): Removed declaration.
6609         * select.c (convert_selection): Removed.
6610         This function belongs in Lisp.
6611
6612         * select.h (select_convert_in): Declare.
6613         * select.h (select_convert_out): Declare.
6614         * select.c (select_convert_in): New.
6615         * select.c (select_convert_out): New.
6616         New conversion functions for other files to call.
6617
6618         * select.h (select_notify_buffer_kill): Declare.
6619         * select.c (select_notify_buffer_kill): New.
6620         New functions that get called from kill-buffer.
6621
6622         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
6623         X-specific lisp code.
6624
6625         * select.h: Declare some of the lisp-visible functions for
6626         external use.
6627
6628         * select.c (clean_local_selection_data): Removed. This was
6629         a disgusting function, and previously should have been in
6630         select-x.c in any case. The functionality is now provided
6631         in select-convert-from-integer (select.el).
6632
6633         * select.c (available-selection-types): Fixed stupidity where
6634         INTEGER and ATOM got added twice. Also add STRING when we see an
6635         extent.
6636
6637         * select.c (get-selection-internal): Removed symbol stripping. No
6638         longer causes conversion when data comes from the internal cache.
6639
6640         * select.c (syms_of_select): Added new functions.
6641
6642         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
6643         error checking - previously this called abort!
6644
6645         * select-x.c (x_own_selection): Changed comment.
6646
6647         * select-x.c (x_handle_selection_request): Use select_convert_out.
6648         Don't mess with selection-alist; it's an internal variable of select.c.
6649
6650         * select-x.c (x_get_foreign_selection): Use select_convert_in.
6651
6652         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
6653         rather than messing with selection-alist.
6654
6655         * select-msw.c (mswindows_get_foreign_selection):
6656         Use TO_INTERNAL_FORMAT rather than hacking.
6657
6658 2000-07-14  Martin Buchholz  <martin@xemacs.org>
6659
6660         * process-unix.c (unix_open_multicast_group):
6661         (unix_open_multicast_group): Remove useless casts.
6662
6663 2000-07-13  Martin Buchholz  <martin@xemacs.org>
6664
6665         * sound.c (Fplay_sound): Fix `unused variable' warning.
6666
6667         * emacs.c (main): Use correct type for _environ on SCO5.
6668
6669 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
6670
6671         * console.h (own_selection_method):
6672         * console.h (selection_exists_p_method):
6673         * console.h (available_selection_types_method): New.
6674         * console.h (register_selection_data_type_method): New.
6675         * console.h (selection_data_type_name): New.
6676
6677         * console-msw.h (mswindows_destroy_selection): Declare it.  New
6678         function & alist to track GlobalAlloc()'d handles that need
6679         releasing when the clipboard data gets replaced or emptied.
6680
6681         * event-msw.c (mswindows_wnd_proc): Call it.
6682
6683         * lisp.h, general.c (Qappend): New symbol representing a
6684         `how-to-add' mode.
6685
6686         * select.c (own-selection-internal):
6687         * select.c (selection-exists-p):
6688         * select.c (available-selection-types): New.
6689         * select.c (register-selection-data-type): New.
6690         * select.c (selection-data-type-name): New.  New functions to deal
6691         with device-specific selection data formats.
6692         * select.c (selection-converter-out-alist): Renamed.
6693         * select.c (selection-converter-in-alist): New.
6694         * select.c (selection-appender-alist): New.  Added new alists.
6695         * select.c (syms_of_select, vars_of_select): Added new symbols &
6696         variables.
6697         * select.c (get_local_selection): Split.
6698         * select.c: Removed spurious type checking - selections may now be
6699         of any type, not just strings.
6700         * select.c (own-selection-internal):
6701
6702         * select.h, select.c (convert_selection): New. Created
6703         convert_selection() function based on get_local_selection().
6704         * select.h, select.c (QCF_*): New symbols representing mswindows
6705         clipboard formats.
6706         * select.h, select.c (Qreplace_all, Qreplace_existing): New
6707         symbols representing `how-to-add' modes.
6708
6709         * select-msw.c (x_sym_p): New.
6710         * select-msw.c (symbol_to_ms_cf): New.
6711         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
6712         symbols & clipboard formats. Can also handle string names.
6713         * select-msw.c (mswindows_own_selection):
6714         * select-msw.c (mswindows_selection_exists_p):
6715         Added `data-type' parameter. Use it.
6716         * select-msw.c (mswindows_available_selection_types): New.
6717         * select-msw.c (mswindows_register_selection_data_type): New.
6718         * select-msw.c (mswindows_selection_data_type_name): New.
6719         * select-msw.c (mswindows_own_selection):
6720         * select-msw.c (mswindows_get_foreign_selection):
6721         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
6722         * select-msw.c (console_create_select_mswindows): Added new methods.
6723         * select-msw.c (mswindows_destroy_selection): New.
6724         * select-msw.c (Vhandle_alist): New list.
6725         * select-msw.c (mswindows_own_selection):
6726
6727         * select-x.c (x_own_selection):
6728         * select-x.c (x_selection_exists_p):
6729         * select-x.c: Added some comments about maybe using new
6730         functionality.
6731         * select-x.c (x_own_selection):
6732
6733         * specifier.c: Remove definition of Qappend (now in general.c)
6734         * specifier.c (syms_of_specifier): Remove Qappend.
6735
6736 2000-07-12  Martin Buchholz  <martin@xemacs.org>
6737
6738         * config.h.in: Add socklen_t.
6739
6740         * s/decosf4-0.h: No special compiler flags needed or desired.
6741         In particular, undefine _BSD for DEC OSF 4.0.
6742
6743 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6744
6745         * redisplay-msw.c (msprinter_frame_output_end): Added.
6746         (console_type_create_redisplay_mswindows): Referred the above.
6747
6748         * frame.c (setup_frame_without_minibuffer): Do not create a
6749         default minibuffer frame on a printer device.
6750
6751         * frame-msw.c (apply_dc_geometry): Added.
6752         (msprinter_start_page):
6753         (msprinter_init_frame_3):
6754         (msprinter_eject_page): Use it.
6755
6756         * console-msw.h (struct msprinter_frame): Added pix_left and top,
6757         and removed residual duplex and orientation properties.
6758
6759 2000-07-11  Martin Buchholz  <martin@xemacs.org>
6760
6761         * eval.c (function_argcount): Work around a DEC CC compiler bug.
6762
6763         * unexalpha.c: Remove system prototypes from C sources!
6764
6765 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
6766
6767         * eval.c: Remove references to M-x edit-options in DEFUNs for
6768         `defvar' and `defconst'.
6769
6770 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6771
6772         * config.h.in: Remove SMART_INCLUDE hackery.
6773
6774         PostgreSQL hacking:
6775         * config.h.in: Don't use SMART_INCLUDE.
6776
6777         * postgresql.h: Include libpq-fe.h here.  Fix typo.
6778         * inline.c: Simply #include "postgresql.h"
6779         * postgresql.c:
6780         - Don't use SMART_INCLUDE
6781         - Use simply "const".
6782         - Use standard doc string conventions.
6783         - Use correct type for result of PQstatus.
6784
6785 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6786
6787         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
6788
6789         C++ compilation changes.
6790         * config.h.in (EXTERN_C): Define.
6791         * config.h.in (not): This is also a C++ keyword.
6792         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
6793         * cm.c: Use EXTERN_C.
6794         * redisplay-tty.c: Use EXTERN_C.
6795         * sysdep.c: Use EXTERN_C.  Remove Gould support.
6796
6797 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6798
6799         * general.c: Remove duplicate definition for Qfunction.
6800
6801 2000-07-08  Ben Wing  <ben@xemacs.org>
6802
6803         * device-msw.c (msprinter_init_device):
6804         * device-msw.c (sync_printer_with_devmode):
6805         * device-msw.c (handle_devmode_changes):
6806         * device-msw.c (print_dialog_worker):
6807         * device-msw.c (Fmsprinter_apply_settings):
6808         * device-msw.c (hash_devmode):
6809         * device-msw.c (Fmsprinter_settings_despecialize):
6810         use Qmswindows_tstr, not Qctext.
6811
6812         * vm-limit.c (check_memory_limits):
6813         avoid infinite loop printing warning messages.
6814
6815 2000-07-05  Craig Lanning  <lanning@scra.org>
6816
6817         * Makefile.in.in: Add support for including the Windows resources
6818         when building with the cygwin and mingw targets.
6819
6820         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
6821         not set or not correct.
6822         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
6823         (init_initial_directory): Don't try to use $PWD on the
6824         WIN32_NATIVE target.
6825
6826         * s\cygwin32.h:
6827         [[Add -mwindows to eliminate console window.]] not required --ben
6828         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6829         (MAIL_USE_POP): removed; now handled by configure.
6830
6831         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
6832         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
6833         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6834         (MAIL_USE_POP): removed; now handled by configure.
6835         (ENCAPSULATE_STAT): from Dan Holmsand, added.
6836         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
6837         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
6838         constant string.
6839         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
6840         up from <winsock.h> via systime.h.
6841         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
6842         (getpagesize): from Dan Holmsand, added.
6843         Added #endif which was left dangling by Ben's mega patch; added
6844         comment to help prevent this in the future.
6845
6846         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
6847
6848 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6849
6850         * console-msw.h (struct mswindows_device): Removed unnecessary
6851         cached device geometry values.
6852         Added update_tick and an accessor macro.
6853         (Lisp_Devmode): Added lrecord declaration.
6854         (struct msprinter_device): Contain devmode as a Lisp object.
6855         Added mswindows_get_selected_frame_hwnd();
6856
6857         * console.h (struct console_methods): Indentation nitpicking.
6858
6859         * device-msw.c (mswindows_init_device): Do not initialize geometry
6860         cache. Initialize update tick.
6861         (mswindows_device_system_metrics): Ask the device for its geometry.
6862         (global_free_2_maybe):
6863         (devmode_to_hglobal):
6864         (handle_printer_changes):
6865         (ensure_not_printing):
6866         (print_dialog_worker):
6867         (Fmsprinter_print_setup_dialog):
6868         (Fmsprinter_print_dialog):
6869         (plist_get_margin):
6870         (plist_set_margin):
6871         (Fmsprinter_page_setup_dialog): Added functions.
6872         (sync_printer_with_devmode):
6873         (handle_devmode_changes):
6874         (Fmsprinter_get_settings):
6875         (Fmsprinter_select_settings):
6876         (Fmsprinter_apply_settings):
6877         (allocate_devmode):
6878         (Fmsprinter_settings_copy):
6879         (Fmsprinter_settings_despecialize):
6880         (print_devmode):
6881         (finalize_devmode):
6882         (equal_devmode):
6883         (hash_devmode): Added functions
6884         (syms_of_device_mswindows): Init devmode lrecord class.
6885
6886         * device.h: Added an exfun for find-device.
6887
6888         * event-msw.c (mswindows_wnd_proc): Do not update the cached
6889         geometry; although, recreate the device compatible DC.
6890
6891         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
6892         (msprinter_init_frame_3):
6893         (msprinter_frame_property):
6894         (msprinter_internal_frame_property_p):
6895         (msprinter_frame_properties):
6896         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
6897         print job properties (will move to device settings).
6898
6899         * lisp.h: Added symbols.
6900
6901         * general.c (syms_of_general): Declared them.
6902
6903         * hash.c (string_hash): Added.
6904
6905         * lrecord.h (lrecord_type): Added devmode lrecord type.
6906
6907 2000-07-02  Mike Sperber <mike@xemacs.org>
6908
6909         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
6910         FreeBSD 4.0.
6911
6912 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
6913
6914         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
6915         integer.
6916
6917 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
6918
6919         * data.c (Fstring_to_number): Don't recognize floating point if
6920         base is not 10.
6921
6922 2000-06-22  Martin Buchholz  <martin@xemacs.org>
6923
6924         * glyphs-widget.c (tab_control_query_geometry):
6925         (widget_query_geometry):
6926         (button_query_geometry):
6927         * glyphs.c (text_query_geometry):
6928         Enforce type correctness.
6929
6930 2000-06-18  Martin Buchholz  <martin@xemacs.org>
6931
6932         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
6933         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
6934
6935 2000-06-17  Martin Buchholz  <martin@xemacs.org>
6936
6937         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
6938         conflicts with gcc's fixincluded version of FOO.h.
6939
6940         * glyphs.h (image_instance_geometry): Remove trailing `,'
6941
6942 2000-06-08  Mike Alexander  <mta@arbortext.com>
6943
6944         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
6945         (shove_thread): Don't write the same output twice
6946         (make_ntpipe_output_stream): Increase priority of shove thread
6947         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
6948         chance to run
6949         (ntpipe_shove_closer): Don't delete the pipe until we're done with
6950         it.
6951
6952 2000-06-12  Ben Wing  <ben@xemacs.org>
6953
6954         * s\mingw32.h (sigset):
6955         * s\windowsnt.h (sigset):
6956         rename msw_ to mswindows_ for consistency with general convention.
6957
6958 2000-06-12  Ben Wing  <ben@xemacs.org>
6959
6960         * console-msw.c:
6961         * console-msw.c (mswindows_get_console_hwnd):
6962         * console-msw.c (mswindows_ensure_console_allocated):
6963         * console-msw.c (mswindows_hide_console):
6964         * console-msw.c (mswindows_show_console):
6965         * console-msw.c (mswindows_ensure_console_buffered):
6966         * console-msw.c (mswindows_output_console_string):
6967         * console-msw.c (mswindows_windows9x_p):
6968         * console-msw.h:
6969         * device-msw.c (mswindows_get_workspace_coords):
6970         * device-msw.c (mswindows_device_system_metrics):
6971         * dialog-msw.c (mswindows_popup_dialog_box):
6972         * event-msw.c (mswindows_wnd_proc):
6973         * frame-msw.c (mswindows_size_frame_internal):
6974         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6975         * menubar-msw.c (displayable_menu_item):
6976         * menubar-msw.c (mswindows_char_is_accelerator):
6977         * nt.c:
6978         * nt.c (mswindows_sigset):
6979         * nt.c (mswindows_sigrelse):
6980         * nt.c (mswindows_sigpause):
6981         * nt.c (mswindows_raise):
6982         * nt.c (timer_proc):
6983         * ntproc.c:
6984         * ntproc.c (find_child_console):
6985         * ntproc.c (sys_kill):
6986         * print.c:
6987         * print.c (std_handle_out_external):
6988         * process-nt.c (find_child_console):
6989         * process-nt.c (send_signal_the_95_way):
6990         * process-nt.c (ensure_console_window_exists):
6991         * process-nt.c (nt_create_process):
6992         * syssignal.h:
6993         rename msw_ to mswindows_ for consistency with general convention.
6994
6995         * emacs.c:
6996         * dumper.c:
6997         include nt.h, not syswindows.h.
6998
6999         * nt.c (mswindows_fstat):
7000         * nt.c (mswindows_stat):
7001         prefix mswindows_ instead of attempting to directly override the
7002         library functions.  fix declarations.
7003
7004         * nt.h:
7005         include syswindows.h.  move some sysdep.h stuff here.
7006
7007         * ntheap.h:
7008         include syswindows.h, not <windows.h>.
7009
7010         * ntplay.c:
7011         clean up headers.
7012
7013         * sysdep.c:
7014         clean up headers.
7015
7016         * sysdep.c (sys_fstat):
7017         * sysdep.c (sys_stat):
7018         call mswindows versions when appropriate.
7019
7020         * sysdep.h:
7021         move mswin decls to nt.h.
7022
7023         * syswindows.h:
7024         add long comment describing appropriate use of the various windows
7025         headers.
7026
7027 2000-06-11  Ben Wing  <ben@xemacs.org>
7028
7029         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7030
7031 2000-06-10  Ben Wing  <ben@xemacs.org>
7032
7033         * Makefile.in.in (release):
7034         Correction to make sure xemacs.exe always dumped when correct.
7035
7036         * alloca.c:
7037         * balloon_help.c:
7038         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7039
7040         * buffer.c (set_buffer_internal):
7041         [[[[2]]]]: Remove HAVE_FEP code.
7042
7043         * buffer.c (init_initial_directory):
7044         [3].
7045
7046         * bytecode.c:
7047         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7048         individual files.
7049
7050         * callproc.c:
7051         * callproc.c (call_process_cleanup):
7052         * callproc.c (Fold_call_process_internal):
7053         * callproc.c (child_setup):
7054         * callproc.c (getenv_internal):
7055         * callproc.c (init_callproc):
7056         * callproc.c (vars_of_callproc):
7057         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7058         __CYGWIN32__ -> CYGWIN.
7059         DOS_NT -> WIN32_NATIVE.
7060         Remove MSDOS support/references, converting to WIN32_NATIVE
7061           where correct.
7062         __MINGW32__ -> MINGW.
7063         Fix windows.h includes.
7064         Remove bogus HAVE_NTGUI.
7065
7066         * config.h.in:
7067         [2].
7068
7069         * console-msw.c:
7070         mswindows_message_outputted added for use in allowing startup
7071         errors on the console to be seen.
7072
7073         * console-msw.c (msw_ensure_console_allocated):
7074         * console-msw.c (msw_output_console_string):
7075         * console-msw.c (DHEADER):
7076         * console-msw.c (DOPAQUE_DATA):
7077         * console-msw.c (DEVENT):
7078         * console-msw.c (DCONS):
7079         * console-msw.c (DCONSCDR):
7080         * console-msw.c (DSTRING):
7081         * console-msw.c (DVECTOR):
7082         * console-msw.c (DSYMBOL):
7083         * console-msw.c (DSYMNAME):
7084         Fix warnings.
7085
7086         * console-stream.c (stream_init_console):
7087         Fix text/binary problems.
7088
7089         * device-msw.c:
7090         * device-msw.c (mswindows_finish_init_device):
7091         * device-msw.c (mswindows_delete_device):
7092         [1].
7093
7094         * device.c (handle_asynch_device_change):
7095         [3].
7096
7097         * dgif_lib.c:
7098         * dgif_lib.c (DGifOpenFileName):
7099         * dgif_lib.c (DGifOpenFileHandle):
7100         * dgif_lib.c (DGifGetLine):
7101         * dgif_lib.c (DGifGetPixel):
7102         Added config.h/lisp.h, fix up includes.
7103         [1].
7104
7105         * dired-msw.c:
7106         [4].
7107
7108         * dired.c:
7109         * dired.c (file_name_completion):
7110         * dired.c (Ffile_attributes):
7111         * dired.c (syms_of_dired):
7112         [1].
7113
7114         * dumper.c:
7115         * dumper.c (pdump_file_unmap):
7116         * dumper.c (pdump_load):
7117         [1].
7118
7119         * editfns.c:
7120         * editfns.c (Ftemp_directory):
7121         * editfns.c (user_login_name):
7122         * editfns.c (Fuser_real_login_name):
7123         * editfns.c (get_home_directory):
7124         [1].
7125
7126         * elhash.c (finish_marking_weak_hash_tables):
7127         [[[[5]]]]: Fix GCC warnings.
7128
7129         * emacs.c:
7130         * emacs.c (mswindows_handle_hardware_exceptions):
7131         * emacs.c (make_arg_list_1):
7132         * emacs.c (main_1):
7133         * emacs.c (Fkill_emacs):
7134         * emacs.c (Fdump_emacs):
7135         [1].
7136         Fix problems with nested crashes, add long comment.
7137
7138         * event-Xt.c (init_event_Xt_late):
7139         [1].
7140
7141         * event-msw.c:
7142         * event-msw.c (mswindows_dde_callback):
7143         * event-msw.c (mswindows_handle_sticky_modifiers):
7144         * event-msw.c (mswindows_wnd_proc):
7145         [1].
7146         [5].
7147
7148         * events.c (character_to_event):
7149         [1].
7150
7151         * fileio.c:
7152         * fileio.c (Ffile_name_directory):
7153         * fileio.c (Ffile_name_nondirectory):
7154         * fileio.c (directory_file_name):
7155         * fileio.c (Fexpand_file_name):
7156         * fileio.c (Fsubstitute_in_file_name):
7157         * fileio.c (Ffile_name_absolute_p):
7158         * fileio.c (check_executable):
7159         * fileio.c (Ffile_readable_p):
7160         * fileio.c (Ffile_accessible_directory_p):
7161         * fileio.c (Ffile_modes):
7162         * fileio.c (Funix_sync):
7163         * fileio.c (vars_of_fileio):
7164         [1]. [4].
7165
7166         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7167
7168         Expand getdefdir defn.
7169         Fix bogus rename() comment.
7170
7171         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7172         to use standard XEmacs include files, e.g. sysfile.h, rather
7173         than system-specific includes.
7174
7175         * fns.c:
7176         * fns.c (Fsubseq):
7177         [5]. [6].
7178
7179         * frame.c (vars_of_frame):
7180         [1].
7181
7182         * getloadavg.c:
7183         * getloadavg.c (getloadavg):
7184         [1]. [6].
7185         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7186         (We don't use it elsewhere in the code; just add a comment.)
7187
7188         * gif_io.c:
7189         [6].
7190         Add config.h.
7191
7192         * glyphs-msw.c:
7193         * glyphs-msw.c (mswindows_resource_instantiate):
7194         [1].
7195
7196         * glyphs-x.c (x_native_layout_instantiate):
7197         [5].
7198
7199         * gui-msw.c (Fmswindows_shell_execute):
7200         [1].
7201
7202         * insdel.c:
7203         [4].
7204
7205         * lisp.h:
7206         [4]. [5].
7207
7208         * lread.c (locate_file_in_directory_mapper):
7209         [1].
7210
7211         * lstream.c:
7212         [4].
7213
7214         * mem-limits.h:
7215         * mem-limits.h (get_lim_data):
7216         [1].
7217
7218         * menubar-msw.c:
7219         [4].
7220
7221         * ndir.h:
7222         [1].
7223
7224         * nt.c:
7225         * nt.c (getwd):
7226         * nt.c (closedir):
7227         * nt.c (rva_to_section):
7228         * nt.c (mswindows_executable_type):
7229         [1]. [6].
7230         Fix closedir() defn.
7231
7232         * nt.h:
7233         [[[[8]]]]: *_OK defs moved to sysfile.h.
7234
7235         * ntproc.c:
7236         [6]. [7].
7237
7238         * objects-x.c:
7239         [4].
7240
7241         * print.c:
7242         * print.c (std_handle_out_external):
7243         [1]. [4].
7244
7245         * process-nt.c:
7246         * process-nt.c (nt_create_process):
7247         [6].
7248         try to fix process quoting somewhat.
7249
7250         * process-unix.c (unix_create_process):
7251         [1].
7252
7253         * process.c:
7254         * process.c (vars_of_process):
7255         Add Vnull_device.
7256
7257         * process.h:
7258         [1].
7259
7260         * realpath.c:
7261         * realpath.c (xrealpath):
7262         [1].
7263
7264         * redisplay-tty.c (init_tty_for_redisplay):
7265         [3].
7266
7267         * redisplay.c:
7268         [4]. [6].
7269
7270         * scrollbar-msw.c:
7271         [4].
7272
7273         * sheap.c:
7274         * sheap.c (more_static_core):
7275         * sheap.c (report_sheap_usage):
7276         [5]. [6].
7277
7278         * signal.c:
7279         * signal.c (alarm_signal):
7280         [1]. [6].
7281
7282         * sound.c:
7283         [6].
7284
7285         * strftime.c:
7286         * strftime.c (zone_name):
7287         [1]. [5].
7288
7289         * symsinit.h (init_sunpro):
7290         [1].
7291
7292         * syscommctrl.h:
7293         commctrl.h not in Cygwin b20.1.
7294
7295         * sysdep.c:
7296         * sysdep.c (endif):
7297         * sysdep.c (sys_subshell):
7298         * sysdep.c (init_baud_rate):
7299         * sysdep.c (emacs_get_tty):
7300         * sysdep.c (emacs_set_tty):
7301         * sysdep.c (tty_init_sys_modes_on_device):
7302         * sysdep.c (init_system_name):
7303         * sysdep.c (sys_open):
7304         * sysdep.c (interruptible_open):
7305         * sysdep.c (sys_fopen):
7306         * sysdep.c (sys_mkdir):
7307         * sysdep.c (sys_rename):
7308         * sysdep.c (get_process_times_1):
7309         [1]. [6].
7310
7311         * sysdep.h:
7312         [1].
7313
7314         * sysdir.h:
7315         * sysdir.h (DIRENTRY_NONEMPTY):
7316         [1]. [6].
7317
7318         * sysdll.c (dll_init):
7319         * sysdll.h:
7320         [1].
7321
7322         * sysfile.h:
7323         [1]. [6]. [8].
7324         added text/binary defs.
7325
7326         * sysfloat.h:
7327         [1].
7328
7329         * sysproc.h:
7330         * sysproc.h (EDESTADDRREQ):
7331         * sysproc.h (poll_fds_for_input):
7332         [1]. [6].
7333
7334         * syspwd.h:
7335         [6].
7336
7337         * syssignal.h:
7338         [1].
7339
7340         * systime.h:
7341         [1]. [6].
7342
7343         * systty.h:
7344         [1].
7345
7346         * syswindows.h:
7347         [1].
7348         Always define WIN32_LEAN_AND_MEAN.
7349
7350         * unexcw.c (unexec):
7351         [5].
7352
7353         * unexec.c:
7354         * unexec.c (copy_text_and_data):
7355         * unexec.c (adjust_lnnoptrs):
7356         [1].
7357
7358         * unexnt.c:
7359         * unexnt.c (_start):
7360         [1].
7361
7362 2000-06-07  Ben Wing  <ben@xemacs.org>
7363
7364         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7365         was used only as a model.  We've long since extracted any useful
7366         logic or code out of this. (I just did an exhaustive search.)
7367
7368         * s\msdos.h: Removed.
7369
7370         * s\windows95.h: Removed.
7371
7372 2000-06-10  Ben Wing  <ben@xemacs.org>
7373
7374         * s\cygwin32.h:
7375         [1]. [5].
7376         Don't use extern with fun defs.
7377
7378         * s\mingw32.h:
7379         [1]. [7].
7380         Remove nt\inc include.
7381         Remove getdisk, getdefdir. (The former is unused, the latter
7382         expanded in fileio.h.)
7383
7384         * s\windowsnt.h:
7385         * s\windowsnt.h (WIN32_NATIVE):
7386         * s\windowsnt.h (HAVE_STRCASECMP):
7387         [1]. [7].
7388         Add long comment about preprocessor changes.
7389         Remove getdisk, getdefdir. (The former is unused, the latter
7390         expanded in fileio.h.)
7391
7392 2000-06-10  Ben Wing  <ben@xemacs.org>
7393
7394         * m\arm.h:
7395         * m\delta.h:
7396         * m\intel386.h:
7397         * m\sequent.h:
7398         * m\template.h:
7399         * m\windowsnt.h:
7400         [1].
7401         Remove bogus/unused NO_SOCK_SIGIO.
7402
7403 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7404
7405         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7406         not an Emchar.
7407
7408 2000-06-04  Mike Sperber <mike@xemacs.org>
7409
7410         * casetab.c (set_case_table): For `set-standard-case-table',
7411         actually deposit the new case tables where the rest of XEmacs can
7412         see them.
7413
7414 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7415
7416         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7417
7418 2000-06-05  Ben Wing  <ben@xemacs.org>
7419
7420         * callproc.c (child_setup): Don't do close_load_descs() under
7421         MS Windows.  Put in a comment explaining why.
7422
7423 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7424
7425         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7426         Toolkit shell" which breaks `kill-compilation' on Windows NT
7427         native, retaining STDERR handling improvements.
7428
7429 2000-06-01  Andreas Jaeger  <aj@suse.de>
7430
7431         * s/s390.h: Support for S390, based on a patch by Martin
7432         Schwidefsky <schwidefsky@de.ibm.com>.
7433
7434 2000-05-30  Andy Piper  <andy@xemacs.org>
7435
7436         * window.c (allocate_window):
7437         (make_dummy_parent):
7438         (Fset_window_configuration): use new hashtable type.
7439
7440         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7441         (struct image_instantiator_methods):
7442         (struct Lisp_Image_Instance): make instance geometry signed.
7443
7444         * glyphs.c (instantiate_image_instantiator):
7445         (image_instance_query_geometry):
7446         (image_instance_layout):
7447         (image_instance_layout):
7448         (query_string_geometry):
7449         (text_query_geometry):
7450         (image_instantiate):
7451         (image_instantiate):
7452         (cache_subwindow_instance_in_frame_maybe):
7453         (subwindow_query_geometry): make instance geometry signed.
7454
7455         * glyphs-widget.c (widget_query_geometry):
7456         (widget_layout):
7457         (button_query_geometry):
7458         (tree_view_query_geometry):
7459         (tab_control_query_geometry):
7460         (layout_query_geometry):
7461         (layout_layout):
7462         (native_layout_layout): make instance geometry signed.
7463
7464 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7465
7466         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7467         constant.
7468
7469         * general.c (syms_of_general): Add Qfull_assoc symbol.
7470
7471         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7472         correctly.
7473         (decode_weak_list_type): Decode full-assoc type.
7474         (encode_weak_list_type): Encode full-assoc type.
7475         (Fmake_weak_list): Update doc string.
7476
7477 2000-05-30  Andy Piper  <andy@xemacs.org>
7478
7479         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7480
7481         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7482         (decode_hash_table_weakness): ditto.
7483         (Fhash_table_weakness): ditto.
7484         (Fhash_table_type): ditto.
7485         (finish_marking_weak_hash_tables): ditto.
7486         (hash_table_weakness_validate): ditto.
7487         (syms_of_elhash): ditto.
7488
7489 2000-05-28  Martin Buchholz <martin@xemacs.org>
7490
7491         * XEmacs 21.2.34 is released.
7492
7493 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7494
7495         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7496         start cache.
7497         (updating_line_start_cache): Gone.
7498         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7499         generic code to force a minimum of 1 line laid out in the
7500         CMOTION_DISP case.
7501
7502 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7503
7504         * glyphs.c (instantiate_image_instantiator): Check for initialized
7505         height & width no longer special cases IMAGE_NOTHING.
7506         (nothing_instantiate): Set height and width of instance.
7507
7508 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7509
7510         * unexelf.c (unexec): Search for ".data" section.
7511         Initialize new_data2_offset from old_data_index.
7512         Remove redundant check for ElfW.
7513
7514 2000-05-23  Andy Piper  <andy@xemacs.org>
7515
7516         * glyphs.c (get_image_instantiator_governing_domain): allow more
7517         specific domains as the governing domain rather than expecting an
7518         exact match. This fixes problems with layouts.
7519
7520 2000-05-22  Andy Piper  <andy@xemacs.org>
7521
7522         * redisplay-output.c (compare_runes): check for non-images
7523
7524         * glyphs.c (set_glyph_dirty_p): ditto.
7525         (update_glyph_cachel_data): ditto.
7526
7527         * glyphs-widget.c (layout_post_instantiate): ditto.
7528         (layout_post_instantiate): ditto.
7529
7530         * event-msw.c (mswindows_wnd_proc): warning removal.
7531
7532 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7533
7534         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7535
7536         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7537
7538         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7539
7540         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7541         (mswindows_executable_type): mingw32 now has enough headers for
7542         this to work.
7543
7544 2000-05-20  Andy Piper  <andy@xemacs.org>
7545
7546         * console-msw.c (mswindows_output_last_error): ; -> ,
7547
7548 2000-05-12  Andy Piper  <andy@xemacs.org>
7549
7550         * console-msw.c (FROB): compare ints with ints.
7551
7552 2000-05-11  Andy Piper  <andy@xemacs.org>
7553
7554         * glyphs-x.c (x_finalize_image_instance): make minimal build
7555         happy.
7556
7557 2000-05-20  Ben Wing  <ben@xemacs.org>
7558
7559         * event-Xt.c:
7560         * event-Xt.c (vars_of_event_Xt):
7561         move modifier-keys-are-sticky to event-stream.c.
7562
7563         * event-msw.c:
7564         * event-msw.c (mswindows_enqueue_mouse_button_event):
7565         * event-msw.c (key_needs_default_processing_p):
7566         * event-msw.c (XEMSW_LCONTROL):
7567         * event-msw.c (mswindows_handle_sticky_modifiers):
7568         * event-msw.c (FROB):
7569         * event-msw.c (clear_sticky_modifiers):
7570         * event-msw.c (output_modifier_keyboard_state):
7571         * event-msw.c (output_alt_keyboard_state):
7572         * event-msw.c (mswindows_wnd_proc):
7573         * event-msw.c (mswindows_modifier_state):
7574         * event-msw.c (emacs_mswindows_handle_magic_event):
7575         implement sticky modifiers.
7576
7577         * event-stream.c:
7578         * event-stream.c (vars_of_event_stream):
7579         move modifier-keys-are-sticky here.
7580
7581         * lisp.h:
7582         add CHECK_FUNCTION.
7583
7584         * rangetab.c:
7585         implement map-range-table.
7586
7587
7588 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7589
7590         * redisplay-tty.c (reset_tty_modes):
7591         (tty_redisplay_shutdown): Adjust argument type to
7592         tty_frame_output_end.
7593
7594 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7595
7596         * eval.c (Fbacktrace): Don't output a line with only right
7597         parenthesis.
7598
7599 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
7600
7601         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
7602         (Fpq_reset_poll): Ditto.
7603
7604 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
7605
7606         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
7607
7608 2000-05-16  Ben Wing  <ben@xemacs.org>
7609
7610         * buffer.c:
7611         * buffer.c (dfc_convert_to/from_internal_format):
7612         * buffer.c (reinit_vars_of_buffer):
7613         Fix conversion functions to allow reentrancy.
7614
7615         * console-msw.c:
7616         * console-msw.c (mswindows_output_last_error):
7617         New fun, generally useful -- output a human-readable
7618         version of GetLastError() on the console.
7619
7620         * console-msw.h:
7621         * console-msw.h (struct mswindows_frame):
7622         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
7623
7624         * console-stream.c (stream_output_begin):
7625         * console-stream.c (stream_output_end):
7626         * console-stream.c (stream_output_vertical_divider):
7627         * console-stream.c (stream_clear_region):
7628         * console-stream.c (stream_flash):
7629         * console-stream.c (console_type_create_stream):
7630         Delete blank stream methods, not needed.
7631
7632         * console.h (struct console_methods):
7633         Split begin/end methods into window and frame.
7634
7635         * event-msw.c:
7636         * event-msw.c (mswindows_handle_paint):
7637         * event-msw.c (output_alt_keyboard_state):
7638         * event-msw.c (mswindows_wnd_proc):
7639         * event-msw.c (vars_of_event_mswindows):
7640         Comment about problems with ignored-expose.
7641         Define mswindows-debug-events; not really implemented.
7642
7643         * frame-msw.c (mswindows_init_frame_1):
7644         random cleanups.
7645
7646         * glyphs-msw.c:
7647         * glyphs-msw.c (begin_defer_window_pos):
7648         * glyphs-msw.c (mswindows_unmap_subwindow):
7649         * glyphs-msw.c (mswindows_map_subwindow):
7650         * glyphs-msw.c (mswindows_resize_subwindow):
7651         Use DeferWindowPos to reduce flashing when mapping/unmapping.
7652
7653         * glyphs.c (make_image_instance_1):
7654         Fix crash.
7655
7656         * gutter.c (Fredisplay_gutter_area):
7657         Use new begin/end methods.
7658
7659         * lisp.h (Dynarr_new2):
7660         New creation fun.
7661
7662         * redisplay-msw.c:
7663         * redisplay-msw.c (mswindows_frame_output_begin):
7664         * redisplay-msw.c (mswindows_frame_output_end):
7665         * redisplay-msw.c (console_type_create_redisplay_mswindows):
7666         New begin/end methods -- handle DeferWindowPos.
7667
7668         * redisplay-output.c (redisplay_move_cursor):
7669         * redisplay-output.c (redraw_cursor_in_window):
7670         * redisplay-output.c (redisplay_update_line):
7671         * redisplay-output.c (redisplay_output_window):
7672         New begin/end methods.
7673
7674         * redisplay-tty.c:
7675         * redisplay-tty.c (tty_frame_output_begin):
7676         * redisplay-tty.c (tty_frame_output_end):
7677         * redisplay-tty.c (console_type_create_redisplay_tty):
7678         New begin/end methods.
7679
7680         * redisplay-x.c:
7681         * redisplay-x.c (x_window_output_begin):
7682         * redisplay-x.c (x_window_output_end):
7683         * redisplay-x.c (console_type_create_redisplay_x):
7684         New begin/end methods.
7685
7686         * redisplay.c (redisplay_frame):
7687         * redisplay.c (Fredisplay_echo_area):
7688         New begin/end methods.
7689         use MAYBE_DEVMETH for clear_frame; it may not exist.
7690
7691         * window.h (WINDOW_XFRAME):
7692         WINDOW_XFOO macros -- get locale and decode struct pointer.
7693
7694
7695 2000-05-12  Ben Wing  <ben@xemacs.org>
7696
7697         * emacs.c:
7698         * emacs.c (ensure_no_quitting_from_now_on):
7699         * emacs.c (fatal_error_signal):
7700         * emacs.c (mswindows_handle_hardware_exceptions):
7701         * emacs.c (main):
7702         * emacs.c (Fkill_emacs):
7703         * emacs.c (shut_down_emacs):
7704         * emacs.c (assert_failed):
7705         various improvements in fatal error handling.
7706
7707         * eval.c:
7708         move preparing_for_armageddon to emacs.c.
7709
7710         * lisp.h:
7711         declare fatal_error_in_progress.
7712
7713         * print.c:
7714         * print.c (std_handle_out_external):
7715         * print.c (std_handle_out_va):
7716         * print.c (stderr_out):
7717         * print.c (stdout_out):
7718         use console under mswin when no standard output.
7719         don't do code conversion during fatal error.
7720
7721         * scrollbar.c (Fscrollbar_page_up):
7722         * scrollbar.c (Fscrollbar_page_down):
7723         fix missing else.  reindent.
7724
7725 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
7726
7727         Emergency fix.
7728
7729         * glyphs.h (GLYPH_CACHEL_DESCENT):
7730         (GLYPH_CACHEL_DESCENT):
7731         (GLYPH_CACHEL_DESCENT):
7732         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
7733         used in case these are inline functions.
7734         Use more absurd values to error check.
7735
7736         include window.h for error check functions.
7737
7738 2000-05-11  Ben Wing  <ben@xemacs.org>
7739
7740         * cmdloop.c (Freally_early_error_handler):
7741         Display message box under windows; otherwise, message will disappear
7742         before it can be viewed.
7743
7744         * console-msw.c:
7745         * console-msw.c (Fmswindows_message_box):
7746         * console-msw.c (FROB):
7747         * console-msw.c (syms_of_console_mswindows):
7748         Define new fun `mswindows-message-box'.
7749         #### I will merge this into `popup-dialog-box'; just give me
7750         a bit of time.
7751
7752         * general.c:
7753         * general.c (syms_of_general):
7754         Some new symbols used in `mswindows-message-box'.
7755
7756         * glyphs.c:
7757         * glyphs.c (Fset_image_instance_property):
7758         put warning in this fun.
7759
7760         * glyphs.h:
7761         * glyphs.h (GLYPH_CACHEL_WIDTH):
7762         * glyphs.h (GLYPH_CACHEL_ASCENT):
7763         * glyphs.h (GLYPH_CACHEL):
7764         * glyphs.h (GLYPH_CACHEL_GLYPH):
7765         define error-checking versions to try to catch a bug i've seen --
7766         redisplay gets in an infinite loop because the glyph width of the
7767         continuation glyph is 65535.
7768
7769         * lisp.h:
7770         Extern message-box stuff.
7771
7772         * window.c (allocate_window):
7773         * window.c (make_dummy_parent):
7774         * window.c (Fset_window_configuration):
7775         Use EQUAL not EQ for subwindow caches to make them work a bit
7776         better. (Something is still very broken.)
7777
7778
7779 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7780
7781         * glyphs.c (image_instantiate): Suppress gcc warnings.
7782         (Fmake_image_instance): Fix doc string.
7783         * specifier.c (Fmake_specifier): Ditto.
7784
7785 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
7786
7787         * paths.h.in (PATH_LOCK): Removed.
7788         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
7789         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
7790
7791 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7792
7793         * fns.c (Ffeaturep): Update e-mail address in doc-string.
7794         Document (featurep '(and xemacs 21.02)).
7795
7796 2000-05-09  Ben Wing  <ben@xemacs.org>
7797
7798         * buffer.c (complex_vars_of_buffer):
7799         update modeline-format doc.
7800
7801         * device.h:
7802         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
7803
7804         * emacs.c:
7805         timeline of all released versions of Emacs, for use in creating
7806         authorship comments and in synching up.
7807
7808         * glyphs-widget.c (image_instantiator_buttons):
7809         * glyphs-widget.c (image_instantiator_edit_fields):
7810         * glyphs-widget.c (image_instantiator_combo_box):
7811         * glyphs-widget.c (image_instantiator_scrollbar):
7812         * glyphs-widget.c (image_instantiator_progress_guage):
7813         * glyphs-widget.c (image_instantiator_tree_view):
7814         * glyphs-widget.c (image_instantiator_tab_control):
7815         * glyphs-widget.c (image_instantiator_labels):
7816         * glyphs-widget.c (image_instantiator_layout):
7817         * glyphs-widget.c (image_instantiator_native_layout):
7818         rename decode_domain method to governing_domain.
7819
7820         * glyphs.c:
7821         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
7822         * glyphs.c (add_entry_to_device_ii_format_list):
7823         make sure we don't put an entry more than once into the list.
7824         * glyphs.c (check_instance_cache_mapper):
7825         *************************************************************
7826         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7827         HAVE BEEN GETTING.
7828         *************************************************************
7829         * glyphs.c (get_image_instantiator_governing_domain):
7830         clean up, expand on new concept of governing domain.
7831         * glyphs.c (instantiate_image_instantiator):
7832         * glyphs.c (allocate_image_instance):
7833         use governing_domain instead of cache_domain in naming.
7834         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
7835         * glyphs.c (make_image_instance_1):
7836         * glyphs.c (Fmake_image_instance):
7837         allow for any domain (not just device), and process the
7838         governing domain correctly.  very big doc fix.
7839         * glyphs.c (Fimage_instance_domain):
7840         new primitive, to retrieve the governing domain of an image instance.
7841         * glyphs.c (image_instantiate):
7842         use new governing_domain stuff.  this fixes a crash you could get
7843         by instantiating certain widget glyphs in frame locales. (should
7844         signal an error instead of crashing.)
7845         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
7846         * glyphs.c (Fglyphp): clean up doc.
7847         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
7848         * glyphs.c (syms_of_glyphs):
7849         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
7850         * glyphs.c (image_instantiator_format_create): add some comments about
7851         bogus code.
7852         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
7853         for current-display-table. (Apparently Hrjove implemented in 1998 a
7854         design I wrote up in 1996, but didn't update the doc string.)
7855
7856         * glyphs.h: clean up a doc string.
7857         * glyphs.h (governing_domain):
7858         * glyphs.h (struct image_instantiator_methods):
7859         changes for governing_domain stuff.
7860
7861         * gutter.c:
7862         * gutter.c (Fgutter_specifier_p):
7863         * gutter.c (Fgutter_size_specifier_p):
7864         * gutter.c (Fgutter_visible_specifier_p):
7865         * objects.c:
7866         * objects.c (Fcolor_specifier_p):
7867         * objects.c (Ffont_specifier_p):
7868         * objects.c (Fface_boolean_specifier_p):
7869         doc strings moved to make-*-specifier.
7870
7871         * redisplay.c (add_disp_table_entry_runes_1):
7872         * redisplay.c (generate_fstring_runes):
7873         * redisplay.c (screen):
7874         add random comments and doc strings.
7875
7876         * specifier.c:
7877         * specifier.c (Fmake_specifier):
7878         major overhaul of this doc string.
7879
7880         * specifier.c (Fvalid_specifier_domain_p):
7881         comment about the bogosity of image instances being domains.
7882         * specifier.c (decode_domain):
7883         now non-static, used in glyphs.c.
7884         * specifier.c (specifier_instance):
7885         comment about the bogosity of image instances being domains.
7886         * specifier.c (Fgeneric_specifier_p):
7887         move doc string to make-generic-specifier.
7888         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
7889         rebackslashify.
7890
7891         * specifier.h:
7892         * specifier.h (DOMAIN_FRAME):
7893         * specifier.h (DOMAIN_LIVE_P):
7894         * specifier.h (DOMAIN_XDEVICE):
7895         rebackslashify.
7896         add comments about problems with these macros.
7897         prototype for decode_domain.
7898
7899         * toolbar.c:
7900         * toolbar.c (Ftoolbar_specifier_p):
7901         move doc string to `make-toolbar-specifier'.
7902
7903         * window.c (window_unmap_subwindows_cache_mapper):
7904         *************************************************************
7905         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7906         HAVE BEEN GETTING.
7907         *************************************************************
7908
7909 2000-05-09  Andy Piper  <andy@xemacs.org>
7910
7911         * glyphs.h: declare reset_frame_subwindow_instance_cache.
7912
7913         * window.c (Fset_window_configuration): reset the frame subwindow
7914         cache and re-initialize the window subwindow caches.
7915
7916         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
7917
7918 2000-05-09  Ben Wing  <ben@xemacs.org>
7919
7920         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
7921         DWORD.
7922
7923 2000-04-26  Mike Woolley  <mike@bulsara.com>
7924
7925         * ntheap.c: Changed recreate_heap to limit the amount reserved
7926         for the heap to that which is actually available. Also now
7927         displays a message box (with some dignostics) in the event that
7928         it still can't start.
7929
7930 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
7931
7932         * callproc.c (Fold_call_process_internal): GCPRO path
7933
7934 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
7935
7936         Patch by Bill Perry.
7937
7938         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
7939         back data instead of #ifdef.
7940         (Fscrollbar_page_down): ditto.
7941
7942 2000-05-07  Ben Wing  <ben@xemacs.org>
7943
7944         * buffer.h:
7945         Kludge for defining Qmswindows_tstr.
7946
7947         * nt.c:
7948         * nt.c (open_input_file):
7949         * nt.c (open_output_file):
7950         * nt.c (rva_to_section):
7951         * nt.c (mswindows_executable_type):
7952         Move all memory-mapped-file routines here (some were in unexnt.c,
7953         which is bad because they are used by process-nt.c, and unexnt
7954         won't be around when portable dumping).  Synched the above routines
7955         with FSF 20.6.
7956
7957         * nt.h:
7958         Removed ifdef'd out bogus code.
7959         Fixed some prototypes.
7960
7961         * nt.h (file_data):
7962         * nt.h (OFFSET_TO_RVA):
7963         * nt.h (RVA_TO_OFFSET):
7964         * nt.h (RVA_TO_PTR):
7965         Moved the memory-mapped-file structures, macros and prototypes
7966         here, to parallel nt.c.  ntheap.h should really be removed
7967         entirely, and it's a non-portable-dumper specific file.
7968
7969         * ntheap.h (round_to_next):
7970         Moved the memory-mapped-file structures, macros and prototypes
7971         to nt.h.
7972
7973         * ntproc.c (compare_env):
7974         Moved rva_to_section and mswindows_executable_type to nt.c.
7975         Moved compare_env to process-nt.c.
7976         ntproc.c will die, one day.
7977
7978         * ntproc.c (sys_spawnve):
7979         Account for win32_ -> mswindows_.
7980
7981         * process-nt.c:
7982         * process-nt.c (struct nt_process_data):
7983         * process-nt.c (ensure_console_window_exists):
7984         * process-nt.c (compare_env):
7985         * process-nt.c (nt_create_process):
7986         * process-nt.c (nt_kill_process_by_pid):
7987         * process-nt.c (syms_of_process_nt):
7988         * process-nt.c (vars_of_process_nt):
7989         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
7990         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
7991         changes).  Eliminate our old `nt-quote-process-args' mechanism.
7992         Synch up nt_create_process with FSF 20.6 sys_spawnve.
7993         Move compare_env here from ntproc.c.
7994
7995         * process.c (Fprocess_send_region):
7996         Takes an optional fourth argument, BUFFER, which should fix some
7997         problems with call-process.
7998
7999         * syscommctrl.h:
8000         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8001
8002         * syswindows.h:
8003         Move ICC_BAR_CLASSES to syscommctrl.h.
8004         Add preliminary macros for MSWindows/Mule.  More to come.
8005
8006         * unexnt.c:
8007         * unexnt.c (unexec):
8008         open_output_file moved to nt.c.
8009
8010
8011 2000-05-05  Andy Piper  <andy@xemacs.org>
8012
8013         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8014         instance from the frame cache also since GC may catch up too late
8015         to make frame deletion sane.
8016
8017 2000-05-04  Andy Piper  <andy@xemacs.org>
8018
8019         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8020         (x_finalize_image_instance): ungcpro on deletion.
8021
8022         * glyphs.c (image_instantiator_format_create): give pointers a
8023         query geometry method so that the geometry is at least set.
8024
8025         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8026         initialize layouts if using widgets.
8027
8028 2000-05-03  Andy Piper  <andy@xemacs.org>
8029
8030         * nt.c: remove bogus reference to sysmmsystem.h
8031
8032         * gui-x.c (popup_selection_callback): fix no selection abort.
8033
8034 2000-05-02  Andy Piper  <andy@xemacs.org>
8035
8036         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8037         (mswindows_widget_instantiate): ditto.
8038
8039         * glyphs-widget.c (initialize_widget_image_instance): initialize
8040         children correctly.
8041         (widget_instantiate): cope with children and items in the same
8042         instance.
8043
8044         * glyphs.c (mark_image_instance): cope with children as a first
8045         class member.
8046         (image_instance_equal): ditto.
8047         (image_instance_hash): ditto.
8048         (image_instance_changed): ditto.
8049
8050 2000-04-30  Andy Piper  <andy@xemacs.org>
8051
8052         * glyphs.c (subwindow_query_geometry): new function. Return some
8053         defaults.
8054         (subwindow_instantiate): don't assign dimensions if none have been
8055         given.
8056         (image_instantiator_format_create): add subwindow_query_geometry.
8057         (print_image_instance): cope with layouts as widgets.
8058
8059 2000-04-29  Andy Piper  <andy@xemacs.org>
8060
8061         * frame.c (delete_frame_internal): call
8062         free_frame_subwindow_instance_cache so that all subwindows are
8063         finalized before their parent.
8064         (mark_frame): remove subwindow_cachels.
8065         (Fmake_frame): remove subwindow_cachel manipulation.
8066         (allocate_frame_core): subwindow_instance_cache is a weak list.
8067         (delete_frame_internal): set subwindow_instance_cache to nil.
8068
8069         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8070         finalization safe.
8071         (mswindows_finalize_image_instance): use the device
8072         not the domain as the domain may have died already.
8073
8074         * glyphs-x.c (x_finalize_image_instance): ditto.
8075         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8076         HEIGHT.
8077
8078         * redisplay-output.c (redisplay_unmap_subwindows): update for
8079         subwindow instance cache as a weak list.
8080         (redisplay_unmap_subwindows_maybe): ditto.
8081         (redisplay_unmap_subwindows_except_us): ditto.
8082
8083         * glyphs.c (unmap_subwindow): error checking will check the domain
8084         so don't deal with it here. Don't use cachels anymore.
8085         (map_subwindow): ditto.
8086         (update_subwindow_cachel_data): remove old accessor names.
8087         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8088         (Fresize_subwindow): don't update cachel.
8089         (mark_subwindow_cachels):
8090         (update_subwindow_cachel_data):
8091         (add_subwindow_cachel):
8092         (get_subwindow_cachel_index):
8093         (update_subwindow_cachel):
8094         (reset_subwindow_cachels):
8095         (mark_subwindow_cachels_as_not_updated): deleted.
8096         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8097         subwindow instance to the frame cache.
8098         (find_matching_subwindow): update for subwindow instance cache as
8099         a weak list.
8100         (update_widget_instances): ditto.
8101         (image_instance_type_to_mask):inlined.
8102         (free_frame_subwindow_instance_cache): new function. finalize all
8103         subwindows that are instantiated.
8104
8105         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8106         of cachel information.
8107         (IMAGE_INSTANCE_DISPLAY_X):
8108         (IMAGE_INSTANCE_DISPLAY_Y):
8109         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8110         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8111         (XIMAGE_INSTANCE_DISPLAY_X):
8112         (XIMAGE_INSTANCE_DISPLAY_Y):
8113         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8114         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8115         remove subwindow_cachel structure and function references.
8116         (image_instance_type_to_mask): inline from glyphs.c
8117
8118         * redisplay.c (redisplay_frame): remove subwindow_cachel
8119         references.
8120
8121         * frame.h (struct frame): remove subwindow_cachels.
8122         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8123
8124         * frameslots.h: add subwindow_instance_cache.
8125
8126         * window.c (replace_window): check subwindow cache of replacement.
8127         (window_unmap_subwindows_cache_mapper):
8128         (window_unmap_subwindows): new functions. Unmap all subwindows
8129         cached on this window.
8130         (mark_window_as_deleted): unmap all subwindows.
8131
8132 2000-04-27  Andy Piper  <andy@xemacs.org>
8133
8134         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8135
8136         * glyphs-widget.c (widget_layout): return something.
8137         (layout_layout): return something. Fail if not initialized.
8138         (layout_query_geometry): ditto.
8139         (image_instantiator_native_layout): new function. Initialized the
8140         native layout type.
8141         (widget_instantiate): don't do layout stuff here.
8142
8143         * glyphs.c (instantiate_image_instantiator): reorded calling or
8144         instantiate and post_instantiate with layout in between.
8145         (image_instance_layout): be more selective about deciding whether
8146         the layout has been done or not.
8147
8148         * glyphs.h (struct image_instantiator_methods): return a value
8149         from layout_method.
8150
8151 2000-04-26  Andy Piper  <andy@xemacs.org>
8152
8153         * glyphs.c (allocate_image_instance): make initial width and
8154         height unspecified. Set initialized to 0.
8155
8156         * syscommctrl.h new file. Encapsulates commctrl.h.
8157
8158         * syswindows.h new file. Encapsulates windows.h.
8159
8160         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8161         * nt.c: ditto.
8162         * console-msw.h: ditto.
8163
8164         * redisplay-tty.c (tty_output_display_block): remove layout references.
8165
8166         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8167         window handle rather than just the frame.
8168
8169         * glyphs.c (mark_image_instance): remove layout references.
8170         (print_image_instance): ditto.
8171         (image_instance_equal): ditto.
8172         (image_instance_hash): ditto.
8173         (decode_image_instance_type): ditto.
8174         (encode_image_instance_type): ditto.
8175         (image_instantiate): ditto.
8176         (allocate_glyph): ditto.
8177         (Fimage_instance_height): ditto.
8178         (Fimage_instance_width): ditto.
8179         (update_subwindow): ditto.
8180
8181         * redisplay-x.c (x_output_display_block): recode for layouts as
8182         widgets.
8183
8184         * redisplay-output.c (redisplay_output_layout): recode for layouts
8185         as widgets.
8186         (compare_runes): remove layout references.
8187
8188         * redisplay-msw.c (mswindows_output_display_block): recode for
8189         layouts as widgets.
8190
8191         * glyphs-widget.c (image_instantiator_layout): remove
8192         layout_possible_dest_types.
8193         (layout_possible_dest_types): deleted.
8194
8195         * glyphs.h (image_instance_type): remove layout references.
8196         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8197         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8198         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8199
8200 2000-04-25  Andy Piper  <andy@xemacs.org>
8201
8202         * glyphs-widget.c (image_instantiator_buttons):
8203         (image_instantiator_edit_fields):
8204         (image_instantiator_combo_box):
8205         (image_instantiator_scrollbar):
8206         (image_instantiator_progress_guage):
8207         (image_instantiator_tree_view):
8208         (image_instantiator_tab_control):
8209         (image_instantiator_labels):
8210         (image_instantiator_layout): call default post_instantiate method.
8211         (widget_post_instantiate): new function. Simply lays out the
8212         widgets.
8213
8214         * glyphs.h (struct image_instantiator_methods): add
8215         post_instantiate method.
8216
8217         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8218         method calls.
8219
8220 2000-04-23  Andy Piper  <andy@xemacs.org>
8221
8222         * glyphs.h (struct image_instantiator_methods): add
8223         decode_domain_method.
8224         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8225         derived from the domain.
8226         (IMAGE_INSTANCE_FRAME): new accessor.
8227         (XIMAGE_INSTANCE_FRAME): ditto.
8228
8229         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8230         instead of _SUBWINDOW_FRAME.
8231         (finalize_image_instance): ditto.
8232         (Fimage_instance_foreground): ditto.
8233         (Fimage_instance_background): ditto.
8234         (image_instantiate): ditto.
8235         (update_subwindow_cachel): ditto.
8236         (update_subwindow): ditto.
8237         (unmap_subwindow): ditto.
8238         (map_subwindow): ditto
8239         (subwindow_instantiate): ditto.
8240         * glyphs-msw.c (mswindows_update_widget): ditto.
8241         (mswindows_progress_gauge_instantiate): ditto.
8242         (mswindows_tab_control_update): ditto.
8243         * glyphs-x.c (x_update_widget): ditto.
8244         (x_widget_instantiate): ditto.
8245         (x_tab_control_instantiate): ditto.
8246         (x_tab_control_update): ditto.
8247         * event-msw.c (mswindows_wnd_proc): ditto
8248
8249         * glyphs-widget.c (image_instantiator_layout): use
8250         subwindow_decode_domain.
8251         (image_instantiator_buttons): ditto.
8252         (image_instantiator_edit_fields): ditto.
8253         (image_instantiator_combo_box): ditto.
8254         (image_instantiator_scrollbar): ditto.
8255         (image_instantiator_progress_guage): ditto.
8256         (image_instantiator_tree_view): ditto.
8257         (image_instantiator_tab_control): ditto.
8258         (image_instantiator_labels): ditto.
8259         (image_instantiator_layout): ditto.
8260
8261         * glyphs.c: add instance error checking to many functions.
8262         (instantiate_image_instantiator): decode device from cache_domain.
8263         (image_instantiate): partially rewrite by using
8264         decode_image_instantiator_domain to determine what domain the
8265         instance needs to be cached in.
8266         (decode_image_instantiator_domain): new function. Determine what
8267         domain the image needs to be cached in.
8268         (check_window_subwindow_cache): new error checking function.
8269         (check_instance_cache_mapper): ditto.
8270         (check_image_instance_structure): ditto.
8271         (subwindow_decode_domain): new function. Encodes a window as a
8272         subwindow's cache domain.
8273         (image_instantiator_format_create): use it for text and
8274         subwindows.
8275
8276 2000-04-21  Andy Piper  <andy@xemacs.org>
8277
8278         * glyphs.c (image_instance_device): new function.
8279         (image_instance_frame): new function.
8280         (image_instance_window): new function.
8281         (image_instance_live_p): new function.
8282
8283         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8284         cache to nil.
8285
8286         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8287         (IMAGE_INSTANCE_DOMAIN): new accessor.
8288         (XIMAGE_INSTANCE_DOMAIN): ditto.
8289
8290         * glyphs-x.c (x_finalize_image_instance): device->domain.
8291
8292         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8293         (mswindows_finalize_image_instance): ditto.
8294
8295         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8296         (gif_instantiate): ditto.
8297         (png_instantiate): ditto.
8298         (tiff_instantiate): ditto.
8299
8300         * glyphs.c (instantiate_image_instantiator): use domain rather
8301         than device.
8302         (mark_image_instance): device -> domain.
8303         (print_image_instance): ditto.
8304         (finalize_image_instance): ditto.
8305         (image_instance_equal): ditto.
8306         (allocate_image_instance): ditto.
8307         (Fcolorize_image_instance): ditto.
8308         (query_string_geometry): ditto.
8309         (image_instantiate): ditto
8310         (query_string_font): ditto.
8311         (image_instantiate): ditto.
8312         (update_subwindow): ditto.
8313         (unmap_subwindow): ditto.
8314         (map_subwindow): ditto.
8315         (subwindow_instantiate): ditto.
8316
8317         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8318         (DOMAIN_FRAME): ditto.
8319         (DOMAIN_WINDOW): ditto.
8320         (DOMAIN_LIVE_P): ditto.
8321         (XDOMAIN_DEVICE): ditto.
8322         (XDOMAIN_FRAME): ditto.
8323         (XDOMAIN_WINDOW): ditto.
8324
8325         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8326         a valid specifier domain.
8327
8328 2000-04-19  Andy Piper  <andy@xemacs.org>
8329
8330         * glyphs-widget.c (syms_of_glyphs_widget): remove
8331         widget-callback-current-channel.
8332         (vars_of_glyphs_widget): ditto.
8333         * glyphs.h: ditto
8334
8335         * gui.c (get_gui_callback): revert to previous behaviour.
8336
8337 2000-04-18  Andy Piper  <andy@xemacs.org>
8338
8339         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8340         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8341         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8342
8343         * glyphs.c (image_instance_equal): add margin_width.
8344         (image_instance_hash): ditto.
8345
8346         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8347         (layout_query_geometry): ditto.
8348         (layout_layout): ditto.
8349         (syms_of_glyphs_widget): add margin-width.
8350         (image_instantiator_layout): allow margin-width.
8351
8352         * glyphs.c (update_widget_instances): make a normal function.
8353         (syms_of_glyphs): remove Qupdate_widget_instances.
8354         * glyphs.h: ditto.
8355
8356         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8357         so that we don't corrupt ideas about the last event or
8358         command. Remove widget-callback-current-channel fiddling.
8359         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8360
8361 2000-05-01  Martin Buchholz <martin@xemacs.org>
8362
8363         * XEmacs 21.2.33 is released.
8364
8365 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8366
8367         * make-src-depend: Allow dots in header file name.
8368
8369 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8370
8371         * mule-charset.h (struct charset_lookup): Add
8372         next_allocated_1_byte_leading_byte and
8373         next_allocated_2_byte_leading_byte.
8374         * mule-charset.c: Move above two variables so that those values
8375         will be dumped.
8376
8377 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8378
8379         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8380         when string length is zero.
8381         (find_charsets_in_emchar_string): Ditto.
8382
8383 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8384
8385         * lisp.h: extern Qdialog and Qmenubar.
8386
8387         * gui-x.c: added events.h.
8388                 also fixed typo which made the file uncompilable.
8389
8390         * general.c: Added Qmenubar and Qdialog
8391
8392 2000-04-28  Ben Wing  <ben@xemacs.org>
8393
8394         * frame-msw.c (mswindows_init_frame_1):
8395         * frame-msw.c (mswindows_mark_frame):
8396         * event-msw.c (mswindows_enqueue_dispatch_event):
8397         * console-msw.h:
8398         * console-msw.h (struct mswindows_frame):
8399         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8400         there are now three hash tables for callbacks.
8401         mswindows_enqueue_dispatch_event is no longer static.
8402
8403         * dialog-x.c (maybe_run_dbox_text_callback):
8404         * dialog-x.c (dbox_descriptor_to_widget_value):
8405         switch to new cons3 form for callbacks.
8406
8407         * glyphs-msw.c (mswindows_register_gui_item):
8408         * glyphs-msw.c (mswindows_widget_instantiate):
8409         * glyphs-msw.c (add_tree_item):
8410         * glyphs-msw.c (add_tab_item):
8411         new image instance parameter, so it can be passed to callback-ex.
8412         respect :callback-ex as well as :callback.
8413
8414         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8415         add :callback-ex.
8416
8417         * glyphs.c (print_image_instance):
8418         prettify, e.g. now prints widget type.
8419
8420         * gui-x.h:
8421         certain funs have new image instance parameter.
8422
8423         * gui.c:
8424         * gui.c (get_gui_callback):
8425         * gui.c (gui_item_add_keyval_pair):
8426         * gui.c (gui_item_init):
8427         * gui.c (gui_add_item_keywords_to_plist):
8428         * gui.c (mark_gui_item):
8429         * gui.c (gui_item_hash):
8430         * gui.c (gui_item_equal):
8431         * gui.c (copy_gui_item):
8432         * gui.c (syms_of_gui):
8433         recognize callback-ex in a number of places.
8434         also, fix the annoying "can't get out of yes-no dialog" bug.
8435
8436         * gui.h:
8437         * gui.h (struct Lisp_Gui_Item):
8438         recognize callback-ex in a number of places.
8439
8440         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8441         new parameter in button_item_to_widget_value.
8442
8443         * glyphs-x.c (x_update_widget):
8444         * glyphs-x.c (x_button_instantiate):
8445         * glyphs-x.c (x_button_update):
8446         * glyphs-x.c (x_progress_gauge_instantiate):
8447         * glyphs-x.c (x_edit_field_instantiate):
8448         * glyphs-x.c (x_combo_box_instantiate):
8449         * glyphs-x.c (x_tab_control_instantiate):
8450         * glyphs-x.c (x_label_instantiate):
8451         new image instance parameter in various places.
8452
8453         * event-Xt.c:
8454         * event-Xt.c (enqueue_Xt_dispatch_event):
8455         this fun gets exported.
8456
8457         * gui-msw.c:
8458         * gui-msw.c (mswindows_handle_gui_wm_command):
8459         handle both :callback and :callback-ex, and generate our own
8460         event because it's one of the callback-ex arguments.
8461
8462         * gui-x.c:
8463         * gui-x.c (popup_selection_callback):
8464         handle both :callback and :callback-ex, and generate our own
8465         event because it's one of the callback-ex arguments.
8466         * gui-x.c (button_item_to_widget_value):
8467         * gui-x.c (gui_items_to_widget_values_1):
8468         * gui-x.c (gui_item_children_to_widget_values):
8469         * gui-x.c (gui_items_to_widget_values):
8470         new image instance parameter in various places.
8471
8472         * fns.c (Freplace_list):
8473         fix small typo in doc string.
8474
8475         * lisp.h:
8476         declare enqueue_Xt_dispatch_event.
8477
8478 2000-04-28  Ben Wing  <ben@xemacs.org>
8479
8480         * buffer.c:
8481         * buffer.c (Frecord_buffer):
8482         * buffer.c (syms_of_buffer):
8483         delete record-buffer-hook.
8484
8485         * fns.c:
8486         * fns.c (Freplace_list):
8487         * fns.c (syms_of_fns):
8488         new primitive replace-list.
8489
8490         * frameslots.h:
8491         slot for old buffer-alist.
8492
8493         * lisp.h:
8494         exfun replace-list.
8495
8496         * redisplay.c:
8497         * redisplay.c (redisplay_frame):
8498         * redisplay.c (syms_of_redisplay):
8499         * redisplay.c (vars_of_redisplay):
8500         new hook buffer-list-changed-hook.
8501         call it.
8502
8503 2000-04-27  Ben Wing  <ben@xemacs.org>
8504
8505         * extents.h: extern in_modeline_generation.
8506
8507         * redisplay.c (generate_formatted_string_db): set
8508         in_modeline_generation.
8509
8510         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8511         flags if in modeline generation.  otherwise frame-modified-tick
8512         is ticked far too often.
8513         Declare in_modeline_generation.
8514
8515 2000-04-26  Ben Wing  <ben@xemacs.org>
8516
8517         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8518         option.
8519         (vars_of_emacs): add quick-build as an error-checking option.
8520         A bit kludgy, but there doesn't seem much point in creating
8521         a real var for this.
8522
8523         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8524
8525 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8526
8527         * redisplay.h (struct display_line): Add a new variable,
8528         line_continuation.
8529
8530         * redisplay.c (create_text_block): Set dl->line_continuation if
8531         the line continues.
8532         (create_string_text_block): Ditto.
8533         (regenerate_window_incrementally): Use line_continuation instead
8534         of searching continuation glyph.
8535         (add_margin_runes): Call add_glyph_rune.
8536         (add_glyph_rune): Handle margin glyph.
8537
8538 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8539
8540         * filelock.c (fill_in_lock_file_name):
8541         ANSIfy.
8542         Check for IS_ANY_SEP instead of '/'.
8543         (lock_file_1):
8544         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8545         Never check errno without first seeing that system call failed.
8546         (unlock_file): Add GCPRO.
8547         (Flock_buffer): Fix docstring.
8548         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8549
8550 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8551
8552         * sysdep.c (get_pty_max_bytes):
8553         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8554         strings longer than 252 bytes.
8555
8556         * md5.c: Unconditionally include ANSI header <limits.h>
8557
8558         * glyphs-x.c (convert_EImage_to_XImage):
8559         * lisp-union.h (union Lisp_Object):
8560         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8561
8562 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8563
8564         * filelock.c (current_lock_owner): Remove unused variable o, p.
8565
8566 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8567
8568         * callint.c: Remove multiply defined symbol Qlet
8569         (syms_of_callint): ditto.
8570
8571 2000-04-14  Andy Piper  <andy@xemacs.org>
8572
8573         * general.c (syms_of_general): add last-command, this-command, let
8574         and funcall.
8575
8576         * lisp.h: declare various symbols.
8577
8578         * glyphs.h: declare Qwidget_callback_current_channel;
8579
8580         * glyphs-widget.c (syms_of_glyphs_widget): add
8581         Qgui_callback_current_channel.
8582         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8583
8584         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8585         widget-callback-current-channel when invoking the interactive
8586         arg. Also bind last-command and next-command when invoking the
8587         widget updates.
8588         * gui-x.c (popup_selection_callback): ditto.
8589
8590         * gui.c (get_gui_callback): massage args so that we are always
8591         calling eval. This allows us to add our own variable bindings
8592         outside.
8593
8594         * glyphs-x.c (x_button_instantiate): use
8595         gui_items_to_widget_values since this is GC safe.
8596         (x_progress_gauge_instantiate): ditto.
8597         (x_edit_field_instantiate): ditto.
8598         (x_label_instantiate): ditto.
8599
8600         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
8601         (emacs_Xt_event_widget_focus_out): new function
8602         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
8603         focus.
8604         (emacs_Xt_event_add_widget_actions): new function. add focus
8605         functions as actions.
8606         (init_event_Xt_late): use it.
8607
8608 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
8609
8610         * event-stream.c (Fdispatch_event): Doc fix.
8611
8612 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
8613
8614         * postgresql.c: Remove all references to PQsetenv*.
8615
8616         * postgresql.h: Remove references to PGsetenvHandler object.
8617         * lrecord.h (lrecord_type): Ditto.
8618
8619 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8620
8621         * glyphs-msw.h (struct mswindows_image_instance_data): Added
8622         real_heigh and real_width members, and accessor macros for these.
8623
8624         * glyphs-msw.c (init_image_instance_geometry): New function.
8625         (init_image_instance_from_dibitmap): Use it.
8626         (mswindows_resource_instantiate): Use it.
8627         (init_image_instance_from_xbm_inline): Use it.
8628         (mswindows_initialize_image_instance_mask): Use real bitmap
8629         geometry.
8630         (mswindows_create_resized_bitmap): Ditto.
8631         (mswindows_create_resized_mask): Ditto.
8632
8633         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
8634         and bitmap to their surface size.
8635
8636 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
8637
8638         * process-unix.c (unix_send_process): Guard against process MIA
8639         after Faccept_process_output.
8640
8641 2000-04-11  Ben Wing  <ben@xemacs.org>
8642
8643         * eval.c (unbind_to_hairy): fix brokenness introduced by
8644         nanosecond speed improvements.
8645
8646 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
8647
8648         * sunplay.c (init_device): To play sounds correctly, the device
8649         apparently needs to be initialized at least once by XEmacs.  Make
8650         it so.
8651
8652 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8653
8654         * redisplay.c (add_margin_runes): Add text image glyph
8655           handling.
8656
8657 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8658
8659         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
8660         gcc is newer than 2.5.
8661
8662 2000-04-06  Colin Rafferty  <colin@xemacs.org>
8663
8664         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
8665
8666         * fns.c (size_bit_vector):
8667         * alloc.c (size_vector):
8668         (make_vector_internal):
8669         (make_bit_vector_internal):
8670         (sweep_bit_vectors_1):
8671         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
8672
8673 2000-04-06  Andy Piper  <andy@xemacs.org>
8674
8675         * gmalloc.c (malloc): undo previous change.
8676         (malloc): ditto.
8677         (free): ditto.
8678         (realloc): ditto.
8679
8680 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
8681
8682         * line-number.c (buffer_line_number): Revert to former version.
8683
8684 2000-04-06  Andy Piper  <andy@xemacs.org>
8685
8686         * gmalloc.c (malloc): add error checking.
8687         (malloc): ditto.
8688         (free): ditto.
8689         (realloc): ditto.
8690
8691         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
8692         button_item_to_widget_value arg.
8693
8694         * glyphs-x.c (x_button_instantiate): add extra
8695         button_item_to_widget_value arg.
8696         (x_progress_gauge_instantiate): ditto.
8697         (x_edit_field_instantiate): ditto.
8698         (x_label_instantiate): ditto.
8699
8700         * gui-x.c (gui_items_to_widget_values_1): add extra
8701         button_item_to_widget_value arg.
8702         (button_item_to_widget_value): add extra menu_item_p arg.
8703
8704         * gui-x.h: change signature of button_item_to_widget_value.
8705
8706         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
8707         button_item_to_widget_value arg.
8708
8709 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8710
8711         * buffer.h (struct buffer): auto_save_modified should be long.
8712
8713 2000-04-05  Andy Piper  <andy@xemacs.org>
8714
8715         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
8716         type.
8717         (button_query_geometry): give a little more room so that athena
8718         buttons fit.
8719
8720 2000-04-05  Andy Piper  <andy@xemacs.org>
8721
8722         * faces.c (complex_vars_of_faces): The widget face should inherit
8723         the font of the gui-element face.
8724
8725 2000-04-04  Andy Piper  <andy@xemacs.org>
8726
8727         * glyphs-x.c (x_button_update): new function. unconditionally
8728         update a button's state when the instance is dirty.
8729         (image_instantiator_format_create_glyphs_x): add x_button_update.
8730         (x_widget_instantiate): remove old resize cruft.
8731
8732 2000-04-02  Andy Piper  <andy@xemacs.org>
8733
8734         * frame.c (change_frame_size_1): The introduction of gutters means
8735         that we need to allow 0 as a potential frame dimension.
8736
8737 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8738
8739         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
8740         image glyph if allow_cursor.
8741         (add_hscroll_rune): Don't allow cursor to border glyph.
8742         (create_text_block): Ditto.
8743
8744         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
8745         text not in buffer.
8746         (redisplay_output_layout): Call ensure_face_cachel_complete for
8747         text image glyph.
8748
8749
8750 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8751
8752         * redisplay.c (add_glyph_rune): Adding text image as text runes.
8753
8754         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
8755         not in buffer
8756
8757         * redisplay-tty.c (tty_output_display_block): Delete the routine
8758         for text image glyph
8759         * redisplay-x.c (x_output_display_block): ditto
8760         * redisplay-msw.c (mswindows_output_display_block): ditto
8761
8762 2000-02-02  Mike Alexander  <mta@arbortext.com>
8763
8764         Note: Some of these were committed by accident as part of other
8765         patches.
8766
8767         * regex.c (regex_compile): Avoid compiler warnings.
8768
8769         * ntproc.c (sys_spawnve): Avoid compiler warnings.
8770
8771         * nt.h: Declare term_ntproc correctly.
8772
8773         * nt.c: Remove incorrect declaration of get_home_directory which
8774         is declared correctly in lisp.h.
8775
8776         * keymap.c (get_keyelt): Avoid compiler warnings.
8777         (raw_lookup_key_mapper): Avoid compiler warnings.
8778
8779         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
8780
8781         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
8782
8783         * filemode.c (mode_string): Avoid compiler warnings.
8784
8785         * file-coding.c (Fcoding_system_aliasee): Add return statement to
8786         avoid warning.
8787
8788         * events-mod.h: Undef some things that winuser.h defines differently.
8789
8790         * data.c (Faset): Avoid compiler warnings.
8791
8792         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
8793
8794 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8795
8796         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
8797         Fall through to simple beep on error.
8798         Replace "extern" by real header file.
8799
8800         * linuxplay.c: Use nativesound.h
8801         (play_sound_data): Return error code. Be less verbose on error.
8802
8803         * sunplay.c: Use nativesound.h
8804         (play_sound_data): Return error code. Be less verbose on error.
8805
8806         * ntplay.c: Use nativesound.h
8807         (play_sound_data): Return fake error code
8808
8809         * sgiplay.c: Use nativesound.h
8810         (play_sound_data): Return error code
8811
8812         * hpplay.c: Use nativesound.h, partially implement
8813         new error code. Break compilation until finished.
8814         (play_sound_data): error code.
8815
8816         * nativesound.h (play_sound_file):
8817           (play_sound_data): Prototype in new header.
8818
8819 2000-03-31  Andy Piper  <andy@xemacs.org>
8820
8821         * glyphs-widget.c: (button_query_geometry): new function. Adjust
8822         for toggle and radio buttons.
8823         (image_instantiator_buttons): use it.
8824
8825 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8826
8827         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
8828         (x_update_horizontal_scrollbar_callback): Return if no mirror was
8829         found. Scrollbar event probably belonged to some old config.
8830
8831 2000-03-31  Andy Piper  <andy@xemacs.org>
8832
8833         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
8834         than 1.
8835         (initialize_widget_image_instance): default layout to
8836         LAYOUT_HORIZONTAL rather than 0.
8837         (widget_instantiate): reverse the item list at the end rather than
8838         every iteration.
8839         (layout_layout): re-code for the border text at the front of the
8840         item list rather than at the end.
8841         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
8842         provided by the user.
8843         (widget_query_geometry): comment.
8844
8845 2000-03-30  Andy Piper  <andy@xemacs.org>
8846
8847         * glyphs-widget.c (image_instantiator_layout): allow standard
8848         widget keywords in layouts.
8849
8850         * gutter.c (output_gutter): cope with nil gutter contents.
8851
8852         * frame.c (Fset_frame_properties): add gutter docs.
8853
8854 2000-03-29  Andy Piper  <andy@xemacs.org>
8855
8856         * toolbar-msw.c (TBSTYLE_FLAT): add.
8857         (mswindows_output_toolbar): minor fiddling.
8858
8859 2000-03-29  Andy Piper  <andy@xemacs.org>
8860
8861         * gutter.c (output_gutter): force gutter size recalculation if
8862         what we are trying to display won't fit.
8863         (update_gutter_geometry): new function. A per-gutter version of
8864         update_frame_gutter_geometry.
8865         (update_frame_gutter_geometry): use it.
8866         (redraw_exposed_gutter): add extra debugging output.
8867
8868 2000-03-28  Mike Alexander  <mta@arbortext.com>
8869
8870         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
8871         (pdump_file_unmap): Implement it on Windows
8872         (pdump_file_get): Save alocated handles for pdump_file_unmap
8873
8874 2000-03-28  Andy Piper  <andy@xemacs.org>
8875
8876         * gui.c (get_gui_callback): treat Quit specially.
8877
8878 2000-03-27  Andy Piper  <andy@xemacs.org>
8879
8880         * glyphs.c (image_instantiate): be careful to check in the same
8881         way we assigned.
8882
8883 2000-03-27  Didier Verna  <didier@xemacs.org>
8884
8885         * config.h.in: define the proper SMART_INCLUDE macro.
8886         handle renaming of `foo_h_path' to `foo_h_file'.
8887
8888         * database.c: ditto.
8889
8890         * emacs.c: ditto.
8891
8892         * linuxplay.c: ditto.
8893
8894         * terminfo.c: ditto.
8895
8896         * tooltalk.h: ditto.
8897
8898 2000-03-27  Andy Piper  <andy@xemacs.org>
8899
8900         * glyphs-msw.c (mswindows_update_widget): make sure the widget
8901         gets updated whenever the face might have changed.
8902
8903 2000-03-26  Mike Alexander  <mta@arbortext.com>
8904
8905         * dumper.c (pdump_resource_free): Fix the comment.
8906
8907 2000-03-21  Olivier Galibert  <galibert@pobox.com>
8908
8909         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
8910
8911 2000-03-22  Mike Alexander  <mta@arbortext.com>
8912
8913         * dumper.c: Include Windows headers on Windows
8914         (pdump_resource_free): Add a body to the function
8915         (pdump_load): exe_name -> exe_path and add some comments.
8916
8917 2000-03-25  Mike Alexander  <mta@arbortext.com>
8918
8919         * gui.c (copy_gui_item_tree): Return a value in all cases
8920
8921 2000-03-21  Didier Verna  <didier@xemacs.org>
8922
8923         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
8924         lwlib/config.h.in.
8925         (SMART_INCLUDE): new macro.
8926         (POSTGRES_INCLUDE): new macro to include postgresql headers from
8927         the proper location.
8928
8929         * postgresql.c: use it.
8930
8931         * inline.c: ditto.
8932
8933 2000-03-24  Andy Piper  <andy@xemacs.org>
8934
8935         * gutter.c (redraw_exposed_gutters): must be "in display" when we
8936         do this.
8937
8938 2000-03-24  Andy Piper  <andy@xemacs.org>
8939
8940         * redisplay-output.c (compare_runes): use image_instance_changed
8941         to detect changes. Do not depend on glyphs_changed, only depend on
8942         dirtiness.
8943          (redisplay_output_layout): add debug messages.
8944         (compare_runes): ditto.
8945
8946         * glyphs.h: declare new functions.
8947         (struct Lisp_Image_Instance): remove percent and associated
8948         accessors.
8949
8950         * gui.h: declare new copying functions.
8951
8952         * gui.c (copy_gui_item_tree): new function.
8953         (copy_gui_item): new function.
8954         (gui_item_id_hash): revert to standard hash.
8955         (gui_item_hash): ditto.
8956         (gui_item_hash_internal): deleted.
8957         (mark_gui_item): mark value.
8958         (gui_item_add_keyval_pair): add value.
8959         (gui_item_init): ditto.
8960         (gui_add_item_keywords_to_plist): ditto.
8961         (gui_item_equal): ditto.
8962         (syms_of_gui): add Q_value.
8963
8964         * glyphs-x.c (x_progress_gauge_update): use pending items and
8965         value for setting the state.
8966         (x_update_widget): don't set items from pending here.
8967
8968         * glyphs-widget.c (update_widget): update items here.
8969         (progress_gauge_set_property): use items for storing value. Put
8970         new value in pending items.
8971
8972         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
8973         items for new value. Convert percent -> value.
8974         (mswindows_tab_control_update): don't update items here.
8975
8976         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
8977         (update_subwindow): ditto.
8978         (image_instance_changed): new function. Compare hash values and
8979         past and present widget items.
8980         (image_instantiate): We more careful about where we instantiate
8981         things.
8982         (image_instantiate): add error checking.
8983
8984         * gutter.c (syms_of_gutter): use -hook.
8985
8986 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
8987
8988         * console-tty.c (Fset_console_tty_input_coding_system): Use
8989         Qkeyboard.
8990         (Fset_console_tty_output_coding_system): Use Qterminal.
8991         (tty_init_console): Use Qkeyboard and Qterminal.
8992
8993 2000-03-21  Ben Wing  <ben@xemacs.org>
8994
8995         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
8996         From Mike Alexander <mta@arbortext.com>.
8997
8998 2000-03-21  Ben Wing  <ben@xemacs.org>
8999
9000         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9001         process brokenness.  Proper implementation to come.
9002         * callproc.c:
9003         Rename call-process-internal to old-call-process-internal.
9004         New impl. in process.el.
9005
9006 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9007
9008         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9009
9010 2000-03-20  Andy Piper  <andy@xemacs.org>
9011
9012         * glyphs.c (full_list_hash): make hashes of the same elements in
9013         different orders return different values.
9014
9015 2000-03-20  Martin Buchholz <martin@xemacs.org>
9016
9017         * XEmacs 21.2.32 is released.
9018
9019 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9020
9021         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9022         (DFC_MALLOC_USE_CONVERTED_DATA):
9023         Add aliasing-safe casts to allow use with char* or unsigned char*
9024         lvalues.
9025
9026         * eldap.c (Fldap_open):
9027         (Fldap_search_basic):
9028         (Fldap_add):
9029         (Fldap_modify):
9030         Make C++-compilable.
9031         Make sure GCPRO'ed variables are initialized.
9032         Use temp variables to avoid repeated calls to Flength.
9033
9034 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9035
9036         * sysfile.h:
9037         Make sure PATH_MAX is always defined.
9038         Include limits.h for PATH_MAX.
9039         Deprecate use of MAXPATHLEN.
9040
9041 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9042
9043         * emacs.c: Add reinit_vars_of_fileio.
9044         * symsinit.h: Add reinit_vars_of_fileio.
9045         * fileio.c (reinit_vars_of_fileio): New.
9046         * fileio.c (Fmake_temp_name):
9047         Initialize temp_name random number from microseconds to make
9048         collisions even less likely.  Initialize always at process startup
9049         time.  (make-temp-name) used to return the same file name twice in
9050         a row when PDUMP.
9051         Random stylistic fiddling.
9052         Comment fixes.
9053
9054 2000-03-20  Andy Piper  <andy@xemacs.org>
9055
9056         * glyphs.c (image_instantiate): allow text glyphs to be
9057         instantiated in the minibuffer window.
9058
9059 2000-03-19  Andy Piper  <andy@xemacs.org>
9060
9061         * glyphs.c (image_instance_hash): be careful about which items we
9062         hash on.
9063
9064         * glyphs-widget.c (tab_control_set_property): record into pending
9065         items rather than the actual items.
9066
9067         * glyphs-x.c (x_update_widget): use pending items to update with.
9068
9069         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9070         to update with.
9071
9072         * glyphs.c (mark_image_instance): mark pending items.
9073
9074         * window.c (Fset_window_configuration): record the buffer.
9075         (Fselect_window): totally revert previous change which breaks many
9076         things.
9077
9078 2000-03-18  Andy Piper  <andy@xemacs.org>
9079
9080         * glyphs-msw.c (mswindows_tab_control_update): force selected
9081         item.
9082
9083         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9084         window domain cache, otherwise we get inconsistencies at
9085         startup. There is something fishy at startup which can lead to the
9086         minibuffer being the selected window when the gutter content is
9087         instantiated.
9088
9089         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9090         gcpros.
9091         (parse_gui_item_tree_children): ditto.
9092         (parse_gui_item_tree_item): ditto.
9093
9094         * glyphs.c (Fupdate_widget_instances): return something.
9095
9096 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9097
9098         * window.c (Fselect_window): Undo 2000-03-17 change.
9099
9100 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9101
9102         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9103         against v7.0 libraries.  Insta-coredump city until the postgres
9104         folks fix it.
9105
9106 2000-03-17  Andy Piper  <andy@xemacs.org>
9107
9108         * faces.c (complex_vars_of_faces): don't give the widget face an
9109         inherited background pixmap.
9110
9111         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9112         selected item.
9113
9114         * event-stream.c (Fdispatch_non_command_events): return something.
9115
9116         * gutter.c (output_gutter): use widget face.
9117         (clear_gutter): ditto.
9118
9119         * NEWS: adjust again.
9120
9121         * window.c (Fselect_window): make sure this runs to completion to
9122         avoid oddities with Fset_window_configuration.
9123         (Fcurrent_window_configuration): in general do not save the
9124         minibuffer as the selected window.
9125
9126         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9127
9128 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9129
9130         * emacs.c (Frunning_temacs_p): Revert previous patch.
9131         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9132
9133 2000-03-16  Andy Piper  <andy@xemacs.org>
9134
9135         * glyphs-x.c (x_tab_control_update): if no widget values then
9136         return.
9137
9138         * NEWS: update for new features.
9139
9140         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9141         synthetic event to the native system.
9142         (reinit_vars_of_event_Xt): set force_event_pending to
9143         emacs_Xt_force_event_pending.
9144
9145         * events.h (struct event_stream): add force_event_pending.
9146
9147         * specifier.c (recompute_one_cached_specifier_in_window): add
9148         comment.
9149
9150         * redisplay.c (redisplay_frame): don't call
9151         update_frame_subwindows. Reset subwindow cachels when
9152         subwindows_changed, removing this was an optimization too far.
9153
9154         * redisplay-output.c (compare_runes): reorganize so that we catch
9155         glyph changes when we want them. Set optimize_output when this
9156         would help layouts.
9157         (redisplay_output_layout): remove frame_really_changed, use
9158         optimize_output instead.
9159
9160         * redisplay-msw.c (mswindows_output_display_block): reset
9161         optimize_output after outputting a glyph.
9162         * redisplay-x.c (x_output_display_block): ditto.
9163         * redisplay-tty.c (tty_output_display_block): ditto.
9164
9165         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9166         functions.
9167         (gutter_specs_changed): do specific gutter positions.
9168         (top_gutter_specs_changed): new function. Only update the
9169         specified gutter specs.
9170         (bottom_gutter_specs_changed): ditto.
9171         (left_gutter_specs_changed): ditto.
9172         (right_gutter_specs_changed): ditto.
9173
9174         * gui.c (gui_item_hash_internal): new function, does a real hash.
9175         (gui_item_id_hash): use it.
9176         (gui_item_hash): hash the eval'ed gui_item.
9177
9178         * gui-x.c (popup_selection_callback): send an eval event to call
9179         Fupdate_widget_instances.
9180
9181         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9182         to call Fupdate_widget_instances.
9183
9184         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9185         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9186
9187         * glyphs.c: (update_frame_subwindows): deleted.
9188         (Fupdate_widget_instances): new function for updating the dirty
9189         state of widgets that might have changed.
9190         (syms_of_glyphs): add Qupdate_widget_instances.
9191         (full_list_hash): hash a list completely.
9192         (image_instance_hash): use it for items and properties.
9193
9194         * frame-msw.c (mswindows_size_frame_internal): remove unused
9195         variable.
9196
9197         * faces.h (struct face_cachel): fix comment.
9198
9199         * event-stream.c (Fdispatch_non_command_events): new
9200         function. Process non-command events, forcing an event cycle
9201         beforehand.
9202         (syms_of_event_stream): declare.
9203         (event_stream_force_event_pending): new function. Force an event
9204         on the native event queue so that an event cycle will occur next
9205         time we check.
9206
9207         * event-msw.c:
9208         (struct ntpipe_shove_stream):
9209         (mswindows_enqueue_dispatch_event):
9210         (mswindows_dequeue_dispatch_event):
9211         (mswindows_cancel_dispatch_event):
9212         (mswindows_pump_outstanding_events):
9213         (mswindows_drain_windows_queue):
9214         (mswindows_handle_paint):
9215         (mswindows_wnd_proc):
9216         (mswindows_key_to_emacs_keysym):
9217         (get_process_input_waitable):
9218         (emacs_mswindows_delete_stream_pair): re-indent file.
9219         (mswindows_need_event): do not process further fds if the windows
9220         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9221         fixes the 100% cpu problem.
9222         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9223
9224 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9225
9226         * alloc.h: New.
9227         * dumper.h: New.
9228         * dumper.c: New.
9229
9230         * emacs.c: Moved dump file searching to dumper.c.
9231         (Frunning_temacs_p): Fixed.
9232
9233         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9234         last_lrecord_type_index_assigned.
9235
9236 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9237
9238         * symsinit.h: Added reinit parameter to init_console_stream
9239         declaration.
9240
9241         * lisp.h: Added file parameter to pdump_load declaration.
9242
9243         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9244         support.  Added dump file searching.
9245
9246         * config.h.in: Added EMACS_PROGNAME.
9247
9248         * console-stream.c (init_console_stream): Fix reinitialisation
9249         when running from temacs.
9250
9251         * alloc.c (pdump): Add id support.
9252         (pdump_load): Add file parameter and signature/id support.
9253
9254         * Makefile.in.in: Add full pdump support.
9255
9256 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9257
9258         * postgresql.c: Update documentation to reflect latest code
9259         status.
9260         (print_result): Show tuple counts in printed representation when
9261         appropriate.
9262         (Fpq_put_nbytes): MULE-ize.
9263         (Fpq_get_line_async): Ditto.
9264
9265 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9266
9267         * postgresql.c (Fpq_lo_import): Fix return value.
9268         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9269
9270 2000-03-13  Ben Wing  <ben@xemacs.org>
9271
9272         * alloc.c (pdump_load):
9273         Fix compile warning under mswin.
9274
9275 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9276
9277         * postgresql.c: Mule-ization, bug fixes.
9278         Use PG_CODING to encapsulate coding system name changes.
9279         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9280         (pg-coding-system): Create.
9281
9282         (Fpq_conn_defaults): Mule-ize.
9283         (Fpq_connectdb): Mule-ize & bug fix.
9284         (Fpq_connect_start): Mule-ize.
9285         (Fpq_set_client_encoding): Mule-ize.
9286         (Fpq_finish): Document `DEAD' connection status.
9287         (Fpq_clear): Ditto.
9288         (Fpq_pgconn): Mule-ize.
9289         (Fpq_exec): Mule-ize & bug fix.
9290         (Fpq_send_query): Ditto.
9291         (Fpq_get_result): Ditto.
9292         (Fpq_res_status): Mule-ize.
9293         (Fpq_result_error_message): Mule-ize.
9294         (Fpq_ntuples): fix comments.
9295         (Fpq_fname): Mule-ize.
9296         (Fpq_fnumber): Mule-ize.
9297         (Fpq_ftype): fix comments.
9298         (Fpq_get_value): Mule-ize.
9299         (Fpq_cmd_status): Ditto.
9300         (Fpq_cmd_tuples): Ditto.
9301         (Fpq_oid_value): Ditto.
9302         (Fpq_notifies): Ditto.
9303         (Fpq_lo_import): Ditto.
9304         (Fpq_lo_export): Ditto.
9305         (Fpq_get_line): Ditto.
9306         (Fpq_put_line): Mule-ize and bug fix.
9307         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9308
9309 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9310
9311         * postgresql.c (vars_of_postgresql): Mule-ize.
9312         (Fpq_conn_defaults): Ditto.
9313
9314 2000-03-12  Ben Wing  <ben@xemacs.org>
9315
9316         * alloc.c (Fmake_byte_code):
9317         * alloc.c (debug_string_purity_print):
9318         * alloc.c (pdump_backtrace):
9319         * alloc.c (pdump_get_indirect_count):
9320         * alloc.c (pdump_register_sub):
9321         * alloc.c (pdump_register_object):
9322         * alloc.c (pdump_register_struct):
9323         * alloc.c (pdump_dump_data):
9324         * alloc.c (pdump_reloc_one):
9325         Minor cleanups.
9326
9327         * console-msw.c:
9328         * console-msw.c (GetConsoleHwnd):
9329         * console-msw.c (msw_hide_console):
9330         * console-msw.c (msw_show_console):
9331         * console-msw.c (msw_ensure_console_buffered):
9332         * console-msw.c (msw_output_console_string):
9333         * console-msw.c (console_type_create_mswindows):
9334
9335         a) Added functions to manipulate the console window for use with
9336         shell support.
9337
9338         b) Added support for writing text to the console, which is now
9339         used under Windows when xemacs is not being run non-interactively,
9340         to write text that would otherwise be destined for stdout because
9341         under these circumstances, text written to stdout tends to
9342         disappear and not be seen.
9343
9344         * console-msw.h:
9345         * event-Xt.c:
9346         * event-Xt.c (x_event_to_emacs_event):
9347         * event-Xt.c (describe_event_window):
9348         * events-mod.h (XEMACS_MOD_CONTROL):
9349         * events.c:
9350         * events.c (Fmake_event):
9351         * events.c (character_to_event):
9352         * events.c (event_to_character):
9353         * events.c (format_event_object):
9354         * events.c (Fevent_modifiers):
9355         * events.h:
9356         * events.h (struct key_data):
9357         * events.h (struct button_data):
9358         * events.h (struct misc_user_data):
9359         * frame-x.c (Fcde_start_drag_internal):
9360         * frame-x.c (Foffix_start_drag_internal):
9361         * gpmevent.c (Freceive_gpm_event):
9362         * keymap.c:
9363         * keymap.c (bucky_sym_to_bucky_bit):
9364         * keymap.c (control_meta_superify):
9365         * keymap.c (make_key_description):
9366         * keymap.c (keymap_lookup_directly):
9367         * keymap.c (create_bucky_submap):
9368         * keymap.c (keymap_store):
9369         * keymap.c (define_key_check_and_coerce_keysym):
9370         * keymap.c (define_key_parser):
9371         * keymap.c (define_key_alternate_name):
9372         * keymap.c (Fdefine_key):
9373         * keymap.c (raw_lookup_key_mapper):
9374         * keymap.c (struct map_keymap_unsorted_closure):
9375         * keymap.c (map_keymap_unsorted_mapper):
9376         * keymap.c (map_keymap_sort_predicate):
9377         * keymap.c (map_keymap_sorted):
9378         * keymap.c (accessible_keymaps_mapper_1):
9379         * keymap.c (where_is_recursive_mapper):
9380         * keymap.c (describe_map_mapper):
9381         * keymap.c (describe_map_sort_predicate):
9382         * keymap.c (describe_map):
9383         * keymap.c (complex_vars_of_keymap):
9384         And a number of other files, the key modifier preprocessor
9385         constants that xemacs uses have names that conflict with constants
9386         defined under MS Windows for other purposes, so they were renamed
9387         to begin with the prefix XEMACS_. The variables that hold such
9388         modifiers were changed to consistently be of type int to fix
9389         various compile warnings.
9390
9391         * console.c (complex_vars_of_console):
9392         * device.c:
9393         * device-msw.c:
9394         * device-msw.c (mswindows_finish_init_device):
9395         * device-msw.c (msw_get_workspace_coords):
9396         * device-msw.c (mswindows_device_system_metrics):
9397         and various other files, added support for a new
9398         device property called offset-workspace which returns the position
9399         of the upper left corner of the workspace area and goes along with
9400         the existing size-workspace property.
9401
9402         * dialog-msw.c:
9403         * dialog-msw.c (push_bufbyte_string_as_unicode):
9404         * dialog-msw.c (mswindows_popup_dialog_box):
9405         Added support for XEmacs-style accelerator specifications in
9406         button text.  Note: I didn't add support for this under X Windows,
9407         and somebody needs to do this.
9408
9409         * dialog.c:
9410         * dialog.c (Fpopup_dialog_box):
9411         Documented the support for accelerators that was just mentioned.
9412
9413         editfns.c (get_home_directory): Changed behavior under Windows
9414         when HOME not defined; former behavior was irretrievably broken.
9415
9416         * emacs.c:
9417         * emacs.c (main_1):
9418         * emacs.c (main):
9419         * minibuf.c (clear_echo_area_internal):
9420         * minibuf.c (echo_area_append):
9421         * print.c:
9422         * print.c (std_handle_out_external):
9423         * print.c (std_handle_out_va):
9424         * print.c (fatal):
9425         * print.c (write_string_to_stdio_stream):
9426         * print.c (output_string):
9427         * print.c (debug_print):
9428         * print.c (debug_backtrace):
9429         * print.c (debug_short_backtrace):
9430         Cleaned up the code that prints text to stdout so that this can be
9431         changed to output into a console window instead under MS Windows,
9432         as described above.
9433
9434         * eval.c:
9435         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9436         * eval.c (internal_catch):
9437         * eval.c (unwind_to_catch):
9438         * eval.c (throw_or_bomb_out):
9439         * eval.c (condition_case_1):
9440         * eval.c (signal_1):
9441         * eval.c (check_error_state_sanity):
9442         * eval.c (call_with_suspended_errors_1):
9443         * eval.c (call_with_suspended_errors):
9444         * eval.c (reinit_vars_of_eval):
9445         Added code to catch throw loops and check for a pesky bug that may
9446         be gone now.
9447
9448         * event-msw.c:
9449         * event-msw.c (key_needs_default_processing_p):
9450         * event-msw.c (mswindows_wnd_proc):
9451         * event-msw.c (mswindows_modifier_state):
9452         * event-msw.c (emacs_mswindows_quit_p):
9453         * event-msw.c (vars_of_event_mswindows):
9454         a) Added support for using the alt key to select menu items as is
9455         standard under MS Windows.  This is controlled using the variable
9456         menu-accelerator-enabled, just like under X Windows.  There is an
9457         option on the options menu to turn this support on.  I really
9458         think that it should be on by default under Windows, but I'm not
9459         going to make this change yet.
9460
9461         b)  Added support for dynamic display size changes under Windows.
9462
9463         * event-stream.c:
9464         * event-stream.c (maybe_echo_keys):
9465         * event-stream.c (Fnext_event):
9466         * event-stream.c (command_builder_find_leaf):
9467         * event-stream.c (lookup_command_event):
9468         * event-stream.c (execute_command_event):
9469         * event-stream.c (pre_command_hook):
9470         * event-stream.c (post_command_hook):
9471         * event-stream.c (syms_of_event_stream):
9472         * event-stream.c (vars_of_event_stream):
9473         * event-stream.c (complex_vars_of_event_stream):
9474         * events.h (struct command_builder):
9475
9476         a) Tried to clean up a little bit the horribly written x-specific
9477         accelerator code that crept into this file.  I moved this code
9478         into menubar-x.c where it belongs. I also needed to move the
9479         command builder structure into the file events.h because it is
9480         accessed directly by this accelerator code.  What I didn't do, but
9481         which should be done at some point, is to properly abstract this
9482         code using device methods instead of the kludgy way that it
9483         currently hooks into the event code.
9484
9485         b) Added the lisp variables this-command-properties and
9486         last-command- properties, which should be used to synchronize two
9487         adjacent commands in preference to playing games with the variable
9488         this-command, which is typically what happens.
9489
9490         c) Added some slightly nasty code to hook into the lisp support
9491         for shifted- motion-key selection.  This is actually necessary for
9492         somewhat complicated reasons, which are described in
9493         simple.el. (NB: I think the proper thing would be to have the code
9494         that calls the pre and post command hooks also call out to generic
9495         lisp functions in simple.el, where all built-in stuff could be
9496         added.  I will think about this more.)
9497
9498         * event-unixoid.c (poll_fds_for_input):
9499         * lread.c (readchar):
9500         * redisplay-tty.c (tty_clear_frame):
9501         * redisplay-x.c (x_get_gc):
9502         * signal.c (interrupt_signal):
9503         And a whole bunch of other files: fixed up places that printed
9504         directly to stderr to instead call the function stderr_out so that
9505         the changes I made under Windows work correctly.
9506
9507         * filemode.c (mode_string):
9508         Warning fixes.
9509
9510         * frame-msw.c:
9511         * frame-msw.c (mswindows_size_frame_internal):
9512         Fixed the computation of frame size and position to keep the frame
9513         within the workspace area, rather than within the physical
9514         dimensions of the screen, so that the frame doesn't overlap window
9515         manager decorations, such as the start menu and toolbar, typically
9516         at the bottom of the screen.
9517
9518         * frame.c (vars_of_frame):
9519         Changed the default frame title format under MS Windows to consist
9520         of buffername-XEmacs, which is standard under MS Windows.  I think
9521         it might be a good idea to change this everywhere because I think
9522         it is superior to the current frame title format, but this is the
9523         kind of change that is likely to cause some people to get annoyed,
9524         so I'm not making it.
9525
9526         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9527
9528         * gui-msw.c (mswindows_handle_gui_wm_command):
9529         Fixed compile warnings.
9530
9531         * gui-x.c:
9532         * gui-x.c (strdup_and_add_accel):
9533         * gui-x.c (button_item_to_widget_value):
9534         * gui-x.h:
9535         Added code to automatically put an accelerator onto the beginning
9536         of menu items that don't have one as is now the standard, and is
9537         described more later.  Also fixed things so that the menu item
9538         name can be an evaluated expression, again a new standard.
9539
9540         * gui.c:
9541         * gui.c (gui_item_add_keyval_pair):
9542         * gui.c (make_gui_item_from_keywords_internal):
9543         * gui.c (gui_add_item_keywords_to_plist):
9544         * gui.c (gui_item_accelerator):
9545         * gui.c (gui_name_accelerator):
9546         * gui.c (gui_item_included_p):
9547         * gui.c (gui_item_display_flush_left):
9548         * gui.c (gui_item_display_flush_right):
9549         * gui.c (parse_gui_item_tree_item):
9550         * gui.c (parse_gui_item_tree_children):
9551         * gui.c (parse_gui_item_tree_list):
9552         Mule-ized.  Cleanup.  GCPRO addition.
9553
9554         * line-number.c (buffer_line_number):
9555         * lisp.h:
9556         * lisp.h (EMACS_INT_MAX):
9557         Added the manifest constant EMACS_INT_MIN corresponding to the
9558         existing constant EMACS_INT_MAX.  This is partially to fix compile
9559         warnings under Windows, and partly for cleanliness.
9560
9561         * menubar-msw.c:
9562         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9563         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9564         * menubar-msw.c (displayable_menu_item):
9565         * menubar-msw.c (populate_menu_add_item):
9566         * menubar-msw.c (populate_or_checksum_helper):
9567         * menubar-msw.c (populate_menu):
9568         * menubar-msw.c (update_frame_menubar_maybe):
9569         * menubar-msw.c (prune_menubar):
9570         * menubar-msw.c (msw_char_is_accelerator):
9571         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9572         * menubar-msw.c (mswindows_handle_wm_command):
9573         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9574         * menubar-msw.c (mswindows_handle_wm_initmenu):
9575         * menubar-msw.c (mswindows_update_frame_menubars):
9576         * menubar-msw.c (mswindows_free_frame_menubars):
9577         * menubar-msw.c (mswindows_popup_menu):
9578         Fixed a bug in handling accelerators where an extra character
9579         would be displayed in the menu item.  Also generalized the
9580         function displayable_menu_item because it is now used by the
9581         dialog box code as well.  And finally, added code in the functions
9582         that create the menubar to extract a list of accelerators for the
9583         top level menubar, which is used in the event code to determine
9584         whether a particular alt-key combination should be used to invoke
9585         a menu item, or should be passed through to access the standard
9586         XEmacs keymap binding for this key combination.
9587
9588         Much needed GCPROing.
9589
9590         * menubar-x.c:
9591         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9592         * menubar-x.c (menu_item_descriptor_to_widget_value):
9593         * menubar-x.c (restore_in_menu_callback):
9594         * menubar-x.c (x_popup_menu):
9595         * menubar-x.c (menu_move_up):
9596         * menubar-x.c (menu_move_down):
9597         * menubar-x.c (menu_move_left):
9598         * menubar-x.c (menu_move_right):
9599         * menubar-x.c (menu_select_item):
9600         * menubar-x.c (command_builder_operate_menu_accelerator):
9601         * menubar-x.c (menu_accelerator_junk_on_error):
9602         * menubar-x.c (command_builder_find_menu_accelerator):
9603         * menubar-x.c (Faccelerate_menu):
9604         * menubar.h:
9605         Moved a whole bunch of code here that was previously in
9606         event-stream.c as described above.  There is also code connected
9607         to the new standard of adding an accelerator to the beginning of
9608         menu items that don't have one as described above and below.
9609
9610         * menubar.c:
9611         * menubar.c (menu_parse_submenu_keywords):
9612         * menubar.c (Fmenu_find_real_submenu):
9613         * menubar.c (Fnormalize_menu_item_name):
9614         * menubar.c (syms_of_menubar):
9615         * menubar.c (vars_of_menubar):
9616         * menubar.c (complex_vars_of_menubar):
9617
9618         a) Cleaned up a bunch of documentation and improved it.
9619
9620         b) XEmacs now automatically adds an accelerator onto the beginning
9621         of any menu items that don't have one.  I did this because there
9622         will inevitably be some menu items on the main menubar that don't
9623         have accelerators on them because the package that adds that
9624         particular menu item hasn't yet been fixed up to have accelerators
9625         in them and it looked rather strange to have some items with and
9626         some items without accelerators, especially since even in items
9627         without accelerators, you can, at least under windows, still
9628         access the item through an accelerator corresponding to the first
9629         character in the item's name.  If people don't like this behavior,
9630         I can add a variable to turn it off optionally, but I'm not sure
9631         this is a good idea because we really do need to have accelerators
9632         on all of the menu items, and if a package doesn't like the
9633         accelerators being put on the first character, then it should put
9634         the accelerators where they belong.
9635
9636         c) I made a behavior change, which is that the descriptor that
9637         specifies the text of the menu item, which formerly was just a
9638         string, can now also be an evaluated expression.  This makes this
9639         descriptor parallel with all of the others, which could also be
9640         evaluated expressions.  This also obviates the need for the
9641         keyword :label, which was previously listed in the documentation
9642         as unimplemented, and which was for the same purpose.
9643
9644         d) GCPROing.
9645
9646         * ntproc.c:
9647         * ntproc.c (new_child):
9648         * ntproc.c (sys_spawnve):
9649         * ntproc.c (find_child_console):
9650         * ntproc.c (sys_kill):
9651         Fixed compile warnings.  By the way, this file should really go
9652         away entirely, and this will happen as soon as Kirill makes his
9653         final round of process cleanups, which affect the function
9654         call-process.
9655
9656         * process-nt.c:
9657         * process-nt.c (struct nt_process_data):
9658         * process-nt.c (find_process_from_pid):
9659         * process-nt.c (send_signal_the_nt_way):
9660         * process-nt.c (enable_child_signals):
9661         * process-nt.c (find_child_console):
9662         * process-nt.c (send_signal_the_95_way):
9663         * process-nt.c (nt_finalize_process_data):
9664         * process-nt.c (ensure_console_window_exists):
9665         * process-nt.c (nt_create_process):
9666         * process-nt.c (nt_kill_child_process):
9667         * process-nt.c (nt_kill_process_by_pid):
9668         * process-nt.c (nt_open_network_stream):
9669         * process-nt.c (vars_of_process_nt):
9670         Copied over code from Emacs 20.5 to correctly send signals to sub-
9671         processes under Windows 95.  Also added code to automatically
9672         create and hide console window when a sub-process is created under
9673         Windows 95, which obviates the need for the separate runemacs.exe
9674         executable, and finally implemented some variables that were
9675         implemented in Emacs 20.5, but previously not in XEmacs.  These
9676         include mswindows- start-process-share-console and
9677         mswindows-start-process-inherit-error-mode. (Both of these only
9678         apply to Windows 95.)
9679
9680         * regex.c (regex_compile): Fixed a compile warning.
9681
9682         * select-msw.c:
9683         * select-msw.c (mswindows_own_selection):
9684         * select-msw.c (mswindows_get_foreign_selection):
9685         * select-msw.c (mswindows_disown_selection):
9686         * select-msw.c (console_type_create_select_mswindows):
9687         * select-msw.c (syms_of_select_mswindows):
9688         Cleaned up the file and implemented the device method
9689         selection_exists_p, which had accidentally been left out.  Also
9690         removed four lisp functions that were remnants from before the
9691         time when the selection code was properly device abstracted.
9692         These functions are no longer needed because there are generic
9693         equivalents, and because they were added recently and don't exist
9694         in FSF Emacs, I don't think there's any problem with just deleting
9695         them.
9696
9697         * sysdep.c:
9698         * sysdep.c (sys_subshell):
9699         Fixed a compile warning, although in this case there's probably
9700         something wrong with this code, and it ought to be looked into
9701         more thoroughly by somebody who understands it.
9702
9703         * window.c:
9704         * window.c (Fwindow_text_area_height):
9705         * window.c (Fwindow_width):
9706         * window.c (Fwindow_full_width):
9707         * window.c (Fwindow_pixel_width):
9708         * window.c (debug_print_window):
9709         * window.c (syms_of_window):
9710         Added functions window-text-area-height and window-full-width,
9711         which are functions for returning various width and height
9712         characteristics of a window. (One of these functions is necessary
9713         for making the file dialog box work correctly, and the other one
9714         was added for completeness.)  Also added a table to the
9715         documentation for window-height which describes the entire scheme
9716         for accessing width and height characteristics of a window.
9717
9718 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9719
9720         * nt.c (fstat): Added a comment for another problem with
9721         non-encapsulated [f]stat(), reported by Adrian Aichner
9722         <aichner@ecf.teradyne.com>.
9723
9724 2000-03-11  Andy Piper  <andy@xemacs.org>
9725
9726         * window.c (make_dummy_parent): initialize subwindow instance
9727         cache.
9728         (Fset_window_configuration): zero extent_modiff.
9729
9730 2000-03-10  Andy Piper  <andy@xemacs.org>
9731
9732         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
9733         more changes can be triggered.
9734         (Fredisplay_frame): ditto.
9735         (Fredraw_device): ditto.
9736         (Fredisplay_device): ditto.
9737         (redisplay_frame): make non-static.
9738         (redisplay_frame): call update_frame_gutter_geometry outside of
9739         display proper.
9740
9741         * gutter.h: declare update_frame_gutter_geometry.
9742
9743         * redisplay.h: declare redisplay_frame.
9744
9745         * gutter.c (update_frame_gutter_geometry): move geometry changes
9746         in update_frame_gutters here. Geometry changes can only occur
9747         outside of redisplay.
9748         (update_frame_gutters): remove geometry change code.
9749         (Fredisplay_gutter_area): make sure that we are in display when we
9750         update and that we have flushed any size changes.
9751
9752 2000-03-11  Andy Piper  <andy@xemacs.org>
9753
9754         * alloc.c (pdump_dump_data): remove i & count shadows.
9755
9756 2000-02-27  Mike Alexander  <mta@arbortext.com>
9757
9758         * sysdep.h: Declare pdump_read_file
9759
9760         * sysdep.c (pdump_read_file): New function
9761
9762         * alloc.c (pdump_load): Call pdump_read_file to get the portable
9763         dump data
9764
9765 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9766
9767         * lrecord.h: add `lrecord_type_pgsetenv'.
9768
9769 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
9770
9771         * symsinit.h: declare (vars|syms)_of* functions.
9772         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
9773
9774 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
9775
9776         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
9777
9778         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
9779         GCCs.
9780
9781         * emacs.c (main_1): Call postgres initialization code.
9782
9783         * postgresql.h: New file.  PostgreSQL RDBMS support.
9784         * postgresql.c: New file.
9785
9786 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9787
9788         * redisplay-output.c (redisplay_output_display_block): Disable
9789         redundant code.
9790
9791 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9792
9793         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
9794         (Fcanna_henkan_next): Ditto.
9795         (Fcanna_bunsetu_henkou): Ditto.
9796         (Fcanna_henkan_kakutei): Ditto.
9797         (Fcanna_henkan_end): Ditto.
9798         (Fcanna_henkan_quit): Ditto.
9799         (Fcanna_henkan_next): Set retun value correctly.
9800         (c2mu): Use unsigned char instead of signed char.
9801
9802 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9803
9804         * emacs.c (main_1): Always call syms_of_gui.
9805         * inline.c: include gui.h
9806
9807 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9808
9809         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
9810         converted to Lisp_Object.
9811         (Qtop_bottom): New variable.
9812         (syms_of_redisplay): Initialize it.
9813         * redisplay.h (Vvisible_bell): Ditto.
9814         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
9815         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
9816         only flash top and bottom.
9817
9818 2000-03-08  Andy Piper  <andy@xemacs.org>
9819
9820         * buffer.c (Frename_buffer): record new buffer name the right way.
9821
9822 2000-03-08  Andy Piper  <andy@xemacs.org>
9823
9824         * glyphs.c (update_subwindow): increase hash depth so that widget
9825         items get picked up properly.
9826
9827         * redisplay-output.c (compare_runes): increase hash depth so that
9828         widget items get picked up properly.
9829
9830 2000-03-08  Andy Piper  <andy@xemacs.org>
9831
9832         * gutter.c (output_gutter): add some debug.
9833
9834         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
9835         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
9836         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
9837
9838         * redisplay-output.c (compare_runes): use display_hash to
9839         determine if glyphs really are not the same.
9840
9841         * glyphs.c (update_subwindow): check display_hash to see if
9842         anything really needs to be updated. If not then do
9843         nothing. Record the display_hash after updating.
9844         (image_instance_equal): compare the image_instance face also.
9845
9846 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
9847
9848         * redisplay.h: Fix comment style.
9849
9850 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9851
9852         * consle-msw.h (struct mswindows_frame):
9853         Added new member paint_pending to indicate whether a WM_PAINT
9854         magic event has been queued for this frame.
9855
9856         * event-msw.c (mswindows_drain_windows_queue):
9857         Don't queue a WM_PAINT magic event if one is already queued.
9858         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
9859
9860         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
9861
9862 2000-03-07  Didier Verna  <didier@xemacs.org>
9863
9864         * dired.c: #include `regex.h' after `sysfile.h'.
9865
9866 2000-03-06  Martin Buchholz  <martin@xemacs.org>
9867
9868         * sound.c (init_nas_sound): Fix compiler warning.
9869
9870         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
9871         (FREE_STRUCT_P):
9872         (MARK_STRUCT_AS_FREE):
9873         (MARK_STRUCT_AS_NOT_FREE):
9874         Make `gcc -fstrict-aliasing' work properly.
9875
9876 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9877
9878         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
9879         (mswindows_delete_device): Call CoUnnitialize().
9880
9881         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
9882
9883 2000-02-25    <CraigL@DyCon.com>
9884
9885         * process-nt.c: MinGW now has <shellapi.h>, but still needs
9886         <errno.h>.
9887
9888         * sysdep.c: This extern declaration for environ prevents MinGW
9889         from finding the variable in CRTDLL.DLL.
9890
9891         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
9892         windows headers.
9893         (SHGFI_EXETYPE): ..
9894         (WM_MOUSEWHEEL): ..
9895         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
9896         definitions.
9897         (MMRESULT): Removed, now defined in cygwin's windows headers.
9898         (TIMECAPS): ..
9899         (uid_t,gid_t,pid_t,ssize_t): ..
9900         (_timeb): Removed, MinGW defines both _timeb and timeb.
9901         (HAVE_H_ERRNO): Added.
9902         (HAVE_TZNAME): Added, configure is not detecting this.
9903
9904 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
9905
9906         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
9907         * syntax.c (syntax_match): Use it.
9908
9909         * cmds.c: Import auto-fill-chars from FSF Emacs.
9910         (Vauto_fill_chars): New variables.
9911         (internal_self_insert): Check Vauto_fill_chars.
9912         (vars_of_cmds):
9913         Declare auto-fill-chars as a Lisp variable and initialize it.
9914
9915 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9916
9917         * fileio.c (Fmake_symbolic_link):
9918         (Ffile_symlink_p):
9919         Run handlers even if local machine doesn't have symlinks.
9920
9921 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9922
9923         * event-msw.c (mswindows_drain_windows_queue):
9924         Don't generate paint magic events for non-XEmacs frames.
9925
9926 2000-03-05  Andy Piper  <andy@xemacs.org>
9927
9928         * redisplay.c (redisplay_frame): generate_displayable_area and
9929         friends assumes that we are not in GC, we therefore have to make
9930         sure that this doesn't happen.
9931
9932         * gutter.c (calculate_gutter_size): generate_displayable_area
9933         assumes that we are not in GC, we therefore have to make sure that
9934         this doesn't happen.
9935
9936 2000-03-05  Martin Buchholz  <martin@xemacs.org>
9937
9938         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
9939
9940 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9941
9942         * redisplay.c (regenerate_window): Make sure we set a sane value
9943         for end_pos even if we jump out of the loop.
9944         (regenerate_window): Answer Ben's question :-).
9945         (start_end_of_last_line): Add may_error argument.
9946         (start_of_last_line):
9947         (end_of_last_line): Pass may_error = 0.
9948         (end_of_last_line_may_error): New function.
9949         (pixel_to_glyph_translation): Use it, so we don't crash in
9950         event_to_glyph.
9951
9952 2000-03-04  Andy Piper  <andy@xemacs.org>
9953
9954         * window.h (struct window): add gutter_extent_modiff.
9955
9956         * window.c (allocate_window): zero out gutter_extent_modiff.
9957
9958         * redisplay.h: declare sync_display_line_structs.
9959
9960         * redisplay.c (add_glyph_rune): add a better comment.
9961
9962         * redisplay-output.c (sync_display_line_structs): made non-static.
9963         (compare_runes): remove unneccesary glyph cachel access.
9964
9965         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
9966
9967         * gutter.c (output_gutter): don't output the gutter if extent
9968         changes only involve extents in buffers. use 4 sets of display
9969         lines.
9970         (gutter_extent_signal_changed_region_maybe): new function. Mark
9971         extents in gutters as changed.
9972         (update_frame_gutters): use 4 sets of display lines.
9973         (reset_gutter_display_lines): ditto.
9974         (free_frame_gutters): ditto.
9975         (redraw_exposed_gutter): force output of gutters.
9976
9977         * frame.h (struct frame): add 4 sets of gutter display lines.
9978
9979         * extents.c: (extent_changed_for_redisplay): signal changes to
9980         extents in strings in the gutter as well as extents in buffers.
9981
9982 2000-03-02  Andy Piper  <andy@xemacs.org>
9983
9984         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
9985
9986         * frame.c (Fmake_frame): make sure the gutters get initialized
9987         after the frame is visible.
9988         (set_frame_selected_window): re-arrange compilation macros a
9989         little.
9990         (change_frame_size_1): mark gutters changed.
9991
9992         * device.c (Fset_device_class): mark gutters changed.
9993
9994 2000-03-01  Andy Piper  <andy@xemacs.org>
9995
9996         * window.c (window_top_frame_gutter_height): deleted.
9997         (window_bottom_frame_gutter_height): ditto.
9998         (window_left_frame_gutter_height): ditto.
9999         (window_right_frame_gutter_height): ditto.
10000         (window_top_gutter_height): don't use them.
10001         (window_bottom_gutter_height): ditto.
10002         (window_left_gutter_width): ditto.
10003         (window_right_gutter_width): ditto.
10004         (Fsplit_window): ditto.
10005         (Fwindow_pixel_edges): don't use border dimensions here.
10006
10007         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10008         (update_scrollbar_instance): ditto.
10009
10010         * redisplay.c (generate_modeline): don't take gutters into account.
10011         (generate_modeline): ditto.
10012         (redisplay_frame): small gutter display optimization.
10013
10014         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10015
10016         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10017         gutters into account.
10018
10019         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10020         for window position and type.
10021
10022         * gutter.c (get_gutter_coords): fix for frame gutters.
10023         (update_frame_gutters): update frame geometry if the gutters have
10024         changed.
10025         (init_frame_gutters): record current gutter geometries.
10026
10027         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10028         var.
10029         (mswindows_widget_instantiate): ditto.
10030
10031         * frame.h (struct frame): add current_gutter_bounds.
10032
10033         * frame.c (change_frame_size_1): position window and minibuffer
10034         appropriately taking into account the frame gutters.
10035
10036         * frame-x.c: (x_initialize_frame_size): take into account the
10037         frame gutters.
10038
10039 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10040
10041         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10042
10043 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10044
10045         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10046
10047 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10048
10049         * file-coding.c (reset_decoding_stream): Clear previous
10050         detection state when autodetect.
10051
10052 2000-02-29  Didier Verna  <didier@xemacs.org>
10053
10054         * extents.c (set_extent_glyph_1): don't require extents to be
10055         attached.
10056
10057 2000-02-27  Andy Piper  <andy@xemacs.org>
10058
10059         * gutter.c (Fset_default_gutter_position): don't default left and
10060         right gutter visibility to t.
10061         (Fset_default_gutter_position): run
10062         default-gutter-position-changed-hook.
10063         (syms_of_gutter): add default-gutter-position-changed-hook.
10064
10065 2000-02-26  Andy Piper  <andy@xemacs.org>
10066
10067         * specifier.c (Fmake_specifier): add gutter references.
10068
10069         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10070
10071         * lisp.h: declare Fvalid_plist_p.
10072
10073         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10074         as changed.
10075         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10076         well as its visibility so that it gets reconstructed.
10077         (construct_window_gutter_spec): new function. Construct a string
10078         to be displayed in the gutter from a plist of strings. Take care
10079         to only use elements that are declared as visible.
10080         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10081         WINDOW_GUTTER.
10082         (gutter_validate): allow plists of strings in the specifier.
10083         (gutter_specs_changed): construct the real_gutter from the gutter
10084         specs using construct_window_gutter_spec.
10085         (gutter_visible_validate): gutter-visible is a new specifier type.
10086         (Fgutter_visible_specifier_p): new function for the new specifier.
10087         (syms_of_gutter): declare gutter-visible and
10088         Fgutter_visible_specifier_p.
10089         (specifier_type_create_gutter): intitalize new gutter-visible
10090         specifier.
10091         (reinit_specifier_type_create_gutter): ditto.
10092         (specifier_vars_of_gutter): use new specifier type for gutter
10093         visibility.
10094         (init_frame_gutters): construct real_gutter correctly.
10095         (Fgutter_specifier_p): beef up documentation.
10096         (Fgutter_size_specifier_p): ditto.
10097
10098         * winslots.h: add real_gutter slots.
10099
10100 2000-02-25  Andy Piper  <andy@xemacs.org>
10101
10102         * device-msw.c: Be kind to older cygwin versions. From Raymond
10103         Toy <toy@rtp.ericsson.se>.
10104
10105         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10106         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10107
10108 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10109
10110         * elhash.c (MARK_OBJ): Practice macro hygiene.
10111
10112 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10113
10114         * miscplay.c: s/__inline__/inline/g;
10115         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10116         (get_device_compdc): INLINE ==> static inline
10117         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10118         find -name '*.h' | \
10119         xargs global-replace \
10120         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10121
10122 2000-02-25  Andy Piper  <andy@xemacs.org>
10123
10124         * window.c (window_top_frame_gutter_height): new function.
10125         (window_top_window_gutter_height): ditto.
10126         (window_top_gutter_height): use them.
10127         (window_bottom_frame_gutter_height): new function.
10128         (window_bottom_window_gutter_height): ditto.
10129         (window_bottom_gutter_height): use them.
10130         (window_left_window_gutter_width): new function.
10131         (window_left_frame_gutter_width): ditto.
10132         (window_left_gutter_width): use them.
10133         (window_right_window_gutter_width): new function.
10134         (window_right_frame_gutter_width): ditto.
10135         (window_right_gutter_width): use them.
10136         (window_pixel_height): new function. calulate window pixel height
10137         with frame gutter involvement.
10138         (Fsplit_window): calculate new sizes taking frame gutters into
10139         account.
10140         (window_char_height_to_pixel_height): don't include frame gutters.
10141         (window_char_height): use window_pixel_height.
10142         (window_pixheight): rename from window_pixel_height.
10143         (change_window_height): use it.
10144         (window_pixel_height_to_char_height): don't include frame gutters.
10145         (window_char_width_to_pixel_width): ditto.
10146
10147 2000-02-25  Andy Piper  <andy@xemacs.org>
10148
10149         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10150         if it is.
10151
10152 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10153
10154         * alloc.c (staticpro):
10155         (staticpro_nodump):
10156         (dumpstruct):
10157         (dumpopaque):
10158         (pdump_wire):
10159         (pdump_wire_list):
10160         (compact_string_chars):
10161         (pdump_dump_wired):
10162         Convert:  if (foo) abort();  ==>  assert (! foo);
10163
10164         * eldap.c (Fldap_search_basic):
10165         (Fldap_add):
10166         (Fldap_modify):
10167         (Fldap_delete):
10168         Fix compiler warnings, and possible crashes if (random) return
10169         value were to be used.
10170
10171 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10172
10173         * device-msw.c: Workaround ResetDC failure.
10174
10175         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10176         applying a devmode.
10177
10178         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10179         (mswindows_text_width): Do not start printer page.
10180
10181         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10182
10183         * glyphs-msw.c: Added image methods to msprinter console and
10184         msprinter-specific image instantiation.
10185
10186 2000-02-20  Mike Alexander  <mta@arbortext.com>
10187
10188         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10189         to avoid crashes when selection-sets-clipboard is on
10190         (mswindows_own_selection): ditto
10191
10192 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10193
10194         * glyphs-msw.c:
10195         * redisplay-msw.c (get_frame_dc):
10196         (get_frame_compdc):
10197         * console-msw.h:
10198         * device-msw.c (mswindows_init_device):
10199         (mswindows_delete_device):
10200         (msprinter_init_device):
10201         (msprinter_delete_device):
10202         * frame-msw.c (mswindows_init_frame_1):
10203         (mswindows_delete_frame):
10204         (msprinter_init_frame_3):
10205         (msprinter_delete_frame): Move compatible DC to device object from
10206         frame object, for both mswindows and msprinter. Only one at a time
10207         is needed, it is a real waste to have one per frame!
10208
10209 2000-02-23  Andy Piper  <andy@xemacs.org>
10210
10211         * glyphs.c: add dynamic width and height elements.
10212         (image_instance_equal): ditto.
10213
10214         * glyphs-widget.c (widget_query_geometry): calculate width and
10215         height dynamically if required.
10216         (initialize_widget_image_instance): initialize dynamic dimensions.
10217         (widget_instantiate): pick-up dynamic dimensions.
10218
10219         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10220         dynamic determination. Add appropriate macros.
10221
10222         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10223         dimensions safe.
10224         (WINDOW_GUTTER_SIZE): ditto.
10225         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10226
10227         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10228         inline.
10229         (get_frame_dc): ditto.
10230
10231         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10232         here.
10233
10234 2000-02-23  Martin Buchholz <martin@xemacs.org>
10235
10236         * XEmacs 21.2.31 is released.
10237
10238 2000-02-22  Ben Wing <ben@xemacs.org>
10239
10240         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10241
10242 2000-02-22  Andy Piper  <andy@xemacs.org>
10243
10244         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10245
10246 2000-02-21  Mike Sperber <mike@xemacs.org>
10247
10248         * .dbxrc:
10249         * .gdbinit:
10250         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10251         variables.
10252
10253 2000-02-21  Mike Sperber <mike@xemacs.org>
10254
10255         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10256
10257 2000-02-21  Martin Buchholz <martin@xemacs.org>
10258
10259         * XEmacs 21.2.30 is released.
10260
10261 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10262
10263         Performance hacking.
10264         * *.c (syms_of_*):
10265         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10266         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10267         * emacs.c (main_1):
10268         * lisp.h (DEFUN):
10269         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10270         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10271         * symeval.h (DEFVAR_SYMVAL_FWD):
10272         * symbols.c (guts_of_unbound_marker):
10273         Make all c_readonly objects also lisp_readonly and marked for life.
10274         * lrecord.h (struct lrecord_implementation):
10275         Document flags better.
10276         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10277         * lrecord.h (DECLARE_LRECORD):
10278         * lrecord.h (XSETRECORD):
10279         * lrecord.h (RECORDP):
10280         * lrecord.h (RECORD_TYPEP):
10281         * lrecord.h (RECORD_MARKER): New.
10282         * lrecord.h (error_check_*):
10283         * lrecord.h (CONCHECK_NONRECORD):
10284         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10285         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10286         * lrecord.h (set_lheader_implementation):
10287         * lrecord.h (enum lrecord_type): New.
10288         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10289         * alloc.c (disksave_object_finalization_1):
10290         * alloc.c (mark_object):
10291         * alloc.c (lrecord_type_index):
10292         * alloc.c (tick_lcrecord_stats):
10293         * alloc.c (Fgarbage_collect):
10294         * alloc.c (init_alloc_once_early):
10295         * alloc.c (pdump_load):
10296         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10297         * alloc.c (lrecord_type_index): Delete.
10298         Make lisp object type indexes be constant.
10299           Makes (byte-compile) 5% faster.
10300         Put all marker functions into their own array.
10301           Makes (garbage-collect) 5% faster.
10302         Optimize SYMBOL_VALUE_MAGIC_P.
10303           Makes (byte-compile) 2-3% faster.
10304         * config.h.in (gc_checking_assert): New.
10305         * alloc.c: Use gc_checking_assert().
10306         * .dbxrc: Make compatible with new object type implementation.
10307         * .gdbinit: Make compatible with new object type implementation.
10308         * alloc.c: Delete all symbols defined only for debugging, such as
10309         Lisp_Type_Vector and lrecord_charset.
10310
10311 2000-02-21  Andy Piper  <andy@xemacs.org>
10312
10313         * gui-msw.c (Fmswindows_shell_execute): fix file location
10314         problems.
10315
10316         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10317         unshowing so that set_window_buffer doesn't undo
10318         kill_buffer_hook's hard work.
10319
10320         * glyphs-widget.c (tab_control_query_geometry): don't count the
10321         first item when calculating geometry.
10322
10323         * glyphs.c (map_subwindow): remove redundant code.
10324         (update_frame_subwindows): be more circumspect about when to
10325         update subwindows.
10326
10327         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10328         when items haven't changed. Update faces if faces have changed as
10329         well as just the widget face.
10330         (x_tab_control_update): Update faces if faces have changed as well
10331         as just the widget face.
10332
10333 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10334
10335         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10336         registration.
10337         (build_syscolor_string): Use mswindows_color_to_string to try to
10338         get a named color.
10339         (mswindows_device_system_metrics): Reverse the foreground and
10340         background colors so that they match the documentation.
10341
10342         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10343         they match the default Windows palette.
10344         (mswindows_color_to_string): New function.
10345
10346 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10347
10348         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10349
10350 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10351
10352         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10353         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10354
10355         * symbols.c (init_symbols_once_early): Removed obsolete
10356         DATA_SEG_BITS related kludge.
10357         (defvar_magic): Ditto.
10358
10359         * malloc.c: Removed obsolete DATA_SEG_BITS
10360         * ralloc.c: Ditto.
10361         * mem-limits.h: Ditto.
10362
10363         * Makefile.in.in: Removed obsolete HAVE_SHM
10364         * emacs.c: Ditto.
10365
10366 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10367
10368         *  device-msw.c (mswindows_delete_device): Free DDE string
10369         handles.
10370
10371 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10372
10373         * keymap.c (get_keyelt):
10374         * unexnt.c (unexec):
10375         * vm-limit.c (memory_warnings):
10376         * ntheap.c (recreate_heap):
10377         * ntheap.h (UNINIT_PTR):
10378         * select-msw.c (Fmswindows_get_clipboard):
10379         (Fmswindows_set_clipboard):
10380         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10381         * objects-msw.c:
10382         * menubar-msw.c (displayable_menu_item):
10383         * glyphs-msw.c:
10384         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10385         * sysdep.c (sys_subshell):
10386         * process-nt.c (nt_create_process):
10387         * nt.c (normalize_filename):
10388         (dostounix_filename):
10389         (unixtodos_filename):
10390         * ntproc.c (win32_executable_type):
10391         * ntplay.c (play_sound_data_1):
10392         (play_sound_file):
10393         * editfns.c (get_home_directory):
10394         * event-msw.c (struct winsock_stream):
10395         (mswindows_dde_callback):
10396         * device-msw.c (msprinter_init_device):
10397         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10398
10399         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10400         mswindows_clear_toolbar were swapped!
10401
10402         * objects-msw.c:(colormap_t):
10403         (fontmap_t):
10404         * emacs.c (struct standard_args): Fixed const jumble.
10405
10406         * glyphs-widget.c (update_widget): Fixed comparison notation.
10407
10408         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10409
10410         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10411         __declspec(noreturn) syntax.
10412
10413 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10414
10415         * eldap.c (Fldap_open):
10416         (Fldap_search_basic):
10417         (Fldap_add):
10418         (Fldap_modify):
10419         Use new coding system conversion macros.
10420
10421 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10422
10423         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10424
10425 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10426
10427         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10428         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10429
10430         * eldap.c (Qadd, Qreplace): New constant symbols
10431         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10432         interruptions by XEmacs signals
10433         Remove unnecessary calls to slow_down_interrupts and
10434         speed_up_interrupts
10435         (Fldap_search_basic): Renamed from Fldap_search_internal
10436         Added new optional parameter VERBOSE that triggers the
10437         display of progress messages
10438         Remove unnecessary calls to slow_down_interrupts and
10439         speed_up_interrupts
10440         LDAP result code analysis rewritten
10441         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10442         (syms_of_eldap): Define the new symbols and functions
10443
10444
10445 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10446
10447         * realpath.c: Determine PATH_MAX maximally portably.
10448
10449         * insdel.c (bytecount_to_charcount): Optimize.
10450         The function used to be optimized for entirely ASCII sequences.
10451         Now it is optimized for successive characters from the same
10452         charset.  This also wins big for _mostly_ ASCII sequences.
10453
10454         * fileio.c (Ffile_truename): convert return from realpath() using
10455         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10456         - Rewrite GCPROing slightly.
10457
10458         * sysdep.c (sys_open): Do filename conversion, like all other
10459         sys_* functions.  Fixes bug:
10460         (let ((file-name-coding-system 'iso-8859-2))
10461            (write-region x y latin2-name))
10462         ==> writes filename using internal encoding.
10463
10464 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10465
10466         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10467         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10468         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10469         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10470         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10471         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10472         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10473         (CONST_IF_NOT_DEBUG): Delete.
10474         * alloc.c (this_one_is_unmarkable): Delete.
10475         (mark_object): Don't check for this_one_is_unmarkable. Use the
10476         c_readonly flag instead.
10477         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10478
10479 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10480
10481         * event-msw.c (mswindows_drain_windows_queue):
10482         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10483         away redundant repaint events.
10484
10485 2000-02-17  Andy Piper  <andy@xemacs.org>
10486
10487         * redisplay.h: declare mark_redisplay_structs.
10488
10489         * redisplay.c (redisplay_window):
10490         (redisplay_frame): don't check subwindows_state_changed.
10491         (mark_redisplay): mark gutters here.
10492
10493         * glyphs.c: (instantiate_image_instantiator): always layout if we
10494         haven't done so already.
10495         (allocate_image_instance): don't mark as dirty.
10496         (update_subwindow): bind inhibit_quit.
10497
10498         * gutter.c (mark_gutters): new function.
10499
10500         * glyphs-x.c (x_update_widget): Always resize to get round a
10501         widget bug.
10502
10503         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10504         breaking absolutely everything.
10505
10506         * gutter.h: declare mark_gutters.
10507
10508 2000-02-16  Martin Buchholz <martin@xemacs.org>
10509
10510         * XEmacs 21.2.29 is released.
10511
10512 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10513
10514         * fns.c (size_bit_vector): Fix computation of the size.
10515
10516 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10517
10518         * *.[ch]: Change CONST to const globally.
10519         find -name '*.[ch]' | \
10520         xargs global-replace \
10521         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10522         - Remove vestigial references to CONST_IS_LOSING
10523
10524 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10525
10526         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10527         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10528         events instead of dispatching them directly.
10529         (mswindows_handle_paint): New function to do repainting.
10530         (mswindows_wnd_proc):
10531         (emacs_mswindows_handle_magic_event): Call above function.
10532
10533 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10534
10535         * objects-msw.c (mswindows_create_font_variant): Return the new
10536         font handle.
10537         (initialize_font_instance): Get font metrics from the underlined
10538         variant of the font to cope with the case where the underlined
10539         font has a bigger descent.
10540
10541 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10542
10543         * gui.c (gui_item_accelerator): Return the first underlined
10544         character in item name.
10545
10546 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10547
10548         * lisp.h: Added Qprinter.
10549
10550         * general.c (syms_of_general): Initialized it.
10551
10552         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10553         (get_frame_dc):
10554         (get_frame_compdc): Made inline.
10555
10556         * console.h (struct console_methods): Added eject_page method.
10557
10558         * frame.h: Added FRAME_DISPLAY_P and friends.
10559         Aligned backslahes in many macros in more readable fashion.
10560         Added page_number to struct frame, and an accessor macro
10561         for it.
10562
10563         * defice.h: Added DEVICE_DISPLAY_P and friends.
10564
10565         * device.c (Fdevice_printer_p): Used these.
10566
10567         * frame.c (allocate_frame_core): Initialize page number.
10568         (Fprint_job_page_number):
10569         (Fprint_job_eject_page): Implemented.
10570
10571         * frame-msw.c (msprinter_eject_page): Added method.
10572         (msprinter_start_page): Added.
10573
10574         * window.c (Fwindow_truncated_p): Fixed docstring.
10575         (Fwindow_last_line_visible_height): Implemented.
10576
10577 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10578
10579         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10580
10581 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10582
10583         * syntax.c (scan_words): Always advance at least one character.
10584
10585 2000-02-13  Andy Piper  <andy@xemacs.org>
10586
10587         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10588         to make sure the glyph is in the cachels.
10589
10590         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
10591         global image instance flag.
10592         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
10593         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
10594
10595         * glyphs.c (allocate_image_instance): set dirty bits correctly.
10596         (Fset_image_instance_property): mark layout as changed.
10597         (invalidate_glyph_geometry_maybe): mark layout as changed.
10598         (glyph_width): use new NEEDS_LAYOUT macro.
10599         (glyph_ascent): ditto.
10600         (glyph_descent): ditto.
10601         (glyph_height): ditto.
10602         (image_instance_layout): mark layout as clean after laying out.
10603         (update_subwindow): don't mark layout as clean here.
10604
10605         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
10606         should no longer be needed.
10607
10608         * glyphs-x.c (x_update_widget): sanitize asserts.
10609         (x_finalize_image_instance): sanitize assignment to widgets.
10610
10611         * glyphs-widget.c (widget_instantiate): don't need to clear the
10612         layout flag here.
10613
10614 2000-02-13  Martin Buchholz  <martin@xemacs.org>
10615
10616         * sysdep.c (getcwd): Use standard prototype.
10617         * sysdep.h (getcwd): Use standard prototype.
10618
10619         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
10620         (sequence, start, end).
10621         Remove redundant type checking.
10622         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
10623         view of `caller-protects') to avoid a crash where the real fix was
10624         found elsewhere.
10625
10626 2000-02-12  Martin Buchholz  <martin@xemacs.org>
10627
10628         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
10629
10630         * s/sol2.h: Remove feature macro initialization.
10631
10632         * alloc.c (alloc_lcrecord): Add more type checking assertions.
10633         (vector_hash): New.  Code from internal_hash.
10634         * lrecord.h:
10635         Fix up allocation subsystem comments.
10636
10637         * config.h.in: Add __EXTENSIONS__ for Solaris.
10638
10639         * systime.h (EMACS_GETTIMEOFDAY): New.
10640         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
10641         Remove Solaris-specific code.
10642         Use void* for the (ignored) second arg for gettimeofday().
10643
10644         * elhash.c (hash_table_hash): Implement it, finally.
10645         * elhash.c:  Use hashcode_t.
10646
10647         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
10648         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
10649
10650         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
10651         * fns.c (size_bit_vector):
10652         * alloc.c (size_vector):
10653         (make_vector_internal):
10654         (make_bit_vector_internal):
10655         (sweep_bit_vectors_1):
10656         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
10657
10658 2000-02-10  Martin Buchholz  <martin@xemacs.org>
10659
10660         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
10661         Include strings.h to avoid warnings for bzero and strcasecmp.
10662
10663 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10664
10665         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
10666         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
10667
10668         * fns.c (size_bit_vector): New.  Declare bit vectors as a
10669         sequence.
10670
10671 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10672
10673         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
10674         use a value field instead.
10675         (symbol_value_forward_forward): Use value field.
10676         (DEFVAR_SYMVAL_FWD): Use value field.
10677         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
10678         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
10679         (DEFVAR_CONST_INT): Ditto.
10680         (DEFVAR_BOOL): Ditto.
10681         (DEFVAR_CONST_BOOL): Ditto.
10682         (DEFVAR_INT_MAGIC): Ditto.
10683         (DEFVAR_BOOL_MAGIC): Ditto.
10684
10685         * symbols.c (guts_of_unbound_marker): Use value field.
10686         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
10687         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
10688
10689         * lisp.h: Declare dumpopaque and noninteractive1.
10690
10691         * alloc.c (dumpopaque): Added.
10692         (pdump_dump_opaquevec): Added.
10693         (pdump): Call pdump_dump_opaquevec to dump opaque data.
10694         (pdump_load): Reload opaque data.  Sync noninteractive1 with
10695         noninteractive.
10696
10697 2000-02-10  Andy Piper  <andy@xemacs.org>
10698
10699         * glyphs.c (image_instance_layout): if the size changes, mark it
10700         as such.
10701
10702         * redisplay-output.c (redisplay_output_layout): Update the
10703         subwindow here.
10704         (redisplay_output_subwindow): ditto.
10705
10706         * glyphs.c (update_subwindow): make sure we reset flags for
10707         layouts as well as everything else.
10708
10709         * glyphs-widget.c (layout_layout): don't need to set the instances
10710         dimensions here.
10711
10712 2000-02-09  Martin Buchholz  <martin@xemacs.org>
10713
10714         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
10715         not HAVE_DLOPEN, which is a lower-level thing.
10716
10717         * .cvsignore: Ignore gmon.out
10718
10719 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
10720
10721         * .cvsignore: Ignore portable dumper xemacs.dmp file
10722
10723 2000-02-09  Andy Piper  <andy@xemacs.org>
10724
10725         * redisplay-output.c (redisplay_output_layout): be more clever
10726         about when we output based on the changed flags.
10727
10728         * glyphs.h (struct image_instantiator_methods): add update_method.
10729         (struct Lisp_Image_Instance): add changed flags. Declare new
10730         macros for manipulating them.
10731
10732         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
10733         (image_instance_parent_glyph): find an image_instance's parent
10734         glyph or image_instance.
10735         (image_instance_layout): mark the size as changed.
10736         (set_image_instance_dirty_p): new function. mark an image
10737         instance, plus all of its parents, as dirty.
10738         (Fset_image_instance_property): use it.
10739         (Fglyph_animated_timeout_handler): use it.
10740         (update_subwindow): call update_widget and device methods for
10741         update_subwindow. Mark all changed flags as clean.
10742         (Fresize_subwindow): mark size as changed.
10743
10744         * glyphs-x.c (x_finalize_image_instance): try and detect gc
10745         failures.
10746         (x_update_subwindow): only resize subwindows here.
10747         (x_update_widget): new function. Update all changed properties of
10748         a widget.
10749         (x_resize_subwindow): deleted.
10750         (x_widget_set_property): deleted.
10751         (x_progress_gauge_set_property): deleted.
10752         (x_progress_gauge_update): new function. Implement recorded
10753         changes.
10754         (x_tab_control_update): ditto.
10755         (x_tab_control_set_property): deleted.
10756         (console_type_create_glyphs_x): declare new functions.
10757         (image_instantiator_format_create_glyphs_x): ditto.
10758
10759         * glyphs-widget.c (widget_set_property): mark text changed.
10760         (update_widget): new function. Update properties of a widget.
10761         (widget_instantiate): for layouts make sure we set their
10762         children's parent correctly.
10763         (tab_control_set_property): new function. Record changes that will
10764         take place under redisplay's control.
10765         (progress_gauge_set_property): ditto.
10766         (image_instantiator_progress_guage): declare new functions.
10767         (image_instantiator_tab_control): ditto.
10768
10769         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
10770         now.
10771         (mswindows_update_widget): new function. Update all properties on
10772         a widget that have changed.
10773         (mswindows_button_update): new function. Update a button's set
10774         state.
10775         (mswindows_tab_control_update): new function. Update the items in
10776         a tab.
10777         (mswindows_tab_control_set_property): deleted.
10778         (mswindows_progress_gauge_update): new function. Update the
10779         progress gauge's progress.
10780         (mswindows_widget_set_property): deleted. This is all done
10781         asynchronously now.
10782         (mswindows_progress_gauge_set_property): ditto.
10783         (console_type_create_glyphs_mswindows): declare new methods.
10784         (image_instantiator_format_create_glyphs_mswindows): ditto.
10785
10786         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
10787         (msprinter_set_frame_properties): ditto.
10788
10789         * console.h (struct console_methods): Add update_widget_method.
10790
10791 2000-02-09  Andy Piper  <andy@xemacs.org>
10792
10793         * gui-msw.c (Fmswindows_shell_execute): Make
10794         mswindows-shell-execute industrial strength.
10795
10796 2000-02-08  Martin Buchholz  <martin@xemacs.org>
10797
10798         * lrecord.h: Make macro argument `props' match member function `plist'.
10799         * fns.c (Fget):
10800         * fns.c (Fput):
10801         * fns.c (Fremprop):
10802         * fns.c (Fobject_plist):
10803         * alloc.c:
10804         * symbols.c:
10805         Object property list frobbing cleanup.
10806         - Allow any lisp object (compared with `eq'), not just symbols, as
10807           keys in object plists.
10808         - Move symbol plist frobbing into symbols.c, where it belongs.
10809         - Move string plist frobbing into alloc.c, where it belongs.
10810         - Everything's an lrecord now, so no need to test for symbolp, etc.
10811         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
10812
10813         * extents.c: Reorder code to remove declarations.
10814
10815         * frame.h (store_in_alist): Remove useless declaration.
10816
10817 2000-02-07  Martin Buchholz  <martin@xemacs.org>
10818
10819         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
10820         * config.h.in: Add HAVE_XCONVERTCASE.
10821
10822 2000-02-07  Andy Piper  <andy@xemacs.org>
10823
10824         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
10825         it breaks many things.
10826
10827 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
10828
10829         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
10830         actually can start a common comment type.
10831         * src/syntax.h (SYNTAX_END_P): ditto for end.
10832
10833 2000-02-07  Martin Buchholz <martin@xemacs.org>
10834
10835         * XEmacs 21.2.28 is released.
10836
10837 2000-02-06  Martin Buchholz  <martin@xemacs.org>
10838
10839         * event-Xt.c (x_keysym_to_character): New.
10840         (maybe_define_x_key_as_self_inserting_character): New.
10841         (x_has_keysym): New.
10842         Auto-define all keys on the keyboard as self-insert-key.
10843
10844 2000-02-02  Martin Buchholz  <martin@xemacs.org>
10845
10846         * menubar.c (vars_of_menubar): A small code simplification.
10847
10848         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
10849
10850         * ExternalShell.c:
10851         * ExternalClient.c:
10852         * EmacsShell-sub.c:
10853         * EmacsManager.c:
10854         * EmacsFrame.c:
10855         Use consistent style for specifying X resources.
10856
10857         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
10858         This makes (dontusethis-set-symbol-value-handler) actually usable.
10859
10860         * lrecord.h (lrecord_decription_type):
10861         * alloc.c (pdump_register_sub):
10862         (pdump_dump_data):
10863         (pdump_reloc_one):
10864         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
10865         Comply with XEmacs coding style.
10866         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
10867         args, and XD_LISP_OBJECT_ARRAY with 3 args.
10868
10869         * keymap.c (Faccessible_keymaps):
10870         Make (accessible-keymaps map "\C-h") do the Right Thing.
10871         Make (accessible-keymaps map []) do the Right Thing.
10872         Make (accessible-keymaps map "") do the Right Thing.
10873         (check_keymap_definition_loop): New function.
10874         (keymap_store_internal): Keep luser from shooting self in foot,
10875           via (define-key ctl-x-4-map "p" global-map).
10876         Remove fullness slot from struct Lisp_Keymap, since hash tables
10877         are now reliable.
10878         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
10879
10880 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10881
10882         * redisplay.c (init_redisplay): Fix small memory leak.
10883         * elhash.h:
10884         * elhash.c (pdump_reorganize_hash_table):
10885         Rename from reorganize_hash_table. Change prototype.
10886         Reuse the original memory for hentries.  Save 100k.
10887         * alloc.c (PDUMP_READ): new macro.
10888         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
10889         * alloc.c: No need to #ifndef before #undef.
10890
10891         * print.c: Allow debug_print() to print readably by modifying
10892         debug_print_readably.  Use consistent variable names.
10893
10894         * .dbxrc: Try to get things to work even if stopped in a function
10895         without source available by explicitly specifying source files.
10896 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10897
10898         * unexnt.c (_start): Removed bogus code which caused loading heap
10899         from differrent executable file.
10900         Removed bogus assignment to _fmode, which caused inconsistencies.
10901
10902 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10903
10904         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
10905         Have spawnve encapsulation regard DONT_ENCAPSULATE.
10906         Do not preliminary `#define signal sigset'.
10907
10908         * systime.h: Do not prototype environ on windows nt and cygwin,
10909         this conflicts with system header.
10910
10911         * syssignal.h: Use correct define for WINDOWSNT
10912
10913         * sysdep.h: Do not prototype environ on windows nt, this conflicts
10914         with system header.
10915
10916         * sysdep.c (near start of file): Fixed commentary and rearranged
10917         ifdefs in readable order.
10918         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
10919         (start_of_text):
10920         (end_of_text):
10921         (end_of_data): Do not compile in if using PDUMP.
10922
10923         * symsinit.h: Prototyped vars_of_nt().
10924
10925         * ntproc.c (windows9x_p): Added, instead of os_subtype.
10926         (find_child_console): Use it.
10927         (sys_kill): Use it.
10928
10929         * ntheap.h: Do not extern os_subtype.
10930
10931         * ntheap.c (cache_system_info): Do not cache unneeded:
10932         nt_major_version, nt_minor_version and os_subtype.
10933         (recreate_heap): Do not compile in when PDUMPing.
10934
10935         * nt.c (geteuid and friends): Use the new varibale
10936         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
10937         (init_user_info): Removed the above mentioned hackery.
10938         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
10939         stat has been fixed in the C runtime.
10940         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
10941
10942         * file-coding.c (struct file_coding_dump): Do not define
10943         ucs_to_mule_table in the struct if not MULE.
10944         (struct struct lrecord_description fcd_description_1): Do not dump
10945         the above.
10946
10947         * emacs.c (main_1): Call vars_of_nt().
10948         (right before Fdump_emacs_data): Don't need lastfile if using both
10949         portabe dumper and system malloc.
10950
10951         * alloc.c (Fmemory_limit): Conditionalized out.
10952         (pdump): Use OPEN_BINARY for the portable dump file.
10953         (pdump_load): Ditto.
10954
10955 2000-02-02  Mike Alexander  <mta@arbortext.com>
10956
10957         * nt.c (convert_time): Set tm_isdst before calling mktime and
10958         avoid calling it at all if the compiler supports 64 bit integers.
10959         Also initialize utc_base_ft before using it.
10960
10961 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10962
10963         * frame.c (change_frame_size_1): Take f->internal_border_width
10964         into consideration when calculating the width of the frame.
10965
10966 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10967
10968         * window.c (frame_min_height):
10969         (frame_size_valid_p):
10970         (frame_pixsize_valid_p): Added.
10971         (check_frame_size): Generalized.
10972
10973         * window.h: Prototyped the above.
10974
10975         * lisp.h:
10976         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
10977         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
10978         Deleted Vwin32_* and Vbinary_process_* unused variables.
10979
10980         * device-msw.c (msprinter_init_device): Do not get printer font
10981         list; Added DEVMODE functions.
10982
10983         * frame-msw.c: Added lots of printer code.
10984
10985         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
10986         general.c.
10987
10988         * console-msw.h: Added more msprinter device private slots.
10989
10990 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10991
10992         * event-msw.c (key_needs_default_processing_p): Added.
10993         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
10994
10995 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10996
10997         * glyphs.c (image_instance_layout): Mark image instance as clean
10998         after layout.
10999         (glyph_dirty_p): Removed redundant function.
11000         (invalidate_glyph_geometry_maybe): Added.
11001         (update_glyph_cachel_data): Call it.
11002
11003         * glyphs.h: Prototyped it.
11004
11005         * redisplay.c (add_glyph_rune): Call it.
11006         (redisplay_window): Reset glyphs cachels when frame faces have
11007         changed, thus forcing recomputation of built-in border glyphs.
11008
11009 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11010
11011         * Makefile.in.in: Make portable dumper and purify play well together.
11012         Add imperfect, but better than nothing, support for pdump.
11013         Remove xemacs.dmp when temacs is re-generated.
11014         Don't ignore errors when dumping xemacs.
11015
11016         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11017
11018 2000-01-28  Andy Piper  <andy@xemacs.org>
11019
11020         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11021         (setup_normal_frame): ditto.
11022         (setup_frame_without_minibuffer): ditto.
11023         (setup_minibuffer_frame): ditto.
11024         (delete_frame_internal): ditto.
11025         (Fmake_frame_invisible): ditto.
11026         (Ficonify_frame): ditto.
11027
11028         * window.h: change Fset_window_buffer signature.
11029
11030         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11031         (Fset_window_buffer): allow recording of buffer if the window is
11032         the selected window.
11033         (window_loop): Use new Fset_window signature.
11034
11035 2000-01-23  Daniel Pittman  <daniel@danann.net>
11036
11037         * config.h.in: Added template for `HAVE_ATHENA_3D'
11038
11039 2000-01-29  Andy Piper  <andy@xemacs.org>
11040
11041         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11042
11043         * gutter.c (output_gutter): Don't output if the window isn't live.
11044
11045 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11046
11047         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11048         of 01/12/00: Moved SetFocus back here where it belongs.
11049
11050 2000-01-23  Andy Piper  <andy@xemacs.org>
11051
11052         * s/cygwin32.h: declare printer things.
11053
11054 2000-01-26  Andy Piper  <andy@xemacs.org>
11055
11056         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11057         Alexander.
11058
11059 2000-01-24  Andy Piper  <andy@xemacs.org>
11060
11061         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11062         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11063
11064         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11065
11066         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11067
11068         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11069
11070         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11071         (mswindows_output_display_block): Avoid local shadows.
11072
11073         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11074         (mswindows_enqueue_mouse_button_event): ditto.
11075         (mswindows_handle_gui_wm_command): remove declaration.
11076
11077         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11078         warnings.
11079
11080         * console-msw.h: Avoid shadows.
11081         (mswindows_get_toolbar_button_text):
11082         (emacs_mswindows_create_stream_pair):
11083         (emacs_mswindows_delete_stream_pair):
11084         (mswindows_handle_toolbar_wm_command): declare.
11085
11086         * device-msw.c (build_syscolor_string): Avoid shadows.
11087
11088 2000-01-23  Andy Piper  <andy@xemacs.org>
11089
11090         * glyphs-widget.c (widget_instantiate): reverse the items for
11091         layouts so that children are in the expected order.
11092
11093 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11094
11095         * ralloc.c: safe_bcopy ==> memmove
11096         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11097         * s/msdos.h: Remove BCOPY macros.
11098         * insdel.c (gap_right): Remove BCOPY conditional code.
11099         * insdel.c (gap_left): Remove BCOPY conditional code.
11100         XEmacs demands a working ANSI C compiler - hence memmove.
11101
11102         * regex.c (regex_compile): Remove accidental use of trigraphs.
11103
11104 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11105
11106         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11107         event timestamp.
11108
11109 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11110
11111         * event-msw.c (mswindows_drain_windows_queue): Added the
11112         parameter.
11113         (mswindows_need_event): Commented the call to
11114         mswindows_drain_windows_queue().
11115         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11116         only.
11117
11118         * console-msw.h: Moved a few function prototypes here from
11119         event-msw.c.
11120
11121         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11122         parameter from unsigned short to unsigned long.
11123         (Fmswindows_shell_execute): Added return value.
11124
11125 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11126
11127         * sysdep.c (init_system_name):
11128           process-unix.c (unix_canonicalized_host_name):
11129         Don't call freeaddrinfo() if getaddrinfo() fails.
11130
11131         * process-unix.c (unix_open_unix_network_stream):
11132         Moved the code to get a port # into address loop.
11133
11134 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11135
11136         * buffer.c (reinit_vars_of_buffer):
11137         The right place to initialize conversion_in_dynarr and
11138         conversion_out_dynarr.
11139
11140         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11141
11142         * process-unix.c (unix_canonicalize_host_name): Muleize.
11143         (unix_open_network_stream): Muleize.
11144
11145         * buffer.h: Fix up prototypes for ralloc.c functions.
11146
11147 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11148         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11149         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11150                 instead of gethostbyname()
11151         * process-unix.c: In unix_canonicalize_host_name() and
11152                 unix_open_network_stream(), add code to use getaddrinfo()
11153                 instead of gethostbyname().
11154
11155 2000-01-27  Daniel Pittman <daniel@danann.net>
11156
11157         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11158         libs when built with flat Athena.
11159
11160 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11161
11162         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11163         Use coding standards for function prototypes.
11164
11165 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11166
11167         * dialog-msw.c (push_lisp_string_as_unicode):
11168         * doc.c (unparesseuxify_doc_string):
11169         * dired.c (Fuser_name_completion_1):
11170         * dired.c (Fuser_name_all_completions):
11171         * dired.c (free_user_cache):
11172         * dired.c (user_name_completion):
11173         * console-x.c (get_display_arg_connection):
11174         * minibuf.c (clear_echo_area_internal):
11175         * minibuf.c (echo_area_append):
11176         * eldap.c (Fldap_open):
11177         * eldap.c (Fldap_search_internal):
11178         * frame-x.c (x_set_frame_text_value):
11179         * frame-x.c (x_set_frame_properties):
11180         * frame-x.c (x_create_widgets):
11181         * redisplay-tty.c (term_get_fkeys_1):
11182         * objects-x.c (x_parse_nearest_color):
11183         * objects-x.c (x_valid_color_name_p):
11184         * objects-x.c (x_initialize_font_instance):
11185         * objects-x.c (x_list_fonts):
11186         * objects-x.c (x_find_charset_font):
11187         * tooltalk.c (Fadd_tooltalk_message_arg):
11188         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11189         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11190         * process-unix.c (unix_create_process):
11191         * ntproc.c (sys_spawnve):
11192         * sound.c (Fplay_sound_file):
11193         * sound.c (Fplay_sound):
11194         * buffer.c (init_initial_directory):
11195         * buffer.c (init_buffer):
11196         * editfns.c (init_editfns):
11197         * editfns.c (Ftemp_directory):
11198         * editfns.c (Fuser_full_name):
11199         * editfns.c (uncache_home_directory):
11200         * editfns.c (get_home_directory):
11201         * editfns.c (Fuser_home_directory):
11202         * editfns.c (Fformat_time_string):
11203         * editfns.c (Fcurrent_time_string):
11204         * gui-x.c (button_item_to_widget_value):
11205         * database.c (Fopen_database):
11206         * event-Xt.c (x_to_emacs_keysym):
11207         * event-Xt.c (x_event_to_emacs_event):
11208         * event-Xt.c (describe_event_window):
11209         * event-msw.c (mswindows_wnd_proc):
11210         * glyphs-eimage.c (jpeg_instantiate):
11211         * glyphs-eimage.c (gif_instantiate):
11212         * glyphs-eimage.c (png_instantiate):
11213         * glyphs-eimage.c (tiff_instantiate):
11214         * glyphs-x.c (xbm_instantiate_1):
11215         * glyphs-x.c (x_xbm_instantiate):
11216         * glyphs-x.c (x_xface_instantiate):
11217         * glyphs-x.c (autodetect_instantiate):
11218         * glyphs-x.c (cursor_font_instantiate):
11219         * glyphs-x.c (x_widget_instantiate):
11220         * glyphs-x.c (x_widget_set_property):
11221         * glyphs-x.c (x_widget_property):
11222         * glyphs-x.c (BUILD_GLYPH_INST):
11223         * print.c (write_string_to_stdio_stream):
11224         * print.c (output_string):
11225         * print.c (Falternate_debugging_output):
11226         * print.c (Fexternal_debugging_output):
11227         * glyphs-msw.c (extract_xpm_color_names):
11228         * glyphs-msw.c (mswindows_xpm_instantiate):
11229         * glyphs-msw.c (bmp_instantiate):
11230         * glyphs-msw.c (resource_name_to_resource):
11231         * glyphs-msw.c (mswindows_resource_instantiate):
11232         * glyphs-msw.c (xbm_instantiate_1):
11233         * glyphs-msw.c (mswindows_xbm_instantiate):
11234         * glyphs-msw.c (mswindows_xface_instantiate):
11235         * glyphs-msw.c (mswindows_widget_instantiate):
11236         * glyphs-msw.c (add_tree_item):
11237         * glyphs-msw.c (add_tab_item):
11238         * glyphs-msw.c (mswindows_combo_box_instantiate):
11239         * glyphs-msw.c (mswindows_widget_property):
11240         * glyphs-msw.c (mswindows_combo_box_property):
11241         * glyphs-msw.c (mswindows_widget_set_property):
11242         * console.c (stuff_buffered_input):
11243         * objects-msw.c (mswindows_initialize_color_instance):
11244         * objects-msw.c (mswindows_valid_color_name_p):
11245         * objects-msw.c (mswindows_list_fonts):
11246         * objects-msw.c (mswindows_font_instance_truename):
11247         * bytecode.c (optimize_compiled_function):
11248         * select-x.c (symbol_to_x_atom):
11249         * select-x.c (x_atom_to_symbol):
11250         * select-x.c (hack_motif_clipboard_selection):
11251         * select-x.c (selection_data_to_lisp_data):
11252         * select-x.c (lisp_data_to_selection_data):
11253         * select-x.c (Fx_get_cutbuffer_internal):
11254         * select-x.c (Fx_store_cutbuffer_internal):
11255         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11256         * buffer.h (TO_INTERNAL_FORMAT): New function.
11257         * emacs.c (make_arg_list_1):
11258         * emacs.c (make_argc_argv):
11259         * emacs.c (main_1):
11260         * emacs.c (Fdump_emacs):
11261         * emacs.c (split_string_by_emchar_1):
11262         * file-coding.h:
11263         * lisp.h:
11264         * lstream.h:
11265         * symsinit.h:
11266         * device-x.c (x_init_device):
11267         * device-x.c (Fx_valid_keysym_name_p):
11268         * device-x.c (Fx_get_font_path):
11269         * device-x.c (Fx_set_font_path):
11270         * glyphs.c (bitmap_to_lisp_data):
11271         * glyphs.c (pixmap_to_lisp_data):
11272         * alloc.c (make_ext_string): Use coding system arguments.  Update
11273         all callers.
11274         * alloc.c (build_string):
11275         * callproc.c (child_setup):
11276         * callproc.c (init_callproc):
11277         * fileio.c (lisp_strerror):
11278         * fileio.c (directory_file_name):
11279         * fileio.c (Fexpand_file_name):
11280         * fileio.c (Ffile_truename):
11281         * fileio.c (Fsysnetunam):
11282         * fileio.c (Fdo_auto_save):
11283         * sysdep.c (sys_readdir):
11284         * tests.c: New file.  Allow adding C tests.
11285         Replace GET_* macros with a more comprehensible and flexible
11286         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11287         Modify all calls.
11288         Any coding system can be used to do format conversion.
11289         Eliminate enum external_data_format.
11290         Eliminate convert_to_external_format.
11291         Eliminate convert_to_internal_format.
11292         Make sure file-name, keyboard, terminal, and ctext are always
11293         defined as coding systems or aliases.  Make
11294         file-name-coding-system, terminal-coding-system, and
11295         keyboard-coding-system magical variables that are equivalent to
11296         defining the corresponding coding system aliases.
11297
11298         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11299         * file-coding.c (Fcoding_system_alias_p): New function.
11300         * file-coding.c (Fcoding_system_aliasee): New function.
11301         * file-coding.c (append_suffix_to_symbol): New function.
11302         * file-coding.c (dangling_coding_system_alias_p): New function.
11303         * file-coding.c (Ffind_coding_system):
11304         * file-coding.c (Fcopy_coding_system):
11305         * file-coding.c (encode_coding_no_conversion):
11306         * file-coding.c (syms_of_file_coding):
11307         * file-coding.c (vars_of_file_coding):
11308         Rewrite coding system alias code.
11309         Allow nested aliases, like symbolic links.
11310         Allow redefinition of coding system aliases.
11311         Prevent existence of dangling coding system aliases.
11312
11313         * dired.c (Fuser_name_completion_1):
11314         * dired.c (Fuser_name_all_completions):
11315         A crash would happen if user did QUIT in the middle of building
11316         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11317
11318         * lisp.h:
11319         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11320
11321         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11322         an unsigned char *.  Update all callers.
11323
11324 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11325
11326         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11327
11328 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11329
11330         * elhash.c (hentry_description): Use more portable definition.
11331         (resize_hash_table): Initialize new hentries using
11332         xnew_array_and_zero, thereby simplifying the code.
11333
11334         * mule-charset.c (make_charset): Make sure entire object is
11335         initialized, to avoid Purify warnings.
11336
11337         * alloc.c (resize_string): Fix unlikely crash with big strings.
11338
11339 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11340
11341         * realpath.c (xrealpath):
11342         Don't call getwd().
11343
11344 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11345
11346         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11347
11348 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11349
11350         * unexelfsgi.c (unexec): Change the way we decide which segment
11351         should be extended.
11352
11353         Assumption that .bss section should be outside the PT_LOADable
11354         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11355         it's present) is inside the 'data' segment. This would fail the
11356         test which was used to find a segment to grow and cover new
11357         heap. Instead of this assumption, I created another one - on IRIX
11358         the segment to grow should start below .bss and it's address
11359         should extent above the end of .bss. Once this segment is
11360         identified, it's grown to accommodate the new heap and new
11361         zero-length .bss section is added at the end of .data2.
11362
11363 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11364
11365         * eval.c (Feval): Wrong number of arguments should use original
11366         function, not the indirect_function version of it.
11367
11368 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11369
11370         * glyphs-x.c (x_button_instantiate): Don't add image if
11371         it is not a pixmap.
11372         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11373         is relative.
11374
11375 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11376
11377         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11378         declaration.
11379         (DEFVAR_INT_MAGIC): Ditto.
11380         (DEFVAR_BOOL_MAGIC): Ditto.
11381         * glyphs.h: Reindent backslash.
11382
11383 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11384
11385         * glyphs-widget.c (layout_query_geometry):
11386         (layout_layout): Use correct types for gheight, gwidth.
11387
11388 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11389
11390         * EmacsManager.c (QueryGeometry): Purified.
11391
11392 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11393
11394         * alloc.c (make_float): Make sure entire object is initialized, to
11395         avoid Purify warnings.
11396         (pdump_register_sub): Remove useless assignment.
11397         (pdump): Use xmalloc, not malloc.
11398         (pdump_load): Use xmalloc, not malloc.
11399
11400 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11401
11402         * callproc.c:
11403         * dired-msw.c:
11404         * fileio.c:
11405         * process-nt.c:
11406         * redisplay-msw.c:
11407         * sysdep.c: Removed redundant #include <windows.h>
11408
11409 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11410
11411         * frame.c (delete_frame_internal): Do not delete device when its
11412         implementation so declares.
11413         (delete_frame_internal): Set device selected frame to nil when
11414         last frame goes away.
11415
11416         * device-msw.c (msprinter_device_system_metrics): Implemented.
11417         (mswindows_device_system_metrics): Added 'device-dpi property.
11418
11419         * device.c: (Fdevice_printer_p): Added.
11420         Added 'offset-workspace device metric.
11421
11422         * console.h (device_metrics): Declared DM_offset_workspace.
11423
11424 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11425
11426         * fileio.c (Ffile_truename): Remove pointless and confusing
11427         initialization of elen.
11428
11429         * glyphs-widget.c: Compiler warning fixes.
11430
11431 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11432
11433         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11434         instead of a Lisp_Object as argument to make it consistent with
11435         the other LIVE_P macros.
11436         (CHECK_LIVE_PROCESS): New macro.
11437
11438         * process.c: Declare Qprocess_live_p.
11439         (Fprocess_live_p): New function.
11440         (create_process): Use PROCESS_LIVE_P.
11441         (read_process_output): Ditto.
11442         (set_process_filter): Ditto.
11443         (Fdelete_process): Ditto.
11444         (kill_buffer_processes): Ditto
11445         (process_send_signal): Use CHECK_LIVE_PROCESS.
11446         (Fprocess_input_coding_system): Check whether process is still
11447         alive (fix PR#1061).
11448         (Fprocess_output_coding_system): Ditto.
11449         (Fprocess_coding_system): Ditto.
11450         (Fset_process_input_coding_system): Ditto.
11451         (Fset_process_output_coding_system): Ditto.
11452
11453 2000-01-23  Andy Piper  <andy@xemacs.org>
11454
11455         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11456         layout and widget.
11457
11458         * glyphs.c (mark_image_instance): take into account changed
11459         image_instance format.
11460         (image_instance_equal): ditto.
11461         (image_instance_hash): ditto.
11462
11463         * glyphs-widget.c (widget_instantiate): Incorporate layout
11464         instantiation here. Delay layout of the layout until later.
11465         (layout_instantiate): deleted.
11466         (layout_query_geometry): new function. get the geometry of a
11467         layout.
11468         (layout_layout): layout a layout dynamically.
11469         (image_instantiator_widget): New function - splitting up
11470         image_instantiator_format_create_glyphs_widget for netwinder
11471         compilation.
11472         (image_instantiator_buttons):
11473         (image_instantiator_edit_fields):
11474         (image_instantiator_combo_box):
11475         (image_instantiator_scrollbar):
11476         (image_instantiator_progress_guage):
11477         (image_instantiator_tree_view):
11478         (image_instantiator_tab_control):
11479         (image_instantiator_labels):
11480         (image_instantiator_layout): ditto.
11481         (image_instantiator_format_create_glyphs_widget): Call preceding
11482         functions.
11483
11484 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11485
11486         * process.c (Fset_process_coding_system):
11487         * device-x.c (Fx_keysym_hash_table):
11488         Docstring fixes.
11489
11490         * lstream.c (Lstream_write): Return documented value, not 0.
11491
11492         * fileio.c (directory_file_name):
11493         (Fsubstitute_in_file_name):
11494         (Fsubstitute_insert_file_contents_internal):
11495         (Fwrite_region_internal):
11496         * emacs.c:
11497         * sysdep.c:
11498         * getloadavg.c:
11499         * systty.h:
11500         Remove vestigial APOLLO-conditional code.
11501
11502 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11503
11504         * getpagesize.h: Add guard macros.
11505         * libsst.h: Add guard macros.
11506         * libst.h: Add guard macros.
11507         * line-number.h: Add guard macros.
11508         * ndir.h: Add guard macros.
11509         * sysfloat.h: Add guard macros.
11510         * sysfile.h: Add guard macros.
11511         * sysproc.h: Add guard macros.
11512         * syswait.h: Add guard macros.
11513         * xintrinsic.h: Add guard macros.
11514         * xintrinsicp.h: Add guard macros.
11515         * xmmanager.h: Add guard macros.
11516         * xmmanagerp.h: Add guard macros.
11517         * xmprimitive.h: Add guard macros.
11518         * xmu.h: Add guard macros.
11519         * gpmevent.h: Add copyright statement. Add guard macros.
11520         * miscplay.h: Add guard macros.
11521         * *.h: Use consistent C-standards-approved guard macro names.
11522
11523         * opaque.c (make_opaque): Switch parameter order.
11524         * opaque.h (make_opaque): Switch parameter order.
11525         Update all callers.
11526         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11527
11528         * config.h.in (type_checking_assert): Added.
11529         (bufpos_checking_assert): Added.
11530
11531 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11532
11533         * alloc.c: Harmless pdump changes.
11534         - Use countof().
11535         - spell alignment correctly.
11536         * sysdep.c: Use countof()
11537
11538 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11539
11540         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11541         initially_selected_for_input() console method, default to 0.
11542         (semi_canonicalize_console_connection): Try to delegate to
11543         canonicalize_console_connection if no such console method.
11544         (canonicalize_console_connection): Vice versa.
11545         (print_console): Do not print nil connection.
11546
11547         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11548         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11549         (XDEVIMPF_FRAMELESS_OK): Added.
11550         (CONSOLE_INHERITS_METHOD): Added.
11551
11552         * console-msw.c (mswindows_canonicalize_console_connection):
11553         Added.
11554         (mswindows_canonicalize_device_connection): Added.
11555
11556         * console-msw.h (struct msprinter_device): Added this struct and
11557         accessor macros.
11558         (mswindows_device): Made fontlist a lisp object.
11559
11560         * device.c (semi_canonicalize_device_connection):  Try to delegate
11561         to canonicalize_device_connection if no such console method.
11562         (canonicalize_device_connection): Vice versa.
11563         (print_device): Do not print nil connection.
11564
11565         * device-msw.c (mswindows_init_device): Call InitCommonControls
11566         when have widgets.
11567         (mswindows_delete_device): Removed fontlist deallocation.
11568         (mswindows_mark_device): Added.
11569
11570         * events.c (event_equal): Added abort() at unreached code.
11571         (event_hash): Ditto.
11572
11573         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11574         fallback tags of Windows devices.
11575
11576         * general.c (syms_of_general): Initialized Qmsprinter.
11577
11578         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11579         of fallback tags of Windows devices.
11580
11581         * lisp.h: Declared Qmsprinter.
11582
11583         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11584         of strings.
11585         (mswindows_list_fonts): Ditto.
11586         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11587         that it can be used by both mswindows and msprinter devices.
11588         (initialize_font_instance): Added.
11589         (mswindows_initialize_font_instance): Use it.
11590         (msprinter_initialize_font_instance): Added.
11591
11592         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
11593         and implementation flags check.
11594         (redisplay_without_hooks): Changed the call to the above.
11595         (Fredraw_device): Ditto.
11596         (Fredisplay_device): Ditto.
11597
11598         * redisplay-msw.c (get_frame_dc): Implemented.
11599         (get_frame_compdc): Implemented.
11600         (many functions): Use the two functions above to get device
11601         contexts, ether for a window or a printer.
11602
11603 2000-01-21  Olivier Galibert  <galibert@pobox.com>
11604
11605         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
11606         initialization here.
11607         (init_symbols_once_early): Call it.
11608         * emacs.c (main_1): Call it.
11609         * symsinit.h: Declare it.
11610
11611 2000-01-19  Olivier Galibert  <galibert@pobox.com>
11612
11613         * alloc.c: Use a lrecord_header * in the backtrace instead of a
11614         Lisp_Object.
11615         (pdump_backtrace): Ditto.
11616         (pdump_register_object): Ditto.  Cleanup use of the pointers.
11617         (pdump_get_entry): Abort if trying to register a null pointer.
11618         (pdump_dump_data): Cleanup types when relocating.
11619         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
11620         (pdump_dump_rtables): Remove bad casts.
11621         (pdump_load): Cleanup relocation w.r.t union type.  Use a
11622         Lisp_Object instead of a EMACS_INT for the hashtable
11623         reorganization.
11624
11625 2000-01-20  Martin Buchholz  <martin@xemacs.org>
11626
11627         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
11628
11629         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
11630
11631         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
11632
11633         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
11634
11635 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11636
11637         * faces.h (FACE_STRIKETHRU_P): Added.
11638
11639         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
11640         of font variants.
11641
11642         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
11643         (mswindows_set_dc_font): New function, aware of font variants,
11644         separated from mswindows_update_dc.
11645
11646         * objects-msw.h (struct mswindows_font_instance_data): Added
11647         definition.
11648
11649         * objects-msw.c (mswindows_finalize_font_instance): Delete all
11650         cached fonts and the data structure.
11651         (mswindows_initialize_font_instance): Added creation of font data
11652         structure.
11653         (mswindows_print_font_instance): Print at least something.
11654         (mswindows_create_font_variant): Implemented.
11655         (mswindows_get_hfont): Implemented.
11656
11657 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
11658
11659         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
11660         prototyping problem with msvc.
11661
11662         * emacs.c (main_1): added syms_of_gui_mswindows() call
11663
11664         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
11665         syms_of_gui_mswindows() function
11666
11667         * symsinit.h: added the prototype for syms_of_gui_mswindows()
11668
11669 2000-01-18  Martin Buchholz <martin@xemacs.org>
11670
11671         * XEmacs 21.2.27 is released.
11672
11673 2000-01-18  Martin Buchholz  <martin@xemacs.org>
11674
11675         * glyphs-eimage.c (struct tiff_error_struct):
11676         (tiff_error_func):
11677         (tiff_warning_func):
11678         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
11679
11680         * unexmips.c:
11681         * unexhp9k3.c:
11682         * unexfreebsd.c:
11683         * unexec.c: Remove vestigial Lucid C code.
11684         * unexalpha.c:
11685         * unexaix.c:
11686         * termcap.c:
11687         * libsst.c: Ansify.
11688         Remove declarations of errno and strerror().
11689
11690         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
11691
11692         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
11693
11694 2000-01-16  Martin Buchholz  <martin@xemacs.org>
11695
11696         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
11697         Optimize.
11698
11699 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11700
11701         * md5.c:
11702         * file-coding.c:
11703         * file-coding.h:
11704         Change enum eol_type to eol_type_t.
11705
11706 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11707
11708         * gui.c (get_gui_callback): Check cons before accessing car.
11709
11710 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11711
11712         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
11713         (XSETSPECIFIER_TYPE): Ditto.
11714
11715 2000-01-17  Didier Verna  <didier@xemacs.org>
11716
11717         * redisplay.c (generate_fstring_runes): compute string size in
11718         characters, not bytes.
11719
11720 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11721
11722         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
11723
11724 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
11725
11726         * print.c (print_error_message): Call print_prepare().
11727
11728 2000-01-14  Martin Buchholz  <martin@xemacs.org>
11729
11730         * .dbxrc: Renamed from dbxrc.
11731
11732         * events.c (event_to_character):
11733         Use `assert (foo)' instead of `if (!foo) abort()'
11734
11735         * .gdbinit (xtype): Add documentation.
11736         * .gdbinit (check-temacs): New function.
11737         * .gdbinit (check-xemacs): New function.
11738         * dbxrc (check-xemacs): New function.
11739         * dbxrc (check-xemacs): New function.
11740
11741 2000-01-14  Andy Piper  <andy@xemacs.org>
11742
11743         * glyphs-widget.c (widget_query_geometry): Make sure that we
11744         calculate default dimensions correctly.
11745
11746 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11747
11748         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
11749
11750         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
11751         pdump_wire'd variable.
11752
11753         * emacs.c: (main_1): Conditionalized calls to
11754         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
11755
11756 2000-01-13  Martin Buchholz  <martin@xemacs.org>
11757
11758         * window.c (Fset_window_configuration):
11759         * sysdep.c (_start):
11760         * input-method-motif.c (res):
11761         * event-Xt.c (Xt_process_to_emacs_event):
11762         Simple compiler warning fixes.
11763
11764         * bytecode.c (funcall_compiled_function): Use the original
11765         function symbol on the backtrace list in preference to the
11766         compiled_function object in error messages.
11767
11768 2000-01-13  Andy Piper  <andy@xemacs.org>
11769
11770         * glyphs-x.c (update_widget_face): Make sure we update the widget
11771         background as well as foreground.
11772
11773 2000-01-13  Andy Piper  <andy@xemacs.org>
11774
11775         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
11776         fields to subwindow.
11777         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
11778         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
11779         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11780         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11781
11782         * glyphs-widget.c (check_valid_tab_orientation): new function.
11783         (initialize_widget_image_instance): zero orientation and
11784         justification.
11785         (widget_instantiate): pick up orientation.
11786         (tab_control_query_geometry): return appropriate values for
11787         vertical tabs.
11788
11789         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
11790         appropriate creation flags for left, right and bottom tabs.
11791
11792         * s/cygwin32.h: add tab definitions.
11793
11794 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11795
11796         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
11797         frame upon hiding a subwindow.
11798         (mswindows_button_instantiate): Changed the push button style to
11799         BS_PUSHBUTTON.
11800         (mswindows_button_instantiate): Removed button BS_NOTIFY
11801         style.
11802         (mswindows_button_instantiate): Removed redundant check for
11803         a disabled gui item.
11804         (mswindows_button_instantiate): Made use of WS_TABSTOP
11805         consistent: "operable" controls (edit, button, tree, scroll) have
11806         this style, "display-only" ones (static, progress gauge) do
11807         not. This style is currently ignored by XEmacs though. Also,
11808         removed the WS_EX_CONTROLPARENT style - it is not for children,
11809         it is for their parents!
11810         (mswindows_edit_field_instantiate): Ditto.
11811         (mswindows_progress_gauge_instantiate): Ditto.
11812         (mswindows_tree_view_instantiate): Ditto.
11813         (mswindows_tab_control_instantiate): Ditto.
11814         (mswindows_scrollbar_instantiate): Ditto.
11815         (mswindows_combo_box_instantiate): Ditto.
11816         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
11817         style to the "clip" window.
11818         (mswindows_button_instantiate): Removed compilation warning by
11819         equally typing terms of the ?: operator.
11820
11821 2000-01-12  Didier Verna  <didier@xemacs.org>
11822
11823         * redisplay.c (generate_fstring_runes): new parameter holding the
11824         last modeline-format extent.
11825         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
11826         extent, fill the glyph block with it.
11827         (generate_fstring_runes): handle these parameters.
11828         (generate_formatted_string_db): ditto.
11829
11830         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
11831         glyphs'extents in the modeline.
11832
11833 1999-01-11  Mike Woolley  <mike@bulsara.com>
11834
11835         * ntheap.c: Reduced the reserved heap space from 1Gb down to
11836         256Mb, as a workaround for the non-starting problem many people
11837         have experienced.
11838
11839 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11840
11841         * console-tty.c (Fset_console_tty_output_coding_system):
11842         Force redrawing tty frame.
11843
11844 2000-01-10  Didier Verna  <didier@xemacs.org>
11845
11846         * redisplay.c (generate_fstring_runes): fix size computation bug.
11847
11848 2000-01-09  William M. Perry <wmperry@aventail.com>
11849
11850         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
11851
11852 2000-01-09  Andy Piper  <andy@xemacs.org>
11853
11854         * glyphs-msw.c: index -> i to avoid shadows.
11855         (xbm_create_bitmap_from_data): make static.
11856         (check_valid_string_or_int): deleted.
11857         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
11858
11859         * glyphs-x.c (x_update_subwindow): remove unused args.
11860
11861         * glyphs.c (glyph_image_instance): return the thing. Don't set the
11862         back pointer - this is done in allocate_image_instance.
11863         (query_string_font): return Qnil to make the compiler happy.
11864         (unmap_subwindow): set to ~0 to make the compiler happy.
11865         (glyph_query_geometry): comment out until used.
11866         (glyph_layout): ditto.
11867
11868 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11869
11870         * insdel.c (signal_after_change): Remove extraneous unbind_to().