6c885d622ae4c6c089ffa2561bbd08e698c5ad9b
[chise/xemacs-chise.git-] / src / ChangeLog
1 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (map_char_table): Check a character is found in
4         range->charset instead of non default value is defined in
5         char-table when range is CHARTAB_RANGE_ROW.
6
7 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
8
9         * chartab.c (map_char_id_table): Deleted.
10         (Fmap_char_attribute): Use `map_char_table' instead of
11         `map_char_id_table'.
12
13 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
14
15         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
16         UTF-2000.
17         (update_syntax_table): Deleted in XEmacs UTF-2000.
18
19         * syntax.c (find_defun_start): Use `syntax_table' instead of
20         `mirror_syntax_table' in XEmacs UTF-2000.
21         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
22         UTF-2000.
23         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
24         XEmacs UTF-2000.
25         (Fmatching_paren): Likewise.
26         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
27         in XEmacs UTF-2000.
28         (find_start_of_comment): Likewise.
29         (find_end_of_comment): Likewise.
30         (Fforward_comment): Likewise.
31         (scan_lists): Likewise.
32         (char_quoted): Likewise.
33         (Fbackward_prefix_chars): Likewise.
34         (scan_sexps_forward): Likewise.
35         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
36         (update_syntax_table): Likewise.
37
38         * search.c (skip_chars): Use `syntax_table' instead of
39         `mirror_syntax_table' in XEmacs UTF-2000.
40         (wordify): Likewise.
41         (Freplace_match): Likewise.
42
43         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
44         `mirror_syntax_table' in XEmacs UTF-2000.
45         (WORDCHAR_P_UNSAFE): Likewise.
46         (re_match_2_internal): Likewise.
47
48         * font-lock.c (find_context): Use `buf->syntax_table' instead of
49         `buf->mirror_syntax_table' in XEmacs UTF-2000.
50
51         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
52         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
53
54         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
55         XEmacs UTF-2000.
56
57         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
58         UTF-2000.
59         (print_char_table): Print `default_value' in XEmacs UTF-2000.
60         (char_table_description): Delete `mirror_table' in XEmacs
61         UTF-2000.
62         (fill_char_table): Don't call `update_syntax_table' in XEmacs
63         UTF-2000.
64         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
65         (Fcopy_char_table): Likewise.
66         (put_char_table): Don't call `update_syntax_table' in XEmacs
67         UTF-2000.
68
69         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
70         `buf->mirror_syntax_table' in XEmacs UTF-2000.
71         (casify_region_internal): Likewise.
72
73         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
74
75         * buffer.c (common_init_complex_vars_of_buffer): Don't use
76         `mirror_syntax_table' in XEmacs UTF-2000.
77
78         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
79         `buf->mirror_syntax_table' in XEmacs UTF-2000.
80         (Fexpand_abbrev): Likewise.
81
82 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
83
84         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
85
86 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
87
88         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
89         (map_over_uint16_byte_table): Likewise.
90         (map_over_byte_table): Likewise.
91         (get_char_id_table): Refer `cit->default_value'.
92         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
93         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
94         of character-id ranges.
95         (mark_char_table): Mark `ct->default_value'.
96         (char_table_description): Add `default_value'.
97         (fill_char_table): Use `default_value'.
98         (decode_char_table_range): Decode `nil' as
99         `CHARTAB_RANGE_DEFAULT'.
100         (get_char_id_table): Refer `cit->default_value'.
101         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
102         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
103         temporary hack; check value of char-table is bound or not.
104         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
105
106         * chartab.h (struct Lisp_Char_Table): Add new member
107         `default_value' in XEmacs UTF-2000.
108         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
109         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
110         UTF-2000.
111
112 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
113
114         * chartab.h (Lisp_Char_ID_Table): Deleted.
115
116         * chartab.c (char_table_description): Fix typo.
117         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
118         `Lisp_Char_ID_Table'.
119
120 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
121
122         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
123         `CHAR_ID_TABLE_P'.
124
125         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
126         `CHAR_ID_TABLE_P'.
127
128         * chartab.h (XCHAR_ID_TABLE): Deleted.
129         (XSETCHAR_ID_TABLE): Deleted.
130         (CHAR_ID_TABLE_P): Deleted.
131
132         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
133         `CHAR_ID_TABLE_P'.
134         (Fget_composite_char): Likewise.
135         (put_char_table): Likewise.
136         (add_char_attribute_alist_mapper): Fixed.
137         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
138         `CHAR_ID_TABLE_P'.
139         (Fget_char_attribute): Likewise.
140         (Fget_char_attribute): Likewise.
141         (Fmap_char_attribute): Likewise.
142
143         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
144         `CHAR_ID_TABLE_P'.
145         (encode_char_1): Likewise.
146
147 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
148
149         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
150         `XCHAR_ID_TABLE'.
151
152         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
153         instead of `XCHAR_ID_TABLE'.
154         (remove_char_ccs): Likewise.
155
156         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
157         `XCHAR_ID_TABLE'.
158         (Fget_composite_char): Likewise.
159         (Fchar_variants): Likewise.
160         (put_char_table): Likewise.
161         (add_char_attribute_alist_mapper): Likewise.
162         (Fchar_attribute_alist): Likewise.
163         (Fget_char_attribute): Likewise.
164         (Fput_char_attribute): Likewise.
165         (Fmap_char_attribute): Likewise.
166         (Fmap_char_attribute): Likewise.
167
168         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
169         `XCHAR_ID_TABLE'.
170         (encode_char_1): Likewise.
171
172 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
173
174         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
175         `Lisp_Char_ID_Table'.
176         (mark_char_id_table): Deleted.
177         (print_char_id_table): Likewise.
178         (char_id_table_equal): Likewise.
179         (char_id_table_hash): Likewise.
180         (char_id_table_description): Likewise.
181         (char_id_table): Likewise.
182         (make_char_id_table): Use `Fmake_char_table' and
183         `fill_char_table'.
184         (get_char_id_table): Use `Lisp_Char_Table' instead of
185         `Lisp_Char_ID_Table'.
186         (put_char_id_table): Likewise.
187         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
188         `XCHAR_ID_TABLE'.
189         (Fremove_char_attribute): Likewise.
190         (syms_of_chartab): Don't define type `char-id-table'.
191
192         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
193         (char_id_table): Likewise.
194         (GC_CHAR_ID_TABLE_P): Likewise.
195         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
196         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
197         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
198         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
199         (get_char_id_table): Use `Lisp_Char_Table' instead of
200         `Lisp_Char_ID_Table'.
201         (put_char_id_table_0): Likewise.
202         (put_char_id_table): Likewise.
203
204 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
205
206         * chartab.h: Lisp_Byte_Table related codes are moved from
207         chartab.h.
208
209         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
210
211 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
212
213         * chartab.h: Don't include "chartab.h".
214         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
215         (Lisp_Char_ID_Table): Likewise.
216         (char_id_table): Likewise.
217         (XCHAR_ID_TABLE): Likewise.
218         (XSETCHAR_ID_TABLE): Likewise.
219         (CHAR_ID_TABLE_P): Likewise.
220         (GC_CHAR_ID_TABLE_P): Likewise.
221         (get_char_id_table): Likewise.
222
223         * char-ucs.h: Include "chartab.h".
224         (struct Lisp_Char_ID_Table): Moved to chartab.h.
225         (Lisp_Char_ID_Table): Likewise.
226         (char_id_table): Likewise.
227         (XCHAR_ID_TABLE): Likewise.
228         (XSETCHAR_ID_TABLE): Likewise.
229         (CHAR_ID_TABLE_P): Likewise.
230         (GC_CHAR_ID_TABLE_P): Likewise.
231         (get_char_id_table): Likewise.
232
233 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
234
235         * chartab.c (copy_uint8_byte_table): New function.
236         (copy_uint16_byte_table): New function.
237         (copy_byte_table): New function.
238         (map_over_uint8_byte_table): Modify to avoid huge numbers of
239         characters to call.
240         (map_over_uint16_byte_table): Likewise.
241         (map_over_byte_table): Likewise.
242         (get_byte_table): Move prototype to chartab.h.
243         (put_byte_table): Likewise.
244         (put_char_id_table_0): Moved to chartab.h.
245         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
246         (char_table_entry_equal): Likewise.
247         (char_table_entry_hash): Likewise.
248         (char_table_entry_description): Likewise.
249         (char_table_entry): Likewise.
250         (make_char_table_entry): Likewise.
251         (copy_char_table_entry): Likewise.
252         (get_non_ascii_char_table_value): Likewise.
253         (map_over_charset_ascii): Likewise.
254         (map_over_charset_control_1): Likewise.
255         (map_over_charset_row): Likewise.
256         (map_over_other_charset): Likewise.
257         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
258         (print_char_table): Likewise.
259         (char_table_equal): Likewise.
260         (char_table_hash): Likewise.
261         (char_table_description): Likewise.
262         (fill_char_table): Likewise.
263         (Fcopy_char_table): Likewise.
264         (get_char_table): Likewise.
265         (Fget_range_char_table): Likewise.
266         (put_char_table): Likewise.
267         (map_char_table): Likewise.
268         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
269         UTF-2000.
270
271 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
272
273         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
274         `Vauto_fill_chars' in XEmacs UTF-2000.
275
276         * chartab.h (get_byte_table): New prototype [moved from
277         chartab.c].
278         (put_byte_table): Likewise [moved from chartab.c].
279         (put_char_id_table_0): New inline function [moved from chartab.c].
280         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
281         (Lisp_Char_Table_Entry): Likewise.
282         (char_table_entry): Likewise.
283         (XCHAR_TABLE_ENTRY): Likewise.
284         (XSETCHAR_TABLE_ENTRY): Likewise.
285         (CHAR_TABLE_ENTRYP): Likewise.
286         (CHECK_CHAR_TABLE_ENTRY): Likewise.
287         (NUM_ASCII_CHARS): Likewise.
288         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
289         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
290
291 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
292
293         * chartab.c (get_char_id_table): Change interface.
294         (put_char_id_table_0): New function.
295         (put_char_id_table): Change interface; new implementation.
296         (Fget_composite_char): Modify for interface change of
297         `get_char_id_table'.
298         (Fchar_variants): Likewise.
299         (add_char_attribute_alist_mapper): Likewise.
300         (Fchar_attribute_alist): Likewise.
301         (Fget_char_attribute): Likewise.
302         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
303         as same as character as the first argument like `put-char-table';
304         modify for interface change of `put_char_id_table'.
305         (Fremove_char_attribute): Modify for interface change of
306         `put_char_id_table'.
307
308 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
309
310         * text-coding.c: Sync up with XEmacs 21.2.41.
311         (COMPOSE_ADD_CHAR): Modify for interface change of
312         `get_char_id_table'.
313
314         * mule-charset.c (put_char_ccs_code_point): Modify for interface
315         change of `put_char_id_table'.
316         (remove_char_ccs): Likewise.
317
318         * chartab.h (put_char_id_table): Change interface.
319
320         * char-ucs.h (get_char_id_table): Change interface.
321         (charset_code_point): Modify for interface change of
322         `get_char_id_table'.
323         (encode_char_1): Likewise.
324
325 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
326
327         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
328         argument `ccs'.
329         (map_over_uint16_byte_table): Likewise.
330         (map_over_byte_table): Likewise.
331         (map_char_id_table): Add new argument `range' like
332         `map_char_table'.
333         (Fmap_char_attribute): Add new argument `range' like
334         `Fmap_char_table'.
335
336 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
337
338         * chartab.c (map_over_uint8_byte_table): Change interface of
339         mapping function to use struct chartab_range instead of Emchar.
340         (map_over_uint16_byte_table): Likewise.
341         (map_over_byte_table): Likewise.
342         (map_char_id_table): Likewise.
343         (struct slow_map_char_id_table_arg): Deleted.
344         (slow_map_char_id_table_fun): Deleted.
345         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
346         function `slow_map_char_table_fun' instead of struct
347         `slow_map_char_id_table_arg' and function
348         `slow_map_char_id_table_fun'.
349
350 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
351
352         * mule-charset.c: Move char-it-table related codes to chartab.c.
353         (Vutf_2000_version): Moved to chartab.c.
354         (Fdefine_char): Likewise.
355         (Ffind_char): Likewise.
356         (syms_of_mule_charset): Move types `uint8-byte-table',
357         `uint16-byte-table', `byte-table' and `char-id-table' to
358         chartab.c; move functions `char_attribute_list,
359         `find_char_attribute_table, `char_attribute_alist,
360         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
361         `map_char_attribute, `define_char, `find_char, `char_variants and
362         `get_composite_char to chartab.c; move symbols `=>ucs',
363         `->decomposition', `compat', `isolated', `initial', `medial',
364         `final', `vertical', `noBreak', `fraction', `super', `sub',
365         `circle', `square', `wide', `narrow', `small' and `font' to
366         chartab.c.
367         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
368         setting codes for `Vcharacter_composition_table' and
369         `Vcharacter_variant_table' to chartab.c.
370         (complex_vars_of_mule_charset): Move setting code for
371         `Vchar_attribute_hash_table' to chartab.c.
372
373         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
374         (make_char_id_table): New prototype.
375         (put_char_id_table): Likewise.
376         (Fget_char_attribute): Likewise.
377
378         * chartab.c: Move char-id-table related code from mule-charset.c.
379         (Vutf_2000_version): Moved from mule-charset.c.
380
381         * char-ucs.h (Qucs): New external variable.
382         (put_char_ccs_code_point): New prototype.
383         (remove_char_ccs): Likewise.
384
385 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
386
387         * mule-charset.c (Vcharset_ucs_jis): New variable.
388         (Qucs_jis): Likewise.
389         (syms_of_mule_charset): Add new symbol `ucs-jis'.
390         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
391
392         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
393
394 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
395
396         * mule-charset.c (map_over_uint8_byte_table): New function.
397         (map_over_uint16_byte_table): Likewise.
398         (map_over_byte_table): Likewise.
399         (map_char_id_table): Likewise.
400         (slow_map_char_id_table_fun): Likewise.
401         (Fmap_char_attribute): Likewise.
402         (syms_of_mule_charset): Add new function `map-char-attribute'.
403
404 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
405
406         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
407         (syms_of_mule_charset): Add new function `find-char'.
408
409 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
410
411         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
412         XEmacs UTF-2000.
413         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
414         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
415         XEmacs UTF-2000.
416         (complex_vars_of_mule_charset): Add new coded-charset
417         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
418         `ideograph-gt-pj-*'.
419
420         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
421
422 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
423
424         * mule-charset.c (encode_builtin_char_1): Purge codes about
425         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
426         {MIN|MAX}_CHAR_HEBREW.
427         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
428         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
429
430         * char-ucs.h (MIN_CHAR_GREEK): Purged.
431         (MAX_CHAR_GREEK): Purged.
432         (MIN_CHAR_CYRILLIC): Purged.
433         (MAX_CHAR_CYRILLIC): Purged.
434         (MIN_CHAR_HEBREW): Commented out.
435         (MAX_CHAR_HEBREW): Likewise.
436
437 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
438
439         * mule-charset.c (Qto_ucs): New variable.
440         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
441         (Fdefine_char): Likewise.
442         (syms_of_mule_charset): Add new symbol `=>ucs'.
443
444 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
445
446         * mule-charset.c (Fdecode_char): Fixed.
447
448 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
449
450         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
451         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
452         "tcvn5712-1".
453
454 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
455
456         * mule-charset.c (Vcharset_ucs_big5): New variable.
457         (Qucs_big5): Likewise.
458         (syms_of_mule_charset): Add new symbol `ucs-big5'.
459         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
460
461         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
462
463 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
464
465         * mule-charset.c (decode_builtin_char): Check Big5 code range
466         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
467
468 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
469
470         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
471         (Qchinese_gb12345): Likewise.
472         (Fdecode_builtin_char): Fixed.
473         (syms_of_mule_charset): Add `chinese-gb12345'.
474         (complex_vars_of_mule_charset): Add coded-charset
475         `chinese-gb12345'.
476
477         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
478         (LEADING_BYTE_CHINESE_GB12345): New macro.
479
480 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
481
482         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
483         and `latin-viscii-upper' for `latin-viscii'.
484
485 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
486
487         * mule-charset.c (Fdecode_builtin_char): Comment out
488         regularization code for ISO-IR GR representation.
489
490 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
491
492         * mule-charset.c (decode_builtin_char): New function; renamed from
493         `make_builtin_char'; return -1 instead of signal.
494         (Fdecode_builtin_char): Use `decode_builtin_char'.
495
496         * char-ucs.h (decode_builtin_char): New prototype; renamed from
497         `make_builtin_char'.
498         (DECODE_CHAR): Use `decode_builtin_char' instead of
499         `make_builtin_char'; use mapping table of `chinese-big5' for
500         `chinese-big5-{1,2}'.
501
502 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
503
504         * text-coding.c (char_encode_big5): New function.
505         (char_finish_big5): Likewise.
506         (reset_encoding_stream): Use `char_encode_big5' and
507         `char_finish_big5' for CODESYS_BIG5.
508         (mule_encode): Don't use `encode_coding_big5'.
509         (encode_coding_big5): Deleted.
510
511 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
512
513         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
514         0x81- in XEmacs UTF-2000.
515         (detect_coding_big5): Likewise.
516
517 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
518
519         * mule-charset.c (Fdefine_char): Don't use a CCS property to
520         generate character-id if the CCS property does not have
521         corresponding predefined character.
522         (make_builtin_char): Return -1 if corresponding predefined
523         character is not found.
524         (Fdecode_char): Return nil if corresponding character is not
525         found.
526         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
527         don't map to builtin ucs space.
528
529 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
530
531         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
532         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
533
534 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
535
536         * mule-charset.c (Vcharset_ideograph_gt): New variable.
537         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
538         (Qideograph_gt): Likewise.
539         (Qideograph_gt_pj_{1..11}): Likewise.
540         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
541         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
542         `ideograph-gt-pj-11'.
543         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
544         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
545         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
546
547         * char-ucs.h (LEADING_BYTE_GT): New macro.
548         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
549         (MIN_CHAR_GT): Likewise.
550         (MAX_CHAR_GT): Likewise.
551
552 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
553
554         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
555         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
556
557         * doprnt.c (unsigned_int_converters): Add `c'.
558         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
559
560         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
561         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
562         `MIN_CHAR_MOJIKYO'.
563         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
564         (MAX_CHAR_MOJIKYO_0): New macro.
565         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
566
567 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
568
569         * mule-charset.c (Fdefine_char): Delete cemented out code.
570         (encode_builtin_char_1): Modify for new allocation of builtin
571         Mojikyo characters.
572
573         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
574
575 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
576
577         * mule-charset.c (Vcharset_ucs_cns): New variable.
578         (Qucs_cns): New variable.
579         (syms_of_mule_charset): Add new symbol `ucs-cns'.
580         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
581
582 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
583
584         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
585
586 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
587
588         * search.c (search_buffer): Make `charset_base_code' as
589         character-id >> 6 to eliminate the corresponding last byte in
590         UTF-8 representation [I'm not sure it is right thing].
591         (boyer_moore): Likewise.
592
593 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
594
595         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
596         representation in MULE.
597
598 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
599
600         * text-coding.c (Fmake_coding_system): Use
601         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
602         `EXTERNAL_PROPERTY_LIST_LOOP'.
603
604 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
605
606         * text-coding.c (decode_output_utf8_partial_char): New function.
607         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
608
609 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
610
611         * text-coding.c (decode_coding_utf8): Output original byte
612         sequence if it is broken; change order of conditions.
613
614         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
615         of conditions.
616
617         * mb-multibyte.h (BYTE_ASCII_P):
618         Use bit ops for char-signedness safety.
619         (BYTE_C0_P): Use bit ops for char-signedness safety.
620         (BYTE_C1_P): Use bit ops for char-signedness safety.
621
622         * character.h: (XCHAR_OR_CHAR_INT):
623         Always use inline function.
624         Remove redundant type checking assert() - XINT will abort quite
625         nicely.
626
627 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
628
629         * text-coding.c: (Fencode_shift_jis_char):
630         (Fencode_big5_char):
631         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
632         Replace 0 with '\0' when working with bytes.
633         Replace initial "(" with "\(" in docstrings.
634
635         (Fmake_coding_system):
636         When type is ccl and value is vector, register it with a proper
637         symbol.  And checks whether the given ccl program is valid.
638         (mule_decode): When calling ccl_driver, if src indicates
639         NULL pointer, set an empty string instead.
640         (mule_encode): Likewise.
641
642         (detect_eol_type):
643         (detect_coding_sjis):
644         (decode_coding_sjis):
645         (detect_coding_big5):
646         (decode_coding_big5):
647         (detect_coding_ucs4):
648         (decode_coding_ucs4):
649         (detect_coding_utf8):
650         (decode_coding_utf8):
651         (detect_coding_iso2022):
652         (decode_coding_iso2022):
653         (decode_coding_no_conversion):
654         (mule_decode):
655         Make all detecting and decoding functions take an Extbyte * arg.
656         (text_encode_generic):
657         (encode_coding_big5):
658         (encode_coding_no_conversion):
659         (mule_encode):
660         Make all encoding functions take a Bufbyte * arg.
661         Use size_t instead of unsigned int for memory sizes.
662         Only cast to unsigned char whenever dereferencing Extbyte *.
663
664         (struct lrecord_description fcd_description_1): Use countof.
665         (complex_vars_of_file_coding):
666         Use countof instead of sizeof.
667         Use CHECK_NATNUM instead of CHECK_INT.
668
669 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
670
671         * mule-charset.c (Fget_char_attribute): Add new optional argument
672         `default-value'.
673         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
674         (remove_char_ccs): Likewise.
675
676 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
677
678         * text-coding.c (char_encode_shift_jis): New implementation in
679         UTF-2000.
680         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
681         ...)'.
682
683         * mule-charset.c (Vcharset_chinese_big5): New variable in
684         UTF-2000.
685         (Qchinese_big5): New variable in UTF-2000.
686         (BIG5_SAME_ROW): New macro in UTF-2000.
687         (make_builtin_char): Use builtin characters of
688         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
689         characters of `Vcharset_chinese_big5'.
690         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
691         (complex_vars_of_mule_charset): Add new coded-charset
692         `chinese-big5' in UTF-2000.
693
694         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
695         (Vcharset_chinese_big5): New external variable declaration.
696         (Vcharset_japanese_jisx0208_1990): Likewise.
697
698 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
699
700         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
701         function.
702         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
703
704 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
705
706         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
707         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
708         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
709         `mojikyo-pj-*'.
710
711 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
712
713         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
714
715 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
716
717         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
718         to 0.17.
719
720 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
721
722         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
723         for `CHARSET_BY_ATTRIBUTES'.
724         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
725         `CHARSET_BY_ATTRIBUTES'.
726
727         * text-coding.c (struct decoding_stream): Rename member `CH' to
728         `CPOS'.
729         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
730         (decode_coding_sjis): Likewise.
731         (decode_coding_big5): Likewise.
732         (decode_coding_ucs4): Likewise.
733         (decode_coding_utf8): Likewise.
734         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
735         `CHARSET_BY_ATTRIBUTES'.
736         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
737         `str->counter'; decode 3, 4 bytes sets.
738         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
739         sets.
740         (decode_coding_no_conversion): Use `str->cpos' instead of
741         `str->ch'.
742
743         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
744         (Qmojikyo_2022_1): New variable.
745         (make_charset): Don't use `CHARSET_TYPE_*'.
746         (range_charset_code_point): Support coded-charset
747         `mojikyo-2022-1'.
748         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
749         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
750         `CHARSET_BY_ATTRIBUTES'.
751         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
752         `CHARSET_BY_ATTRIBUTES'.
753         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
754         (complex_vars_of_mule_charset): Add new coded-charset
755         `mojikyo-2022-1'.
756
757         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
758         interface; changed to inline function.
759
760         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
761         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
762         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
763         (CHARSET_TYPE_94): Deleted.
764         (CHARSET_TYPE_94X94): Deleted.
765         (CHARSET_TYPE_96): Deleted.
766         (CHARSET_TYPE_96X96): Deleted.
767         (CHARSET_TYPE_128): Deleted.
768         (CHARSET_TYPE_128X128): Deleted.
769         (CHARSET_TYPE_256): Deleted.
770         (CHARSET_TYPE_256X256): Deleted.
771         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
772         to inline function.
773         (DECODE_MOJIKYO_2022): New inline function.
774         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
775         `Vcharset_mojikyo_2022_1'.
776
777 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
778
779         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
780         instead of `EQ'.
781         (put_byte_table): Likewise.
782         (char_id_table_equal): Use `get_byte_table' [new implementation].
783
784 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
785
786         * mule-charset.c: Include <limits.h> in UTF-2000.
787         (BT_UINT8_MIN): New macro in UTF-2000.
788         (BT_UINT8_MAX): New macro in UTF-2000.
789         (BT_UINT8_t): New macro in UTF-2000.
790         (BT_UINT8_nil): New macro in UTF-2000.
791         (BT_UINT8_unbound): New macro in UTF-2000.
792         (INT_UINT8_P): New inline function in UTF-2000.
793         (UINT8_VALUE_P): New inline function in UTF-2000.
794         (UINT8_ENCODE): New inline function in UTF-2000.
795         (UINT8_DECODE): New inline function in UTF-2000.
796         (mark_uint8_byte_table): New function in UTF-2000.
797         (print_uint8_byte_table): New function in UTF-2000.
798         (uint8_byte_table_equal): New function in UTF-2000.
799         (uint8_byte_table_hash): New function in UTF-2000.
800         (make_uint8_byte_table): New function in UTF-2000.
801         (uint8_byte_table_same_value_p): New function in UTF-2000.
802         (BT_UINT16_MIN): New macro in UTF-2000.
803         (BT_UINT16_MAX): New macro in UTF-2000.
804         (BT_UINT16_t): New macro in UTF-2000.
805         (BT_UINT16_nil): New macro in UTF-2000.
806         (BT_UINT16_unbound): New macro in UTF-2000.
807         (INT_UINT16_P): New inline function in UTF-2000.
808         (UINT16_VALUE_P): New inline function in UTF-2000.
809         (UINT16_ENCODE): New inline function in UTF-2000.
810         (UINT16_DECODE): New inline function in UTF-2000.
811         (UINT8_TO_UINT16): New inline function in UTF-2000.
812         (mark_uint16_byte_table): New function in UTF-2000.
813         (print_uint16_byte_table): New function in UTF-2000.
814         (uint16_byte_table_equal): New function in UTF-2000.
815         (uint16_byte_table_hash): New function in UTF-2000.
816         (make_uint16_byte_table): New function in UTF-2000.
817         (uint16_byte_table_same_value_p): New function in UTF-2000.
818         (print_byte_table): New function in UTF-2000.
819         (byte-table): Use `print_byte_table' as printer.
820         (make_byte_table): Delete second argument `older'.
821         (byte_table_same_value_p): New function in UTF-2000.
822         (copy_byte_table): Deleted.
823         (get_byte_table): New function in UTF-2000.
824         (put_byte_table): New function in UTF-2000.
825         (print_char_id_table): New function in UTF-2000.
826         (char-id-table): Use `print_char_id_table' as printer.
827         (make_char_id_table): Delete second argument `older'.
828         (get_char_id_table): Use `get_byte_table [new implementation].
829         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
830         implementation].
831         (Ffind_char_attribute_table): New function in UTF-2000.
832         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
833         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
834         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
835         (syms_of_mule_charset): Add new function
836         `find-char-attribute-table' in UTF-2000.
837
838         * lrecord.h (enum lrecord_type): Add
839         `lrecord_type_uint16_byte_table' and
840         `lrecord_type_uint8_byte_table'.
841
842         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
843         (Lisp_Uint8_Byte_Table): New type.
844         (XUINT8_BYTE_TABLE): New macro.
845         (XSETUINT8_BYTE_TABLE): New macro.
846         (UINT8_BYTE_TABLE_P): New macro.
847         (GC_UINT8_BYTE_TABLE_P): New macro.
848         (struct Lisp_Uint16_Byte_Table): New structure.
849         (Lisp_Uint16_Byte_Table): New type.
850         (XUINT16_BYTE_TABLE): New macro.
851         (XSETUINT16_BYTE_TABLE): New macro.
852         (UINT16_BYTE_TABLE_P): New macro.
853         (GC_UINT16_BYTE_TABLE_P): New macro.
854
855 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
856
857         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
858         (Vcharacter_ideographic_strokes_table): Deleted.
859         (Vcharacter_total_strokes_table): Deleted.
860         (Vcharacter_morohashi_daikanwa_table): Deleted.
861         (Vcharacter_decomposition_table): Deleted.
862         (Qname): Deleted because it is duplicated.
863         (Qideographic_radical): Deleted.
864         (Qideographic_strokes): Deleted.
865         (Qtotal_strokes): Deleted.
866         (Qmorohashi_daikanwa): Deleted.
867         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
868         `ideographic-radical', `ideographic-strokes', `total-strokes',
869         `morohashi-daikanwa' and `->decomposition'.
870         (Fget_char_attribute): Likewise.
871         (Fput_char_attribute): Likewise; use `make-vector' instead of
872         `make_older_vector' for `->decomposition' value.
873         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
874         `ideograph-daikanwa'.
875         (syms_of_mule_charset): Delete builtin symbols `name',
876         `ideographic-radical', `ideographic-strokes', `total-strokes' and
877         `morohashi-daikanwa'.
878         (vars_of_mule_charset): Don't setup
879         `Vcharacter_ideographic_radical_table',
880         `Vcharacter_ideographic_strokes_table',
881         `Vcharacter_total_strokes_table',
882         `Vcharacter_morohashi_daikanwa_table' and
883         `Vcharacter_decomposition_table'.
884
885 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
886
887         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
888         `make_older_vector', `make_vector_newer_1' and
889         `make_vector_newer'.
890
891         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
892         `make_older_vector' and `make_vector_newer'.
893
894         * config.h.in (HAVE_GGC): New macro.
895
896 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
897
898         * mule-charset.c (struct char_attribute_list_closure): New
899         structure in UTF-2000.
900         (add_char_attribute_to_list_mapper): New function in UTF-2000.
901         (Fchar_attribute_list): Likewise.
902         (Fset_charset_mapping_table): Use `make_vector_newer'.
903         (Fdecode_builtin_char): New function in UTF-2000.
904         (syms_of_mule_charset): Add new function `char-attribute-list' and
905         `decode-builtin-char' in UTF-2000.
906
907         * lisp.h (make_vector_newer): New prototype.
908
909         * alloc.c (make_vector_newer_1): New function.
910         (make_vector_newer): New function.
911
912 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
913
914         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
915         50100)'.
916
917 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
918
919         * mule-charset.c (Vchar_attribute_hash_table): New variable.
920         (Vcharacter_attribute_table): Deleted.
921         (Vcharacter_name_table): Deleted.
922         (put_char_attribute): Deleted.
923         (remove_char_attribute): Deleted.
924         (struct char_attribute_alist_closure): New structure.
925         (add_char_attribute_alist_mapper): New function.
926         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
927         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
928         (Fget_char_attribute): Likewise.
929         (Fput_char_attribute): Likewise.
930         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
931         of `remove_char_attribute'.
932         (Fdefine_char): Return character.
933         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
934         and `Vcharacter_name_table'.
935         (complex_vars_of_mule_charset): Likewise
936         `Vchar_attribute_hash_table'.
937
938 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
939
940         * character.h (CHARC_CHARSET): New macro.
941         (CHARC_CHARSET_ID): New macro.
942         (CHARC_CODE_POINT): New macro.
943         (CHARC_COLUMNS): New macro.
944         (CHARC_TO_CHAR): New inline function.
945         (CHARC_EQ): New inline function.
946         (CHARC_ASCII_EQ): New inline function.
947         (CHARC_IS_SPACE): New inline function.
948         (ASCII_TO_CHARC): New inline function.
949
950         * char-ucs.h (encode_char_2): Deleted.
951         (ENCODE_CHAR): Use `encode_char_1' again.
952         (breakup_char_1): Likewise.
953         (CHAR_TO_CHARC): New inline function.
954
955         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
956
957 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
958
959         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
960         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
961         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
962         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
963         (create_string_text_block): Use `CHARC_ASCII_EQ' and
964         `CHARC_IS_SPACE'.
965         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
966
967         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
968         `CHARC_CODE_POINT'.
969         (x_output_display_block): Use `CHARC_CHARSET' and
970         `CHARC_ASCII_EQ'.
971
972         * redisplay-tty.c (tty_output_display_block): Use
973         `CHARC_ASCII_EQ'.
974         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
975
976         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
977
978         * insdel.c (find_charsets_in_charc_string): Use
979         `CHARC_CHARSET_ID'.
980         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
981         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
982         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
983         (convert_charc_string_into_malloced_string): Likewise.
984
985 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
986
987         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
988         instead of <Emchar_dynarr *> for buf; use
989         `convert_bufbyte_string_into_charc_dynarr' instead of
990         `convert_bufbyte_string_into_emchar_dynarr'; use
991         `find_charsets_in_charc_string' instead of
992         `find_charsets_in_emchar_string'.
993
994         * redisplay.h:
995         - Include "character.h".
996         (struct rune): New member `cglyph'; delete member `chr'.
997
998         * redisplay.c (redisplay_text_width_charc_string): New function;
999         delete `redisplay_text_width_emchar_string'.
1000         (rtw_charc_dynarr): New variable; renamed from
1001         `rtw_emchar_dynarr'.
1002         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1003         `rtw_emchar_dynarr'; use
1004         `convert_bufbyte_string_into_charc_dynarr' instead of
1005         `convert_bufbyte_string_into_emchar_dynarr'; use
1006         `redisplay_text_width_charc_string' instead of
1007         `redisplay_text_width_emchar_string'.
1008         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1009         instead of `rtw_emchar_dynarr'; use
1010         `convert_bufbyte_string_into_charc_dynarr' instead of
1011         `convert_bufbyte_string_into_emchar_dynarr'.
1012         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1013         `redisplay_text_width_charc_string' instead of
1014         `redisplay_text_width_emchar_string'.
1015         (create_text_block): Modify for <struct rune> change.
1016         (generate_formatted_string_db): Likewise.
1017         (create_string_text_block): Likewise.
1018         (pixel_to_glyph_translation): Likewise.
1019
1020         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1021         instead of <const Emchar *>.
1022         (x_text_width): Likewise.
1023         (x_output_display_block): Use <Charc_dynarr *> instead
1024         <Emchar_dynarr *>; modify for <structure rune> change.
1025         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1026         *>.
1027
1028         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1029         <const Emchar *>; use `charc_string_displayed_columns' instead of
1030         `emchar_string_displayed_columns'.
1031         (tty_output_display_block): Use <Charc_dynarr *> instead of
1032         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1033         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1034         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1035         `tty_output_emchar_dynarr_dynarr'.
1036         (tty_output_charc_dynarr): New function; delete
1037         `tty_output_charc_dynarr'.
1038
1039         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1040         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1041         <Emchar_dynarr *> for buf; use
1042         `convert_bufbyte_string_into_charc_dynarr' instead of
1043         `convert_bufbyte_string_into_emchar_dynarr'.
1044
1045         * frame.c (title_string_charc_dynarr): New variable; renamed from
1046         `title_string_emchar_dynarr'.
1047         (generate_title_string): Use `title_string_charc_dynarr' instead
1048         of `title_string_emchar_dynarr'; use
1049         `convert_charc_string_into_malloced_string' instead of
1050         `convert_emchar_string_into_malloced_string'.
1051         (init_frame): Use `title_string_charc_dynarr' instead of
1052         `title_string_emchar_dynarr'.
1053
1054         * console.h:
1055         - Include "character.h".
1056         (struct console_methods): Use <const Charc *> instead of <const
1057         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1058         <Emchar_dynarr *> in output_string_method.
1059
1060         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1061         <Emchar_dynarr *>.
1062
1063         * console-stream.c (stream_text_width): Use <const Charc *>
1064         instead of <const Emchar *>.
1065
1066         * character.h (Charc_dynarr): New type.
1067
1068         * char-ucs.h (structure Charc): New structure; define new type
1069         `Charc'.
1070
1071         * char-lb.h (DECODE_CHAR): New inline function.
1072         (encode_char_1): New inline function.
1073         (ENCODE_CHAR): New macro.
1074         (structure Charc): New structure; define new type `Charc'.
1075
1076         * char-1byte.h (Vcharset_control_1): New macro.
1077         (Vcharset_latin_iso8859_1): New macro.
1078         (DECODE_CHAR): New inline function.
1079         (encode_char_1): New inline function.
1080         (ENCODE_CHAR): New macro.
1081         (structure Charc): New structure; define new type `Charc'.
1082
1083         * insdel.c (find_charsets_in_charc_string): New function; delete
1084         `find_charsets_in_emchar_string'.
1085         (charc_string_displayed_columns): New function; delete
1086         `emchar_string_displayed_columns'.
1087         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1088         `convert_bufbyte_string_into_emchar_dynarr'.
1089         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1090         `convert_charc_string_into_bufbyte_dynarr'.
1091         (convert_charc_string_into_malloced_string): New function; delete
1092         `convert_charc_string_into_malloced_string'.
1093
1094         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1095         `find_charsets_in_emchar_string'.
1096         (charc_string_displayed_columns): New prototype; delete
1097         `emchar_string_displayed_columns'.
1098         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1099         `convert_charc_string_into_bufbyte_dynarr'.
1100         (convert_charc_string_into_malloced_string): New prototype; delete
1101         `convert_charc_string_into_malloced_string'.
1102
1103 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1104
1105         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1106
1107 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1108
1109         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1110
1111         * char-ucs.h: Use <short> for <Charset_ID>.
1112
1113         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1114         <Charset_ID>.
1115
1116 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1117
1118         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1119         to 0.16.
1120
1121 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1122
1123         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1124         variable.
1125         (Qmorohashi_daikanwa): New variable.
1126         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1127         for `morohashi-daikanwa' attribute.
1128         (Fget_char_attribute): Likewise.
1129         (Fput_char_attribute): Likewise.
1130         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1131         has the same value of `ideograph-daikanwa'.
1132         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1133         (vars_of_mule_charset): Setup
1134         `Vcharacter_morohashi_daikanwa_table'.
1135
1136 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1137
1138         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1139         attributes.
1140         (add_charset_to_list_mapper): Add `key' instead of
1141         `XCHARSET_NAME (value)' to return aliases.
1142
1143 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1144
1145         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1146         variable.
1147         (Vcharacter_ideographic_strokes_table): New variable.
1148         (Qideographic_radical): New variable.
1149         (Qideographic_strokes): New variable.
1150         (Fchar_attribute_alist): Use
1151         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1152         attribute; use `Vcharacter_ideographic_strokes_table' for
1153         `ideographic-strokes' attribute.
1154         (Fget_char_attribute): Likewise.
1155         (Fput_char_attribute): Likewise.
1156         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1157         `ideographic-strokes'.
1158         (vars_of_mule_charset): Setup
1159         `Vcharacter_ideographic_radical_table' and
1160         `Vcharacter_ideographic_strokes_table'.
1161
1162 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1163
1164         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1165         (Qtotal_strokes): New variable.
1166         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1167         `total-strokes' attribute.
1168         (Fget_char_attribute): Likewise.
1169         (Fput_char_attribute): Likewise.
1170         (syms_of_mule_charset): Add new symbol `total-strokes'.
1171         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1172
1173 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1174
1175         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1176         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1177         are found.
1178         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1179         `->decomposition' attribute.
1180         (Fput_char_attribute): Likewise.
1181         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1182
1183 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1184
1185         * mule-charset.c (decoding_table_check_elements): New function.
1186         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1187
1188 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1189
1190         * mule-charset.c (Fset_charset_mapping_table): Use
1191         `put_char_ccs_code_point'.
1192
1193 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1194
1195         * mule-charset.c (decoding_table_put_char): New inline function.
1196         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1197
1198 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1199
1200         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1201         (XCHARSET_BYTE_SIZE): New macro.
1202         (decoding_table_remove_char): New inline function.
1203         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1204         `decoding_table_remove_char'.
1205         (remove_char_ccs): Use `decoding_table_remove_char'.
1206         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1207
1208 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1209
1210         * mule-charset.c (Vcharacter_name_table): New variable.
1211         (Qname): New variable.
1212         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1213         attribute.
1214         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1215         `Vcharacter_name_table' for `name' attribute.
1216         (Fremove_char_attribute): Use function `remove_char_ccs'.
1217         (put_char_ccs_code_point): New function.
1218         (remove_char_ccs): New function.
1219         (syms_of_mule_charset): Add new symbol `name'.
1220         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1221
1222 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1223
1224         * mule-charset.c (make_byte_table): Add new argument `older'.
1225         (make_char_id_table): Likewise.
1226         (copy_char_id_table): Comment out because it is not used.
1227         (put_char_id_table): Modify for `make_byte_table'.
1228         (Fput_char_attribute): Make encoding_table as older object;
1229         inherit older bit of `Vcharacter_composition_table'.
1230         (mark_charset): Don't mark `cs->encoding_table'.
1231         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1232         normal object; make `Vcharacter_composition_table' as an older
1233         object; delete staticpro for `Vcharacter_composition_table'; make
1234         `Vcharacter_variant_table' as a normal object.
1235
1236         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1237         (mark_object): Don't check older object in UTF-2000.
1238
1239         * lrecord.h (struct lrecord_header): Add new member `older' in
1240         UTF-2000.
1241         (set_lheader_implementation): Setup `SLI_header->older' in
1242         UTF-2000.
1243         (set_lheader_older_implementation): New macro in UTF-2000.
1244         (OLDER_RECORD_P): New macro in UTF-2000.
1245         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1246         (alloc_older_lcrecord): New prototype in UTF-2000.
1247         (alloc_older_lcrecord_type): New macro in UTF-2000.
1248
1249 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1250
1251         * mule-charset.c (byte_table_description): Use
1252         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1253         (char_id_table_description): Delete bogus `, 1'.
1254         (Fget_char_attribute): Refer encoding_table of each coded-charset
1255         to get value of coded-charset attribute of a character.
1256         (Fput_char_attribute): Use `make_older_vector' instead of
1257         `make_vector'; use encoding_table of each coded-charset to store
1258         value of coded-charset attribute of a character.
1259         (Fremove_char_attribute): Use encoding_table of each coded-charset
1260         to store value of coded-charset attribute of a character.
1261         (mark_charset): Mark `cs->encoding_table'; don't mark
1262         `cs->decoding_table'.
1263         (charset_description): Add description of new member
1264         `encoding_table'.
1265         (make_charset): Initialize `encoding_table'.
1266
1267         * char-ucs.h (struct Lisp_Charset): Add new member
1268         `encoding_table'.
1269         (CHARSET_ENCODING_TABLE): New macro.
1270         (XCHARSET_ENCODING_TABLE): New macro.
1271         (charset_code_point): New implementation.
1272         (encode_char_1): Likewise.
1273
1274         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1275         (disksave_object_finalization_1): Call finalizers of
1276         `all_older_lcrecords' in UTF-2000.
1277         (make_older_vector): New function in UTF-2000.
1278         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1279         UTF-2000.
1280
1281         * lisp.h (make_older_vector): New prototype in UTF-2000.
1282
1283 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1284
1285         * lrecord.h (enum lrecord_type): Rename
1286         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1287
1288         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1289         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1290         `get_char_code_table'.
1291
1292         * mule-charset.c (mark_char_id_table): Renamed from
1293         `mark_char_code_table'.
1294         (char_id_table_equal): Renamed from `char_code_table_equal'.
1295         (char_id_table_hash): Renamed from `char_code_table_hash'.
1296         (make_char_id_table): Renamed from `make_char_code_table'.
1297         (copy_char_id_table): Renamed from `copy_char_code_table'.
1298         (get_char_id_table): Renamed from `get_char_code_table'.
1299         (put_char_id_table): Renamed from `put_char_code_table'.
1300         (to_char_id): Renamed from `to_char_code'.
1301
1302         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1303         `Lisp_Char_Code_Table'.
1304         (char_id_table): Renamed from `char_code_table'.
1305         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1306         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1307         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1308         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1309         (get_char_id_table): Renamed from `get_char_code_table'.
1310
1311 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1312
1313         * lrecord.h (enum lrecord_type): Rename
1314         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1315
1316         * mule-charset.c (mark_byte_table): Renamed from
1317         `mark_char_byte_table'.
1318         (byte_table_equal): Renamed from `char_byte_table_equal'.
1319         (byte_table_hash): Renamed from `byte_table_hash'.
1320         (make_byte_table): Renamed from `make_byte_table'.
1321         (copy_byte_table): Renamed from `copy_char_byte_table'.
1322
1323         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1324         `Lisp_Char_Byte_Table'.
1325         (byte_table): Renamed from `char_byte_table'.
1326         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1327         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1328         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1329         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1330
1331 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1332
1333         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1334         (dfc_convert_to_internal_format): Likewise.
1335         
1336         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1337         * text-coding.c (Fcoding_system_alias_p): New function.
1338         * text-coding.c (Fcoding_system_aliasee): New function.
1339         * text-coding.c (append_suffix_to_symbol): New function.
1340         * text-coding.c (dangling_coding_system_alias_p): New function.
1341         * text-coding.c (Ffind_coding_system):
1342         * text-coding.c (Fcopy_coding_system):
1343         * text-coding.c (encode_coding_no_conversion):
1344         * text-coding.c (syms_of_file_coding):
1345         * text-coding.c (vars_of_file_coding):
1346         Rewrite coding system alias code.
1347         Allow nested aliases, like symbolic links.
1348         Allow redefinition of coding system aliases.
1349         Prevent existence of dangling coding system aliases.
1350         Eliminate convert_to_external_format.
1351         Eliminate convert_to_internal_format.
1352         
1353         * text-coding.c: Change enum eol_type to eol_type_t.
1354
1355 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1356
1357         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1358         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1359
1360         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1361         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1362
1363 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1364
1365         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1366         `ideograph-daikanwa'.
1367
1368         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1369         (Vcharset_ucs_bmp): Likewise.
1370         (Vcharset_mojikyo): Add new extern variable definition.
1371         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1372         (Vcharset_latin_iso8859_3): Likewise.
1373         (Vcharset_latin_iso8859_4): Likewise.
1374         (Vcharset_latin_iso8859_9): Likewise.
1375         (Vcharset_latin_viscii_lower): Likewise.
1376         (Vcharset_latin_viscii_upper): Likewise.
1377         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1378         `mojikyo' code-point is used to decode.
1379         (encode_char_2): New function [to convert `mojikyo' code-point to
1380         Mojikyo font encoding].
1381         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1382         (breakup_char_1): Likewise.
1383         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1384
1385 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1386
1387         * text-coding.c (Fmake_coding_system): Add document about
1388         `disable-composition' property.
1389
1390 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1391
1392         * text-coding.c (Qdisable_composition): New variable; delete
1393         `Qcomposite'.
1394         (Fmake_coding_system): Add new property `disable-composite';
1395         delete property `composite'.
1396         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1397         instead of `!CODING_SYSTEM_COMPOSITE'.
1398         (syms_of_file_coding): Add new symbol `disable-composition';
1399         delete symbol `composite'.
1400
1401         * file-coding.h (struct Lisp_Coding_System): Add
1402         `disable_composition'; delete `enable_composition'.
1403         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1404         `CODING_SYSTEM_COMPOSITE'.
1405         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1406         `XCODING_SYSTEM_COMPOSITE'.
1407
1408 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1409
1410         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1411         to 0.15.
1412
1413 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1414
1415         * text-coding.c (Qcomposite): New variable.
1416         (Fmake_coding_system): Add new property `composite'.
1417         (struct decoding_stream): Add `combined_char_count',
1418         `combined_chars' and `combining_table' in UTF-2000.
1419         (COMPOSE_FLUSH_CHARS): New macro.
1420         (COMPOSE_ADD_CHAR): New macro.
1421         (reset_decoding_stream): Reset `str->combined_char_count' and
1422         `str->combining_table' in UTF-2000.
1423         (decode_coding_iso2022): Modify for character-decomposition.
1424         (syms_of_file_coding): Add new symbol `composite'.
1425
1426 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1427
1428         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1429         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1430         of `Vcharacter_composition_table' if `->decomposition' property
1431         has only 1 element.
1432         (Qlatin_tcvn5712): New variable.
1433         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1434         (complex_vars_of_mule_charset): Add new coded-charset
1435         `latin-tcvn5712'.
1436
1437         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1438
1439 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1440
1441         * file-coding.h (struct Lisp_Coding_System): Add
1442         `enable_composition'.
1443         (CODING_SYSTEM_COMPOSITE): New macro.
1444         (XCODING_SYSTEM_COMPOSITE): New macro.
1445
1446 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1447
1448         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1449
1450 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1451
1452         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1453         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1454
1455 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1456
1457         * mule-charset.c (Vcharset_mojikyo): New variable.
1458         (Fdefine_char): Don't use coded-charset which does not have
1459         non-builtin character range to allocate character-id.
1460         (Qmojikyo): New variable.
1461         (syms_of_mule_charset): Add new symbol `mojikyo'.
1462         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1463
1464         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1465         (LEADING_BYTE_MOJIKYO): New macro.
1466         (MIN_CHAR_MOJIKYO): New macro.
1467         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1468         (MAX_CHAR_MOJIKYO): New macro.
1469
1470 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1471
1472         * mule-charset.c (remove_char_attribute): Fixed.
1473
1474 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1475
1476         * mule-charset.c (remove_char_attribute): New function.
1477         (Fremove_char_attribute): New function.
1478         (encode_builtin_char_1): Comment out builtin-support for
1479         greek-iso8859-7 and cyrillic-iso8859-5.
1480         (Fdecode_char): Check `code' is an integer.
1481         (syms_of_mule_charset): Add `remove-char-attribute'.
1482         (MIN_CHAR_GREEK): Deleted.
1483         (MAX_CHAR_GREEK): Likewise.
1484         (MIN_CHAR_CYRILLIC): Likewise.
1485         (MAX_CHAR_CYRILLIC): Likewise.
1486         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1487         MAX_CHAR_GREEK for `greek-iso8859-7'.
1488
1489         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1490         (MAX_CHAR_GREEK): Likewise.
1491         (MIN_CHAR_CYRILLIC): Likewise.
1492         (MAX_CHAR_CYRILLIC): Likewise.
1493
1494 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1495
1496         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1497         format is used without `ucs' property.
1498         (Fdecode_char): Fix problem with GR representation.
1499         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1500         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1501
1502 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1503
1504         * mule-charset.c (make_builtin_char): New function.
1505         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1506         (Fset_charset_mapping_table): Modify for new representation of
1507         code-point.
1508         (Fdecode_char): New function.
1509         (syms_of_mule_charset): Add new builtin function `decode-char' in
1510         UTF-2000.
1511
1512         * char-ucs.h (make_builtin_char): New prototype.
1513         (DECODE_CHAR): New inline function.
1514         (MAKE_CHAR): Use `DECODE_CHAR'.
1515
1516 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1517
1518         * text-coding.c (parse_charset_conversion_specs): Use
1519         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1520         `XCHARSET_TYPE'.
1521         (iso2022_designate): Likewise.
1522
1523         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1524         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1525
1526         * mule-charset.c (Vcharset_ucs): New variable.
1527         (print_charset): Change design; use `CHARSET_CHARS' and
1528         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1529         (make_charset): Change signature to specify `chars' and
1530         `dimension' instead of `type'.
1531         (range_charset_code_point): Modify for 256^n-set.
1532         (encode_builtin_char_1): Encode as `ucs' in default.
1533         (Fmake_charset): Modify for `make_charset'.
1534         (Fmake_reverse_direction_charset): Likewise.
1535         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1536         UTF-2000.
1537         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1538         for `make_charset'.
1539
1540         * char-ucs.h (Vcharset_ucs): New variable.
1541         (LEADING_BYTE_UCS): New macro.
1542         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1543         and `chars' to `unsigned short' from `unsigned int'.
1544         (CHARSET_TYPE): Deleted.
1545         (XCHARSET_TYPE): Deleted.
1546
1547 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1548
1549         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1550
1551         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1552         (ENCODE_CHAR): New macro.
1553
1554 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1555
1556         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1557         to 0.14 (Kawachi-Katakami).
1558
1559 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1560
1561         * text-coding.c (char_encode_shift_jis): Modify for
1562         `charset_code_point'.
1563         (char_encode_iso2022): Likewise.
1564
1565         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1566         (integer) instead of list of <Lisp_Object>s (integers) as the
1567         format of code-point of a coded-charset.
1568         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1569         (encode_builtin_char_1): New function; delete
1570         `split_builtin_char'.
1571         (charset_code_point): Return <int> instead of <Lisp_Object>.
1572         (Fsplit_char): Don't use `SPLIT_CHAR'.
1573
1574         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1575         prototype for `split_builtin_char'.
1576         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1577         (charset_code_point): Likewise.
1578         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1579         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1580
1581 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1582
1583         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1584         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1585
1586 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1587
1588         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1589
1590         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1591         (MAX_CHAR_OBS_94x94): Deleted.
1592
1593 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1594
1595         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1596
1597         * char-ucs.h (MAX_CHAR_BMP): New macro.
1598
1599 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1600
1601         * text-coding.c: Sync with r21-2-24.
1602
1603 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1604
1605         * file-coding.c: Modify for UTF-2000.
1606
1607 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1608
1609         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1610         to 0.13 (Takaida).
1611
1612 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1613
1614         * mule-charset.c (split_builtin_char): Delete builtin support for
1615         `katakana-jisx0201'.
1616         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1617         BMP area in builtin representation.
1618
1619         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1620         `Vcharset_katakana_jisx0201'.
1621
1622 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1623
1624         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1625         (Qisolated): New variable.
1626         (Qinitial): New variable.
1627         (Qmedial): New variable.
1628         (Qfinal): New variable.
1629         (Qvertical): New variable.
1630         (Qsmall): New variable.
1631         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1632         `Qvertical' and `Qsmall'.
1633         (Qmojikyo_pj_[1 .. 21]): New variable.
1634         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1635         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1636         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1637         .. 21]'.
1638
1639 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1640
1641         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1642         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1643         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1644
1645 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1646
1647         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1648         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1649         BMP.
1650         (Qjapanese_jisx0208_1990): New variable.
1651         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1652         (complex_vars_of_mule_charset): Add new coded-charset
1653         `japanese-jisx0208-1990'.
1654
1655         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1656         (MIN_CHAR_JIS_X0208_1990): New macro.
1657         (MAX_CHAR_JIS_X0208_1990): New macro.
1658
1659 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1660
1661         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1662         coded-charset is not found.
1663
1664 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1665
1666         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1667         (Fdefine_char): Use `Fmake_char'.
1668
1669 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1670
1671         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1672         (Vcharset_hiragana_jisx0208): Deleted.
1673         (Vcharset_katakana_jisx0208): Deleted.
1674         (Qideograph_daikanwa): New variable.
1675         (Qhiragana_jisx0208): Deleted.
1676         (Qkatakana_jisx0208): Deleted.
1677         (split_builtin_char): Split `ideograph-daikanwa'.
1678         (Fsplit_char): New implementation for UTF-2000.
1679         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1680         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1681         (complex_vars_of_mule_charset): Add new coded-charset
1682         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1683         `katakana-jisx0208'.
1684
1685         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1686         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1687         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1688         (MIN_CHAR_DAIKANWA): New macro.
1689         (MAX_CHAR_DAIKANWA): New macro.
1690
1691 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1692
1693         * data.c (Fstring_to_number): Don't recognize floating point if
1694         base is not 10.
1695
1696 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1697
1698         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1699
1700 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1701
1702         * mule-charset.c (Qsquare): New variable.
1703         (to_char_code): Add `Qsquare'.
1704         (syms_of_mule_charset): Add new symbol `square'.
1705
1706 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1707
1708         * mule-charset.c (Qcircle): New variable.
1709         (to_char_code): Add `Qcircle'.
1710         (syms_of_mule_charset): Add new symbol `circle'.
1711
1712 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1713
1714         * mule-charset.c (Qfont): New variable.
1715         (to_char_code): Add `Qfont'.
1716         (syms_of_mule_charset): Add new symbol `font'.
1717
1718 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1719
1720         * mule-charset.c (Qsub): New variable.
1721         (to_char_code): Add `Qsub'.
1722         (syms_of_mule_charset): Add new symbol `sub'.
1723
1724 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1725
1726         * mule-charset.c (Fput_char_attribute): Convert each element of
1727         VALUE to GL position if ATTRIBUTE is a GR-set,
1728
1729 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1730
1731         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1732         coded-charset is a GR-set.
1733
1734 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1735
1736         * mule-charset.c (Fput_char_attribute): Check each element of
1737         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1738
1739 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1740
1741         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1742         UTF-2000.
1743         (Qethiopic_ucs): New variable in UTF-2000.
1744         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1745         (complex_vars_of_mule_charset): Add new coded-charset
1746         `ethiopic-ucs' in UTF-2000.
1747
1748         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1749         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1750         9)'.
1751         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1752         10)'.
1753         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1754
1755 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1756
1757         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1758         `ascii'.
1759
1760 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1761
1762         * mule-charset.c (Vcharacter_variant_table): New variable.
1763         (Q_ucs): New variable.
1764         (Fchar_variants): New function.
1765         (Fput_char_attribute): Register `->ucs' value to
1766         `Vcharacter_variant_table'.
1767         (syms_of_mule_charset): Add new function `char-variants' and new
1768         symbol `->ucs'.
1769         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
1770
1771 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1772
1773         * mule-charset.c (get_char_code_table): Allow negative character
1774         code.
1775         (put_char_code_table): Likewise.
1776         (Vcharacter_composition_table): New variable.
1777         (Q_decomposition): New variable.
1778         (Qwide): New variable.
1779         (Qnarrow): New variable.
1780         (Qcompat): New variable.
1781         (QnoBreak): New variable.
1782         (Qsuper): New variable.
1783         (Qfraction): New variable.
1784         (to_char_code): New function.
1785         (Fget_composite_char): New function.
1786         (Fput_char_attribute): Register `->decomposition' value to
1787         `Vcharacter_composition_table'.
1788         (syms_of_mule_charset): Add new function `get-composite-char', new
1789         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
1790         `super' and `fraction'.
1791         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
1792
1793 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1794
1795         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
1796         character; copy the return value.
1797
1798 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1799
1800         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
1801
1802         * mule-charset.c (range_charset_code_point): Must use make_int.
1803         (split_builtin_char): New function.
1804
1805 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1806
1807         * mule-charset.c (char_byte_table): Change name from
1808         "char-code-table" to "char-byte-table".
1809         (mark_char_code_table): New function.
1810         (char_code_table_equal): New function.
1811         (char_code_table_hash): New function.
1812         (char_code_table_description): New constant.
1813         (char_code_table): New type.
1814         (make_char_code_table): New function.
1815         (copy_char_code_table): New function.
1816         (get_char_code_table): Modify for `char_code_table' type.
1817         (put_char_code_table): Likewise.
1818         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
1819         (Kashiwara).
1820
1821         * char-ucs.h (char_code_table): New type.
1822         (XCHAR_CODE_TABLE): New macro.
1823         (XSETCHAR_CODE_TABLE): New macro.
1824         (CHAR_CODE_TABLE_P): New macro.
1825         (GC_CHAR_CODE_TABLE_P): New macro.
1826         (struct Lisp_Char_Code_Table): New structure.
1827
1828 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1829
1830         * mule-charset.c (Fmake_charset): Setup byte_offset for
1831         {94|96}^n-set.
1832
1833 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1834
1835         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
1836         character.
1837
1838 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1839
1840         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
1841         is found.
1842
1843 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1844
1845         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
1846         charset, it is regarded as a charset.
1847         (put_char_attribute): New function in UTF-2000.
1848         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
1849         charset, mapping-table of the charset is modified.
1850         (Fdefine_char): New function in UTF-2000.
1851         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
1852         `Fput_char_attribute'.
1853         (syms_of_mule_charset): Add new function `define-char' and new
1854         symbol `ucs' in UTF-2000.
1855         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
1856
1857 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1858
1859         * mule-charset.c (Fcharset_name): Define `byte_offset' in
1860         non-UTF-2000 configuration.
1861
1862 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1863
1864         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
1865         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
1866
1867         * mule-charset.c (mark_charset): `cs->encoding_table' has been
1868         deleted.
1869         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
1870         (Fset_charset_mapping_table): Likewise.
1871
1872         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
1873         (CHARSET_ENCODING_TABLE): Delete.
1874         (XCHARSET_ENCODING_TABLE): Delete.
1875         (charset_code_point): New interface.
1876
1877 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1878
1879         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
1880         instead of `charset_get_byte1' and `charset_get_byte2'.
1881
1882         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
1883         (charset_get_byte2): Deleted.
1884
1885 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1886
1887         * char-ucs.h (SPLIT_CHAR): New inline function.
1888         (breakup_char_1): Use `SPLIT_CHAR'.
1889
1890         * mule-charset.c (range_charset_code_point): New function.
1891         (charset_code_point): New function.
1892
1893         * char-ucs.h (range_charset_code_point): New interface.
1894         (breakup_char_1): Use `range_charset_code_point'.
1895
1896 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1897
1898         * mule-charset.c (Fmake_charset): Delete unused local variable
1899         `code_offset'.
1900
1901         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
1902         (breakup_char_1): Find a charset and code-point in
1903         `Vcharacter_attribute_table'.
1904
1905 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1906
1907         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1908         to 0.10 (Yao).
1909
1910 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1911
1912         * mule-charset.c (Vcharacter_attribute_table): New variable.
1913         (Fchar_attribute_alist): New function.
1914         (Fget_char_attribute): New function.
1915         (Fput_char_attribute): New function.
1916         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
1917         too.
1918         (syms_of_mule_charset): Add new function `char-attribute-alist',
1919         `get-char-attribute' and `put-char-attribute'.
1920         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
1921
1922 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
1923
1924         * mule-charset.c (Fmake_charset): Just use
1925         `get_unallocated_leading_byte'.
1926
1927         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
1928         sets; don't use final-byte based number for private sets.
1929
1930 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1931
1932         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
1933         integer.
1934
1935 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1936
1937         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1938         to 0.9.
1939
1940 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1941
1942         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
1943         of `CHAR_LEADING_BYTE' in UTF-2000.
1944
1945         * insdel.c (find_charsets_in_bufbyte_string): Use
1946         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1947         (find_charsets_in_emchar_string): Likewise.
1948
1949         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
1950         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1951
1952         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
1953         (CHAR_CHARSET_ID): New macro.
1954
1955 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1956
1957         * chartab.c (get_char_table): Don't use type `Charset_ID' for
1958         charset-id - MIN_LEADING_BYTE.
1959         (put_char_table): Likewise.
1960
1961 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1962
1963         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
1964         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
1965         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
1966         (CHARSET_ID_OFFSET): New macro.
1967         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
1968         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
1969         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
1970         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
1971         4).
1972         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
1973         5).
1974         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
1975         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
1976         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
1977         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
1978         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
1979
1980 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1981
1982         * mule-charset.c (next_allocated_leading_byte): New variable in
1983         UTF-2000.
1984         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
1985         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
1986         (get_unallocated_leading_byte): Simply use
1987         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
1988         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
1989         UTF-2000.
1990
1991         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
1992         (MAX_LEADING_BYTE_PRIVATE): New macro.
1993         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
1994         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
1995
1996 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1997
1998         * mule-charset.c (Fmake_charset): Allocate final-byte based
1999         charset-id for 94-set, 96-set and 94x94-set.
2000
2001 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2002
2003         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2004         ambiguous `else'.
2005         (Fmake_charset): Likewise.
2006         (complex_vars_of_mule_charset): Modify the font registry of
2007         `ucs-bmp' not to match `Ethiopic-Unicode'.
2008
2009 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2010
2011         * mule-charset.c (complex_vars_of_mule_charset): Add font
2012         registory of `ucs-bmp'.
2013
2014 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2015
2016         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2017         coded-charsets in `default-coded-charset-priority-list' when
2018         breaking up a character.
2019
2020         * mule-charset.c (Vcharset_latin_viscii): New variable.
2021         (Qlatin_viscii): New variable.
2022         (make_charset): Don't use `decoding_table'.
2023         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2024         byte_offset.
2025         (Fset_charset_mapping_table): New implementation.
2026         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2027         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2028         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2029         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2030         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2031         charset `latin_viscii'.
2032
2033         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2034         (CHARSET_TYPE_94X94): Change to 1 from 2.
2035         (CHARSET_TYPE_96): Change to 2 from 1.
2036         (CHARSET_TYPE_128): New macro.
2037         (CHARSET_TYPE_128X128): Change to 5 from 4.
2038         (CHARSET_TYPE_256): New macro.
2039         (CHARSET_TYPE_256X256): Change to 7 from 5.
2040         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2041
2042 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2043
2044         * text-coding.c (char_encode_shift_jis): Refer
2045         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2046         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2047
2048         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2049         (char_byte_table_equal): New function in UTF-2000.
2050         (char_byte_table_hash): New function in UTF-2000.
2051         (char_byte_table_description): New constant in UTF-2000.
2052         (char_byte_table): New type in UTF-2000.
2053         (make_char_byte_table): New function in UTF-2000.
2054         (copy_char_byte_table): New function in UTF-2000.
2055         (make_char_code_table): New macro in UTF-2000.
2056         (get_char_code_table): New function in UTF-2000.
2057         (put_char_code_table): New function in UTF-2000.
2058         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2059         (charset_description): Add setting in UTF-2000.
2060         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2061         `CHARSET_TO_BYTE1_TABLE(cs)'.
2062         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2063         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2064         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2065         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2066         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2067         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2068         `CHARSET_TO_BYTE2_TABLE(cs)'.
2069
2070         * char-ucs.h (char_byte_table): New type.
2071         (XCHAR_BYTE_TABLE): New macro.
2072         (XSETCHAR_BYTE_TABLE): New macro.
2073         (CHAR_BYTE_TABLE_P): New macro.
2074         (GC_CHAR_BYTE_TABLE_P): New macro.
2075         (struct Lisp_Char_Byte_Table): New structure.
2076         (get_char_code_table): New interface.
2077         (Emchar_to_byte_table): Deleted.
2078         (get_byte_from_character_table): Deleted.
2079         (struct Lisp_Charset): Add `encoding_table'; delete
2080         `to_byte1_table' and `to_byte2_table'.
2081         (CHARSET_ENCODING_TABLE): New macro.
2082         (CHARSET_TO_BYTE1_TABLE): Deleted.
2083         (CHARSET_TO_BYTE2_TABLE): Deleted.
2084         (XCHARSET_ENCODING_TABLE): New macro.
2085         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2086         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2087
2088 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2089
2090         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2091         `vietnamese-viscii-*'.
2092
2093 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2094
2095         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2096         (Qvietnamese_viscii_upper): New variable.
2097         (Fdefine_charset_alias): New function.
2098         (syms_of_mule_charset): Add new function `define-charset-alias'.
2099         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2100         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2101         `latin-viscii-*'.
2102
2103 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2104
2105         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2106         (MAX_CHAR_OBS_94x94): New macro.
2107         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2108         for 94x94 sets.
2109
2110         * mule-charset.c (put_byte_from_character_table): Change unit size
2111         from 128 to 256.
2112         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2113         not defined.
2114         (Fmake_reverse_direction_charset): Modify dummy argument of
2115         `make_charset' for non-UTF-2000 environment.
2116
2117 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2118
2119         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2120
2121         * mule-charset.c (destroy_byte_from_character_table): New macro.
2122         (latin_jisx0201_to_ucs): Deleted.
2123         (latin_iso8859_2_to_ucs): Deleted.
2124         (latin_iso8859_3_to_ucs): Deleted.
2125         (latin_iso8859_4_to_ucs): Deleted.
2126         (latin_iso8859_9_to_ucs): Deleted.
2127         (latin_viscii_lower_to_ucs): Deleted.
2128         (latin_viscii_upper_to_ucs): Deleted.
2129         (mark_charset): Mark `cs->decoding_table'.
2130         (Fcharset_mapping_table): Fix DOC-string.
2131         (Fset_charset_mapping_table): New function.
2132         (syms_of_mule_charset): Add nwe function
2133         `set-charset-mapping-table'.
2134         (complex_vars_of_mule_charset): Don't setup and use
2135         `latin_*_to_ucs'.
2136
2137 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2138
2139         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2140         charset.
2141
2142 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2143
2144         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2145         (Vcharset_katakana_jisx0208): New variable.
2146         (Qhiragana_jisx0208): New variable.
2147         (Qkatakana_jisx0208): New variable.
2148         (make_charset): Add new argument `byte_offset'.
2149         (charset_get_byte1): Modify for new coded-charset definition; use
2150         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2151         `XCHARSET_BYTE_OFFSET'.
2152         (Fmake_charset): Modify for `make_charset'.
2153         (Fmake_reverse_direction_charset): Likewise.
2154         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2155         `katakana-jisx0208'.
2156         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2157         `.'  in font registry of charset `katakana-jisx0201',
2158         `latin-jisx0201', `vietnamese-viscii-lower' and
2159         `vietnamese-viscii-upper'; modify DOC-string of charset
2160         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2161         registry of charset `japanese-jisx0208' not to use font for JIS
2162         X0208:1990; add new charset `hiragana-jisx0208' and
2163         `katakana-jisx0208'.
2164
2165         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2166         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2167         (struct Lisp_Charset): Add `byte_offset'.
2168         (CHARSET_BYTE_OFFSET): New macro.
2169         (XCHARSET_UCS_MIN): New macro.
2170         (XCHARSET_UCS_MAX): New macro.
2171         (XCHARSET_CODE_OFFSET): New macro.
2172         (XCHARSET_BYTE_OFFSET): New macro.
2173         (MIN_CHAR_HIRAGANA): New macro.
2174         (MAX_CHAR_HIRAGANA): New macro.
2175         (MIN_CHAR_KATAKANA): New macro.
2176         (MAX_CHAR_KATAKANA): New macro.
2177         (MAKE_CHAR): Modify for new coded-charset definition; use
2178         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2179         `XCHARSET_BYTE_OFFSET'.
2180
2181 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2182
2183         * mule-charset.c (CHAR96): Deleted.
2184         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2185         <Lisp_Object>.
2186         (latin_iso8859_2_to_ucs): Likewise.
2187         (latin_iso8859_3_to_ucs): Likewise.
2188         (latin_iso8859_4_to_ucs): Likewise.
2189         (latin_iso8859_9_to_ucs): Likewise.
2190         (latin_viscii_lower_to_ucs): Likewise.
2191         (latin_viscii_upper_to_ucs): Likewise.
2192         (latin_tcvn5712_to_ucs): Commented out.
2193         (make_charset): Change type of argument `decoding_table' from
2194         <Emchar*> to <Lisp_Object> [vector of characters].
2195         (Fmake_charset): Modify for `make_charset'.
2196         (Fmake_reverse_direction_charset): Likewise.
2197         (Fcharset_mapping_table): New function in UTF-2000.
2198         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2199         UTF-2000.
2200         (complex_vars_of_mule_charset): Modify for type change of
2201         `*_to_ucs'; modify for `make_charset'.
2202
2203         * char-ucs.h (struct Lisp_Charset): Change type of
2204         `decoding_table' from <Emchar*> to <Lisp_Object>.
2205         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2206
2207 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2208
2209         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2210         error with non-UTF-2000-Mule.
2211
2212 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2213
2214         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2215         in lisp again].
2216         (Vcharset_chinese_cns11643_4): Likewise.
2217         (Vcharset_chinese_cns11643_5): Likewise.
2218         (Vcharset_chinese_cns11643_6): Likewise.
2219         (Vcharset_chinese_cns11643_7): Likewise.
2220         (Qchinese_cns11643_3): Likewise.
2221         (Qchinese_cns11643_4): Likewise.
2222         (Qchinese_cns11643_5): Likewise.
2223         (Qchinese_cns11643_6): Likewise.
2224         (Qchinese_cns11643_7): Likewise.
2225         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2226         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2227         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2228         (complex_vars_of_mule_charset): Likewise.
2229
2230 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2231
2232         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2233         96-set.
2234         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2235         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2236
2237 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2238
2239         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2240         0xFF60.
2241         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2242         (breakup_char_1): Likewise.
2243
2244         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2245         one of them includes the specified character.
2246
2247 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2248
2249         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2250
2251 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2252
2253         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2254
2255 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2256
2257         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2258         definition for non-UTF-2000 Mule.
2259         (latin_iso8859_3_to_ucs): Likewise.
2260         (latin_iso8859_4_to_ucs): Likewise.
2261         (latin_iso8859_9_to_ucs): Likewise.
2262         (latin_jisx0201_to_ucs): Likewise.
2263         (MIN_CHAR_THAI): Likewise.
2264         (MAX_CHAR_THAI): Likewise.
2265         (MIN_CHAR_GREEK): Likewise.
2266         (MAX_CHAR_GREEK): Likewise.
2267         (MIN_CHAR_HEBREW): Likewise.
2268         (MAX_CHAR_HEBREW): Likewise.
2269         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2270         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2271         (MIN_CHAR_CYRILLIC): Likewise.
2272         (MAX_CHAR_CYRILLIC): Likewise.
2273
2274 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2275
2276         * char-ucs.h (breakup_char_1): Use
2277         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2278         thai-tis620 and katakana-jisx0201 area.
2279
2280 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2281
2282         * char-ucs.h (breakup_char_1): Use
2283         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2284         area.
2285
2286         * text-coding.c (reset_encoding_stream): Fixed.
2287         (char_encode_ucs4): Delete `& 255'.
2288
2289         * char-ucs.h (breakup_char_1): Use
2290         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2291
2292 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2293
2294         * file-coding.c (Fmake_coding_system): Don't set up
2295         `codesys->fixed.size'.
2296         (encode_coding_no_conversion): Don't refer
2297         `str->codesys->fixed.size'.
2298
2299 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2300
2301         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2302         (latin_a_char_to_byte1): Deleted.
2303         (latin_a_char_to_byte2): Deleted.
2304
2305 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2306
2307         * mule-charset.c (make_charset): Add new argument `ucs_min',
2308         `ucs_max' and `code_offset'.
2309         (charset_get_byte1): New implementation [delete specific charset
2310         depended implementations].
2311         (Fmake_charset): Modify for `make_charset'.
2312         (Fmake_reverse_direction_charset): Likewise.
2313         (complex_vars_of_mule_charset): Likewise.
2314
2315         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2316         `code_offset'.
2317         (CHARSET_UCS_MIN): New macro.
2318         (CHARSET_UCS_MAX): New macro.
2319         (CHARSET_CODE_OFFSET): New macro.
2320         (MAKE_CHAR): Delete charset depended definitions [except
2321         katakana-jisx0201].
2322
2323 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2324
2325         * char-ucs.h (breakup_char_1): Use
2326         `Vdefault_coded_charset_priority_list' for C0-Controls,
2327         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2328
2329 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2330
2331         * char-ucs.h (charset_get_byte1): New function.
2332         (XCHARSET_GET_BYTE1): Deleted.
2333         (charset_get_byte2): New function.
2334         (XCHARSET_GET_BYTE2): Deleted.
2335         (Vdefault_coded_charset_priority_list): New external variable.
2336         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2337         `Vdefault_preferred_coded_charset_list'.
2338
2339         * mule-charset.c (charset_get_byte1): New function.
2340         (charset_get_byte2): New function.
2341         (Vdefault_coded_charset_priority_list): New variable.
2342         (vars_of_mule_charset): Add new variable
2343         `default-coded-charset-priority-list'.
2344
2345 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2346
2347         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2348         (XCHARSET_GET_BYTE2): New inline function.
2349         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2350         `XCHARSET_GET_BYTE2'.
2351
2352 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2353
2354         * mule-charset.c (make_charset): Initialize
2355         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2356         NULL if table is not defined.
2357
2358 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2359
2360         * text-coding.c (char_encode_shift_jis): Use
2361         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2362         `ucs_to_latin_jisx0201'.
2363
2364         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2365         (ucs_to_latin_iso8859_2): Deleted.
2366         (ucs_to_latin_iso8859_3): Deleted.
2367         (ucs_to_latin_iso8859_4): Deleted.
2368         (ucs_to_latin_iso8859_9): Deleted.
2369         (ucs_to_latin_viscii_lower): Deleted.
2370         (ucs_to_latin_viscii_upper): Deleted.
2371         (ucs_to_latin_tcvn5712): Deleted.
2372         (make_charset): Add new argument `decoding_table'; set up
2373         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2374         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2375         `decoding_table' is defined in UTF-2000.
2376         (Fmake_charset): Modify for `make_charset'.
2377         (Fmake_reverse_direction_charset): Likewise.
2378         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2379         and `GENERATE_96_SET'.
2380
2381         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2382         (ucs_to_latin_jisx0201): Deleted.
2383         (latin_iso8859_2_to_ucs): Deleted.
2384         (ucs_to_latin_iso8859_2): Deleted.
2385         (latin_iso8859_3_to_ucs): Deleted.
2386         (ucs_to_latin_iso8859_3): Deleted.
2387         (latin_iso8859_4_to_ucs): Deleted.
2388         (ucs_to_latin_iso8859_4): Deleted.
2389         (latin_iso8859_9_to_ucs): Deleted.
2390         (ucs_to_latin_iso8859_9): Deleted.
2391         (latin_viscii_lower_to_ucs): Deleted.
2392         (ucs_to_latin_viscii_lower): Deleted.
2393         (latin_viscii_upper_to_ucs): Deleted.
2394         (ucs_to_latin_viscii_upper): Deleted.
2395         (struct Lisp_Charset): Renamed `encoding_table' to
2396         `to_byte1_table'; add `to_byte2_table'.
2397         (CHARSET_DECODING_TABLE): New macro.
2398         (CHARSET_TO_BYTE1_TABLE): New macro.
2399         (CHARSET_TO_BYTE2_TABLE): New macro.
2400         (XCHARSET_DECODING_TABLE): New macro.
2401         (XCHARSET_TO_BYTE1_TABLE): New macro.
2402         (XCHARSET_TO_BYTE2_TABLE): New macro.
2403         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2404         tables.
2405         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2406         don't use `ucs_to_*' tables.
2407
2408 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2409
2410         * text-coding.c (Fmake_coding_system): Don't set up
2411         `codesys->fixed.size'.
2412         (encode_coding_no_conversion): Use `if' instead of `switch'.
2413
2414         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2415
2416 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2417
2418         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2419         (Fmake_charset): Modify for `make_charset'.
2420         (Fmake_reverse_direction_charset): Likewise.
2421         (complex_vars_of_mule_charset): Likewise.
2422
2423 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2424
2425         * text-coding.c (char_encode_shift_jis): Use table
2426         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2427
2428 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2429
2430         * text-coding.c (text_encode_generic): Use `if' instead of
2431         `switch'.
2432         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2433         decode JIS-Latin.
2434
2435 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2436
2437         * text-coding.c (encode_coding_sjis): Deleted.
2438         (char_encode_shift_jis): New function.
2439         (char_finish_shift_jis): New function.
2440         (reset_encoding_stream): Set up `encode_char' and `finish' for
2441         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2442         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2443         (char_encode_utf8): Treat `eol_type'.
2444
2445 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2446
2447         * file-coding.c (decode_coding_iso2022): Use
2448         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2449
2450 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2451
2452         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2453         to 0.7 (Hirano).
2454
2455 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2456
2457         * char-lb.h (CHAR_COLUMNS): New macro.
2458
2459 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2460
2461         * text-coding.c (char_encode_ucs4): New function.
2462         (char_finish_ucs4): New function.
2463         (encode_coding_ucs4): Deleted.
2464         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2465         (text_encode_generic): Delete local variable `charset' and `half'.
2466         (ucs_to_mule_table): Deleted.
2467         (mule_to_ucs_table): Deleted.
2468         (Fset_ucs_char): Deleted.
2469         (ucs_to_char): Deleted.
2470         (Fucs_char): Deleted.
2471         (Fset_char_ucs): Deleted.
2472         (Fchar_ucs): Deleted.
2473         (decode_ucs4): Deleted.
2474         (mule_char_to_ucs4): Deleted.
2475         (encode_ucs4): Deleted.
2476         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2477         (decode_coding_utf8): Likewise.
2478         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2479         (char_encode_iso2022): Fixed.
2480         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2481         `Fset_char_ucs' and `Fchar_ucs'.
2482         (complex_vars_of_file_coding): Don't initialize
2483         `ucs_to_mule_table'.
2484
2485         * objects-tty.c (tty_initialize_font_instance): Don't use
2486         `XCHARSET_COLUMNS'.
2487
2488         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2489         UTF-2000.
2490
2491         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2492         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2493
2494         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2495         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2496         (emchar_string_displayed_columns): Likewise.
2497
2498         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2499         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2500         (string_column_at_point): Likewise.
2501         (Fmove_to_column): Likewise.
2502
2503         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2504         `encoding_table' and `decoding_table'.
2505         (CHARSET_REP_BYTES): Deleted.
2506         (XCHARSET_REP_BYTES): Deleted.
2507         (XCHARSET_COLUMNS): Deleted.
2508         (CHAR_COLUMNS): New macro.
2509         (lookup_composite_char): Deleted unconditionally.
2510         (composite_char_string): Likewise.
2511
2512 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2513
2514         * char-ucs.h (Emchar_to_byte_table): New type.
2515         (get_byte_from_character_table): New function interface.
2516         (Vcharset_latin_jisx0201): New variable.
2517         (latin_jisx0201_to_ucs): New variable.
2518         (ucs_to_latin_jisx0201): New variable.
2519         (Vcharset_latin_iso8859_2): New variable.
2520         (latin_iso8859_2_to_ucs): New variable.
2521         (ucs_to_latin_iso8859_2): New variable.
2522         (Vcharset_latin_iso8859_3): New variable.
2523         (latin_iso8859_3_to_ucs): New variable.
2524         (ucs_to_latin_iso8859_3): New variable.
2525         (Vcharset_latin_iso8859_4): New variable.
2526         (latin_iso8859_4_to_ucs): New variable.
2527         (ucs_to_latin_iso8859_4): New variable.
2528         (Vcharset_latin_iso8859_9): New variable.
2529         (latin_iso8859_9_to_ucs): New variable.
2530         (ucs_to_latin_iso8859_9): New variable.
2531         (Vcharset_latin_viscii_lower): New variable.
2532         (latin_viscii_lower_to_ucs): New variable.
2533         (ucs_to_latin_viscii_lower): New variable.
2534         (Vcharset_latin_viscii_upper): New variable.
2535         (latin_viscii_upper_to_ucs): New variable.
2536         (ucs_to_latin_viscii_upper): New variable.
2537         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2538         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2539         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2540         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2541         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2542         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2543         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2544         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2545         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2546         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2547
2548         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2549         (Vcharset_latin_viscii_upper): New variable.
2550         (make_byte_from_character_table): New function.
2551         (put_byte_from_character_table): New function.
2552         (get_byte_from_character_table): New function.
2553         (CHAR96): New macro.
2554         (ucs_to_latin_jisx0201): New variable.
2555         (latin_jisx0201_to_ucs): New variable.
2556         (ucs_to_latin_iso8859_2): New variable.
2557         (latin_iso8859_2_to_ucs): New variable.
2558         (ucs_to_latin_iso8859_3): New variable.
2559         (latin_iso8859_3_to_ucs): New variable.
2560         (ucs_to_latin_iso8859_4): New variable.
2561         (latin_iso8859_4_to_ucs): New variable.
2562         (ucs_to_latin_iso8859_9): New variable.
2563         (latin_iso8859_9_to_ucs): New variable.
2564         (ucs_to_latin_viscii_lower): New variable.
2565         (latin_viscii_lower_to_ucs): New variable.
2566         (ucs_to_latin_viscii_upper): New variable.
2567         (latin_viscii_upper_to_ucs): New variable.
2568         (ucs_to_latin_tcvn5712): New variable.
2569         (latin_tcvn5712_to_ucs): New variable.
2570         (Qlatin_viscii_lower): New variable.
2571         (Qlatin_viscii_upper): New variable.
2572         (syms_of_mule_charset): Set up new symbol
2573         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2574         (complex_vars_of_mule_charset): Set up new charset
2575         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2576         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2577         `ucs_to_<CHARSET>' tables.
2578
2579 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2580
2581         * text-coding.c: New file.
2582
2583 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2584
2585         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2586
2587         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2588         (MAKE_CHAR): Modify for `ucs-bmp'.
2589         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2590         non-MULE characters of BMP.
2591
2592 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2593
2594         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2595         to 0.6.
2596
2597 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2598
2599         * lstream.h:
2600         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2601         - Include character.h for `CHAR_ASCII_P'.
2602
2603         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2604
2605         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2606         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2607
2608         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2609         (BYTE_C0_P): Likewise.
2610         (BYTE_C1_P): Likewise.
2611         (Lstream_get_emchar_1): Likewise.
2612         (Lstream_fput_emchar): Likewise.
2613         (Lstream_funget_emchar): Likewise.
2614         (copy_internal_to_external): Likewise.
2615         (copy_external_to_internal): Likewise.
2616
2617         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2618         (BYTE_C0_P): Likewise.
2619         (BYTE_C1_P): Likewise.
2620         (Lstream_get_emchar_1): Likewise.
2621         (Lstream_fput_emchar): Likewise.
2622         (Lstream_funget_emchar): Likewise.
2623         (copy_internal_to_external): Likewise.
2624         (copy_external_to_internal): Likewise.
2625
2626         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2627         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2628
2629         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2630         (BYTE_ASCII_P): Moved to mb-1byte.h.
2631
2632 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2633
2634         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2635
2636         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2637         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2638         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2639         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2640         (VALIDATE_CHARPTR_FORWARD): Likewise.
2641         (simple_charptr_emchar): Moved to mb-multibyte.h.
2642         (simple_set_charptr_emchar): Likewise.
2643         (simple_charptr_copy_char): Likewise.
2644         (non_ascii_charptr_emchar): Likewise.
2645         (non_ascii_set_charptr_emchar): Likewise.
2646         (non_ascii_charptr_copy_char): Likewise.
2647         (charptr_emchar): Moved to mb-*byte.h.
2648         (set_charptr_emchar): Likewise.
2649         (charptr_copy_char): Likewise.
2650
2651         * mb-1byte.h, mb-multibyte.h: New files.
2652
2653 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2654
2655         * mb-utf-8.h (MULTIBYTE): New macro.
2656         (MAX_EMCHAR_LEN): Moved from buffer.h.
2657         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2658
2659         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2660
2661         * mb-lb.h, multibyte.h: New files.
2662
2663         * char-1byte.h (Charset_ID): Moved from buffer.h.
2664         (MIN_LEADING_BYTE): Likewise.
2665         (LEADING_BYTE_ASCII): Likewise.
2666         (NUM_LEADING_BYTES): Likewise.
2667         (CHARSETP): Likewise.
2668         (CHARSET_BY_LEADING_BYTE): Likewise.
2669         (XCHARSET_LEADING_BYTE): Likewise.
2670         (XCHARSET_GRAPHIC): Likewise.
2671         (XCHARSET_COLUMNS): Likewise.
2672         (XCHARSET_DIMENSION): Likewise.
2673         (CHAR_CHARSET): Likewise.
2674         (CHAR_LEADING_BYTE): Likewise.
2675         (BREAKUP_CHAR): Likewise.
2676         (Vcharset_ascii): Likewise.
2677
2678         * buffer.h: Include multibyte.h unconditionally.
2679         (VALID_CHARPTR_P): Moved to multibyte.h.
2680         (ASSERT_VALID_CHARPTR): Likewise.
2681         (REAL_INC_CHARPTR): Likewise.
2682         (REAL_INC_CHARBYTIND): Likewise.
2683         (REAL_DEC_CHARPTR): Likewise.
2684         (INC_CHARPTR): Likewise.
2685         (INC_CHARBYTIND): Likewise.
2686         (DEC_CHARPTR): Likewise.
2687         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2688         (VALIDATE_CHARPTR_FORWARD): Likewise.
2689         (charptr_n_addr): Likewise.
2690         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2691         (simple_charptr_emchar): Moved to multibyte.h.
2692         (simple_set_charptr_emchar): Likewise.
2693         (simple_charptr_copy_char): Likewise.
2694         (non_ascii_charptr_emchar): Likewise.
2695         (non_ascii_set_charptr_emchar): Likewise.
2696         (non_ascii_charptr_copy_char): Likewise.
2697         (charptr_emchar): Likewise.
2698         (set_charptr_emchar): Likewise.
2699         (charptr_copy_char): Likewise.
2700         (charptr_emchar_n): Likewise.
2701         (Charset_ID): Moved to char-1byte.h.
2702         (Vcharset_ascii): Likewise.
2703         (CHAR_CHARSET): Likewise.
2704         (CHAR_LEADING_BYTE): Likewise.
2705         (LEADING_BYTE_ASCII): Likewise.
2706         (NUM_LEADING_BYTES): Likewise.
2707         (MIN_LEADING_BYTE): Likewise.
2708         (CHARSETP): Likewise.
2709         (CHARSET_BY_LEADING_BYTE): Likewise.
2710         (XCHARSET_LEADING_BYTE): Likewise.
2711         (XCHARSET_GRAPHIC): Likewise.
2712         (XCHARSET_COLUMNS): Likewise.
2713         (XCHARSET_DIMENSION): Likewise.
2714         (BREAKUP_CHAR): Likewise.
2715
2716 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2717
2718         * character.h: Add document about interface for characters.
2719
2720         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2721         (MAKE_CHAR): Delete comment about
2722         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2723         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2724         (BREAKUP_CHAR): Modify name of arguments.
2725         (CHAR_CHARSET): Modify name of argument.
2726
2727         * buffer.h: Delete document about Emchar accessors.
2728
2729 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2730
2731         * character.h (CHAR_INTP): Moved from buffer.h
2732         (CHAR_OR_CHAR_INTP): Likewise.
2733         (XCHAR_OR_CHAR_INT): Likewise.
2734         (CHECK_CHAR_COERCE_INT): Likewise.
2735
2736         * buffer.h (CHAR_INTP): Moved to character.h
2737         (CHAR_OR_CHAR_INTP): Likewise.
2738         (XCHAR_OR_CHAR_INT): Likewise.
2739         (CHECK_CHAR_COERCE_INT): Likewise.
2740
2741 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2742
2743         * character.h:
2744         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2745         - Include char-1byte.h, char-lb.h or char-ucs.h.
2746
2747         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2748
2749         * buffer.h: Include character unconditionally.
2750         (valid_char_p): Moved to char-*.h.
2751         (non_ascii_valid_char_p): Moved to char-lb.h.
2752
2753         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2754
2755 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2756
2757         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2758         in UTF-2000 because it is not ported yet and not to use
2759         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2760         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2761         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2762
2763         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2764         (CHAR_ASCII_P): Moved from character.h.
2765
2766         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
2767         (CHAR_ASCII_P): Likewise.
2768         (CHAR_FIELD1_MASK): Deleted.
2769         (CHAR_FIELD2_MASK): Deleted.
2770         (CHAR_FIELD3_MASK): Deleted.
2771         (MAX_CHAR_BASIC_LATIN): New macro.
2772         (CHAR_FIELD1): Deleted.
2773         (CHAR_FIELD2_INTERNAL): Deleted.
2774         (CHAR_FIELD3_INTERNAL): Deleted.
2775         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
2776         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
2777         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
2778         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
2779         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
2780         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
2781         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
2782         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
2783         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
2784         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
2785         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
2786         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
2787         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
2788         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
2789         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
2790         (MIN_CHAR_COMPOSITION): Deleted.
2791         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
2792         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
2793
2794 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
2795
2796         * buffer.h: Include mb-utf-8.h in UTF-2000.
2797
2798         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
2799
2800         * mb-utf-8.h: New file.
2801
2802 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
2803
2804         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
2805         instead of `int'.
2806
2807         * mule-charset.h, buffer.h (Charset_ID): New type.
2808
2809 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2810
2811         * mule-canna.c (c2mu): Use `MAKE_CHAR',
2812         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
2813         instead of `MULE_CHAR_PRIVATE_OFFSET',
2814         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
2815         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
2816         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
2817
2818         * character.h (Vcharset_japanese_jisx0212): New variable
2819         definition.
2820
2821 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2822
2823         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
2824         (charset_by_attributes): Delete array about direction.
2825         (latin_a_char_to_charset): New variable in UTF-2000.
2826         (latin_a_char_to_byte1): New variable in UTF-2000.
2827         (latin_a_char_to_byte2): New variable in UTF-2000.
2828         (Qucs_bmp): New variable.
2829         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
2830         `Bufbyte'.
2831         (next_allocated_2_byte_leading_byte): Likewise.
2832         (non_ascii_set_charptr_emchar): Likewise.
2833         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
2834         `CHARSET_TYPE_256X256' in UTF-2000; modify for
2835         `charset_by_attributes'.
2836         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
2837         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
2838         and `CHARSET_BY_LEADING_BYTE'.
2839         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
2840         `utf-2000-version' to `vars_of_mule_charset'.
2841         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
2842         define `leading-code-private-11' in UTF-2000; move setting of
2843         `utf-2000-version' from `syms_of_mule_charset'.
2844         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
2845         UTF-2000.
2846
2847         * character.h (Charset_ID): New type.
2848         (LEADING_BYTE_UCS_BMP): New macro.
2849         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
2850         (CHARSET_ID_OFFSET_94): New macro.
2851         (MIN_CHARSET_ID_PRIVATE_94): New macro.
2852         (MAX_CHARSET_ID_PRIVATE_94): New macro.
2853         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
2854         final-byte.
2855         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
2856         (LEADING_BYTE_LATIN_JISX0201): Likewise.
2857         (CHARSET_ID_OFFSET_96): New macro.
2858         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
2859         CHARSET_ID_OFFSET_96 and final-byte.
2860         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
2861         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
2862         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
2863         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
2864         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
2865         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
2866         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
2867         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
2868         (LEADING_BYTE_THAI_TIS620): Likewise.
2869         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
2870         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
2871         (CHARSET_ID_OFFSET_94x94): New macro.
2872         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
2873         CHARSET_ID_OFFSET_94x94 and final-byte.
2874         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
2875         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
2876         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
2877         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
2878         (LEADING_BYTE_CHINESE_GB2312): Likewise.
2879         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
2880         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
2881         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
2882         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
2883         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
2884         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
2885         (CHARSET_TYPE_128X128): New macro.
2886         (CHARSET_TYPE_256X256): New macro.
2887         (XCHARSET_PRIVATE_P): Delete unconditionally.
2888         (charset_by_attributes): Delete array about direction.
2889         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
2890         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
2891         (MIN_CHAR_94): New macro.
2892         (MAX_CHAR_94): New macro.
2893         (MIN_CHAR_96): New macro.
2894         (MAX_CHAR_96): New macro.
2895         (MIN_CHAR_94x94): New macro.
2896         (MAX_CHAR_94x94): New macro.
2897         (MIN_CHAR_96x96): New macro.
2898         (MAX_CHAR_96x96): New macro.
2899         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
2900         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
2901         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
2902         - 32)'.
2903         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
2904         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
2905         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
2906         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
2907         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
2908         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
2909         `XCHARSET_LEADING_BYTE' to make code-point.
2910         (latin_a_char_to_charset): New variable.
2911         (latin_a_char_to_byte1): New variable.
2912         (latin_a_char_to_byte2): New variable.
2913         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
2914         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
2915         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
2916
2917         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
2918         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
2919         (find_charsets_in_emchar_string): Likewise.
2920         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
2921
2922         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
2923         `int'.
2924         (decode_coding_iso2022): Likewise.
2925
2926         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
2927         of `unsigned char'.
2928
2929         * redisplay.c (redisplay_text_width_emchar_string): Use
2930         `Charset_ID' instead of `unsigned char'.
2931         (redisplay_frame_text_width_string): Likewise.
2932
2933         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
2934         `unsigned char'.
2935
2936         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
2937         instead of `unsigned char'.
2938         (face_cachel_charset_font_metric_info): Likewise.
2939
2940         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
2941         (get_non_ascii_char_table_value): Likewise.
2942         (get_char_table): Likewise.
2943         (put_char_table): Likewise.
2944         (map_over_other_charset): Likewise.
2945         (map_char_table): Likewise.
2946
2947         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
2948         instead of `unsigned char'.
2949
2950 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
2951
2952         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
2953         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
2954
2955         * mule-charset.c (leading_code_private_11): Don't define in
2956         UTF-2000.
2957
2958         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
2959         in UTF-2000 because it is not ported yet and not to use
2960         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
2961
2962 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
2963
2964         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
2965
2966 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2967
2968         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
2969         in UTF-2000.
2970
2971         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
2972         of unsigned char to store leading-byte.
2973
2974         * chartab.c (get_non_ascii_char_table_value): Don't use
2975         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
2976
2977         * file-coding.c (encode_coding_big5): Delete bogus implementation
2978         in UTF2000.
2979
2980         * character.h (LEADING_BYTE_*): Delete definition for
2981         non-UTF-2000.
2982         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
2983         (LEADING_BYTE_PREFIX_P): Deleted.
2984         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
2985         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
2986         (BUFBYTE_LEADING_BYTE_P): Deleted.
2987         (CHARSET_PRIVATE_P): Deleted unconditionally.
2988         (rep_bytes_by_first_byte): Deleted unconditionally.
2989         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
2990         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
2991         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
2992         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
2993         (CHAR_FIELD2): Deleted.
2994         (CHAR_FIELD3): Deleted.
2995         (MAKE_CHAR): Delete definition for non-UTF-2000.
2996         (BREAKUP_CHAR_1_UNSAFE): Deleted.
2997         (breakup_char_1): New implementation.
2998         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
2999         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3000
3001 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3002
3003         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3004         condition.
3005
3006 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3007
3008         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3009         (CHARSET_PRIVATE_P): Likewise.
3010         (XCHARSET_PRIVATE_P): Likewise.
3011         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3012
3013         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3014         UTF2000.
3015         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3016
3017 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3018
3019         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3020         (NUM_LEADING_BYTES): Changed from 128 to 256.
3021         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3022         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3023         UTF2000.
3024         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3025
3026         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3027         UTF2000.
3028         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3029         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3030         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3031         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3032         (Qchinese_cns11643_3): New variable in UTF2000.
3033         (Qchinese_cns11643_4): New variable in UTF2000.
3034         (Qchinese_cns11643_5): New variable in UTF2000.
3035         (Qchinese_cns11643_6): New variable in UTF2000.
3036         (Qchinese_cns11643_7): New variable in UTF2000.
3037         (syms_of_mule_charset): Define `chinese-cns11643-3',
3038         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3039         and `chinese-cns11643-7' in UTF2000.
3040         (vars_of_mule_charset): Initialize
3041         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3042         + 1 in UTF2000.
3043         (complex_vars_of_mule_charset): Setup charset
3044         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3045         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3046
3047 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3048
3049         * mule-charset.c: Move setting for `leading-code-private-11' from
3050         `syms_of_mule_charset' to `vars_of_mule_charset'.
3051
3052 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3053
3054         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3055         and `NUM_LEADING_BYTES' in assert.
3056
3057 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3058
3059         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3060         instead of 128.
3061         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3062         `NUM_LEADING_BYTES' instead of 128.
3063
3064 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3065
3066         * mule-charset.h (charset_by_leading_byte): Use
3067         `NUM_LEADING_BYTES' instead of 128.
3068         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3069
3070         * mule-charset.c (charset_by_leading_byte): Use
3071         `NUM_LEADING_BYTES' instead of 128.
3072         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3073
3074         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3075         128.
3076
3077 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3078
3079         * mule-charset.c (syms_of_mule_charset): Update to
3080         0.4 (Shin-Imamiya).
3081
3082 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3083
3084         * file-coding.c (encode_coding_sjis): New implementation for
3085         UTF2000.  (decode_coding_sjis): Ditto.
3086
3087 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3088
3089         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3090         Don't define in UTF2000.
3091
3092         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3093         defined.
3094
3095         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3096         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3097         MULE.
3098
3099 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3100
3101         * config.h.in (CHAR_IS_UCS4): New macro.
3102
3103         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3104         conventional MULE representation.
3105         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3106
3107         * mule-charset.h: Reverted to original.
3108
3109         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3110         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3111         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3112
3113         * character.h: New file.
3114
3115         * file-coding.c (Fmake_coding_system): Set 1 to
3116         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3117         defined.
3118         (encode_coding_no_conversion): New implementation for UTF2000.
3119
3120         * file-coding.h (struct Lisp_Coding_System): Add new member
3121         `fixed.size'.
3122
3123 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3124
3125         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3126         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3127         (encode_coding_iso2022): New implementation for UTF2000.
3128
3129 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3130
3131         * mule-canna.c (c2mu): New implementation for UTF2000.
3132         (m2c): Likewise.
3133
3134 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3135
3136         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3137
3138 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3139
3140         * file-coding.c (reset_encoding_stream): Set 0 to
3141         `str->iso2022.current_char_boundary' in UTF2000.
3142         (encode_utf8): Don't define in UTF2000.
3143         (encode_coding_utf8): New implementation for UTF-8 representation
3144         of UTF2000.
3145         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3146
3147 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3148
3149         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3150
3151         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3152         UTF2000.
3153         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3154
3155         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3156
3157         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3158         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3159         as UTF-8 in UTF2000.
3160         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3161         (non_ascii_valid_char_p): Don't define in UTF2000.
3162         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3163         (Lstream_get_emchar_1): Likewise.
3164         (utf-2000-version): New variable in UTF2000.
3165
3166         * lread.c (read_escape): Add new reader `u'.
3167
3168         * insdel.c (three_to_one_table): Don't define in UTF2000.
3169         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3170         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3171         UTF2000.
3172         (bytind_to_bufpos_func): Likewise.
3173         (buffer_mule_signal_inserted_region): Likewise.
3174         (vars_of_insdel): Don't initialize `three_to_one_table'.
3175         (init_buffer_text): Use `buf->text->mule_size' instead of
3176         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3177         UTF2000.
3178
3179         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3180         UTF-8 representation in UTF2000.
3181         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3182         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3183         (decode_coding_iso2022): Don't define local variable `lb' in
3184         UTF2000; don't use LEADING_BYTE in UTF2000; use
3185         `DECODE_ADD_UCS_CHAR' in UTF2000.
3186         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3187
3188         * config.h.in (UTF2000): New macro.
3189
3190         * buffer.h (struct buffer_text): Add new member `mule_size' and
3191         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3192         (valid_char_p): Return always 1 in UTF2000.
3193         (MAX_EMCHAR_LEN): 6 in UTF2000.
3194         (three_to_one_table): Don't define in UTF2000.
3195         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3196         UTF2000.
3197         (real_bytind_to_bufpos): Likewise.
3198
3199         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3200
3201 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3202
3203         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3204         representation change.
3205         (Vutf_2000_version): New variable.
3206         (leading_code_private_11): New variable.
3207         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3208         `leading-code-private-11'.
3209
3210         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3211         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3212         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3213         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3214         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3215         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3216         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3217         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3218         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3219         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3220         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3221         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3222         (MIN_CHAR_GREEK): New macro.
3223         (MAX_CHAR_GREEK): New macro.
3224         (MIN_CHAR_CYRILLIC): New macro.
3225         (MAX_CHAR_CYRILLIC): New macro.
3226         (MIN_CHAR_HEBREW): New macro.
3227         (MAX_CHAR_HEBREW): New macro.
3228         (MIN_CHAR_THAI): New macro.
3229         (MAX_CHAR_THAI): New macro.
3230         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3231         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3232         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3233         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3234         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3235         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3236         (CHAR_FIELD2): New inline function.
3237         (CHAR_FIELD3): New inline function.
3238         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3239         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3240         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3241         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3242         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3243         (MIN_CHAR_COMPOSITION): Likewise.
3244         (CHAR_LEADING_BYTE): Modified for character representation change.
3245         (MAKE_CHAR): Likewise.
3246
3247         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3248         (Vcharset_greek_iso8859_7): Likewise.
3249         (Vcharset_cyrillic_iso8859_5): Likewise.
3250         (Vcharset_hebrew_iso8859_8): Likewise.
3251         (Vcharset_thai_tis620): Likewise.
3252         (Vcharset_katakana_jisx0201): Likewise.
3253
3254 2001-01-17  Martin Buchholz <martin@xemacs.org>
3255
3256         * XEmacs 21.2.41 "Polyhymnia" is released.
3257
3258 2001-01-16  Didier Verna  <didier@xemacs.org>
3259
3260         * glyphs.c (image_instantiate): don't use fallbacks when
3261         instantiating a face's background pixmap by inheritance.
3262
3263 2001-01-14  Mike Sperber <mike@xemacs.org>
3264
3265         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3266         Conditionalize accordingly.
3267
3268 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3269
3270         * dumper.c (pdump_file_get): Fix a compiler warning.
3271
3272 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3273
3274         Make Purify happy when pdumping.
3275         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3276         iniitalizing all bits of new lisp object memory.
3277         * symbols.c (Fmake_local_variable): Likewise.
3278         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3279         * symbols.c (Fdefvaralias): Likewise.
3280         * mule-charset.c (vars_of_mule_charset): Likewise.
3281
3282 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3283         Add the `-nd' flag when running pre-dump operations under the debugger.
3284         * .dbxrc (run-temacs): Add `-nd'.
3285         * .dbxrc (update-elc): Likewise.
3286         * .dbxrc (dump-temacs): Likewise.
3287         * .gdbinit (run-temacs): Likewise.
3288         * .gdbinit (check-temacs): Likewise.
3289         * .gdbinit (update-elc): Likewise.
3290         * .gdbinit (dump-temacs): Likewise.
3291
3292 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3293
3294         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3295         export OBJECT_MODE=64
3296         configure --pdump --use-union-type=no
3297         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3298         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3299
3300         * miscplay.c (sndcnv8U_2mono):
3301         Avoid two uses of `++' in the same expression.
3302         Suppresses a GCC warning.
3303
3304 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3305
3306         Make sure future compilers don't miscompile alloc.c.
3307         * alloc.c:
3308         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3309         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3310
3311 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3312
3313         * dumper.c: A little post-pdump-rename comment fixup.
3314
3315 2001-01-09  Jerry James  <james@eecs.ku.edu>
3316
3317         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3318
3319 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3320
3321         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3322         script:
3323         #!/bin/sh
3324         replace_symbol () {
3325           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3326         }
3327
3328         replace_symbol pdump_wire_lists pdump_weak_object_chains
3329         replace_symbol pdump_wire_list dump_add_weak_object_chain
3330
3331         replace_symbol pdump_wires pdump_root_objects
3332         replace_symbol pdump_wire dump_add_root_object
3333
3334         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3335         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3336
3337         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3338         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3339         replace_symbol dumpstructinfo pdump_root_struct_ptr
3340         replace_symbol dumpstruct dump_add_root_struct_ptr
3341
3342         replace_symbol dumpopaque dump_add_opaque
3343         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3344         replace_symbol dumpopaqueinfos pdump_opaques
3345         replace_symbol dumpopaqueinfo pdump_opaque
3346
3347         replace_symbol nb_structdump nb_root_struct_ptrs
3348         replace_symbol nb_opaquedump nb_opaques
3349
3350         replace_symbol align_table pdump_align_table
3351         replace_symbol dump_header pdump_header
3352
3353         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3354         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3355
3356
3357 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3358
3359         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3360         optimizing bytecount_to_charcount().
3361
3362 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3363
3364         * config.h.in:
3365         (HAVE_DLFCN_H): Removed.
3366         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3367
3368 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3369
3370         Portable dumper maintainability improvements.
3371         * alloc.c (staticpro):
3372         * alloc.c (staticpro_nodump):
3373         * alloc.c (garbage_collect_1):
3374         * alloc.c (reinit_alloc_once_early):
3375         * alloc.c (init_alloc_once_early):
3376         * alloc.c: Move dumper functions to alloc.c.
3377         * dumper.c (pdump_backtrace):
3378         * dumper.c (pdump_dump_structs):
3379         * dumper.c (pdump_dump_opaques):
3380         * dumper.c (pdump_dump_rtables):
3381         * dumper.c (pdump_dump_wired):
3382         * dumper.c (pdump):
3383         * dumper.c (pdump_load_check):
3384         * dumper.c (pdump_load_finish):
3385         * dumper.c (pdump_file_unmap):
3386         * dumper.c (pdump_file_get):
3387         * dumper.c (pdump_resource_free):
3388         * dumper.c (pdump_resource_get):
3389         * dumper.c (pdump_file_free):
3390         * dumper.c (pdump_file_try):
3391         * dumper.c (pdump_load):
3392         Remove fixed size limits on staticpro(), staticpro_nodump(),
3393         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3394         Remove custom code for dumping lrecord_implementations_table - use
3395         dumpopaque instead.
3396         Remove (most of the) custom code for dumping staticpros - dump it
3397         like any other dynarr.
3398
3399         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3400         * dumper.c: Moved functions from alloc.c.
3401         * alloc.c (dumpstruct): Moved to dumper.c.
3402         * alloc.c (dumpopaque): Likewise.
3403         * alloc.c (pdump_wire): Likewise.
3404         * alloc.c (pdump_wire_list): Likewise.
3405
3406         * lisp.h (Dynarr_sizeof): New.
3407         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3408         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3409         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3410
3411         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3412         * lisp.h (dumpopaque): ditto.
3413         * lisp.h (pdump_wire): ditto.
3414         * lisp.h (pdump_wire_list): ditto.
3415
3416 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3417
3418         * make-src-depend (PrintPatternDeps):
3419         Use `sort' to make output independent of perl version.
3420
3421 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3422
3423         Port to Netbsd 1.5.
3424         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3425         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3426
3427 2001-01-03  Didier Verna  <didier@xemacs.org>
3428
3429         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3430         that `focus_frame' is alive before thinking of calling
3431         `redisplay_redraw_cursor' on it.
3432
3433 2001-01-08  Martin Buchholz <martin@xemacs.org>
3434
3435         * XEmacs 21.2.40 is released.
3436
3437 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3438
3439         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3440
3441 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3442
3443         * alloc.c (dbg_valmask): Make const.
3444         * alloc.c (dbg_typemask): Make const.
3445         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3446         * alloc.c (dbg_valbits): Make const.
3447         * alloc.c (dbg_gctypebits): Make const.
3448
3449 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3450
3451         * redisplay-x.c (x_bevel_area):
3452         redisplay.h (struct rune):
3453         Typo fixes in comments.
3454
3455 2001-01-05  Andy Piper  <andy@xemacs.org>
3456
3457         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3458         adjustment.
3459
3460         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3461
3462 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3463
3464         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3465
3466         * mule-ccl.c (stack_idx_of_map_multiple):
3467         Non const global data must not be initialized!
3468         Found by MIYASHITA Hisashi.
3469
3470 2001-01-02  Andy Piper  <andy@xemacs.org>
3471
3472         * frame.c (change_frame_size): make sure frame size is always
3473         marked as changed.
3474
3475         * glyphs.c (image_instance_layout): minor code reuse.
3476
3477         * window.c (Fcurrent_window_configuration): revert previous
3478         change.
3479
3480 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3481
3482         * glyphs.h:
3483         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3484
3485 2000-12-31  Andy Piper  <andy@xemacs.org>
3486
3487         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3488         when widget gets unmapped.
3489
3490         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3491         function. Make sure widgets losing focus don't just drop it.
3492         (handle_focus_event_1): record the widget with focus.
3493
3494 2000-12-31  Andy Piper  <andy@xemacs.org>
3495
3496         * window.c (allocate_window): use
3497         make_image_instance_cache_hash_table.
3498         (make_dummy_parent): ditto.
3499         (Fset_window_configuration): ditto.
3500
3501         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3502
3503         * glyphs.c (process_image_string_instantiator): use
3504         INSTANTIATOR_TYPE.
3505         (get_image_instantiator_governing_domain): ditto.
3506         (normalize_image_instantiator): ditto.
3507         (instantiate_image_instantiator): ditto.
3508         (make_image_instance_1): ditto.
3509         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3510         (instantiator_eq_equal): new function for use with instance hash
3511         tables.
3512         (instantiator_eq_hash): ditto.
3513         (make_image_instance_cache_hash_table): create a suitable hash
3514         table for storing image instances.
3515
3516         * elhash.h (hash_table_weakness): new internal weakness type
3517         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3518         declare new functions.
3519
3520         * elhash.c (finish_marking_weak_hash_tables): introduce yet
3521         another weakness type for glyphs.
3522         (make_standard_lisp_hash_table): new function split out from
3523         make_general_lisp_hash_table.
3524         (make_lisp_hash_table): call make_standard_lisp_hash_table.
3525         (hash_table_instantiate): ditto.
3526         (Fmake_hash_table): ditto.
3527
3528 2000-12-31  Martin Buchholz <martin@xemacs.org>
3529
3530         * XEmacs 21.2.39 is released.
3531
3532 2000-12-29  Andy Piper  <andy@xemacs.org>
3533
3534         * menubar.c (menubar_visible_p_changed): signal the frame changed.
3535
3536         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
3537         the frame has changed so that we pick up geometry changes such as
3538         menubar visibility.
3539
3540 2000-12-28  Andy Piper  <andy@xemacs.org>
3541
3542         * lastfile.c (my_ebss): make a char array so we can pad the
3543         bss. Fixes cygwin unexec.
3544
3545         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
3546
3547 2000-12-26  Andy Piper  <andy@xemacs.org>
3548
3549         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
3550         comments and try and be more precise about a non-/SIGIO world.
3551         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
3552         SIGIO.
3553
3554         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
3555         we don't normalize to zero width or height.
3556
3557 2000-12-24  Andy Piper  <andy@xemacs.org>
3558
3559         * Makefile.in.in (ldflags): add -mwindows when appropriate.
3560
3561 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
3562
3563         * s/sco5.h: SCO 5 has pty support.
3564
3565 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
3566
3567         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
3568         input-method-xlib.c contains whole contents of input-method-xfs.c,
3569         so we can use input-method-xlib.c's code for USE_XFONTSET
3570         using #ifdefs.
3571         * input-method-xfs.c: removed.
3572
3573 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
3574
3575         * file-coding.h (enum coding_category_type): reorder enumerators to
3576         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
3577         (now one greater than largest real coding_category_type enumerator).
3578         * file-coding.c (coding_category_symbol, coding_category_by_priority,
3579         coding_category_system, fcd_descriptihon_1, decode_coding_category,
3580         Fcoding_category_list, Fset_coding_priority_list,
3581         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
3582         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
3583
3584 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3585
3586         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
3587         * redisplay-output.c (redisplay_output_window): Clear top of window
3588         when face is changed.
3589         * redisplay-x.c (x_redraw_exposed_window): Call
3590         redisplay_clear_top_of_window.
3591         * redisplay.h: Publish redisplay_clear_top_of_window.
3592
3593 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3594
3595         * buffer.c (Fkill_buffer): Map over all devices.
3596         * window.c (window_loop): Remove UNSHOW_BUFFER code.
3597         (list_windows): New function.
3598         (list_all_windows): Ditto.
3599         (Freplace_buffer_in_windows): Use them.
3600
3601 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3602
3603         * database.c (berkdb_subtype): Recognize new subtype `queue'.
3604         (Fopen_database): Use `db_create' instead of `db_open'.
3605         (syms_of_database): Initialize Qqueue.
3606
3607 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3608
3609         * buffer.c (common_init_complex_vars_of_buffer): Initialize
3610         buffer_local_face_property.
3611         * buffer.h (struct buffer): New member buffer_local_face_property.
3612         * window.c (Fset_window_buffer):  Mark window's face as changed
3613         when buffer has buffer local face.
3614         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
3615         * objects.c (color_after_change): Set buffer_local_face_property
3616         when locale of face specifier is buffer.
3617         * objects.c (font_after_change): Ditto.
3618         * objects.c (face_boolean_after_change): Ditto.
3619         * glyphs.c (image_after_change): Ditto.
3620
3621 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3622
3623         * nt.c (mswindows_fstat): Report file permissions, volume serial
3624         number, etc. Code adapted from FSF Emacs 20.7.
3625
3626 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3627
3628         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
3629         of stat when we don't have symbolic links, to make sure
3630         mswindows_stat is called on mswindows.
3631
3632 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
3633
3634         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
3635
3636 2000-12-12  Martin Buchholz  <martin@xemacs.org>
3637
3638         * doprnt.c (emacs_doprnt_1): More printing fixes.
3639         Make printing of numbers compatible with libc and FSF Emacs.
3640         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
3641         Use the system printf to do most of the hard work of formatting,
3642         instead of doprnt_1().
3643         Calculate memory to allocate for format string.
3644         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
3645         (doprnt_1): Cleaner code and documentation.
3646
3647 2000-12-01  Jerry James  <james@eecs.ukans.edu>
3648
3649         * Makefile.in.in: Use the loop variable to install headers.
3650
3651 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3652
3653         * window.c (Fsplit_window): Don't invalidate face cache.
3654
3655 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3656
3657         * minibuf.c (Fall_completions): Undo the previous change
3658         which removed checking elements start with space.
3659
3660 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3661
3662         * mule-canna.c: Didier suppression.
3663
3664 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3665
3666         * mule-canna.c: rename static unsigned char buf[] to key_buffer
3667         (warning suppression).  Add English comment translations.
3668
3669 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3670
3671         * unexelfsgi.c (unexec): Better test for mmap failure.
3672
3673 2000-12-05  Martin Buchholz <martin@xemacs.org>
3674
3675         * XEmacs 21.2.38 is released.
3676
3677 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3678
3679         * redisplay.c (bar-cursor): Make a user variable.
3680
3681         * symsinit.h: Add init_postgresql_from_environment.
3682
3683 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3684
3685         * regex.c: Convert to clean C.
3686
3687 2000-12-05  Dan Holmsand  <dan@eyebee.com>
3688
3689         * realpath.c:
3690         Don't #include sysfile.h. Revert to duplicating PATH_MAX
3691         initialization.
3692         (sys_readlink): renamed to system_readlink to avoid conflict with
3693         the other sys_readlink.
3694
3695 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
3696
3697         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
3698
3699 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
3700
3701         * postgresql.c (init_postgresql_from_environment): new function.
3702         (vars_of_postgresql): Move code initializing Lisp variables out and
3703         into init_postgresql_from_environment.
3704         emacs.c (main_1): Call init_postgresql_from_environment if and only
3705         if running a dumped XEmacs.
3706
3707 2000-08-31  Dan Holmsand  <dan@eyebee.com>
3708
3709         * buffer.c: Make find-file-compare-truenames default to true on
3710         windows.
3711
3712         * realpath.c (win32_abs_start):
3713         (cygwin_readlink):
3714         (win32_readlink): New functions.
3715         (xrealpath): Return really real filenames on windows.
3716
3717         * fileio.c (Ffile_truename): Make file-truename work on windows.
3718
3719 2000-11-29  Didier Verna  <didier@xemacs.org>
3720
3721         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
3722         * faces.c (update_face_cachel_data): use it.
3723         * faces.c (add_face_cachel): use it. Complete background pixmap
3724         frobbing in face cache if `update_face_cachel_data' has not done so.
3725
3726 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
3727
3728         * search.c (string_match_1): Don't set last_thing_searched
3729         when search failed.
3730
3731 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
3732
3733         * buffer.c: Include casetab.h
3734         (common_init_complex_vars_of_buffer): Use new case-table object.
3735         * buffer.h: Include casetab.h
3736         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
3737         (DOWNCASE_TABLE_OF): Ditto.
3738         * bufslots.h: Remove char-tables and add case-table.
3739         * casetab.c: Include casetab.h
3740         (CASE_TABLE_P): Removed.
3741         (mark_case_table): New function.
3742         (allocate_case_table): New function.
3743         (Fcase_table_p): Use new case-table.
3744         (case_table_char): New function.
3745         (Fget_case_table): Ditto.
3746         (Fput_case_table): Ditto.
3747         (Fput_case_table_pair): Ditto.
3748         (Fcopy_case_table): Ditto.
3749         (Fcurrent_case_table): Return case-table.
3750         (Fstandard_case_table): Return case-table.
3751         (Fset_case_table): Fix doc-string.
3752         (set_case_table): Use case-table
3753         (syms_of_casetab): DEFSUBR new functions.
3754         (complex_vars_of_casetab): Set up standard case-table.
3755         * casetab.h: New file.
3756         * editfns.c: Include casetab.h
3757         (Fcompare_buffer_substrings): Use case-table.
3758         * inline.c: Include casetab.h
3759         * lisp.h: Remove bogus extern.
3760         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
3761         * search.c: Include casetab.h
3762         (TRANSLATE_ASCII): Removed.
3763         (TRANSLATE): Unconditionally translate character.
3764         (looking_at_1): Use case-table.
3765         (string_match_1): Ditto.
3766         (fast_string_match): Ditto.
3767         (search_command): Ditto.
3768         (search_buffer): Separate boyer_moore.  Check whether
3769         boyer_moore is poosible.
3770         (simple_search): New function.
3771         (boyer_moore): Separated from search_buffer. Translate char.
3772
3773 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
3774
3775         * regex.c (RE_TR_ASCII): Removed.
3776         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
3777         (PATFETCH): Call PATFETCH_RAW.
3778         (PATFETCH_RAW): Fetch Emchar.
3779         (PATUNFETCH): Decrement charptr.
3780         (GET_BUFFER_SPACE): Rename b to buf_end.
3781         (BUF_PUSH): Ditto.
3782         (BUF_PUSH_2): Ditto.
3783         (BUF_PUSH_3): Ditto.
3784         (EXTEND_BUFFER): Ditto.
3785         (SET_LIST_BIT): Ditto.
3786         (regex_compile): Ditto.  Translate non ASCII char.
3787         (compile_range): Ditto.
3788         (re_search_2): Ditto.
3789         (re_match_2_internal): Compare Emchar.
3790         (bcmp_translate): Ditto.
3791
3792 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
3793
3794         * lisp.h (basic char/int typedefs):  comment improvement.
3795
3796 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
3797
3798         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
3799         unstomp inhibit_site_lisp.  Improve comments.
3800
3801 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
3802
3803         * mule-charset.c (Fcharset_property):  improve type checking, comments.
3804
3805 2000-11-28  Andy Piper  <andy@xemacs.org>
3806
3807         * redisplay-output.c (redisplay_output_subwindow): make sure we do
3808         clipped display for windows in the gutter also.
3809         (redisplay_display_boxes_in_window_p): change semantics of return
3810         codes to be more intuitive.
3811
3812         * gutter.h: declare display_boxes_in_gutter_p.
3813
3814         * gutter.c (display_boxes_in_gutter_p): new function for
3815         redisplay.
3816
3817 2000-11-22  Andy Piper  <andy@xemacs.org>
3818
3819         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
3820         autodetect domain.
3821
3822 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
3823
3824         * callproc.c (Fold_call_process_internal):
3825         * gpm.c (Freceive_gpm_event):
3826         (tty_get_foreign_selection): Might be just warning supression.
3827         * fileio.c (Fwrite_region_internal):
3828         (Fset_visited_file_modtime):
3829         * keymap.c (event_matches_key_specifier_p):
3830         Initialize GCPROed variable.
3831
3832         * menubar-x.c (command_builder_find_menu_accelerator):
3833         Initialize before use.
3834
3835 2000-11-23  Andy Piper  <andy@xemacs.org>
3836
3837         * unexcw.c (unexec): make the resulting executable executable.
3838
3839 2000-11-21  Martin Buchholz  <martin@xemacs.org>
3840
3841         * doc.c (get_doc_string):
3842         Use size_t, not int, for result of XSTRING_LENGTH.
3843
3844         * cmds.c (Fdelete_char):
3845         * cmds.c (Fpoint_at_eol):
3846         * cmds.c (Fself_insert_command):
3847         Use EMACS_INT, not int, for result of XINT.
3848         Someday, someone will want to insert more than 2**31 identical characters.
3849
3850         * cmds.c (Fdelete_char):
3851         * cmds.c (Fdelete_backward_char):
3852         * syntax.c (Fforward_word):
3853         * syntax.c (Fforward_comment):
3854         Make COUNT argument optional, for consistency with forward-char et al.
3855
3856 2000-11-22  Martin Buchholz  <martin@xemacs.org>
3857
3858         * lisp.h:
3859         * print.c (long_to_string):
3860         Return a useful value: the pointer at end of data written.
3861
3862         * doprnt.c:
3863         Use `static const char * const' for constant strings.
3864         (union printf_arg): Delete `i', `ui' members.
3865         (get_doprnt_args):
3866         (emacs_doprnt_1):
3867         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
3868         Do all printf-ing via the `l' specifier.
3869         Use EMACS_INT instead of int.
3870         Optimize.
3871
3872 2000-11-20  Didier Verna  <didier@xemacs.org>
3873
3874         * faces.c (update_face_cachel_data): don't frob the background
3875         pixmap when the window is being created. The face is needed but
3876         does not exist yet.
3877
3878 2000-11-20  Andy Piper  <andy@xemacs.org>
3879
3880         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
3881         messing with a debug environment.
3882
3883 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3884
3885         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
3886
3887 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3888
3889         * casetab.c (Fcase_table_p): Fix compile error and crash.
3890
3891 2000-11-18  Philip Aston  <philipa@mail.com>
3892
3893         * s/cygwin32.h: Cygwin has SVR4-like pty support.
3894
3895 2000-11-18  Martin Buchholz  <martin@xemacs.org>
3896
3897         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
3898         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
3899
3900 2000-11-17  Martin Buchholz  <martin@xemacs.org>
3901
3902         * config.h.in: Define HAVE_ELF_H if elf.h exists.
3903         * unexelf.c: Use HAVE_ELF_H.
3904         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
3905         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
3906         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
3907         Greg Harrington <greg_harrington@hotmail.com> provided a machine
3908         for testing.
3909         So this is an unexelfsgi.c from a different line of development.
3910
3911 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3912
3913         * regex.c (RE_TR_ASCII): New function.
3914         (RE_TRANSLATE): Call it.
3915
3916 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3917
3918         * buffer.h (TRT_TABLE_OF): Remove assert.
3919         (IN_TRT_TABLE_DOMAIN): Removed.
3920
3921 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
3922
3923         * free-hook.c (log_gcpro):
3924         (show_gcprohist): Add support for GCPRO5.
3925
3926 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
3927
3928         * emacs.c (main_1): Improve -sd error message when --pdump=no.
3929
3930 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
3931
3932         * symeval.h: Declare flush_all_buffer_local_cache.
3933
3934         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
3935         (flush_buffer_local_cache): Added.
3936         (flush_all_buffer_local_cache): Added.
3937
3938         * lrecord.h: Remove unused XD_LO_RESET_NIL.
3939
3940         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
3941         (pdump_dump_data): Ditto.
3942         (pdump_reloc_one): Ditto.
3943         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
3944         before dumping.
3945
3946
3947 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
3948
3949         * buffer.c: Remove if 0'ed entry.
3950         * buffer.h: Rewrite TRT to use char-table.
3951         * bufslots.h: Remove mirror tables.
3952         * casetab.c: Remove mirror tables.
3953         (CASE_TABLE_P): New macro.
3954         (Fcase_table_p): Element of a case table is string or char-table.
3955         (make_mirror_trt_table): Removed.
3956         (set_case_table): Setup char-table from strings for backward
3957         compatibility.
3958         * dired.c (Fdirectory_files):
3959         * dired-msw.c: (mswindows_get_files):
3960         * lisp.h: Change prototype of re_pattern_buffer.
3961         * regex.c: (RE_TRANSLATE): New macro.
3962         (TRANSLATE_P): Ditto.
3963         Change translate to type RE_TRANSLATE_TYPE.
3964         * regex.h: Define RE_TRANSLATE_TYPE
3965         * search.c (TRANSLATE): New macro.
3966         (TRANSLATE_ASCII): New macro.
3967         Translate table is changed to Lisp_Object.
3968         (signal_failure): Inhibit return.
3969
3970 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
3971
3972         * device-msw.c:
3973         * eldap.c:
3974         * event-Xt.c:
3975         * event-stream.c:
3976         * print.c:
3977         Do UNGCPRO before return.
3978
3979 2000-11-14  Martin Buchholz <martin@xemacs.org>
3980
3981         * XEmacs 21.2.37 is released.
3982
3983 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3984
3985         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
3986         Add comments about discarded return value.
3987
3988 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
3989
3990         * callint.c:
3991         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
3992
3993 2000-10-27  Andy Piper  <andy@xemacs.org>
3994
3995         * gutter.c (Fset_default_gutter_position): default left and right
3996         gutters to visible.
3997         (calculate_gutter_size): calculate resonable heuristic for left
3998         and right gutter sizes.
3999         (specifier_vars_of_gutter): change left and right gutter sizes to
4000         autodetect.
4001         (calculate_gutter_size_from_display_lines): new function.
4002         (output_gutter): check for resizing on left and right gutters.
4003         (clear_gutter): don't special case top and left gutters.
4004         (specifier_vars_of_gutter): use new signature for
4005         set_specifier_caching.
4006
4007         * glyphs-x.c (x_redisplay_widget): spelling fix.
4008         * glyphs.c (specifier_vars_of_glyphs):
4009         * menubar.c (specifier_vars_of_menubar):
4010         * redisplay.c (specifier_vars_of_redisplay):
4011         * toolbar.c (specifier_vars_of_toolbar):
4012         * window.c (specifier_vars_of_window):
4013         * scrollbar.c (specifier_vars_of_scrollbar):
4014         (complex_vars_of_scrollbar): use new signature for
4015         set_specifier_caching.
4016
4017         * specifier.c (set_specifier_caching): include recompute flag.
4018         (recompute_one_cached_specifier_in_window): always recompute if
4019         flag set.
4020         (recompute_one_cached_specifier_in_frame): ditto.
4021
4022         * specifier.h (struct specifier_caching): add recompute flag.
4023
4024 2000-10-24  Andy Piper  <andy@xemacs.org>
4025
4026         * unexcw.c (copy_executable_and_dump_data_section): add new
4027         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4028         5.0 happy.
4029
4030 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4031
4032         * console-x.h (x_device): New member modifier_release_time.
4033         * event-Xt.c (x_handle_sticky_modifiers):
4034         Bound interval modifier keys are sticky.
4035         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4036         * events.h: extern it.
4037
4038 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4039
4040         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4041
4042 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4043
4044         * event-stream.c (execute_command_event): Preserve current_events
4045         and the like when event is misc-user-event.
4046         Inhibit quit during the call to maybe_echo_keys.
4047
4048 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4049
4050         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4051         symlink when buffer is killed.
4052         (inhibit_clash_detection): New variable.
4053
4054 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4055
4056         * console.c (Fset_input_method): Trigger redisplay on tty.
4057
4058 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4059
4060         * process.c (Fprocess_status): Revert to previous behavior:
4061         (process-status "nosuchprocess") ==> nil
4062
4063 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4064
4065         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4066         Work around another GCC 2.95.2 optimizer bug.
4067
4068 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4069
4070         * process.c (Fget_process): Use LIST_LOOP_2.
4071         (kill_buffer_processes): Use LIST_LOOP_2.
4072
4073         * minibuf.c (Fall_completions):
4074         Delete old non-functional code for FSF fourth argument.
4075
4076         * frame.c (frame_matches_frame_spec):
4077         Renamed from `frame_matches_frametype'.  Update all callers.
4078         (device_matches_device_spec):
4079         Renamed from 'device_matches_console_spec'.  Update all callers.
4080
4081         * doc.c (Fsubstitute_command_keys):
4082         Remove buffer overflow crash.  Small code cleanups.
4083
4084         * casetab.c (check_case_table): Simpler code.
4085
4086         * window.c (Freplace_buffer_in_windows):
4087         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4088         (and similar implementation) as Fdelete_windows_on.
4089         Update all callers.
4090
4091         * alloc.c (Fmake_list):
4092         * alloc.c (make_vector):
4093         * alloc.c (Fmake_vector):
4094         * alloc.c (make_bit_vector):
4095         * alloc.c (Fmake_bit_vector):
4096         * alloc.c (Fbit_vector):
4097         * alloc.c (Fmake_string):
4098         * alloc.c (Fpurecopy):
4099         * alloc.c (Fmemory_limit):
4100         * buffer.c:
4101         * buffer.c (Fget_buffer):
4102         * buffer.c (Fkill_buffer):
4103         * buffer.c (complex_vars_of_buffer):
4104         * bytecode.c (Fcompiled_function_stack_depth):
4105         * callint.c (Fprefix_numeric_value):
4106         * event-stream.c:
4107         * event-stream.c (Fread_key_sequence):
4108         * casetab.c:
4109         * casetab.c (Fcase_table_p):
4110         * casetab.c (check_case_table):
4111         * casetab.c (Fset_case_table):
4112         * casetab.c (Fset_standard_case_table):
4113         * chartab.c:
4114         * chartab.c (Fchar_table_type):
4115         * chartab.c (Freset_char_table):
4116         * chartab.c (Fget_char_table):
4117         * chartab.c (Fget_range_char_table):
4118         * chartab.c (Fput_char_table):
4119         * chartab.c (Fmap_char_table):
4120         * chartab.c (Fcategory_table_p):
4121         * chartab.c (Fcheck_category_at):
4122         * chartab.c (Fchar_in_category_p):
4123         * chartab.c (Fcategory_table):
4124         * chartab.c (Fcopy_category_table):
4125         * chartab.c (Fset_category_table):
4126         * chartab.c (Fcategory_designator_p):
4127         * chartab.c (Fcategory_table_value_p):
4128         * cmds.c (Fdelete_char):
4129         * cmds.c (Fdelete_backward_char):
4130         * cmds.c (Fself_insert_command):
4131         * cmds.c (Fself_insert_internal):
4132         * console.c (Fvalid_console_type_p):
4133         * console.c (Fcdfw_console):
4134         * console.c (Fconsole_type):
4135         * console.c (Fconsole_name):
4136         * console.c (Fconsole_device_list):
4137         * console.c (Fconsole_on_window_system_p):
4138         * data.c:
4139         * data.c (Feq):
4140         * data.c (Fold_eq):
4141         * data.c (Fsubr_interactive):
4142         * data.c (Fchar_to_int):
4143         * data.c (Fint_to_char):
4144         * data.c (Fsetcar):
4145         * data.c (Fsetcdr):
4146         * data.c (Fnumber_to_string):
4147         * data.c (Fstring_to_number):
4148         * data.c (Frem):
4149         * database.c (mark_database):
4150         * database.c (finalize_database):
4151         * database.c (Fdatabase_live_p):
4152         * database.c (Fdatabasep):
4153         * device-x.c (Fx_get_resource):
4154         * device.c (Fdfw_device):
4155         * dired.c:
4156         * dired.c (Ffile_name_completion):
4157         * dired.c (Ffile_name_all_completions):
4158         * dired.c (Fuser_name_completion):
4159         * dired.c (Fuser_name_completion_1):
4160         * dired.c (Fuser_name_all_completions):
4161         * doc.c (Fdocumentation):
4162         * doc.c (Fdocumentation_property):
4163         * doc.c (Fsubstitute_command_keys):
4164         * editfns.c:
4165         * editfns.c (Fchar_to_string):
4166         * editfns.c (Fstring_to_char):
4167         * editfns.c (Ftemp_directory):
4168         * editfns.c (Finsert_char):
4169         * editfns.c (Fbuffer_substring_no_properties):
4170         * editfns.c (Fnarrow_to_region):
4171         * editfns.c (Fchar_equal):
4172         * editfns.c (Fchar_Equal):
4173         * editfns.c (Ftranspose_regions):
4174         * emacs.c (Fdump_emacs):
4175         * eval.c (Fthrow):
4176         * eval.c (Fcommand_execute):
4177         * eval.c (Fautoload):
4178         * eval.c (Fbacktrace):
4179         * eval.c (Fbacktrace_frame):
4180         * events.c:
4181         * events.c (Fcopy_event):
4182         * events.c (Fcharacter_to_event):
4183         * events.c (Fevent_button):
4184         * events.c (Fevent_process):
4185         * extents.c:
4186         * extents.c (Fnext_extent_change):
4187         * extents.c (Fextent_property):
4188         * faces.c (Ffacep):
4189         * faces.c (Fmake_face):
4190         * file-coding.c:
4191         * file-coding.c (Fencode_shift_jis_char):
4192         * file-coding.c (Fencode_big5_char):
4193         * fileio.c (Ffile_name_directory):
4194         * fileio.c (Ffile_name_nondirectory):
4195         * fileio.c (Ffile_name_as_directory):
4196         * fileio.c (Fdirectory_file_name):
4197         * fileio.c (Ffile_truename):
4198         * fileio.c (Fsubstitute_in_file_name):
4199         * fileio.c (Ffile_modes):
4200         * fileio.c (Fset_file_modes):
4201         * fileio.c (Fset_default_file_modes):
4202         * fileio.c (Fverify_visited_file_modtime):
4203         * floatfns.c (Facos):
4204         * floatfns.c (Fasin):
4205         * floatfns.c (Fatan):
4206         * floatfns.c (Fcos):
4207         * floatfns.c (Fsin):
4208         * floatfns.c (Ftan):
4209         * floatfns.c (Fbessel_j0):
4210         * floatfns.c (Fbessel_j1):
4211         * floatfns.c (Fbessel_jn):
4212         * floatfns.c (Fbessel_y0):
4213         * floatfns.c (Fbessel_y1):
4214         * floatfns.c (Fbessel_yn):
4215         * floatfns.c (Ferf):
4216         * floatfns.c (Ferfc):
4217         * floatfns.c (Flog_gamma):
4218         * floatfns.c (Fexp):
4219         * floatfns.c (Fexpt):
4220         * floatfns.c (Flog):
4221         * floatfns.c (Flog10):
4222         * floatfns.c (Fsqrt):
4223         * floatfns.c (Fcube_root):
4224         * floatfns.c (Facosh):
4225         * floatfns.c (Fasinh):
4226         * floatfns.c (Fatanh):
4227         * floatfns.c (Fcosh):
4228         * floatfns.c (Fsinh):
4229         * floatfns.c (Ftanh):
4230         * floatfns.c (Fabs):
4231         * floatfns.c (Ffloat):
4232         * floatfns.c (Flogb):
4233         * floatfns.c (Fceiling):
4234         * floatfns.c (Ffloor):
4235         * floatfns.c (Fround):
4236         * floatfns.c (Ftruncate):
4237         * floatfns.c (Ffceiling):
4238         * floatfns.c (Fffloor):
4239         * floatfns.c (Ffround):
4240         * floatfns.c (Fftruncate):
4241         * fns.c (Fstring_equal):
4242         * fns.c (Fstring_lessp):
4243         * fns.c (concat2):
4244         * fns.c (concat3):
4245         * fns.c (vconcat2):
4246         * fns.c (vconcat3):
4247         * fns.c (Fsubstring):
4248         * fns.c (Fassoc):
4249         * fns.c (Fold_assoc):
4250         * fns.c (assoc_no_quit):
4251         * fns.c (Fassq):
4252         * fns.c (Fold_assq):
4253         * fns.c (assq_no_quit):
4254         * fns.c (Frassoc):
4255         * fns.c (Fold_rassoc):
4256         * fns.c (Frassq):
4257         * fns.c (Fold_rassq):
4258         * fns.c (rassq_no_quit):
4259         * fns.c (Fremassoc):
4260         * fns.c (remassoc_no_quit):
4261         * fns.c (Fremassq):
4262         * fns.c (remassq_no_quit):
4263         * fns.c (Fremrassoc):
4264         * fns.c (Fremrassq):
4265         * fns.c (remrassq_no_quit):
4266         * fns.c (Fsort):
4267         * fns.c (Fplist_get):
4268         * fns.c (Fplist_put):
4269         * fns.c (Fplist_remprop):
4270         * fns.c (Fplist_member):
4271         * fns.c (Flax_plist_get):
4272         * fns.c (Flax_plist_put):
4273         * fns.c (Flax_plist_remprop):
4274         * fns.c (Flax_plist_member):
4275         * fns.c (Fequal):
4276         * fns.c (Fold_equal):
4277         * fns.c (Frequire):
4278         * fns.c (Fbase64_encode_region):
4279         * fns.c (Fbase64_encode_string):
4280         * fns.c (Fbase64_decode_region):
4281         * frame.c:
4282         * frame.c (frame_matches_frame_spec):
4283         * frame.c (device_matches_device_spec):
4284         * frame.c (next_frame):
4285         * frame.c (previous_frame):
4286         * frame.c (Fnext_frame):
4287         * frame.c (Fprevious_frame):
4288         * frame.c (Fframe_property):
4289         * frame.c (Fset_frame_height):
4290         * frame.c (Fset_frame_size):
4291         * frame.h:
4292         * glyphs.c:
4293         * glyphs.c (if):
4294         * glyphs.c (decode_error_behavior_flag):
4295         * glyphs.c (Fmake_image_instance):
4296         * indent.c (Findent_to):
4297         * intl.c (Fignore_defer_gettext):
4298         * keymap.c (Fkeymapp):
4299         * keymap.c (Flookup_key):
4300         * lread.c:
4301         * lread.c (Fload_internal):
4302         * lread.c (Feval_buffer):
4303         * lread.c (Feval_region):
4304         * macros.c (Fexecute_kbd_macro):
4305         * marker.c (set_marker_internal):
4306         * marker.c (Fset_marker):
4307         * marker.c (set_marker_restricted):
4308         * marker.c (Fcopy_marker):
4309         * marker.c (noseeum_copy_marker):
4310         * menubar.c:
4311         * menubar.c (Fpopup_menu):
4312         * minibuf.c:
4313         * mule-charset.c (Fcharset_name):
4314         * mule-charset.c (Fchar_charset):
4315         * mule-charset.c (Fchar_octet):
4316         * mule-charset.c (Fsplit_char):
4317         * mule-wnnfns.c (Fwnn_open):
4318         * mule-wnnfns.c (Fwnn_dict_comment):
4319         * mule-wnnfns.c (Fwnn_quit_henkan):
4320         * mule-wnnfns.c (Fwnn_word_toroku):
4321         * mule-wnnfns.c (Fwnn_word_sakujo):
4322         * mule-wnnfns.c (Fwnn_word_use):
4323         * mule-wnnfns.c (Fwnn_hindo_set):
4324         * objects.c:
4325         * objects.c (Fmake_color_instance):
4326         * objects.c (Fmake_font_instance):
4327         * print.c (Fwrite_char):
4328         * process.c:
4329         * process.c (mark_process):
4330         * process.c (print_process):
4331         * process.c (get_process_from_usid):
4332         * process.c (Fprocessp):
4333         * process.c (Fprocess_live_p):
4334         * process.c (Fget_process):
4335         * process.c (Fget_buffer_process):
4336         * process.c (get_process):
4337         * process.c (Fprocess_id):
4338         * process.c (Fprocess_name):
4339         * process.c (Fprocess_command):
4340         * process.c (init_process_io_handles):
4341         * process.c (start_process_unwind):
4342         * process.c (Fstart_process_internal):
4343         * process.c (Fopen_multicast_group_internal):
4344         * process.c (Fset_process_window_size):
4345         * process.c (read_process_output):
4346         * process.c (send_process):
4347         * process.c (Fprocess_tty_name):
4348         * process.c (Fset_process_buffer):
4349         * process.c (Fprocess_buffer):
4350         * process.c (Fprocess_mark):
4351         * process.c (set_process_filter):
4352         * process.c (Fset_process_filter):
4353         * process.c (Fprocess_filter):
4354         * process.c (Fprocess_send_region):
4355         * process.c (Fprocess_send_string):
4356         * process.c (exec_sentinel):
4357         * process.c (Fset_process_sentinel):
4358         * process.c (Fprocess_sentinel):
4359         * process.c (status_notify):
4360         * process.c (Fprocess_status):
4361         * process.c (Fprocess_exit_status):
4362         * process.c (process_send_signal):
4363         * process.c (Fprocess_send_eof):
4364         * process.c (deactivate_process):
4365         * process.c (remove_process):
4366         * process.c (Fdelete_process):
4367         * process.c (kill_buffer_processes):
4368         * process.c (Fprocess_kill_without_query):
4369         * process.c (Fprocess_kill_without_query_p):
4370         * rangetab.c:
4371         * rangetab.c (Fget_range_table):
4372         * rangetab.c (Fput_range_table):
4373         * rangetab.c (Fremove_range_table):
4374         * rangetab.c (Fclear_range_table):
4375         * search.c:
4376         * search.c (Fskip_chars_forward):
4377         * search.c (Fskip_chars_backward):
4378         * search.c (Fskip_syntax_forward):
4379         * search.c (Fskip_syntax_backward):
4380         * search.c (search_command):
4381         * search.c (Freplace_match):
4382         * search.c (Fregexp_quote):
4383         * select.c (Fown_selection_internal):
4384         * select.c (Fselection_owner_p):
4385         * select.c (Fselection_exists_p):
4386         * select.c (Fget_selection_internal):
4387         * specifier.c:
4388         * symbols.c:
4389         * symbols.c (Fintern):
4390         * symbols.c (Fintern_soft):
4391         * symbols.c (Funintern):
4392         * symbols.c (Fapropos_internal):
4393         * symbols.c (Fset_default):
4394         * syntax.c:
4395         * syntax.c (Fsyntax_table_p):
4396         * syntax.c (Fcopy_syntax_table):
4397         * syntax.c (Fset_syntax_table):
4398         * syntax.c (Fchar_syntax):
4399         * syntax.c (syntax_match):
4400         * syntax.c (Fmatching_paren):
4401         * syntax.c (Fforward_word):
4402         * syntax.c (scan_lists):
4403         * syntax.c (Fscan_lists):
4404         * syntax.c (Fscan_sexps):
4405         * syntax.c (Fparse_partial_sexp):
4406         * toolbar.c (Fcheck_toolbar_button_syntax):
4407         * tooltalk.doc:
4408         * window.c:
4409         * window.c (Fwindowp):
4410         * window.c (Fwindow_live_p):
4411         * window.c (Fwindow_point):
4412         * window.c (Fdelete_window):
4413         * window.c (Fnext_window):
4414         * window.c (Fprevious_window):
4415         * window.c (Fother_window):
4416         * window.c (window_loop):
4417         * window.c (Fget_lru_window):
4418         * window.c (Fsplit_window):
4419         * window.c (Fenlarge_window):
4420         * window.c (Fenlarge_window_pixels):
4421         * window.c (Fshrink_window):
4422         * window.c (Fshrink_window_pixels):
4423         * window.c (change_window_height):
4424         * window.c (Fwindow_configuration_p):
4425         * window.c (Fcurrent_window_configuration):
4426         * window.h:
4427         * casefiddle.c (casify_object):
4428         * casefiddle.c (Fupcase):
4429         * casefiddle.c (Fdowncase):
4430         * casefiddle.c (Fcapitalize):
4431         * casefiddle.c (Fupcase_initials):
4432         * casefiddle.c (casify_region_internal):
4433         * casefiddle.c (casify_region):
4434         * casefiddle.c (Fupcase_region):
4435         * casefiddle.c (Fdowncase_region):
4436         * casefiddle.c (Fcapitalize_region):
4437         * casefiddle.c (Fupcase_initials_region):
4438         * casefiddle.c (Fupcase_word):
4439         * casefiddle.c (Fdowncase_word):
4440         * casefiddle.c (Fcapitalize_word):
4441         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4442         Replace 0 with '\0' when working with bytes.
4443         Replace initial "(" with "\(" in docstrings.
4444
4445 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4446
4447         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4448
4449         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4450
4451 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4452
4453         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4454
4455 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4456
4457         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4458         correctly.
4459
4460 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4461
4462         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4463         (inhibit_auto_save_session): New variable.
4464         (vars_of_fileio): Declare and initialize them.
4465         * fileio.c (Fdo_auto_save): Don't create session file if
4466         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4467
4468 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4469
4470         * sgiplay.c (play_internal): C++ compilability.
4471         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4472         * callproc.c (Fold_call_process_internal):
4473         Remove unused vars `env', `first'.
4474         * scrollbar.c (update_scrollbar_instance):
4475         #### unused var `current_window'.
4476         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4477         etc. within #ifdef NOT_YET.
4478         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4479         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4480         * specifier.c (specifier_instance):
4481         #### unused var `tag'.
4482         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4483
4484 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4485
4486         * fns.c (Fbutlast):
4487         * fns.c (list_sort):
4488         * fns.c (Ffillarray):
4489         * fns.c (bytecode_nconc2):
4490         * fns.c (Fnconc):
4491         * fns.c (mapcar1):
4492         * fns.c (Fmapconcat):
4493         Be pedantically 64-bit correct.  For the time when someone will
4494         want to have a list with length > 2**32.
4495
4496         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4497         Work around MIPSpro compiler bug.
4498
4499         * process-unix.c (unix_kill_child_process): Add snarky comment.
4500         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4501
4502         * config.h.in: Oops, _getpt ==> _getpty
4503
4504 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4505
4506         * config.h.in:
4507         * regex.c:
4508         Use void*, not char*, as return type of alloca().
4509
4510         * alloc.c (free_marker): Side effect inside assert expression!
4511
4512 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4513
4514         * mule-charset.c (Fset_charset_ccl_program): To check
4515         if the given ccl program is valid, use setup_ccl_program()
4516         instead of CHECK_VECTOR().
4517         (Fmake_charset): Likewise.
4518
4519 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4520
4521         * faces.c (get_extent_fragment_face_cache_index):
4522         Fix cachel.merged_faces memory leak.
4523
4524 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
4525
4526         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
4527         Reset MSB of octets obtained by DECODE_SJIS
4528         because of the incompatibility with Emacs.
4529         (ccl_driver)<CCL_ENCODE_SJIS>:
4530         Set MSB of octets before passing them to
4531         ENCODE_SJIS because of the incompatibility
4532         with Emacs.
4533
4534 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
4535
4536         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
4537         (DECLARE_LRECORD): Undo the last change.
4538         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
4539
4540 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
4541
4542         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
4543         the implementation to lrecord_implementations_table.
4544
4545 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
4546
4547         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
4548         initial value of `lrecord_type_##c_name' and
4549         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
4550         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
4551         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
4552         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
4553         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
4554
4555 2000-10-17  Martin Buchholz  <martin@xemacs.org>
4556
4557         * miscplay.c (sndcnv8S_2mono):
4558         (sndcnv2monounsigned):
4559         (sndcnvULaw_2linear):
4560         (sndcnv16swap):
4561         Remove implementation-defined behavior.
4562
4563 2000-10-12  Martin Buchholz  <martin@xemacs.org>
4564
4565         * input-method-xlib.c: Warning suppression.
4566
4567 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
4568
4569         * mule-ccl.c: Sync up with Emacs 21.0.90.
4570         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
4571         Do nothing.
4572         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
4573         Likewise.
4574         (ccl_driver[WriteMultibyteChar2]): Bug fix.
4575         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
4576         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
4577         leading char belongs to official 2-dimensional charset.
4578         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
4579         write the given character as is.  Otherwise,
4580         if it is a multibyte char, convert it by
4581         non_ascii_set_charptr_emchar, then write it.
4582         (CCL_WRITE_STRING): Likewise.
4583         (ccl_get_compiled_code): New function.
4584         (setup_ccl_program): When ccl_prog is invalid,
4585         return -1.
4586         (Fregister_code_conversion_map): New function.
4587         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
4588
4589         * mule-ccl.h: Sync up with Emacs 21.0.90.
4590         (Fregister_ccl_program): export it.
4591
4592         * redisplay-msw.c (separate_textual_runs):
4593         If ccl program is not valid, don't do ccl conversion.
4594
4595         * redisplay-x.c (separate_textual_runs): Ditto.
4596
4597         * file-coding.c (Fmake_coding_system):
4598         When type is ccl and value is vector, register it
4599         with a proper symbol.  And checks whether the
4600         given ccl program is valid.
4601         (mule_decode): When calling ccl_driver, if src indicates
4602         NULL pointer, set an empty string instead.
4603         (mule_encode): Likewise.
4604
4605 2000-10-11  Martin Buchholz  <martin@xemacs.org>
4606
4607         The following large batch of changes gets us back to a state of
4608         C++ compilability.  Extbyte is now a char, which means that
4609         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
4610
4611         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
4612
4613         * sound.c (Fplay_sound): Type correctness.
4614
4615         * select-x.c (hack_motif_clipboard_selection): Type correctness.
4616         (x_get_window_property): Type correctness.
4617         (receive_incremental_selection): unsigned char ==> Extbyte
4618         (selection_data_to_lisp_data): unsigned char ==> Extbyte
4619         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
4620         (Fx_store_cutbuffer_internal): Type correctness.
4621
4622         * process-unix.c (try_to_initialize_subtty): Type correctness.
4623
4624         * objects-x.c (x_print_color_instance): Type correctness.
4625         (x_print_font_instance): Type correctness.
4626         (x_list_fonts): SExtbyte ==> Extbyte.
4627         (valid_x_font_name_p): SExtbyte ==> Extbyte.
4628         (x_find_charset_font): SExtbyte ==> Extbyte.
4629         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
4630         (truename_via_XListFonts): SExtbyte ==> Extbyte.
4631         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
4632         Use bufbyte_strcmp.
4633
4634         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
4635         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
4636         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
4637         (BYTE_C0_P): Use bit ops for char-signedness safety.
4638         (BYTE_C1_P): Use bit ops for char-signedness safety.
4639         (CHARSET_BY_LEADING_BYTE):
4640         (CHARSET_BY_ATTRIBUTES):
4641         Always use inline function.
4642         Use type_checking_assert.
4643         Hide chlook.
4644
4645         * mule-charset.c (non_ascii_charptr_copy_char):
4646         Modify to work with both ASCII and non-ASCII characters.
4647         Improve docs and variable names.
4648         Replace over-clever fall-through switch with a simple loop.
4649         (Lstream_get_emchar_1):
4650         Replace over-clever fall-through switch with a simple loop.
4651
4652         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4653         Warning suppression.
4654
4655         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
4656         the return value of Lstream_getc, which could be EOF as well.
4657
4658         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
4659
4660         * lisp.h: Make Extbyte a char, not unsigned char, so that external
4661         APIs can be used on Extbytes without casts.  Risky!
4662         (SExtbyte): Remove.
4663         (UExtbyte): Remove.
4664
4665         * input-method-xlib.c (XIM_init_device):
4666         Use Xlib.h instead of IntrinsicP.h.
4667         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
4668         which will break in X11R7.
4669         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
4670         to call XRegisterIMInstantiateCallback with correct types.
4671
4672         * gui-x.c (button_item_to_widget_value): Type correctness.
4673
4674         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
4675
4676         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
4677         (xbm_instantiate_1): Type correctness.
4678         (BUILD_GLYPH_INST):  Type correctness.
4679
4680         * fileio.c (Fsubstitute_in_file_name): Type correctness.
4681
4682         * file-coding.c:
4683         (decode_coding_sjis):
4684         (decode_coding_big5):
4685         (decode_coding_ucs4):
4686         (decode_coding_utf8):
4687         (decode_coding_iso2022):
4688         (decode_coding_no_conversion):
4689         Make all decoding functions take an Extbyte * arg.
4690         (encode_coding_sjis):
4691         (encode_coding_big5):
4692         (encode_coding_ucs4):
4693         (encode_coding_utf8):
4694         (encode_coding_iso2022):
4695         (encode_coding_no_conversion):
4696         Make all encoding functions take a Bufbyte * arg.
4697         Use size_t instead of unsigned int for memory sizes.
4698         Only cast to unsigned char whenever dereferencing Extbyte *.
4699
4700         * doc.c (unparesseuxify_doc_string): Type correctness.
4701
4702         * console-x.c (split_up_display_spec):
4703         Rewrite without using details of internal string representation.
4704         (x_semi_canonicalize_device_connection): Type correctness.
4705
4706         * config.h.in:
4707         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
4708         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
4709         (HAVE_XFREE386): Removed.
4710
4711         * buffer.h (DEC_CHARPTR): `const' correctness.
4712         (bufbyte_strcmp): New.
4713         (bufbyte_memcmp): New.
4714
4715         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
4716
4717         * buffer.h (XCHAR_OR_CHAR_INT):
4718         Always use inline function.
4719         Remove redundant type checking assert() - XINT will abort quite nicely.
4720
4721 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
4722
4723         * search.c (Freplace_match): Set newtext to an empty string.
4724
4725 2000-10-10  Martin Buchholz  <martin@xemacs.org>
4726
4727         * s/decosf1-3.h: Remove #include of stropts.h
4728         * s/ptx.h: Remove #include of stropts.h
4729         * s/usg5-4.h: Remove #include of stropts.h
4730         * sysproc.h:
4731         * config.h.in:
4732         Use stropts.h, not sys/stropts.h.
4733         Use strtio.h, not sys/strtio.h.
4734
4735 2000-10-04  Martin Buchholz <martin@xemacs.org>
4736
4737         * XEmacs 21.2.36 is released.
4738
4739 2000-09-21  Andy Piper  <andy@xemacs.org>
4740
4741         * glyphs-x.c (x_redisplay_widget): make sure non-structural
4742         changes still involve copying the widget tree.
4743         (update_widget_face): make sure a change is register in the widget
4744         tree. Call update_tab_widget_face appropriately.
4745         (update_tab_widget_face): ditto.
4746         (x_tab_control_redisplay): make sure non-structural changes still
4747         involve copying the widget tree.
4748
4749 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
4750
4751         * lread.c (locate_file): Check the path element is non-nil.
4752
4753 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4754
4755         * lisp.h: Warning suppression for SCO compilers.
4756
4757         * redisplay-tty.c (reset_tty_modes): Fix crash.
4758         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
4759
4760 2000-09-27  Martin Buchholz  <martin@xemacs.org>
4761
4762         Big signal/process handling overhaul.  Bugs fixed:
4763         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
4764         M-x comint-kill-subjob should work for both values nil and t of
4765         process-connection-type. It was broken on most platforms.
4766         Testing on Irix and Cygwin still needed.  Other plaforms tested.
4767         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
4768         * process-unix.c: Signal/Process handling overhaul.
4769         (pty_name): make 64 bytes, as `expect' does, for paranoia.
4770         (allocate_pty): Use all available modern methods of allocating
4771         ptys, falling back to old style BSD allocation as a last resort.
4772         Use allegedly more secure Unix98 pty allocation by default.
4773         (allocate_pty_the_old_fashioned_way): New. the last resort.
4774         (unix_create_process): Push ptem, ldterm, ttcompat where
4775         available.  Autoconfiscate.
4776         (try_to_initialize_subtty): New.
4777         (unix_kill_child_process): Proper signal handling for ptys on most
4778         platforms, using special knowledge of AIX, BSD, etc...
4779         (unix_create_process): Always disconnect_controlling_terminal() for
4780         subprocesses, whether using ptys or not.
4781         * process.h: Remove old getpt-dependent PTY code.
4782         * process.c (Fprocess_send_signal): New, obvious generic function.
4783         (decode_signal): New.
4784         (Finterrupt_process):
4785         (Fkill_process):
4786         (Fquit_process):
4787         (Fstop_process):
4788         (Fcontinue_process):
4789         (Fsignal_process): Use decode_signal.
4790         (process_send_signal):
4791         Many docstring corrections.
4792         Allow any signal to be sent to a process object.
4793         * config.h.in: Add symbols for big signal/process overhaul.
4794         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
4795         * sysproc.h: Include process-related headers, where available:
4796         sys/stropts.h sys/strtio.h pty.h libutil.h
4797         * s/irix4-0.h:
4798         * s/irix5-0.h:
4799         * s/cygwin32.h:
4800         * s/gnu.h:
4801         * s/linux.h:
4802         * s/hpux.h:
4803         * s/aix3-1.h:
4804         Remove old S&M pty stuff.
4805         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
4806         * systty.h: Simplify cpp hackery, improve comments.
4807         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
4808
4809         * editfns.c (Fformat_time_string):
4810         Be a little more paranoid with the return value of ctime.
4811
4812         * fileio.c (check_executable):
4813         (check_writable):
4814         Use symbolic constants X_OK, W_OK.
4815
4816         * console-x.c (split_up_display_spec): Fix a warning.
4817
4818 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4819
4820         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
4821         * ntproc.c (sys_spawnve): make_string ==> build_string
4822         Small clarity improvements.
4823
4824 2000-09-30  Martin Buchholz  <martin@xemacs.org>
4825
4826         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
4827
4828         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
4829
4830         * config.h.in (HAVE_STRCASECMP): Remove.
4831
4832 2000-09-29  Martin Buchholz  <martin@xemacs.org>
4833
4834         * redisplay-output.c (redisplay_output_pixmap):
4835         Cleaner and possibly more 64-bit correct code.
4836
4837 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4838
4839         * dumper.c (pdump_load_finish): move restoration of
4840         `noninteractive1' to emacs.c (main_1).
4841         * emacs.c (main_1): protect LISP-visible command-line flags
4842         from pdump_load().
4843
4844 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
4845
4846         * Makefile.in.in (versionclean):  Use EXE_TARGET and
4847         DUMP_TARGET instead of literal program names.
4848
4849 2000-09-20  Martin Buchholz  <martin@xemacs.org>
4850
4851         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
4852
4853 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4854
4855         * *: Spelling mega-patch
4856
4857 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4858
4859         * fns.c (bad_bad_turtle):
4860         Delete "Eek!" comment, since we fixed the bug to which it refers.
4861
4862 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4863
4864         * alloca.c: Replace REGISTER with register.
4865
4866 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
4867
4868         * file-coding.c (ucs_to_char): Use countof.
4869
4870 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4871
4872         * file-coding.c: (ucs_to_char):
4873         (complex_vars_of_file_coding):
4874         Use countof instead of sizeof.
4875         Use CHECK_NATNUM instead of CHECK_INT.
4876
4877         * sysdep.c (strcasecmp): Remove.
4878         * device-x.c (ascii_strcasecmp): New.
4879         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
4880         Avoid using non-standard non-portable strcasecmp.
4881
4882 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4883
4884         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
4885         * font-lock.c: remove reference to emacsfns.h.
4886         * search.c: small doc improvement.
4887         * event-Xt.c: correct file names in comments.
4888         * console-x.h Correct file names in comments.
4889         * frame.c: Correct file names in comments.
4890         * event-stream.c: remove Energize from comments.
4891
4892 2000-09-15  Martin Buchholz  <martin@xemacs.org>
4893
4894         * symeval.h (DEFERROR_STANDARD):
4895         (DEFERROR):
4896         (DEFSYMBOL):
4897         (DEFSYMBOL_NO_DUMP):
4898         (DEFSYMBOL_MULTIWORD_PREDICATE):
4899         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
4900         (DEFKEYWORD):
4901         The construct &##name is not sensible C.
4902         Fixes compilation errors with Unixware native compiler.
4903
4904 2000-09-14  Martin Buchholz  <martin@xemacs.org>
4905
4906         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
4907         (next_frame_internal): Removed.  We now just have next_frame.
4908         (next_frame):
4909         Write a simpler and cleaner one-pass algorithm.
4910         Remove called_from_delete_device arg and #ifdefed-out code.
4911         (previous_frame):
4912         Renamed from prev_frame.  Update callers.
4913         Cleaned up to have an analogous implementation to next_frame.
4914         (other_visible_frames_internal): Remove the
4915         called_from_delete_device bogus arg, and hence, remove this
4916         function.  Just use other_visible_frames().
4917
4918         * window.c (Fnext_window):
4919         Prettify docstring.
4920         Since next_frame() is guaranteed to return a frame, remove check
4921         for nil inserted in previous patch.
4922         (Fprevious_window):
4923         Prettify docstring.
4924         Make code look more like Fnext_window.
4925         (window_loop):
4926         Respect the `console' arg when iterating through windows.
4927         Fixes bug: (get-buffer-window buffer t device) not respecting
4928         the `device' arg.
4929         This function needs more work, as others have pointed out.
4930
4931         * frame.h: Rename prev_frame to previous_frame.
4932         device_matches_console_spec no longer takes a `frame' arg.
4933
4934         * s/gnu.h:
4935         * s/linux.h:
4936         * s/hpux.h:
4937         Use EMACS_BLOCK_SIGNAL instead of sigblock.
4938         From "Golubev I. N." <gin@mo.msk.ru>.
4939
4940         * make-src-depend: Fix typo.
4941
4942 2000-09-13  Martin Buchholz  <martin@xemacs.org>
4943
4944         * window.c (Fnext_window):
4945         next_frame() might return nil, not a frame.
4946         Fixes this crash:
4947         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
4948
4949         * frame.c (next_frame_internal):
4950         We've passed a frame if we've passed its device.
4951         Fixes this crash:
4952         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
4953 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
4954
4955 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4956
4957         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
4958         Allow option to suppress accelerators in menu/dialog items.
4959         (populate_or_checksum_helper): Pass dialog title through above.
4960
4961 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4962
4963         * event-msw.c (mswindows_key_to_emacs_keysym):
4964         Add "pause" key, fix "menu" key.
4965
4966 2000-09-09  Martin Buchholz  <martin@xemacs.org>
4967
4968         * eval.c (reinit_vars_of_eval):
4969         Increase max_lisp_eval_depth to 1000,
4970         required for thai-xtis.el to byte-compile under some circumstances.
4971
4972 2000-09-04  Martin Buchholz  <martin@xemacs.org>
4973
4974         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
4975         From Kenichi Handa.
4976
4977 2000-09-01  Martin Buchholz  <martin@xemacs.org>
4978
4979         * make-src-depend: Make the generated Makefiles smaller.
4980
4981         * s/hpux.h (SETUP_SLAVE_PTY):
4982         Provide a %d in the format string for the errno argument.
4983
4984         * editfns.c (Ftemp_directory):
4985         Warning fix.
4986         Avoid buffer overrun on very long file name.
4987
4988         * input-method-xlib.c (XIM_init_device):
4989         6th parameter of XRegisterIMInstantiateCallback has different
4990         pointer types on different OSes, so simply cast to (void *).
4991
4992         * unexhp9k800.c: Warning fixes.  Fiddly changes.
4993
4994         * sysdll.c (dll_open):
4995         shl_load will hang hard if passed a NULL filename.
4996         Simply return NULL for compatibility with dlopen.
4997         * sysdll.c: Conform to XEmacs coding standards.
4998
4999         * sysdep.c (get_pty_max_bytes):
5000         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5001
5002 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5003
5004         * tooltalk.c: Add #include <syssignal.h>
5005
5006 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5007
5008         * s/hpux.h: Don't use undefined function sigunblock().
5009
5010 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5011
5012         * config.h.in: Add HAVE_BALLOON_HELP.
5013         * emacs.c: Use HAVE_BALLOON_HELP.
5014         * Makefile.in.in (x_objs):
5015         Make Balloon Help conditional on finding shape.h.
5016
5017 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5018
5019         * syntax.c (regex_emacs_buffer_p): New variable.
5020         * syntax.h (regex_emacs_buffer_p): extern.
5021         * search.c (looking_at_1):
5022         (string_match_1):
5023         (fast_string_match):
5024         (search_buffer): Set regex_emacs_buffer_p.
5025         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5026         when before_dot, at_dot, after_dot.
5027
5028 2000-08-23  Andy Piper  <andy@xemacs.org>
5029
5030         * gui-x.c (popup_selection_callback): Only set action_occurred
5031         when we really have an image instance.
5032         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5033
5034 2000-08-23  Andy Piper  <andy@xemacs.org>
5035
5036         * gui-msw.c (mswindows_handle_gui_wm_command): set
5037         action_occurred.
5038         * gui-x.c (popup_selection_callback): ditto.
5039
5040         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5041         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5042         (struct Lisp_Image_Instance): add action_occurred flag.
5043
5044         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5045         (image_instance_changed): ditto.
5046         (reset_frame_subwindow_instance_cache): only unmap windows - do
5047         not remove them from the cache also.
5048
5049         * glyphs-widget.c (tab_control_update): better debug.
5050         (progress_gauge_update): ditto.
5051         (layout_update): ditto.
5052         (layout_instantiate): ditto.
5053         (tab_control_order_only_changed): cope with null pending items.
5054
5055         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5056         debug. Force selection of an item when an action occurred. Cope
5057         with null pending_items.
5058         (mswindows_progress_gauge_redisplay): better debug.
5059         * glyphs-x.c (x_tab_control_redisplay): ditto.
5060
5061         * redisplay.c (redisplay_frame): reset the frame cache if the
5062         frame is garbaged.
5063
5064         * window.c (Fset_window_configuration): potentially re-enable
5065         frame cache reset.
5066         (window_unmap_subwindows): need to finalize instances here since
5067         it is only used in mark_window_as_deleted.
5068
5069 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5070
5071         * nas.c (SndOpenDataForReading):
5072         nas.c (WaveOpenDataForReading):
5073         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5074         Somehow escaped from the 2000-08-14 patch.
5075
5076 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5077
5078         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5079         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5080
5081 2000-08-21  Andy Piper  <andy@xemacs.org>
5082
5083         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5084         window if it is not already displayed.
5085
5086         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5087         it is not already displayed.
5088
5089         * window.c (Fset_window_configuration): don't reset the frame
5090         cache.
5091
5092         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5093         instances from the frame cache if we are actually finalizing them.
5094         (reset_frame_subwindow_instance_cache): reset frame cache only
5095         after unmapping everything.
5096         (map_subwindow): set displayed flag after mapping.
5097
5098 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5099
5100         * data.c (indirect_function):
5101         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5102
5103         * eval.c (function_argcount):
5104         Use original function when signaling errors.
5105
5106 2000-08-18  Andy Piper  <andy@xemacs.org>
5107
5108         * frame.c (delete_frame_internal): use new
5109         free_frame_subwindow_instances name.
5110
5111         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5112         (add_tab_item): make return type correct.
5113         (mswindows_tab_control_instantiate): assert index of tab.
5114         (mswindows_tab_control_redisplay): Re-code to use
5115         gui_item_equal_sans_selected and gui_item_list_find_selected.
5116
5117         * glyphs-widget.c (tab_control_update): Correct comment.
5118
5119         * window.c (window_unmap_subwindows): use new
5120         unmap_subwindow_instance_cache_mapper.
5121         (window_unmap_subwindows_cache_mapper): deleted.
5122         (Fset_window_configuration): comparisons should now be with
5123         EQ. Preserve the subwindow instance cache across configuration
5124         changes.
5125         (allocate_window): ditto.
5126         (make_dummy_parent): ditto.
5127
5128         * glyphs.c (free_frame_subwindow_instances): rename from
5129         free_frame_subwindow_instance_cache. finalize all instances rather
5130         than just those in the display cache.
5131         (finalize_all_subwindow_instances): walk windows unmapping and
5132         finalizing subwindows.
5133         (unmap_subwindow_instance_cache_mapper): moved from
5134         window.c. Allow finalization as well as unmapping.
5135
5136         * gui.c (gui_item_list_find_selected): new function.
5137
5138         * gui.h (gui_item_list_find_selected): declare.
5139
5140         * glyphs-x.c (x_tab_control_redisplay): pick tab
5141         explicitly. Re-code to use gui_item_equal_sans_selected and
5142         gui_item_list_find_selected.
5143
5144         * glyphs-x.h: add lwlib-utils.h
5145
5146         * buffer.c (Frecord_buffer): undo previous change.
5147
5148 2000-08-09  Vin Shelton  <acs@xemacs.org>
5149
5150         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5151         possible.  Create temporary files more securely.  The patch was
5152         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5153         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5154         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5155         for details.
5156
5157 2000-08-07  Ben Wing  <ben@xemacs.org>
5158
5159         * getloadavg.c: remove duplicate (and windows-breaking)
5160         includes of fcntl.h and sys/file.h.
5161
5162         * nt.c: remove duplicate getloadavg() definition.
5163
5164         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5165         encodings.
5166
5167 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5168
5169         * eval.c (function_argcount): If function needs to be autoloaded
5170         actually use the loaded definition.
5171         GCPRO function.
5172
5173 2000-08-05  Ben Wing  <ben@xemacs.org>
5174
5175         * getloadavg.c: add prototype for getloadavg().  remove
5176         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5177         of the code).  remove duplicate header includes.
5178
5179         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5180
5181         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5182         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5183         useful load average.
5184
5185         * alloc.c (reinit_alloc_once_early): removed references to
5186         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5187         the lisp vars are the only things referencing the malloc_sbrk_*
5188         vars, and they were already if 0'd out.  these vars only exist
5189         in the older malloc.c, which is basically unused, and they're
5190         only for informational purposes.
5191
5192         * m\*.h: removed useless VIRT_ADDR_VARIES.
5193
5194         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5195
5196 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5197
5198         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5199         color if the image is a mono pixmap.
5200
5201 2000-07-30  Ben Wing  <ben@xemacs.org>
5202
5203         * Makefile.in.in (release):
5204         Remove stray @.
5205
5206         * buffer.c (directory_is_current_directory):
5207         * dired-msw.c (mswindows_get_files):
5208         * dired.c:
5209         * dired.c (Fdirectory_files):
5210         * dired.c (file_name_completion_stat):
5211         * dired.c (Ffile_attributes):
5212         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5213         preprocessor tricks, to avoid problems on some machines
5214         (e.g. SCO).
5215
5216         * callproc.c (egetenv): GC docs.
5217
5218         * console-msw.h:
5219         * console-msw.h (struct mswindows_dialog_id):
5220         * lrecord.h (lrecord_type):
5221         New object for use with MSW dialogs.
5222
5223         * console.h (struct console_methods):
5224         New enable/disable frame methods, for proper modal dialogs.
5225
5226         * device-msw.c (msprinter_default_printer): Fix to follow
5227         proper Mule conventions.
5228
5229         * device-msw.c:
5230         * device-msw.c (signal_open_printer_error):
5231         * device-msw.c (msprinter_init_device):
5232         * device-msw.c (ensure_not_printing):
5233         * device-msw.c (plist_get_margin):
5234         * device-msw.c (Fmsprinter_select_settings):
5235         * device-msw.c (finalize_devmode):
5236         * device-msw.c (Fmsprinter_settings_despecialize):
5237         * device-msw.c (signal_enum_priner_error):
5238         * extents.c (decode_extent):
5239         * extents.c (decode_map_extents_flags):
5240         * extents.c (decode_extent_at_flag):
5241         * extents.c (Fextent_at):
5242         * extents.c (Fextents_at):
5243         * extents.c (symbol_to_glyph_layout):
5244         [[[[2]]]] Use structured errors.
5245
5246         * dialog-msw.c:
5247         * dialog-msw.c (mswindows_is_dialog_msg):
5248         * dialog-msw.c (mark_mswindows_dialog_id):
5249         * dialog-msw.c (dialog_proc):
5250         * dialog-msw.c (handle_question_dialog_box):
5251         * dialog-msw.c (syms_of_dialog_mswindows):
5252         Define new object to clean up marking; use it as a dialog identifier.
5253         Call new delete-dialog-box-hook.
5254
5255         * dialog-x.c (dbox_selection_callback):
5256         * dialog-x.c (dbox_descriptor_to_widget_value):
5257         * dialog-x.c (x_make_dialog_box_internal):
5258         Call new delete-dialog-box-hook.
5259         Return an id.
5260
5261         * dialog.c:
5262         * dialog.c (syms_of_dialog):
5263         * dialog.c (vars_of_dialog):
5264         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5265
5266         * eval.c:
5267         * eval.c (signal_call_debugger):
5268         when noninteractive, output stack traces on the console instead
5269         of in a (never-seen) buffer.
5270
5271         * eval.c (signal_type_error):
5272         * eval.c (invalid_argument_2):
5273         * lisp.h:
5274         new funs for use w/structured errors.
5275
5276         * event-Xt.c:
5277         * event-Xt.c (x_to_emacs_keysym):
5278         * event-Xt.c (describe_event):
5279         * event-Xt.c (emacs_Xt_event_handler):
5280         * event-Xt.c (vars_of_event_Xt):
5281         * event-msw.c:
5282         * event-msw.c (mswindows_wnd_proc):
5283         * event-msw.c (vars_of_event_mswindows):
5284         rename {x,mswindows}-debug-events to debug-{}-events for
5285         consistency with other debug-foo variables.
5286
5287         * event-stream.c:
5288         document next-event more clearly.
5289
5290         * fileio.c (Ffile_name_directory):
5291         * fileio.c (Ffile_name_nondirectory):
5292         * fileio.c (Funhandled_file_name_directory):
5293         * fileio.c (file_name_as_directory):
5294         * fileio.c (Ffile_name_as_directory):
5295         * fileio.c (directory_file_name):
5296         * fileio.c (Fdirectory_file_name):
5297         * fileio.c (Fmake_temp_name):
5298         * fileio.c (Ffile_truename):
5299         * fileio.c (Fsubstitute_in_file_name):
5300         * fileio.c (expand_and_dir_to_file):
5301         * fileio.c (barf_or_query_if_file_exists):
5302         * fileio.c (check_executable):
5303         * fileio.c (Ffile_exists_p):
5304         * fileio.c (Ffile_writable_p):
5305         * fileio.c (Ffile_directory_p):
5306         * fileio.c (Ffile_regular_p):
5307         * fileio.c (Ffile_modes):
5308         * fileio.c (Ffile_newer_than_file_p):
5309         * fileio.c (Fverify_visited_file_modtime):
5310         * fileio.c (Fset_visited_file_modtime):
5311         * fileio.c (auto_save_1):
5312         (1). (2).
5313         fix up gcpro's.
5314
5315         * frame-msw.c:
5316         * frame-msw.c (mswindows_init_frame_1):
5317         * frame-msw.c (mswindows_enable_frame):
5318         * frame-msw.c (error_frame_unsizable):
5319         * frame-msw.c (msprinter_init_frame_1):
5320         * frame-msw.c (msprinter_init_frame_3):
5321         * frame-msw.c (console_type_create_frame_mswindows):
5322         (2).
5323         implement new enable/disable frame methods.
5324
5325         * frame-x.c:
5326         * frame-x.c (x_enable_frame):
5327         * frame-x.c (console_type_create_frame_x):
5328         implement new enable/disable frame methods.
5329
5330         * frame.c:
5331         * frame.c (Fdisable_frame):
5332         * frame.c (syms_of_frame):
5333         * frame.h (struct frame):
5334         implement new enable/disable frame methods/functions.
5335
5336         * general-slots.h:
5337         add initial-focus.
5338
5339         * glyphs-msw.c (mswindows_widget_instantiate):
5340         comment that initial-focus should be implemented.
5341
5342         * glyphs-widget.c:
5343         * glyphs-widget.c (check_valid_instantiator):
5344         * glyphs-widget.c (check_valid_orientation):
5345         * glyphs-widget.c (check_valid_tab_orientation):
5346         * glyphs-widget.c (check_valid_justification):
5347         * glyphs-widget.c (check_valid_border):
5348         * glyphs-widget.c (check_valid_callback):
5349         * glyphs-widget.c (check_valid_int_or_function):
5350         * glyphs-widget.c (check_valid_string_or_vector):
5351         * glyphs-widget.c (check_valid_item_list_1):
5352         * glyphs-widget.c (widget_validate):
5353         * glyphs-widget.c (combo_box_validate):
5354         * glyphs-widget.c (widget_instantiate):
5355         * glyphs-widget.c (syms_of_glyphs_widget):
5356         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5357         * glyphs-widget.c (image_instantiator_combo_box):
5358         * glyphs-widget.c (image_instantiator_scrollbar):
5359         * glyphs-widget.c (image_instantiator_tab_control):
5360         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5361         (2).
5362         support (unimplemented) keyword initial-focus.
5363         reindent long macros.
5364
5365         * glyphs-x.c (x_redisplay_widget):
5366         * glyphs-x.c (x_button_instantiate):
5367         * glyphs-x.c (x_button_redisplay):
5368         * glyphs-x.c (x_progress_gauge_instantiate):
5369         * glyphs-x.c (x_edit_field_instantiate):
5370         * glyphs-x.c (x_combo_box_instantiate):
5371         * glyphs-x.c (x_tab_control_instantiate):
5372         * glyphs-x.c (x_label_instantiate):
5373         * gui-x.c:
5374         * gui-x.c (button_item_to_widget_value):
5375         * gui-x.c (gui_items_to_widget_values_1):
5376         * gui-x.c (gui_item_children_to_widget_values):
5377         * gui-x.c (gui_items_to_widget_values):
5378         * gui-x.h:
5379         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5380         add new flag to gui-parsing routines to indicate whether
5381         accelerator specs should be supported.
5382
5383         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5384
5385         * glyphs.h (struct Lisp_Image_Instance):
5386         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5387         add initial-focus flag.
5388
5389         * gui.c:
5390         * gui.c (syms_of_gui):
5391         * gui.c (vars_of_gui):
5392         clean up menu-no-selection-hook.
5393
5394         * gui.h:
5395         support delete-dialog-box-hook.
5396
5397         * lread.c (Fload_internal):
5398         * lread.c (locate_file_in_directory_mapper):
5399         (1).
5400
5401         * lrecord.h:
5402         * lrecord.h (struct toolbar_button):
5403         * lrecord.h (syms_of_toolbar):
5404         document how to create a new object.
5405
5406         * menubar-msw.c (mswindows_char_is_accelerator):
5407         may be called on frames w/o menus.
5408
5409         * menubar.c (vars_of_menubar):
5410         clean up :filter docs.
5411
5412         * nt.c (readdir):
5413         * ntproc.c:
5414         (1).
5415
5416         * process-nt.c:
5417         * process-nt.c (validate_signal_number):
5418         * process-nt.c (signal_cannot_launch):
5419         * process-nt.c (nt_create_process):
5420         * process-nt.c (nt_send_process):
5421         * process-nt.c (nt_kill_child_process):
5422         * process-nt.c (nt_open_network_stream):
5423         * process-nt.c (syms_of_process_nt):
5424         (2).
5425         delete quote-handling.  call new lisp code that does it better.
5426
5427         * process-unix.c (connect_to_file_descriptor):
5428         * process-unix.c (allocate_pty):
5429         * process-unix.c (unix_send_process):
5430         * process-unix.c (unix_kill_child_process):
5431         * process-unix.c (unix_open_network_stream):
5432         * process-unix.c (unix_open_multicast_group):
5433         (1). (2).
5434
5435         * process.c:
5436         * process.c (Fstart_process_internal):
5437         (2).  need to canonicalize process path even if absolute.
5438
5439         * select-msw.c (symbol_to_ms_cf):
5440         * select-msw.c (ms_cf_to_symbol):
5441         * select-msw.c (cf_is_autofreed):
5442         * select-msw.c (mswindows_destroy_selection):
5443         * select.c:
5444         * select.c (syms_of_select):
5445         * select.h:
5446         support dibv5, fix bugs. (from Mike Alexander)
5447
5448         * select.c (Fget_selection_internal):
5449         * select.c (select_convert_out):
5450
5451         * sysdep.c:
5452         * sysdep.c (xemacs_stat):
5453         renamed.
5454
5455         * sysdep.c (mkdir):
5456         * sysdep.c (rmdir):
5457         but keep original stat() here because we provide encapsulation
5458         around these funs.
5459
5460         * sysfile.h:
5461         * sysfile.h (fstat):
5462         remove stat garbage.
5463
5464         * syswindows.h:
5465         fix X/MSW conflict.
5466         don't include tchar.h.  it's inappropriate because it makes
5467         compile-time distinctions when we want runtime distinctions.
5468         (we provide our own tchar replacements)
5469
5470         * toolbar.c:
5471         use default object printer for toolbar-button.
5472
5473         * unexcw.c:
5474         make sure we don't encapsulate.
5475
5476         * window.c (vars_of_window):
5477         emphasize that temp-buffer-show-hook is obsolete.
5478
5479 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5480
5481         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5482         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5483
5484         * events.c (Fevent_timestamp_lessp):
5485         Not 64-bit clean.  Use EMACS_INT, not int.
5486
5487 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5488
5489         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5490         unsigned int and changed the last enum to
5491         lrecord_type_last_built_in_type.
5492         (lrecord_implementations_table): changed prototype to know how
5493         long the array is supposed to be.
5494         (lrecord_type_count): new unsigned int to keep track of the
5495         current number of lisp lrecord types.
5496         (DEFINE_EXTERNAL_LRECORD):
5497         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5498         dynamic-modules to declare new lisp types. They are the same
5499         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5500         int for each new type, and increment lrecord_type_count by 1.
5501
5502         * alloc.c (lrecord_implementations_table): Changed to reference
5503         lrecord_type_last_built_in_type for the size of the array.
5504         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5505
5506 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5507
5508         * glyphs.h (check_valid_item_list): Renamed from
5509         check_valid_item_list_1.
5510
5511 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5512
5513         * select.c (Qselect_coerce): New.
5514         * select.c (Vselection_coercion_alist): New.
5515         * select.c (syms_of_select): Declare.
5516         * select.c (get-selection-internal): Use it.
5517         Use the new select-coerce functionality.
5518
5519         * select.c (select_coerce): New.
5520         * select.h (select_coerce): Declare.
5521         New function to coerce one type of data into another.
5522
5523 2000-08-03  Martin Buchholz  <martin@xemacs.org>
5524
5525         * callproc.c (Fcall_process_internal):
5526         (Fcall_process_internal):
5527         * process-unix.c (unix_create_process):
5528         Save and restore the value of errno, so that error messages are accurate.
5529
5530 2000-08-01  Martin Buchholz  <martin@xemacs.org>
5531
5532         * elhash.c (print_hash_table):
5533         Fix printing of hash tables to also use `key-and-value' instead of `t'.
5534         Prettify docstrings and indentation.
5535
5536 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5537
5538         * window.c (Fwindow_pixel_edges): Subtract frame border and
5539         gutter size.
5540
5541 2000-07-31  Andy Piper  <andy@xemacs.org>
5542
5543         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
5544         will acknowledge the change.
5545
5546         * glyphs.h: declare tab_control_order_only_changed.
5547
5548         * glyphs-x.c (x_tab_control_redisplay): use
5549         tab_control_order_only_changed.
5550
5551         * glyphs-widget.c (tab_control_order_only_changed): new function.
5552
5553         * glyphs-msw.c (mswindows_tab_control_redisplay): use
5554         tab_control_order_only_changed.
5555
5556         * gui.c (gui_item_equal_sans_selected): new function.
5557         (gui_item_equal): use it.
5558
5559         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
5560         :properties in favor of :items..
5561
5562         * glyphs-widget.c (check_valid_item_list): rename from
5563         check_valid_item_list_1.
5564         (check_valid_item_list_1): renamed.
5565         (combo_box_validate): deprecate :properties in favor of :items.
5566         (widget_instantiate): ditto.
5567         (tab_control_update): ditto.
5568         (image_instantiator_combo_box): ditto.
5569         (image_instantiator_tree_view): ditto.
5570         (image_instantiator_tab_control): ditto.
5571         (layout_post_instantiate): remove dead code.
5572
5573         * print.c (debug_print_no_newline): only write to debugger if in
5574         WIN32_NATIVE.
5575
5576         * elhash.c (Fmake_hash_table): update doc string.
5577
5578         * event-msw.c (mswindows_wnd_proc): don't allow processing of
5579         messages whilst in GC. This at least stops XEmacs crashing but has
5580         the potential for wierd behaviour.
5581
5582 2000-07-31  Martin Buchholz  <martin@xemacs.org>
5583
5584         * config.h.in:
5585         Make existence of s&m files optional.
5586
5587         * s/bsd386.h: Remove HAVE_GETLOADAVG.
5588         * s/freebsd.h: Remove HAVE_GETLOADAVG.
5589         * s/gnu.h: Remove HAVE_GETLOADAVG.
5590         * s/netbsd.h: Remove HAVE_GETLOADAVG.
5591         * s/sol2.h: Remove HAVE_GETLOADAVG.
5592         * lisp.h: Remove getloadavg() declaration.
5593         * fns.c:
5594         Include <sys/loadavg.h> if available.
5595         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
5596         * config.h.in:  Group together getloadavg()-related macros.
5597         Use only configure-time tests to detect getloadavg().
5598
5599 2000-07-30  Martin Buchholz  <martin@xemacs.org>
5600
5601         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
5602
5603 2000-07-25  Andy Piper  <andy@xemacs.org>
5604
5605         * syswindows.h: add tchar.h for native builds.
5606
5607         * frame.c (syms_of_frame): remove set-glyph-image.
5608
5609         * general-slots.h: add Qset_glyph_image.
5610
5611         * glyphs-widget.c (layout_update): add domain arg to
5612         set-glyph-image.
5613         (syms_of_glyphs_widget): remove set-glyph-image.
5614
5615 2000-07-23  Ben Wing  <ben@xemacs.org>
5616
5617         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
5618         Vpopup_frame_list.
5619
5620 2000-07-22  Andy Piper  <andy@xemacs.org>
5621
5622         * symsinit.h: add syms_of_win32().
5623
5624         * gui-msw.c (syms_of_gui_mswindows): remove
5625         Fmswindows_shell_execute.
5626         (Fmswindows_shell_execute): moved to win32.c.
5627
5628         * emacs.c (main_1): add syms_of_win32 ().
5629
5630         * win32.c (init_potentially_nonexistent_functions): rewrite in
5631         compiler-friendly terms.
5632         (Fmswindows_shell_execute): move here from gui-msw.c.
5633         (syms_of_win32): new.
5634
5635         * device-msw.c (Fmswindows_printer_list): clean up args to
5636         EnumPrinters.
5637         Don't include tchar under cygwin or mingw.
5638         (msprinter_default_printer): make cygwin-friendly.
5639
5640 2000-07-21  Andy Piper  <andy@xemacs.org>
5641
5642         * glyphs-widget.c (image_instantiator_tree_view): use tab
5643         control's update function.
5644         (layout_property): new function. Retrieve items.
5645
5646         * glyphs-msw.c (mswindows_tree_view_redisplay): new
5647         function. Re-populate the tree view from the pending items.
5648
5649         * glyphs.c (instantiate_image_instantiator): Make sure the domain
5650         is designated the parent if the domain is an image instance. This
5651         is needed so that dirtiness can be cascade up the hierarchy and
5652         thus for layout children to be redisplayed correctly.
5653         (allocate_image_instance): rename glyph -> parent.
5654
5655         * redisplay.h: change redisplay_output_layout signature.
5656
5657         * redisplay-msw.c (mswindows_output_display_block): use domain
5658         arg.
5659
5660         * redisplay-x.c (x_output_display_block): use domain arg.
5661
5662 2000-07-10  Andy Piper  <andy@xemacs.org>
5663
5664         * window.c (Fset_window_configuration): add comment.
5665
5666         * redisplay-output.c (compare_runes):
5667         (redisplay_output_subwindow): redisplay rather than update subwindow.
5668         (redisplay_output_layout): ditto.
5669
5670         * redisplay-msw.c (mswindows_frame_output_end):
5671         (mswindows_frame_output_end): make defer window pos optional.
5672
5673         * lisp.h: add Flast.
5674
5675         * glyphs.h (struct image_instantiator_methods): add dest_mask top
5676         normalize method. Change update method to be for changed
5677         instantiators. Add redisplay method. Change signature of layout
5678         method.
5679         (struct Lisp_Image_Instance): add instantiator.
5680         (IMAGE_INSTANCE_INSTANTIATOR): new.
5681         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
5682         (XIMAGE_INSTANCE_INSTANTIATOR): new.
5683         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
5684
5685         * glyphs.c:
5686         (find_instantiator_differences): new function.
5687         (Fset_instantiator_property): new convenience function.
5688         (check_image_instance_structure): strictly check for vector
5689         instantiators.
5690         (normalize_image_instantiator): make non-static.
5691         (instantiate_image_instantiator): pass on dest_mask and use new
5692         signatures for image_instance_layout and friends.
5693         (mark_image_instance): mark the instantiator. Mark the subwindow
5694         face not the widget face.
5695         (image_instance_equal): add instantiator.
5696         (image_instance_hash): ditto.
5697         (allocate_image_instance): ditto.
5698         (Fset_image_instance_property): removed.
5699         (Fimage_instance_file_name): ditto.
5700         (Fcolorize_image_instance): ditto.
5701         (image_instance_layout): add offsets to be set.
5702         (update_image_instance): new function. update an image instance
5703         from its changed instantiator.
5704         (inherit_normalize): add dest_mask.
5705         (xbm_normalize): ditto.
5706         (xface_normalize): ditto.
5707         (xpm_normalize): ditto.
5708         (text_update): set_property -> update.
5709         (image_instantiate): use the glyph identity as a hash key, not the
5710         instantiator.
5711         (glyph_width): use new image_instance_layout signature.
5712         (glyph_ascent): ditto.
5713         (glyph_descent): ditto.
5714         (glyph_height): ditto.
5715         (glyph_query_geometry): ressurrect.
5716         (glyph_layout): ditto.
5717         (redisplay_subwindow): update -> redisplay.
5718         (syms_of_glyphs): add Fset_instantiator_property.
5719         (image_instantiator_format_create): set_property -> update.
5720
5721         * glyphs-x.c:
5722         (autodetect_normalize): add dest_maks to signature.
5723         (x_redisplay_subwindow): update -> redisplay.
5724         (x_redisplay_widget): ditto.
5725         (x_button_redisplay): ditto.
5726         (x_progress_gauge_redisplay): ditto.
5727         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
5728         stacking order.
5729         (console_type_create_glyphs_x): update -> redisplay.
5730         (image_instantiator_format_create_glyphs_x): ditto.
5731
5732         * glyphs-widget.c:
5733         (check_valid_instantiator): disallow glyphs in the instantiator,
5734         they must now be vectors.
5735         (check_valid_instantiator_list): ditto.
5736         (glyph_instantiator_to_glyph): use internal symbol rather than
5737         intern.
5738         (widget_update): renamed from widget_set_property. Call cascaded
5739         update methods.
5740         (redisplay_widget): renamed from update_widget.
5741         (widget_layout): image_instance_layout now takes position as well
5742         as size.
5743         (widget_normalize): ditto.
5744         (widget_instantiate): ditto.
5745         (tab_control_query_geometry) ditto.:
5746         (tab_control_update): renamed from tab_control_set_property.
5747         (progress_gauge_update): set_property -> update.
5748         (layout_normalize): rewrite so that child instantiators are
5749         normalized also.
5750         (layout_update): new function. Create glyphs from the normalized
5751         children and cope with any other layout keywords. We do not
5752         instantiate children here that will be take care of by
5753         redisplay_output_layout.
5754         (layout_instantiate): call layout_update and not much else.
5755         (layout_post_instantiate): not sure whether this is needed
5756         anymore.
5757         (layout_query_geometry): query glyph geometry rather than
5758         image_instance geometry.
5759         (layout_layout): set offsets from pass in parameters. Use glyph
5760         geometry and layout functions rather than image instance ones.
5761         (native_layout_layout): ditto.
5762         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
5763         (image_instantiator_widget): set_property -> update.
5764         (image_instantiator_buttons): ditto.
5765         (image_instantiator_progress_guage): ditto.
5766         (image_instantiator_tab_control): ditto.
5767         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
5768         (image_instantiator_layout): add update method.
5769
5770         * glyphs-msw.c (bmp_normalize):
5771         (mswindows_resource_normalize): add dest_mask so that it can be
5772         proprogated by layout_normalize.
5773         (begin_defer_window_pos): make optional because it may not be the
5774         right thing to do and it introduces differences with X.
5775         (mswindows_unmap_subwindow): ditto.
5776         (mswindows_map_subwindow): ditto.
5777         (mswindows_redisplay_subwindow): renamed from
5778         mswindows_update_subwindow.
5779         (mswindows_redisplay_widget): ditto.
5780         (mswindows_button_redisplay): renamed from
5781         mswindows_button_update. Update is now what the instantiation
5782         function does for a changed instantiator.
5783         (mswindows_progress_gauge_instantiate): set the progress value
5784         here if appropriate.
5785         (mswindows_tab_control_redisplay): cope with re-ordering of the
5786         members of the tab widget by simply selecting the new top
5787         widget. This makes things appear ok if you click on a tab.
5788         (mswindows_combo_box_instantiate): image_instance_layout now takes
5789         position as well as size.
5790         (mswindows_progress_gauge_redisplay): renamed from
5791         mswindows_progress_gauge_update.
5792         (console_type_create_glyphs_mswindows): fix update -> redisplay.
5793         (image_instantiator_format_create_glyphs_mswindows): ditto.
5794
5795         * glyphs-eimage.c (jpeg_normalize):
5796         (gif_normalize):
5797         (png_normalize):
5798         (tiff_normalize): add dest_mask so that it can be proprogated by
5799         layout_normalize.
5800
5801         * elhash.c:
5802         (print_hash_table):
5803         (hash_table_weakness_validate):
5804         (decode_hash_table_weakness):
5805         (Fhash_table_weakness):
5806         (Fhash_table_type):
5807         (syms_of_elhash): use Ben's naming scheme for hashtable types..
5808
5809         * console.h (struct console_methods): move update_* to
5810         redisplay_*.
5811
5812 2000-07-20  Ben Wing  <ben@xemacs.org>
5813
5814         * *.[ch] (XSETOBJ): remove unused middle argument.
5815         lisp-disunion.h: correct wrap_object() to one argument.
5816
5817 2000-07-15  Ben Wing  <ben@xemacs.org>
5818
5819         * s/cygwin32.h:
5820         * s/cygwin32.h (CYGWIN_CONV_PATH):
5821         Add missing logb prototype for v1.1.
5822         Use post-b20 names and alias to pre-b20 names when pre-b20.
5823
5824         * s/windowsnt.h: [5].
5825
5826 2000-07-15  Ben Wing  <ben@xemacs.org>
5827
5828         * Makefile.in.in (x_objs):
5829         * Makefile.in.in (sheap_objs):
5830         * Makefile.in.in (objs):
5831         added win32.o, cosmetic cleanups.
5832
5833         * alloc.c (Fmake_byte_code):
5834         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
5835         etc. macros which declare their own args now.
5836
5837         * alloc.c (syms_of_alloc):
5838         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
5839
5840         * buffer.c:
5841         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
5842
5843         * buffer.c (Fget_file_buffer):
5844         Fixed GCPRO problem.
5845
5846         * buffer.c (get_truename_buffer):
5847         Fixed comment about GC checking.
5848
5849         * buffer.c (syms_of_buffer):
5850         Undeclared those dedicated frame funs.
5851         [2].
5852
5853         * buffer.h:
5854         Define convenience macros for internal/external conversions.
5855         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
5856         and Qenvironment_variable_encoding for cleaner code.
5857
5858         * bufslots.h:
5859         Remove dedicated-frame; in lisp.
5860
5861         * bytecode.c (funcall_compiled_function):
5862         [1].
5863
5864         * bytecode.c (syms_of_bytecode):
5865         [2].
5866
5867         * console-msw.c:
5868         * console-msw.c (mswindows_show_console): Rewrote.
5869
5870         * console-msw.c (Fmswindows_debugging_output): New.
5871         Sends to OutputDebugString (special MSWin debugger interface).
5872
5873         * console-msw.c (Fmswindows_message_box):
5874         Fixed stupid bugs so it works when called from kill-emacs.
5875
5876         * console-msw.c (syms_of_console_mswindows):
5877         Declare Fmswindows_debugging_output.
5878
5879         * console-msw.h:
5880         New MSWin prototypes.
5881
5882         * console-msw.h (struct mswindows_frame):
5883         New entry last-click-mods for improved button-modifier support.
5884
5885         * console-msw.h (FRAME_MSWINDOWS_POPUP):
5886         New struct entry `popup' with corresponding accessor.
5887
5888         * console-x.c:
5889         * console-x.c (split_up_display_spec):
5890         * console-x.c (get_display_arg_connection):
5891         * console-x.c (x_semi_canonicalize_console_connection):
5892         * console-x.c (x_canonicalize_device_connection):
5893         [[[6]]]: Change char to more specific type.
5894         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
5895
5896         * console-x.c (x_semi_canonicalize_console_connection):
5897         * console-x.c (x_canonicalize_device_connection):
5898         [[[9]]]: Fix up error signalling to use new structured error system.
5899
5900         * console-x.h:
5901         [[[4]]]: Define codesys aliases:
5902         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
5903         Qx_color_name_encoding, Qx_display_name_encoding.
5904
5905         * console.h (struct console_methods):
5906         New method make_dialog_box_internal supersedes older
5907         popup_dialog_box method.
5908
5909         * data.c:
5910         Define many new errors, part of new structured errors.
5911
5912         * data.c (init_errors_once_early):
5913         * data.c (syms_of_data):
5914         [2].
5915
5916         * device-msw.c (mswindows_init_device):
5917         [[[5]]]: Cleanup to support NT 3.51.
5918
5919         * device-msw.c (decode_devmode): Cleanup.
5920
5921         * device-msw.c (mswindows_handle_print_setup_dialog_box):
5922         * device-msw.c (mswindows_handle_print_dialog_box):
5923         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5924         * device-msw.c (syms_of_device_mswindows):
5925         Delete the dialog box primitives recently introduced by Kirill and
5926         instead interface to general dialog box interface.
5927
5928         * device-x.c:
5929         * device-x.c (compute_x_app_name):
5930         * device-x.c (x_init_device):
5931         * device-x.c (Fx_valid_keysym_name_p):
5932         * device-x.c (Fx_set_font_path):
5933         [6].
5934         [7].
5935
5936         * device.h (wrap_device): New.
5937         First of its kind; meant to replace XSETDEVICE.
5938
5939         * dialog-msw.c: Many file-dialog symbols.
5940
5941         * dialog-msw.c (mswindows_register_popup_frame): New.
5942         * dialog-msw.c (mswindows_is_dialog_msg): New.
5943         For supporting kbd traversal in dialog boxes.
5944
5945         * dialog-msw.c (dialog_proc):
5946         Support hitting ESC in dialogs.
5947
5948         * dialog-msw.c (struct):
5949         Common dialog box errors.
5950
5951         * dialog-msw.c (handle_file_dialog_box): New.
5952         Add file dialog code.
5953
5954         * dialog-msw.c (handle_question_dialog_box):
5955         Redo existing code to support new question dialog syntax.
5956
5957         * dialog-msw.c (console_type_create_dialog_mswindows):
5958         We support new dialog console method.
5959
5960         * dialog-msw.c (syms_of_dialog_mswindows):
5961         * dialog-msw.c (vars_of_dialog_mswindows):
5962         New file dialog symbols, vars.
5963
5964         * dialog-x.c:
5965         * dialog-x.c (maybe_run_dbox_text_callback):
5966         * dialog-x.c (dbox_descriptor_to_widget_value):
5967         * dialog-x.c (x_make_dialog_box_internal):
5968         * dialog-x.c (console_type_create_dialog_x):
5969         Mule-ize entire file.
5970         Redo to support question dialog syntax.
5971         [6].
5972
5973         * dialog.c:
5974         * dialog.c (Fmake_dialog_box_internal):
5975         * dialog.c (syms_of_dialog):
5976         Kill old popup-dialog-box, replace with new primitive.
5977         Just call device method or signal error.
5978
5979         * eldap.c (Fldap_open):
5980         * eldap.c (Fldap_search_basic):
5981         * eldap.c (Fldap_add):
5982         * eldap.c (Fldap_modify):
5983         [1].
5984         [7].
5985
5986         * emacs.c:
5987         * emacs.c (make_arg_list_1):
5988         * emacs.c (make_arg_list):
5989         Mule-ize call to dll_init().
5990         [6].
5991         [8].
5992
5993         * emacs.c (make_argc_argv):
5994         * emacs.c (free_argc_argv):
5995         * emacs.c (init_cmdargs):
5996         * emacs.c (main_1):
5997         * emacs.c (Fkill_emacs):
5998         * emacs.c (Fdump_emacs):
5999         Update comments about what can be used in syms_* etc.
6000         Call init_win32() when necessary.
6001         Fix up MS Win dialog box in kill-buffer to actually work right.
6002         [7].
6003
6004         * eval.c:
6005         * eval.c (For):
6006         * eval.c (Fand):
6007         * eval.c (Fprogn):
6008         * eval.c (Fprog1):
6009         * eval.c (Fprog2):
6010         * eval.c (FletX):
6011         * eval.c (Flet):
6012         * eval.c (condition_case_3):
6013         * eval.c (Feval):
6014         * eval.c (function_argcount):
6015         * eval.c (funcall_lambda):
6016         [1].
6017
6018         * eval.c (type_error): New.
6019         * eval.c (maybe_type_error): New.
6020         * eval.c (continuable_type_error): New.
6021         * eval.c (maybe_continuable_type_error): New.
6022         * eval.c (type_error_with_frob): New.
6023         * eval.c (maybe_type_error_with_frob): New.
6024         * eval.c (continuable_type_error_with_frob): New.
6025         * eval.c (maybe_continuable_type_error_with_frob): New.
6026         New functions for use with structured errors.
6027
6028         * event-Xt.c:
6029         * event-Xt.c (x_event_to_emacs_event):
6030         Buttons are now modifiers too.
6031
6032         * event-Xt.c (emacs_Xt_current_event_timestamp):
6033         Implement new event method.
6034         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6035
6036         * event-msw.c:
6037         * event-msw.c (ntpipe_shove_writer): [5].
6038         * event-msw.c (mswindows_enqueue_mouse_button_event):
6039         * event-msw.c (mswindows_drain_windows_queue):
6040         * event-msw.c (mswindows_wnd_proc): [7].
6041         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6042         * event-msw.c (mswindows_modifier_state):
6043         Throughout: support new button modifiers.
6044
6045         * event-msw.c (emacs_mswindows_current_event_timestamp):
6046         Implement new event method.
6047         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6048
6049         * event-stream.c:
6050         * event-stream.c (event_stream_current_event_timestamp): New.
6051         * event-stream.c (maybe_kbd_translate): New functionality.
6052         * event-stream.c (vars_of_event_stream):
6053         Document new kbd-translate-table functionality.
6054
6055         * event-stream.c (Fcurrent_event_timestamp): New.
6056         New primitive for use in fabricated events.
6057         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6058
6059         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6060
6061         * events.c:
6062         * events.c (Fmake_event):
6063         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6064         [1].
6065         [9].
6066
6067         * events.c (format_event_object): fix gcc warnings.
6068
6069         * events.c (Fevent_timestamp): Document new primitives.
6070
6071         * events.c (TIMESTAMP_HALFSPACE): New.
6072
6073         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6074         comparing timestamps correctly (half-space algorithm).
6075
6076         * events.c (Fevent_modifier_bits): Doc fix.
6077
6078         * events.c (Fevent_modifiers): Major doc addition.
6079         * events.c (event_x_y_pixel_internal): Typo fix.
6080         * events.c (syms_of_events): Declare new primitives.
6081
6082         * events.h:
6083         Update long comment for button modifiers, timestamps.
6084
6085         * events.h (struct event_stream):
6086         New current_event_timestamp method.
6087
6088         * extents.c:
6089         * extents.c (extent_in_region_p):
6090         * extents.c (decode_extent):
6091         * extents.c (Fset_extent_parent):
6092         * extents.c (decode_map_extents_flags):
6093         Fix gcc warnings.
6094         [9].
6095
6096         * extents.c (struct extent_at_arg):
6097         * extents.c (decode_extent_at_flag):
6098         * extents.c (extent_at_mapper):
6099         * extents.c (extent_at_bytind):
6100         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6101         * extents.c (Fextents_at): New primitive. [9].
6102         * extents.c (symbol_to_glyph_layout): [9].
6103         Support new primitive `extents-at'.
6104
6105
6106         * extents.c (get_text_property_bytind):
6107         extent_at_bytind has another arg.
6108         [9].
6109
6110         * extents.c (syms_of_extents): New primitive.
6111
6112         * file-coding.c (Fmake_coding_system): [1].
6113         * file-coding.c (subsidiary_coding_system): fix gcc warning
6114         * file-coding.c (syms_of_file_coding): [2].
6115
6116         * fileio.c (Fexpand_file_name):
6117         * fileio.c (Fsysnetunam):
6118         * fileio.c (Ffile_exists_p):
6119         * fileio.c (Ffile_executable_p):
6120         * fileio.c (Fverify_visited_file_modtime):
6121         Clean up GCPROing.
6122
6123         * fileio.c (syms_of_fileio): [2].
6124
6125         * filelock.c (lock_file_1):
6126         * filelock.c (current_lock_owner):
6127         * filelock.c (lock_if_free):
6128         * filelock.c (lock_file):
6129         * filelock.c (unlock_file):
6130         Clean up GCPROing.
6131
6132         * fns.c (concat): Fix gcc warning.
6133
6134         * fns.c (Fmember):
6135         * fns.c (Fold_member):
6136         * fns.c (Fmemq):
6137         * fns.c (Fold_memq):
6138         * fns.c (memq_no_quit):
6139         * fns.c (Fassoc):
6140         * fns.c (Fold_assoc):
6141         * fns.c (Fassq):
6142         * fns.c (Fold_assq):
6143         * fns.c (assq_no_quit):
6144         * fns.c (Frassoc):
6145         * fns.c (Fold_rassoc):
6146         * fns.c (Frassq):
6147         * fns.c (Fold_rassq):
6148         * fns.c (rassq_no_quit):
6149         * fns.c (Fdelete):
6150         * fns.c (Fold_delete):
6151         * fns.c (Fdelq):
6152         * fns.c (Fold_delq):
6153         * fns.c (delq_no_quit):
6154         * fns.c (Fremassoc):
6155         * fns.c (Fremassq):
6156         * fns.c (remassq_no_quit):
6157         * fns.c (Fremrassoc):
6158         * fns.c (Fremrassq):
6159         * fns.c (remrassq_no_quit):
6160         * fns.c (Freverse):
6161         * fns.c (mapcar1):
6162         [1].
6163
6164         * frame-msw.c (mswindows_init_frame_1):
6165         * frame-msw.c (mswindows_delete_frame):
6166         Register popups with dialog code so keyboard traversing works.
6167
6168         * frame-tty.c (tty_raise_frame_no_select): [1].
6169
6170         * frame-x.c:
6171         * frame-x.c (x_set_frame_text_value):
6172         * frame-x.c (x_set_frame_properties):
6173         * frame-x.c (x_create_widgets):
6174         [7].
6175
6176         * frame.c:
6177         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6178
6179         * frame.h (wrap_frame): New.
6180         Macro like wrap_device.
6181
6182         * general.c:
6183         * general.c (SYMBOL):
6184         * general.c (syms_of_general):
6185         Major reorg.  This is now just a wrapper and symbols themselves
6186         are listed in general-slots.h.
6187
6188         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6189         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6190
6191         * glyphs-msw.c (mswindows_native_layout_instantiate):
6192         Add DS_CONTROL so keyboard traversal will work.
6193
6194         * glyphs-widget.c:
6195         * glyphs-widget.c (syms_of_glyphs_widget):
6196         Move some symbols to general-slots.h.
6197
6198         * glyphs-x.c:
6199         * glyphs-x.c (xbm_instantiate_1):
6200         * glyphs-x.c (x_xbm_instantiate):
6201         * glyphs-x.c (x_xface_instantiate):
6202         * glyphs-x.c (autodetect_instantiate):
6203         * glyphs-x.c (cursor_font_instantiate):
6204         * glyphs-x.c (x_update_widget):
6205         * glyphs-x.c (x_widget_instantiate):
6206         * glyphs.c (bitmap_to_lisp_data):
6207         * glyphs.c (pixmap_to_lisp_data):
6208         [7].
6209
6210         * glyphs.c (syms_of_glyphs):
6211         [2].
6212
6213         * gui-x.c:
6214         * gui-x.c (print_widget_value):
6215         * gui-x.c (menu_separator_style_and_to_external):
6216         * gui-x.c (add_accel_and_to_external):
6217         * gui-x.c (button_item_to_widget_value):
6218         * gui-x.c (gui_items_to_widget_values_1):
6219         * gui-x.c (gui_items_to_widget_values):
6220         * gui-x.c (syms_of_gui_x):
6221         * gui-x.c (vars_of_gui_x):
6222         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6223         [9].
6224
6225         * gui-x.h:
6226         Muleize, prototype changes matching gui-x.c.
6227
6228         * gui.c:
6229         * gui.c (separator_string_p):
6230         * gui.c (gui_item_add_keyval_pair):
6231         * gui.c (make_gui_item_from_keywords_internal):
6232         * gui.c (signal_too_long_error):
6233         * gui.c (parse_gui_item_tree_item):
6234         * gui.c (syms_of_gui):
6235         * gui.c (vars_of_gui):
6236         * gui.h:
6237         menu-no-selection-hook moved here (used by MSWin).
6238         Move some symbols to general-slots.h.
6239         [6].
6240         [9].
6241
6242         * insdel.c (get_buffer_pos_char):
6243         * insdel.c (get_buffer_range_char):
6244         Add GC comments.
6245
6246         * keymap.c (keymap_lookup_directly):
6247         * keymap.c (keymap_store):
6248         * keymap.c (ensure_meta_prefix_char_keymapp):
6249         * keymap.c (describe_map):
6250         * keymap.h:
6251         Support new button modifiers.
6252
6253         * lisp-disunion.h (wrap_object):
6254         * lisp-disunion.h (XSETOBJ):
6255         Rename make_obj to wrap_object.
6256
6257         * lisp-union.h:
6258         * lisp-union.h (make_int):
6259         * lisp-union.h (make_char):
6260         Support wrap_object.
6261
6262         * lisp.h:
6263         * lisp.h (LIST_LOOP):
6264         * lisp.h (EXTERNAL_LIST_LOOP):
6265         * lisp.h (LIST_LOOP_2):
6266         * lisp.h (EXTERNAL_LIST_LOOP_1):
6267         * lisp.h (EXTERNAL_LIST_LOOP_2):
6268         * lisp.h (EXTERNAL_LIST_LOOP_3):
6269         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6270         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6271         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6272         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6273         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6274         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6275         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6276         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6277         * lisp.h (struct Lisp_Symbol):
6278         * lisp.h (maybe_continuable_error_with_frob):
6279         Fix up section comments.
6280         Add new types for char to indicate usage.
6281         Delete symbols auto-generated from general-slots.h.
6282         Add prototypes for structured error functions.
6283         Add long comments describing looping macros and change interface
6284         so that lvalues are automatically declared.
6285         Add NO_DECLARE macro in case callers want to declare lvalues
6286         themselves.
6287
6288         * lread.c (read_syntax_error):
6289         * lread.c (continuable_read_syntax_error):
6290         * lread.c (read_structure):
6291         * lread.c (sequence_reader):
6292         * lread.c (read_list_conser):
6293         * lread.c (read_compiled_function):
6294         Rename syntax_error and continuable_syntax_error to avoid clash
6295         with same-named structured error functions.
6296
6297         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6298         * menubar-msw.c (populate_menu_add_item):
6299         * menubar-msw.c (populate_or_checksum_helper):
6300         [5].
6301         [9].
6302
6303         * menubar-x.c:
6304         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6305         Mule-ize whole file.
6306
6307         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6308
6309         * mule-charset.c (Fmake_charset):
6310         * mule-wnnfns.c (Fwnn_set_param):
6311         [1].
6312
6313         * ntproc.c (create_child):
6314         * ntproc.c (Fwin32_set_current_locale):
6315         Add comments portending doom.
6316
6317         * objects-msw.c:
6318         * objects-msw.c (old_font_enum_callback_2):
6319         * objects-msw.c (font_enum_callback_1):
6320         * objects-msw.c (mswindows_enumerate_fonts):
6321         [5].
6322
6323         * objects-x.c:
6324         * objects-x.c (allocate_nearest_color):
6325         * objects-x.c (x_parse_nearest_color):
6326         * objects-x.c (x_initialize_color_instance):
6327         * objects-x.c (x_print_color_instance):
6328         * objects-x.c (x_finalize_color_instance):
6329         * objects-x.c (x_valid_color_name_p):
6330         * objects-x.c (x_initialize_font_instance):
6331         * objects-x.c (x_print_font_instance):
6332         * objects-x.c (valid_x_font_name_p):
6333         * objects-x.c (truename_via_FONT_prop):
6334         * objects-x.c (truename_via_random_props):
6335         * objects-x.c (truename_via_XListFonts):
6336         * objects-x.c (x_font_truename):
6337         * objects-x.c (x_font_instance_truename):
6338         * objects-x.c (x_font_instance_properties):
6339         * objects-x.c (x_list_fonts):
6340         * objects-x.c (x_find_charset_font):
6341         Mule-ize entire file.
6342         [7].
6343
6344         * objects-x.h:
6345         Mule-verify.
6346
6347         * print.c:
6348         * print.c (std_handle_out_external):
6349         * print.c (debug_print_no_newline):
6350         * print.c (syms_of_print):
6351         Output to all debugger kinds in debug-print.
6352         Fix console-output code under MSWin to actually work.
6353
6354         * process-nt.c (send_signal):
6355         * process-nt.c (nt_create_process):
6356         Use newer Unicode macros.
6357
6358         * process-unix.c (unix_create_process):
6359         * process-unix.c (unix_canonicalize_host_name):
6360         * process-unix.c (unix_open_network_stream):
6361         [7].
6362
6363         * scrollbar-x.c:
6364         Mule-verify.
6365
6366         * search.c (syms_of_search):
6367         [2].
6368
6369         * select-msw.c (mswindows_destroy_selection):
6370         Use LIST_LOOP_2.
6371
6372         * select-x.c (symbol_to_x_atom):
6373         [7].
6374
6375         * select.c (syms_of_select):
6376         [2].
6377
6378         * sound.c (Fplay_sound_file):
6379         [7].
6380
6381         * specifier.c:
6382         * specifier.c (decode_specifier_type):
6383         * specifier.c (Fvalid_specifier_locale_type_p):
6384         * specifier.c (check_valid_locale_or_locale_type):
6385         * specifier.c (decode_locale):
6386         * specifier.c (decode_locale_type):
6387         * specifier.c (decode_locale_list):
6388         * specifier.c (check_valid_domain):
6389         * specifier.c (decode_specifier_tag_set):
6390         * specifier.c (Fcanonicalize_tag_set):
6391         * specifier.c (Fdefine_specifier_tag):
6392         * specifier.c (Fspecifier_tag_predicate):
6393         * specifier.c (check_valid_inst_list):
6394         * specifier.c (check_valid_spec_list):
6395         * specifier.c (decode_how_to_add_specification):
6396         * specifier.c (check_modifiable_specifier):
6397         * specifier.c (specifier_add_spec):
6398         * specifier.c (boolean_validate):
6399         * specifier.c (display_table_validate):
6400         [9].
6401
6402         * specifier.c (syms_of_specifier):
6403         Move some symbols to general-slots.h.
6404         [2].
6405
6406         * symbols.c:
6407         * symbols.c (Fmapatoms):
6408         * symbols.c (Fapropos_internal):
6409         Add GCPROs.
6410
6411         * symbols.c (set_default_buffer_slot_variable):
6412         * symbols.c (set_default_console_slot_variable):
6413         [1].
6414
6415         * symbols.c (defsymbol_massage_name_1):
6416         * symbols.c (defkeyword_massage_name):
6417         * symbols.c (deferror_1):
6418         * symbols.c (deferror):
6419         * symbols.c (deferror_massage_name_and_message):
6420         * symeval.h:
6421         * symeval.h (DEFSYMBOL):
6422         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6423
6424         * symbols.c (syms_of_symbols):
6425         [2].
6426
6427         * symsinit.h:
6428         * symsinit.h (init_win32): New.
6429         Also new is syms_of_dialog_mswindows.
6430
6431         * syswindows.h:
6432         Add new Unicode macros, missing Cygwin wide-char functions,
6433         convenience conversion macros for Qmswindows_tstr, macros for
6434         encapsulating required MSWin <-> Cygwin filename conversions,
6435         prototype for dynamically-extracted (not in NT 3.51) functions.
6436
6437         * toolbar-x.c:
6438         Mule-verify.
6439
6440         * tooltalk.c (Fadd_tooltalk_message_arg):
6441         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6442         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6443         [7].
6444
6445         * tooltalk.c (syms_of_tooltalk):
6446         [2].
6447
6448         * unexnt.c:
6449         * unexnt.c (unexec):
6450         Fix up headers, declaration of unexec() to be more standard.
6451
6452 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6453
6454         * offix.h: Revert change to guard macros - they're used in offix.c!
6455
6456 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6457
6458         * lisp.h: Defsubred Fdelete.
6459
6460         * console-msw.h:  (msprinter_default_printer): Added.
6461
6462         * console-msw.c (msprinter_canonicalize_console_connection):
6463         (msprinter_canonicalize_device_connection): Added.
6464
6465         * device-msw.c (msprinter_default_printer):
6466         (Fmswingows_get_default_printer):
6467         (signal_enum_priner_error):
6468         (Fmswingows_printer_list): Added.
6469
6470 2000-07-19  Martin Buchholz <martin@xemacs.org>
6471
6472         * XEmacs 21.2.35 is released.
6473
6474 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6475
6476         * select-x.c (x_handle_selection_request):
6477         Text selected in xemacs and pasted into xterm failed to appear.
6478         Spelling fixes and cosmetic changes.
6479
6480 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6481
6482         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6483         XEmacs frame (fix for doubling chars in dialog boxes).
6484
6485 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6486
6487         * select.c (select_convert_in, select_convert_out):
6488         Don't call intern() every time.
6489
6490         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6491         * select.c (vars_of_select): Initialise them.
6492
6493 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6494
6495         * select.c (selection-coercible-types): New.
6496
6497         * select.c (own-selection-internal):
6498         * select.c (get-selection-internal):
6499         MULE bug fix - these should default to COMPOUND_TEXT and not
6500         STRING for MULE. I think.
6501
6502         * select.c (select_convert_out): Use selection-coercible-types
6503         to find types that we can attempt to perform coercions on.
6504
6505 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6506
6507         * mule-wnnfns.c:
6508         * mule-canna.c:
6509         Add coding: cookie to identify encoding.
6510
6511         * mule-canna.c (CANNA_mode_keys): make static.
6512         Use proper prototypes, even for functions of no arguments.
6513         Remove external prototype for Fding().
6514
6515         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6516
6517         * select.c (syms_of_select): Add missing DEFSUBR.
6518
6519 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6520
6521         * select.c (get_selection_internal, own_selection_internal):
6522         Make the type default to STRING, rather than placing a nil type
6523         into Vselection_alist.
6524
6525 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6526
6527         * gpmevent.c (tty_selection_exists_p):
6528         * gpmevent.c (tty_own_selection):
6529         Updated parameter lists.
6530
6531 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
6532
6533         * select.h (selection-alist): Removed declaration.
6534
6535         * select.h (get_local_selection):
6536         * select.c (get_local_selection):
6537         Made static.
6538
6539         * select.h (convert_selection): Removed declaration.
6540         * select.c (convert_selection): Removed.
6541         This function belongs in Lisp.
6542
6543         * select.h (select_convert_in): Declare.
6544         * select.h (select_convert_out): Declare.
6545         * select.c (select_convert_in): New.
6546         * select.c (select_convert_out): New.
6547         New conversion functions for other files to call.
6548
6549         * select.h (select_notify_buffer_kill): Declare.
6550         * select.c (select_notify_buffer_kill): New.
6551         New functions that get called from kill-buffer.
6552
6553         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
6554         X-specific lisp code.
6555
6556         * select.h: Declare some of the lisp-visible functions for
6557         external use.
6558
6559         * select.c (clean_local_selection_data): Removed. This was
6560         a disgusting function, and previously should have been in
6561         select-x.c in any case. The functionality is now provided
6562         in select-convert-from-integer (select.el).
6563
6564         * select.c (available-selection-types): Fixed stupidity where
6565         INTEGER and ATOM got added twice. Also add STRING when we see an
6566         extent.
6567
6568         * select.c (get-selection-internal): Removed symbol stripping. No
6569         longer causes conversion when data comes from the internal cache.
6570
6571         * select.c (syms_of_select): Added new functions.
6572
6573         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
6574         error checking - previously this called abort!
6575
6576         * select-x.c (x_own_selection): Changed comment.
6577
6578         * select-x.c (x_handle_selection_request): Use select_convert_out.
6579         Don't mess with selection-alist; it's an internal variable of select.c.
6580
6581         * select-x.c (x_get_foreign_selection): Use select_convert_in.
6582
6583         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
6584         rather than messing with selection-alist.
6585
6586         * select-msw.c (mswindows_get_foreign_selection):
6587         Use TO_INTERNAL_FORMAT rather than hacking.
6588
6589 2000-07-14  Martin Buchholz  <martin@xemacs.org>
6590
6591         * process-unix.c (unix_open_multicast_group):
6592         (unix_open_multicast_group): Remove useless casts.
6593
6594 2000-07-13  Martin Buchholz  <martin@xemacs.org>
6595
6596         * sound.c (Fplay_sound): Fix `unused variable' warning.
6597
6598         * emacs.c (main): Use correct type for _environ on SCO5.
6599
6600 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
6601
6602         * console.h (own_selection_method):
6603         * console.h (selection_exists_p_method):
6604         * console.h (available_selection_types_method): New.
6605         * console.h (register_selection_data_type_method): New.
6606         * console.h (selection_data_type_name): New.
6607
6608         * console-msw.h (mswindows_destroy_selection): Declare it.  New
6609         function & alist to track GlobalAlloc()'d handles that need
6610         releasing when the clipboard data gets replaced or emptied.
6611
6612         * event-msw.c (mswindows_wnd_proc): Call it.
6613
6614         * lisp.h, general.c (Qappend): New symbol representing a
6615         `how-to-add' mode.
6616
6617         * select.c (own-selection-internal):
6618         * select.c (selection-exists-p):
6619         * select.c (available-selection-types): New.
6620         * select.c (register-selection-data-type): New.
6621         * select.c (selection-data-type-name): New.  New functions to deal
6622         with device-specific selection data formats.
6623         * select.c (selection-converter-out-alist): Renamed.
6624         * select.c (selection-converter-in-alist): New.
6625         * select.c (selection-appender-alist): New.  Added new alists.
6626         * select.c (syms_of_select, vars_of_select): Added new symbols &
6627         variables.
6628         * select.c (get_local_selection): Split.
6629         * select.c: Removed spurious type checking - selections may now be
6630         of any type, not just strings.
6631         * select.c (own-selection-internal):
6632
6633         * select.h, select.c (convert_selection): New. Created
6634         convert_selection() function based on get_local_selection().
6635         * select.h, select.c (QCF_*): New symbols representing mswindows
6636         clipboard formats.
6637         * select.h, select.c (Qreplace_all, Qreplace_existing): New
6638         symbols representing `how-to-add' modes.
6639
6640         * select-msw.c (x_sym_p): New.
6641         * select-msw.c (symbol_to_ms_cf): New.
6642         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
6643         symbols & clipboard formats. Can also handle string names.
6644         * select-msw.c (mswindows_own_selection):
6645         * select-msw.c (mswindows_selection_exists_p):
6646         Added `data-type' parameter. Use it.
6647         * select-msw.c (mswindows_available_selection_types): New.
6648         * select-msw.c (mswindows_register_selection_data_type): New.
6649         * select-msw.c (mswindows_selection_data_type_name): New.
6650         * select-msw.c (mswindows_own_selection):
6651         * select-msw.c (mswindows_get_foreign_selection):
6652         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
6653         * select-msw.c (console_create_select_mswindows): Added new methods.
6654         * select-msw.c (mswindows_destroy_selection): New.
6655         * select-msw.c (Vhandle_alist): New list.
6656         * select-msw.c (mswindows_own_selection):
6657
6658         * select-x.c (x_own_selection):
6659         * select-x.c (x_selection_exists_p):
6660         * select-x.c: Added some comments about maybe using new
6661         functionality.
6662         * select-x.c (x_own_selection):
6663
6664         * specifier.c: Remove definition of Qappend (now in general.c)
6665         * specifier.c (syms_of_specifier): Remove Qappend.
6666
6667 2000-07-12  Martin Buchholz  <martin@xemacs.org>
6668
6669         * config.h.in: Add socklen_t.
6670
6671         * s/decosf4-0.h: No special compiler flags needed or desired.
6672         In particular, undefine _BSD for DEC OSF 4.0.
6673
6674 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6675
6676         * redisplay-msw.c (msprinter_frame_output_end): Added.
6677         (console_type_create_redisplay_mswindows): Referred the above.
6678
6679         * frame.c (setup_frame_without_minibuffer): Do not create a
6680         default minibuffer frame on a printer device.
6681
6682         * frame-msw.c (apply_dc_geometry): Added.
6683         (msprinter_start_page):
6684         (msprinter_init_frame_3):
6685         (msprinter_eject_page): Use it.
6686
6687         * console-msw.h (struct msprinter_frame): Added pix_left and top,
6688         and removed residual duplex and orientation properties.
6689
6690 2000-07-11  Martin Buchholz  <martin@xemacs.org>
6691
6692         * eval.c (function_argcount): Work around a DEC CC compiler bug.
6693
6694         * unexalpha.c: Remove system prototypes from C sources!
6695
6696 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
6697
6698         * eval.c: Remove references to M-x edit-options in DEFUNs for
6699         `defvar' and `defconst'.
6700
6701 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6702
6703         * config.h.in: Remove SMART_INCLUDE hackery.
6704
6705         PostgreSQL hacking:
6706         * config.h.in: Don't use SMART_INCLUDE.
6707
6708         * postgresql.h: Include libpq-fe.h here.  Fix typo.
6709         * inline.c: Simply #include "postgresql.h"
6710         * postgresql.c:
6711         - Don't use SMART_INCLUDE
6712         - Use simply "const".
6713         - Use standard doc string conventions.
6714         - Use correct type for result of PQstatus.
6715
6716 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6717
6718         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
6719
6720         C++ compilation changes.
6721         * config.h.in (EXTERN_C): Define.
6722         * config.h.in (not): This is also a C++ keyword.
6723         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
6724         * cm.c: Use EXTERN_C.
6725         * redisplay-tty.c: Use EXTERN_C.
6726         * sysdep.c: Use EXTERN_C.  Remove Gould support.
6727
6728 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6729
6730         * general.c: Remove duplicate definition for Qfunction.
6731
6732 2000-07-08  Ben Wing  <ben@xemacs.org>
6733
6734         * device-msw.c (msprinter_init_device):
6735         * device-msw.c (sync_printer_with_devmode):
6736         * device-msw.c (handle_devmode_changes):
6737         * device-msw.c (print_dialog_worker):
6738         * device-msw.c (Fmsprinter_apply_settings):
6739         * device-msw.c (hash_devmode):
6740         * device-msw.c (Fmsprinter_settings_despecialize):
6741         use Qmswindows_tstr, not Qctext.
6742
6743         * vm-limit.c (check_memory_limits):
6744         avoid infinite loop printing warning messages.
6745
6746 2000-07-05  Craig Lanning  <lanning@scra.org>
6747
6748         * Makefile.in.in: Add support for including the Windows resources
6749         when building with the cygwin and mingw targets.
6750
6751         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
6752         not set or not correct.
6753         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
6754         (init_initial_directory): Don't try to use $PWD on the
6755         WIN32_NATIVE target.
6756
6757         * s\cygwin32.h:
6758         [[Add -mwindows to eliminate console window.]] not required --ben
6759         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6760         (MAIL_USE_POP): removed; now handled by configure.
6761
6762         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
6763         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
6764         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6765         (MAIL_USE_POP): removed; now handled by configure.
6766         (ENCAPSULATE_STAT): from Dan Holmsand, added.
6767         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
6768         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
6769         constant string.
6770         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
6771         up from <winsock.h> via systime.h.
6772         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
6773         (getpagesize): from Dan Holmsand, added.
6774         Added #endif which was left dangling by Ben's mega patch; added
6775         comment to help prevent this in the future.
6776
6777         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
6778
6779 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6780
6781         * console-msw.h (struct mswindows_device): Removed unnecessary
6782         cached device geometry values.
6783         Added update_tick and an accessor macro.
6784         (Lisp_Devmode): Added lrecord declaration.
6785         (struct msprinter_device): Contain devmode as a Lisp object.
6786         Added mswindows_get_selected_frame_hwnd();
6787
6788         * console.h (struct console_methods): Indentation nitpicking.
6789
6790         * device-msw.c (mswindows_init_device): Do not initialize geometry
6791         cache. Initialize update tick.
6792         (mswindows_device_system_metrics): Ask the device for its geometry.
6793         (global_free_2_maybe):
6794         (devmode_to_hglobal):
6795         (handle_printer_changes):
6796         (ensure_not_printing):
6797         (print_dialog_worker):
6798         (Fmsprinter_print_setup_dialog):
6799         (Fmsprinter_print_dialog):
6800         (plist_get_margin):
6801         (plist_set_margin):
6802         (Fmsprinter_page_setup_dialog): Added functions.
6803         (sync_printer_with_devmode):
6804         (handle_devmode_changes):
6805         (Fmsprinter_get_settings):
6806         (Fmsprinter_select_settings):
6807         (Fmsprinter_apply_settings):
6808         (allocate_devmode):
6809         (Fmsprinter_settings_copy):
6810         (Fmsprinter_settings_despecialize):
6811         (print_devmode):
6812         (finalize_devmode):
6813         (equal_devmode):
6814         (hash_devmode): Added functions
6815         (syms_of_device_mswindows): Init devmode lrecord class.
6816
6817         * device.h: Added an exfun for find-device.
6818
6819         * event-msw.c (mswindows_wnd_proc): Do not update the cached
6820         geometry; although, recreate the device compatible DC.
6821
6822         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
6823         (msprinter_init_frame_3):
6824         (msprinter_frame_property):
6825         (msprinter_internal_frame_property_p):
6826         (msprinter_frame_properties):
6827         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
6828         print job properties (will move to device settings).
6829
6830         * lisp.h: Added symbols.
6831
6832         * general.c (syms_of_general): Declared them.
6833
6834         * hash.c (string_hash): Added.
6835
6836         * lrecord.h (lrecord_type): Added devmode lrecord type.
6837
6838 2000-07-02  Mike Sperber <mike@xemacs.org>
6839
6840         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
6841         FreeBSD 4.0.
6842
6843 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
6844
6845         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
6846         integer.
6847
6848 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
6849
6850         * data.c (Fstring_to_number): Don't recognize floating point if
6851         base is not 10.
6852
6853 2000-06-22  Martin Buchholz  <martin@xemacs.org>
6854
6855         * glyphs-widget.c (tab_control_query_geometry):
6856         (widget_query_geometry):
6857         (button_query_geometry):
6858         * glyphs.c (text_query_geometry):
6859         Enforce type correctness.
6860
6861 2000-06-18  Martin Buchholz  <martin@xemacs.org>
6862
6863         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
6864         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
6865
6866 2000-06-17  Martin Buchholz  <martin@xemacs.org>
6867
6868         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
6869         conflicts with gcc's fixincluded version of FOO.h.
6870
6871         * glyphs.h (image_instance_geometry): Remove trailing `,'
6872
6873 2000-06-08  Mike Alexander  <mta@arbortext.com>
6874
6875         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
6876         (shove_thread): Don't write the same output twice
6877         (make_ntpipe_output_stream): Increase priority of shove thread
6878         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
6879         chance to run
6880         (ntpipe_shove_closer): Don't delete the pipe until we're done with
6881         it.
6882
6883 2000-06-12  Ben Wing  <ben@xemacs.org>
6884
6885         * s\mingw32.h (sigset):
6886         * s\windowsnt.h (sigset):
6887         rename msw_ to mswindows_ for consistency with general convention.
6888
6889 2000-06-12  Ben Wing  <ben@xemacs.org>
6890
6891         * console-msw.c:
6892         * console-msw.c (mswindows_get_console_hwnd):
6893         * console-msw.c (mswindows_ensure_console_allocated):
6894         * console-msw.c (mswindows_hide_console):
6895         * console-msw.c (mswindows_show_console):
6896         * console-msw.c (mswindows_ensure_console_buffered):
6897         * console-msw.c (mswindows_output_console_string):
6898         * console-msw.c (mswindows_windows9x_p):
6899         * console-msw.h:
6900         * device-msw.c (mswindows_get_workspace_coords):
6901         * device-msw.c (mswindows_device_system_metrics):
6902         * dialog-msw.c (mswindows_popup_dialog_box):
6903         * event-msw.c (mswindows_wnd_proc):
6904         * frame-msw.c (mswindows_size_frame_internal):
6905         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6906         * menubar-msw.c (displayable_menu_item):
6907         * menubar-msw.c (mswindows_char_is_accelerator):
6908         * nt.c:
6909         * nt.c (mswindows_sigset):
6910         * nt.c (mswindows_sigrelse):
6911         * nt.c (mswindows_sigpause):
6912         * nt.c (mswindows_raise):
6913         * nt.c (timer_proc):
6914         * ntproc.c:
6915         * ntproc.c (find_child_console):
6916         * ntproc.c (sys_kill):
6917         * print.c:
6918         * print.c (std_handle_out_external):
6919         * process-nt.c (find_child_console):
6920         * process-nt.c (send_signal_the_95_way):
6921         * process-nt.c (ensure_console_window_exists):
6922         * process-nt.c (nt_create_process):
6923         * syssignal.h:
6924         rename msw_ to mswindows_ for consistency with general convention.
6925
6926         * emacs.c:
6927         * dumper.c:
6928         include nt.h, not syswindows.h.
6929
6930         * nt.c (mswindows_fstat):
6931         * nt.c (mswindows_stat):
6932         prefix mswindows_ instead of attempting to directly override the
6933         library functions.  fix declarations.
6934
6935         * nt.h:
6936         include syswindows.h.  move some sysdep.h stuff here.
6937
6938         * ntheap.h:
6939         include syswindows.h, not <windows.h>.
6940
6941         * ntplay.c:
6942         clean up headers.
6943
6944         * sysdep.c:
6945         clean up headers.
6946
6947         * sysdep.c (sys_fstat):
6948         * sysdep.c (sys_stat):
6949         call mswindows versions when appropriate.
6950
6951         * sysdep.h:
6952         move mswin decls to nt.h.
6953
6954         * syswindows.h:
6955         add long comment describing appropriate use of the various windows
6956         headers.
6957
6958 2000-06-11  Ben Wing  <ben@xemacs.org>
6959
6960         * device-x.c: Correct doc string for sixth arg of x-get-resource.
6961
6962 2000-06-10  Ben Wing  <ben@xemacs.org>
6963
6964         * Makefile.in.in (release):
6965         Correction to make sure xemacs.exe always dumped when correct.
6966
6967         * alloca.c:
6968         * balloon_help.c:
6969         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
6970
6971         * buffer.c (set_buffer_internal):
6972         [[[[2]]]]: Remove HAVE_FEP code.
6973
6974         * buffer.c (init_initial_directory):
6975         [3].
6976
6977         * bytecode.c:
6978         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
6979         individual files.
6980
6981         * callproc.c:
6982         * callproc.c (call_process_cleanup):
6983         * callproc.c (Fold_call_process_internal):
6984         * callproc.c (child_setup):
6985         * callproc.c (getenv_internal):
6986         * callproc.c (init_callproc):
6987         * callproc.c (vars_of_callproc):
6988         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
6989         __CYGWIN32__ -> CYGWIN.
6990         DOS_NT -> WIN32_NATIVE.
6991         Remove MSDOS support/references, converting to WIN32_NATIVE
6992           where correct.
6993         __MINGW32__ -> MINGW.
6994         Fix windows.h includes.
6995         Remove bogus HAVE_NTGUI.
6996
6997         * config.h.in:
6998         [2].
6999
7000         * console-msw.c:
7001         mswindows_message_outputted added for use in allowing startup
7002         errors on the console to be seen.
7003
7004         * console-msw.c (msw_ensure_console_allocated):
7005         * console-msw.c (msw_output_console_string):
7006         * console-msw.c (DHEADER):
7007         * console-msw.c (DOPAQUE_DATA):
7008         * console-msw.c (DEVENT):
7009         * console-msw.c (DCONS):
7010         * console-msw.c (DCONSCDR):
7011         * console-msw.c (DSTRING):
7012         * console-msw.c (DVECTOR):
7013         * console-msw.c (DSYMBOL):
7014         * console-msw.c (DSYMNAME):
7015         Fix warnings.
7016
7017         * console-stream.c (stream_init_console):
7018         Fix text/binary problems.
7019
7020         * device-msw.c:
7021         * device-msw.c (mswindows_finish_init_device):
7022         * device-msw.c (mswindows_delete_device):
7023         [1].
7024
7025         * device.c (handle_asynch_device_change):
7026         [3].
7027
7028         * dgif_lib.c:
7029         * dgif_lib.c (DGifOpenFileName):
7030         * dgif_lib.c (DGifOpenFileHandle):
7031         * dgif_lib.c (DGifGetLine):
7032         * dgif_lib.c (DGifGetPixel):
7033         Added config.h/lisp.h, fix up includes.
7034         [1].
7035
7036         * dired-msw.c:
7037         [4].
7038
7039         * dired.c:
7040         * dired.c (file_name_completion):
7041         * dired.c (Ffile_attributes):
7042         * dired.c (syms_of_dired):
7043         [1].
7044
7045         * dumper.c:
7046         * dumper.c (pdump_file_unmap):
7047         * dumper.c (pdump_load):
7048         [1].
7049
7050         * editfns.c:
7051         * editfns.c (Ftemp_directory):
7052         * editfns.c (user_login_name):
7053         * editfns.c (Fuser_real_login_name):
7054         * editfns.c (get_home_directory):
7055         [1].
7056
7057         * elhash.c (finish_marking_weak_hash_tables):
7058         [[[[5]]]]: Fix GCC warnings.
7059
7060         * emacs.c:
7061         * emacs.c (mswindows_handle_hardware_exceptions):
7062         * emacs.c (make_arg_list_1):
7063         * emacs.c (main_1):
7064         * emacs.c (Fkill_emacs):
7065         * emacs.c (Fdump_emacs):
7066         [1].
7067         Fix problems with nested crashes, add long comment.
7068
7069         * event-Xt.c (init_event_Xt_late):
7070         [1].
7071
7072         * event-msw.c:
7073         * event-msw.c (mswindows_dde_callback):
7074         * event-msw.c (mswindows_handle_sticky_modifiers):
7075         * event-msw.c (mswindows_wnd_proc):
7076         [1].
7077         [5].
7078
7079         * events.c (character_to_event):
7080         [1].
7081
7082         * fileio.c:
7083         * fileio.c (Ffile_name_directory):
7084         * fileio.c (Ffile_name_nondirectory):
7085         * fileio.c (directory_file_name):
7086         * fileio.c (Fexpand_file_name):
7087         * fileio.c (Fsubstitute_in_file_name):
7088         * fileio.c (Ffile_name_absolute_p):
7089         * fileio.c (check_executable):
7090         * fileio.c (Ffile_readable_p):
7091         * fileio.c (Ffile_accessible_directory_p):
7092         * fileio.c (Ffile_modes):
7093         * fileio.c (Funix_sync):
7094         * fileio.c (vars_of_fileio):
7095         [1]. [4].
7096
7097         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7098
7099         Expand getdefdir defn.
7100         Fix bogus rename() comment.
7101
7102         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7103         to use standard XEmacs include files, e.g. sysfile.h, rather
7104         than system-specific includes.
7105
7106         * fns.c:
7107         * fns.c (Fsubseq):
7108         [5]. [6].
7109
7110         * frame.c (vars_of_frame):
7111         [1].
7112
7113         * getloadavg.c:
7114         * getloadavg.c (getloadavg):
7115         [1]. [6].
7116         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7117         (We don't use it elsewhere in the code; just add a comment.)
7118
7119         * gif_io.c:
7120         [6].
7121         Add config.h.
7122
7123         * glyphs-msw.c:
7124         * glyphs-msw.c (mswindows_resource_instantiate):
7125         [1].
7126
7127         * glyphs-x.c (x_native_layout_instantiate):
7128         [5].
7129
7130         * gui-msw.c (Fmswindows_shell_execute):
7131         [1].
7132
7133         * insdel.c:
7134         [4].
7135
7136         * lisp.h:
7137         [4]. [5].
7138
7139         * lread.c (locate_file_in_directory_mapper):
7140         [1].
7141
7142         * lstream.c:
7143         [4].
7144
7145         * mem-limits.h:
7146         * mem-limits.h (get_lim_data):
7147         [1].
7148
7149         * menubar-msw.c:
7150         [4].
7151
7152         * ndir.h:
7153         [1].
7154
7155         * nt.c:
7156         * nt.c (getwd):
7157         * nt.c (closedir):
7158         * nt.c (rva_to_section):
7159         * nt.c (mswindows_executable_type):
7160         [1]. [6].
7161         Fix closedir() defn.
7162
7163         * nt.h:
7164         [[[[8]]]]: *_OK defs moved to sysfile.h.
7165
7166         * ntproc.c:
7167         [6]. [7].
7168
7169         * objects-x.c:
7170         [4].
7171
7172         * print.c:
7173         * print.c (std_handle_out_external):
7174         [1]. [4].
7175
7176         * process-nt.c:
7177         * process-nt.c (nt_create_process):
7178         [6].
7179         try to fix process quoting somewhat.
7180
7181         * process-unix.c (unix_create_process):
7182         [1].
7183
7184         * process.c:
7185         * process.c (vars_of_process):
7186         Add Vnull_device.
7187
7188         * process.h:
7189         [1].
7190
7191         * realpath.c:
7192         * realpath.c (xrealpath):
7193         [1].
7194
7195         * redisplay-tty.c (init_tty_for_redisplay):
7196         [3].
7197
7198         * redisplay.c:
7199         [4]. [6].
7200
7201         * scrollbar-msw.c:
7202         [4].
7203
7204         * sheap.c:
7205         * sheap.c (more_static_core):
7206         * sheap.c (report_sheap_usage):
7207         [5]. [6].
7208
7209         * signal.c:
7210         * signal.c (alarm_signal):
7211         [1]. [6].
7212
7213         * sound.c:
7214         [6].
7215
7216         * strftime.c:
7217         * strftime.c (zone_name):
7218         [1]. [5].
7219
7220         * symsinit.h (init_sunpro):
7221         [1].
7222
7223         * syscommctrl.h:
7224         commctrl.h not in Cygwin b20.1.
7225
7226         * sysdep.c:
7227         * sysdep.c (endif):
7228         * sysdep.c (sys_subshell):
7229         * sysdep.c (init_baud_rate):
7230         * sysdep.c (emacs_get_tty):
7231         * sysdep.c (emacs_set_tty):
7232         * sysdep.c (tty_init_sys_modes_on_device):
7233         * sysdep.c (init_system_name):
7234         * sysdep.c (sys_open):
7235         * sysdep.c (interruptible_open):
7236         * sysdep.c (sys_fopen):
7237         * sysdep.c (sys_mkdir):
7238         * sysdep.c (sys_rename):
7239         * sysdep.c (get_process_times_1):
7240         [1]. [6].
7241
7242         * sysdep.h:
7243         [1].
7244
7245         * sysdir.h:
7246         * sysdir.h (DIRENTRY_NONEMPTY):
7247         [1]. [6].
7248
7249         * sysdll.c (dll_init):
7250         * sysdll.h:
7251         [1].
7252
7253         * sysfile.h:
7254         [1]. [6]. [8].
7255         added text/binary defs.
7256
7257         * sysfloat.h:
7258         [1].
7259
7260         * sysproc.h:
7261         * sysproc.h (EDESTADDRREQ):
7262         * sysproc.h (poll_fds_for_input):
7263         [1]. [6].
7264
7265         * syspwd.h:
7266         [6].
7267
7268         * syssignal.h:
7269         [1].
7270
7271         * systime.h:
7272         [1]. [6].
7273
7274         * systty.h:
7275         [1].
7276
7277         * syswindows.h:
7278         [1].
7279         Always define WIN32_LEAN_AND_MEAN.
7280
7281         * unexcw.c (unexec):
7282         [5].
7283
7284         * unexec.c:
7285         * unexec.c (copy_text_and_data):
7286         * unexec.c (adjust_lnnoptrs):
7287         [1].
7288
7289         * unexnt.c:
7290         * unexnt.c (_start):
7291         [1].
7292
7293 2000-06-07  Ben Wing  <ben@xemacs.org>
7294
7295         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7296         was used only as a model.  We've long since extracted any useful
7297         logic or code out of this. (I just did an exhaustive search.)
7298
7299         * s\msdos.h: Removed.
7300
7301         * s\windows95.h: Removed.
7302
7303 2000-06-10  Ben Wing  <ben@xemacs.org>
7304
7305         * s\cygwin32.h:
7306         [1]. [5].
7307         Don't use extern with fun defs.
7308
7309         * s\mingw32.h:
7310         [1]. [7].
7311         Remove nt\inc include.
7312         Remove getdisk, getdefdir. (The former is unused, the latter
7313         expanded in fileio.h.)
7314
7315         * s\windowsnt.h:
7316         * s\windowsnt.h (WIN32_NATIVE):
7317         * s\windowsnt.h (HAVE_STRCASECMP):
7318         [1]. [7].
7319         Add long comment about preprocessor changes.
7320         Remove getdisk, getdefdir. (The former is unused, the latter
7321         expanded in fileio.h.)
7322
7323 2000-06-10  Ben Wing  <ben@xemacs.org>
7324
7325         * m\arm.h:
7326         * m\delta.h:
7327         * m\intel386.h:
7328         * m\sequent.h:
7329         * m\template.h:
7330         * m\windowsnt.h:
7331         [1].
7332         Remove bogus/unused NO_SOCK_SIGIO.
7333
7334 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7335
7336         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7337         not an Emchar.
7338
7339 2000-06-04  Mike Sperber <mike@xemacs.org>
7340
7341         * casetab.c (set_case_table): For `set-standard-case-table',
7342         actually deposit the new case tables where the rest of XEmacs can
7343         see them.
7344
7345 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7346
7347         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7348
7349 2000-06-05  Ben Wing  <ben@xemacs.org>
7350
7351         * callproc.c (child_setup): Don't do close_load_descs() under
7352         MS Windows.  Put in a comment explaining why.
7353
7354 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7355
7356         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7357         Toolkit shell" which breaks `kill-compilation' on Windows NT
7358         native, retaining STDERR handling improvements.
7359
7360 2000-06-01  Andreas Jaeger  <aj@suse.de>
7361
7362         * s/s390.h: Support for S390, based on a patch by Martin
7363         Schwidefsky <schwidefsky@de.ibm.com>.
7364
7365 2000-05-30  Andy Piper  <andy@xemacs.org>
7366
7367         * window.c (allocate_window):
7368         (make_dummy_parent):
7369         (Fset_window_configuration): use new hashtable type.
7370
7371         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7372         (struct image_instantiator_methods):
7373         (struct Lisp_Image_Instance): make instance geometry signed.
7374
7375         * glyphs.c (instantiate_image_instantiator):
7376         (image_instance_query_geometry):
7377         (image_instance_layout):
7378         (image_instance_layout):
7379         (query_string_geometry):
7380         (text_query_geometry):
7381         (image_instantiate):
7382         (image_instantiate):
7383         (cache_subwindow_instance_in_frame_maybe):
7384         (subwindow_query_geometry): make instance geometry signed.
7385
7386         * glyphs-widget.c (widget_query_geometry):
7387         (widget_layout):
7388         (button_query_geometry):
7389         (tree_view_query_geometry):
7390         (tab_control_query_geometry):
7391         (layout_query_geometry):
7392         (layout_layout):
7393         (native_layout_layout): make instance geometry signed.
7394
7395 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7396
7397         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7398         constant.
7399
7400         * general.c (syms_of_general): Add Qfull_assoc symbol.
7401
7402         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7403         correctly.
7404         (decode_weak_list_type): Decode full-assoc type.
7405         (encode_weak_list_type): Encode full-assoc type.
7406         (Fmake_weak_list): Update doc string.
7407
7408 2000-05-30  Andy Piper  <andy@xemacs.org>
7409
7410         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7411
7412         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7413         (decode_hash_table_weakness): ditto.
7414         (Fhash_table_weakness): ditto.
7415         (Fhash_table_type): ditto.
7416         (finish_marking_weak_hash_tables): ditto.
7417         (hash_table_weakness_validate): ditto.
7418         (syms_of_elhash): ditto.
7419
7420 2000-05-28  Martin Buchholz <martin@xemacs.org>
7421
7422         * XEmacs 21.2.34 is released.
7423
7424 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7425
7426         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7427         start cache.
7428         (updating_line_start_cache): Gone.
7429         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7430         generic code to force a minimum of 1 line laid out in the
7431         CMOTION_DISP case.
7432
7433 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7434
7435         * glyphs.c (instantiate_image_instantiator): Check for initialized
7436         height & width no longer special cases IMAGE_NOTHING.
7437         (nothing_instantiate): Set height and width of instance.
7438
7439 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7440
7441         * unexelf.c (unexec): Search for ".data" section.
7442         Initialize new_data2_offset from old_data_index.
7443         Remove redundant check for ElfW.
7444
7445 2000-05-23  Andy Piper  <andy@xemacs.org>
7446
7447         * glyphs.c (get_image_instantiator_governing_domain): allow more
7448         specific domains as the governing domain rather than expecting an
7449         exact match. This fixes problems with layouts.
7450
7451 2000-05-22  Andy Piper  <andy@xemacs.org>
7452
7453         * redisplay-output.c (compare_runes): check for non-images
7454
7455         * glyphs.c (set_glyph_dirty_p): ditto.
7456         (update_glyph_cachel_data): ditto.
7457
7458         * glyphs-widget.c (layout_post_instantiate): ditto.
7459         (layout_post_instantiate): ditto.
7460
7461         * event-msw.c (mswindows_wnd_proc): warning removal.
7462
7463 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7464
7465         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7466
7467         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7468
7469         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7470
7471         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7472         (mswindows_executable_type): mingw32 now has enough headers for
7473         this to work.
7474
7475 2000-05-20  Andy Piper  <andy@xemacs.org>
7476
7477         * console-msw.c (mswindows_output_last_error): ; -> ,
7478
7479 2000-05-12  Andy Piper  <andy@xemacs.org>
7480
7481         * console-msw.c (FROB): compare ints with ints.
7482
7483 2000-05-11  Andy Piper  <andy@xemacs.org>
7484
7485         * glyphs-x.c (x_finalize_image_instance): make minimal build
7486         happy.
7487
7488 2000-05-20  Ben Wing  <ben@xemacs.org>
7489
7490         * event-Xt.c:
7491         * event-Xt.c (vars_of_event_Xt):
7492         move modifier-keys-are-sticky to event-stream.c.
7493
7494         * event-msw.c:
7495         * event-msw.c (mswindows_enqueue_mouse_button_event):
7496         * event-msw.c (key_needs_default_processing_p):
7497         * event-msw.c (XEMSW_LCONTROL):
7498         * event-msw.c (mswindows_handle_sticky_modifiers):
7499         * event-msw.c (FROB):
7500         * event-msw.c (clear_sticky_modifiers):
7501         * event-msw.c (output_modifier_keyboard_state):
7502         * event-msw.c (output_alt_keyboard_state):
7503         * event-msw.c (mswindows_wnd_proc):
7504         * event-msw.c (mswindows_modifier_state):
7505         * event-msw.c (emacs_mswindows_handle_magic_event):
7506         implement sticky modifiers.
7507
7508         * event-stream.c:
7509         * event-stream.c (vars_of_event_stream):
7510         move modifier-keys-are-sticky here.
7511
7512         * lisp.h:
7513         add CHECK_FUNCTION.
7514
7515         * rangetab.c:
7516         implement map-range-table.
7517
7518
7519 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7520
7521         * redisplay-tty.c (reset_tty_modes):
7522         (tty_redisplay_shutdown): Adjust argument type to
7523         tty_frame_output_end.
7524
7525 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7526
7527         * eval.c (Fbacktrace): Don't output a line with only right
7528         parenthesis.
7529
7530 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
7531
7532         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
7533         (Fpq_reset_poll): Ditto.
7534
7535 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
7536
7537         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
7538
7539 2000-05-16  Ben Wing  <ben@xemacs.org>
7540
7541         * buffer.c:
7542         * buffer.c (dfc_convert_to/from_internal_format):
7543         * buffer.c (reinit_vars_of_buffer):
7544         Fix conversion functions to allow reentrancy.
7545
7546         * console-msw.c:
7547         * console-msw.c (mswindows_output_last_error):
7548         New fun, generally useful -- output a human-readable
7549         version of GetLastError() on the console.
7550
7551         * console-msw.h:
7552         * console-msw.h (struct mswindows_frame):
7553         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
7554
7555         * console-stream.c (stream_output_begin):
7556         * console-stream.c (stream_output_end):
7557         * console-stream.c (stream_output_vertical_divider):
7558         * console-stream.c (stream_clear_region):
7559         * console-stream.c (stream_flash):
7560         * console-stream.c (console_type_create_stream):
7561         Delete blank stream methods, not needed.
7562
7563         * console.h (struct console_methods):
7564         Split begin/end methods into window and frame.
7565
7566         * event-msw.c:
7567         * event-msw.c (mswindows_handle_paint):
7568         * event-msw.c (output_alt_keyboard_state):
7569         * event-msw.c (mswindows_wnd_proc):
7570         * event-msw.c (vars_of_event_mswindows):
7571         Comment about problems with ignored-expose.
7572         Define mswindows-debug-events; not really implemented.
7573
7574         * frame-msw.c (mswindows_init_frame_1):
7575         random cleanups.
7576
7577         * glyphs-msw.c:
7578         * glyphs-msw.c (begin_defer_window_pos):
7579         * glyphs-msw.c (mswindows_unmap_subwindow):
7580         * glyphs-msw.c (mswindows_map_subwindow):
7581         * glyphs-msw.c (mswindows_resize_subwindow):
7582         Use DeferWindowPos to reduce flashing when mapping/unmapping.
7583
7584         * glyphs.c (make_image_instance_1):
7585         Fix crash.
7586
7587         * gutter.c (Fredisplay_gutter_area):
7588         Use new begin/end methods.
7589
7590         * lisp.h (Dynarr_new2):
7591         New creation fun.
7592
7593         * redisplay-msw.c:
7594         * redisplay-msw.c (mswindows_frame_output_begin):
7595         * redisplay-msw.c (mswindows_frame_output_end):
7596         * redisplay-msw.c (console_type_create_redisplay_mswindows):
7597         New begin/end methods -- handle DeferWindowPos.
7598
7599         * redisplay-output.c (redisplay_move_cursor):
7600         * redisplay-output.c (redraw_cursor_in_window):
7601         * redisplay-output.c (redisplay_update_line):
7602         * redisplay-output.c (redisplay_output_window):
7603         New begin/end methods.
7604
7605         * redisplay-tty.c:
7606         * redisplay-tty.c (tty_frame_output_begin):
7607         * redisplay-tty.c (tty_frame_output_end):
7608         * redisplay-tty.c (console_type_create_redisplay_tty):
7609         New begin/end methods.
7610
7611         * redisplay-x.c:
7612         * redisplay-x.c (x_window_output_begin):
7613         * redisplay-x.c (x_window_output_end):
7614         * redisplay-x.c (console_type_create_redisplay_x):
7615         New begin/end methods.
7616
7617         * redisplay.c (redisplay_frame):
7618         * redisplay.c (Fredisplay_echo_area):
7619         New begin/end methods.
7620         use MAYBE_DEVMETH for clear_frame; it may not exist.
7621
7622         * window.h (WINDOW_XFRAME):
7623         WINDOW_XFOO macros -- get locale and decode struct pointer.
7624
7625
7626 2000-05-12  Ben Wing  <ben@xemacs.org>
7627
7628         * emacs.c:
7629         * emacs.c (ensure_no_quitting_from_now_on):
7630         * emacs.c (fatal_error_signal):
7631         * emacs.c (mswindows_handle_hardware_exceptions):
7632         * emacs.c (main):
7633         * emacs.c (Fkill_emacs):
7634         * emacs.c (shut_down_emacs):
7635         * emacs.c (assert_failed):
7636         various improvements in fatal error handling.
7637
7638         * eval.c:
7639         move preparing_for_armageddon to emacs.c.
7640
7641         * lisp.h:
7642         declare fatal_error_in_progress.
7643
7644         * print.c:
7645         * print.c (std_handle_out_external):
7646         * print.c (std_handle_out_va):
7647         * print.c (stderr_out):
7648         * print.c (stdout_out):
7649         use console under mswin when no standard output.
7650         don't do code conversion during fatal error.
7651
7652         * scrollbar.c (Fscrollbar_page_up):
7653         * scrollbar.c (Fscrollbar_page_down):
7654         fix missing else.  reindent.
7655
7656 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
7657
7658         Emergency fix.
7659
7660         * glyphs.h (GLYPH_CACHEL_DESCENT):
7661         (GLYPH_CACHEL_DESCENT):
7662         (GLYPH_CACHEL_DESCENT):
7663         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
7664         used in case these are inline functions.
7665         Use more absurd values to error check.
7666
7667         include window.h for error check functions.
7668
7669 2000-05-11  Ben Wing  <ben@xemacs.org>
7670
7671         * cmdloop.c (Freally_early_error_handler):
7672         Display message box under windows; otherwise, message will disappear
7673         before it can be viewed.
7674
7675         * console-msw.c:
7676         * console-msw.c (Fmswindows_message_box):
7677         * console-msw.c (FROB):
7678         * console-msw.c (syms_of_console_mswindows):
7679         Define new fun `mswindows-message-box'.
7680         #### I will merge this into `popup-dialog-box'; just give me
7681         a bit of time.
7682
7683         * general.c:
7684         * general.c (syms_of_general):
7685         Some new symbols used in `mswindows-message-box'.
7686
7687         * glyphs.c:
7688         * glyphs.c (Fset_image_instance_property):
7689         put warning in this fun.
7690
7691         * glyphs.h:
7692         * glyphs.h (GLYPH_CACHEL_WIDTH):
7693         * glyphs.h (GLYPH_CACHEL_ASCENT):
7694         * glyphs.h (GLYPH_CACHEL):
7695         * glyphs.h (GLYPH_CACHEL_GLYPH):
7696         define error-checking versions to try to catch a bug i've seen --
7697         redisplay gets in an infinite loop because the glyph width of the
7698         continuation glyph is 65535.
7699
7700         * lisp.h:
7701         Extern message-box stuff.
7702
7703         * window.c (allocate_window):
7704         * window.c (make_dummy_parent):
7705         * window.c (Fset_window_configuration):
7706         Use EQUAL not EQ for subwindow caches to make them work a bit
7707         better. (Something is still very broken.)
7708
7709
7710 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7711
7712         * glyphs.c (image_instantiate): Suppress gcc warnings.
7713         (Fmake_image_instance): Fix doc string.
7714         * specifier.c (Fmake_specifier): Ditto.
7715
7716 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
7717
7718         * paths.h.in (PATH_LOCK): Removed.
7719         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
7720         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
7721
7722 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7723
7724         * fns.c (Ffeaturep): Update e-mail address in doc-string.
7725         Document (featurep '(and xemacs 21.02)).
7726
7727 2000-05-09  Ben Wing  <ben@xemacs.org>
7728
7729         * buffer.c (complex_vars_of_buffer):
7730         update modeline-format doc.
7731
7732         * device.h:
7733         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
7734
7735         * emacs.c:
7736         timeline of all released versions of Emacs, for use in creating
7737         authorship comments and in synching up.
7738
7739         * glyphs-widget.c (image_instantiator_buttons):
7740         * glyphs-widget.c (image_instantiator_edit_fields):
7741         * glyphs-widget.c (image_instantiator_combo_box):
7742         * glyphs-widget.c (image_instantiator_scrollbar):
7743         * glyphs-widget.c (image_instantiator_progress_guage):
7744         * glyphs-widget.c (image_instantiator_tree_view):
7745         * glyphs-widget.c (image_instantiator_tab_control):
7746         * glyphs-widget.c (image_instantiator_labels):
7747         * glyphs-widget.c (image_instantiator_layout):
7748         * glyphs-widget.c (image_instantiator_native_layout):
7749         rename decode_domain method to governing_domain.
7750
7751         * glyphs.c:
7752         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
7753         * glyphs.c (add_entry_to_device_ii_format_list):
7754         make sure we don't put an entry more than once into the list.
7755         * glyphs.c (check_instance_cache_mapper):
7756         *************************************************************
7757         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7758         HAVE BEEN GETTING.
7759         *************************************************************
7760         * glyphs.c (get_image_instantiator_governing_domain):
7761         clean up, expand on new concept of governing domain.
7762         * glyphs.c (instantiate_image_instantiator):
7763         * glyphs.c (allocate_image_instance):
7764         use governing_domain instead of cache_domain in naming.
7765         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
7766         * glyphs.c (make_image_instance_1):
7767         * glyphs.c (Fmake_image_instance):
7768         allow for any domain (not just device), and process the
7769         governing domain correctly.  very big doc fix.
7770         * glyphs.c (Fimage_instance_domain):
7771         new primitive, to retrieve the governing domain of an image instance.
7772         * glyphs.c (image_instantiate):
7773         use new governing_domain stuff.  this fixes a crash you could get
7774         by instantiating certain widget glyphs in frame locales. (should
7775         signal an error instead of crashing.)
7776         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
7777         * glyphs.c (Fglyphp): clean up doc.
7778         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
7779         * glyphs.c (syms_of_glyphs):
7780         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
7781         * glyphs.c (image_instantiator_format_create): add some comments about
7782         bogus code.
7783         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
7784         for current-display-table. (Apparently Hrjove implemented in 1998 a
7785         design I wrote up in 1996, but didn't update the doc string.)
7786
7787         * glyphs.h: clean up a doc string.
7788         * glyphs.h (governing_domain):
7789         * glyphs.h (struct image_instantiator_methods):
7790         changes for governing_domain stuff.
7791
7792         * gutter.c:
7793         * gutter.c (Fgutter_specifier_p):
7794         * gutter.c (Fgutter_size_specifier_p):
7795         * gutter.c (Fgutter_visible_specifier_p):
7796         * objects.c:
7797         * objects.c (Fcolor_specifier_p):
7798         * objects.c (Ffont_specifier_p):
7799         * objects.c (Fface_boolean_specifier_p):
7800         doc strings moved to make-*-specifier.
7801
7802         * redisplay.c (add_disp_table_entry_runes_1):
7803         * redisplay.c (generate_fstring_runes):
7804         * redisplay.c (screen):
7805         add random comments and doc strings.
7806
7807         * specifier.c:
7808         * specifier.c (Fmake_specifier):
7809         major overhaul of this doc string.
7810
7811         * specifier.c (Fvalid_specifier_domain_p):
7812         comment about the bogosity of image instances being domains.
7813         * specifier.c (decode_domain):
7814         now non-static, used in glyphs.c.
7815         * specifier.c (specifier_instance):
7816         comment about the bogosity of image instances being domains.
7817         * specifier.c (Fgeneric_specifier_p):
7818         move doc string to make-generic-specifier.
7819         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
7820         rebackslashify.
7821
7822         * specifier.h:
7823         * specifier.h (DOMAIN_FRAME):
7824         * specifier.h (DOMAIN_LIVE_P):
7825         * specifier.h (DOMAIN_XDEVICE):
7826         rebackslashify.
7827         add comments about problems with these macros.
7828         prototype for decode_domain.
7829
7830         * toolbar.c:
7831         * toolbar.c (Ftoolbar_specifier_p):
7832         move doc string to `make-toolbar-specifier'.
7833
7834         * window.c (window_unmap_subwindows_cache_mapper):
7835         *************************************************************
7836         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7837         HAVE BEEN GETTING.
7838         *************************************************************
7839
7840 2000-05-09  Andy Piper  <andy@xemacs.org>
7841
7842         * glyphs.h: declare reset_frame_subwindow_instance_cache.
7843
7844         * window.c (Fset_window_configuration): reset the frame subwindow
7845         cache and re-initialize the window subwindow caches.
7846
7847         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
7848
7849 2000-05-09  Ben Wing  <ben@xemacs.org>
7850
7851         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
7852         DWORD.
7853
7854 2000-04-26  Mike Woolley  <mike@bulsara.com>
7855
7856         * ntheap.c: Changed recreate_heap to limit the amount reserved
7857         for the heap to that which is actually available. Also now
7858         displays a message box (with some dignostics) in the event that
7859         it still can't start.
7860
7861 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
7862
7863         * callproc.c (Fold_call_process_internal): GCPRO path
7864
7865 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
7866
7867         Patch by Bill Perry.
7868
7869         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
7870         back data instead of #ifdef.
7871         (Fscrollbar_page_down): ditto.
7872
7873 2000-05-07  Ben Wing  <ben@xemacs.org>
7874
7875         * buffer.h:
7876         Kludge for defining Qmswindows_tstr.
7877
7878         * nt.c:
7879         * nt.c (open_input_file):
7880         * nt.c (open_output_file):
7881         * nt.c (rva_to_section):
7882         * nt.c (mswindows_executable_type):
7883         Move all memory-mapped-file routines here (some were in unexnt.c,
7884         which is bad because they are used by process-nt.c, and unexnt
7885         won't be around when portable dumping).  Synched the above routines
7886         with FSF 20.6.
7887
7888         * nt.h:
7889         Removed ifdef'd out bogus code.
7890         Fixed some prototypes.
7891
7892         * nt.h (file_data):
7893         * nt.h (OFFSET_TO_RVA):
7894         * nt.h (RVA_TO_OFFSET):
7895         * nt.h (RVA_TO_PTR):
7896         Moved the memory-mapped-file structures, macros and prototypes
7897         here, to parallel nt.c.  ntheap.h should really be removed
7898         entirely, and it's a non-portable-dumper specific file.
7899
7900         * ntheap.h (round_to_next):
7901         Moved the memory-mapped-file structures, macros and prototypes
7902         to nt.h.
7903
7904         * ntproc.c (compare_env):
7905         Moved rva_to_section and mswindows_executable_type to nt.c.
7906         Moved compare_env to process-nt.c.
7907         ntproc.c will die, one day.
7908
7909         * ntproc.c (sys_spawnve):
7910         Account for win32_ -> mswindows_.
7911
7912         * process-nt.c:
7913         * process-nt.c (struct nt_process_data):
7914         * process-nt.c (ensure_console_window_exists):
7915         * process-nt.c (compare_env):
7916         * process-nt.c (nt_create_process):
7917         * process-nt.c (nt_kill_process_by_pid):
7918         * process-nt.c (syms_of_process_nt):
7919         * process-nt.c (vars_of_process_nt):
7920         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
7921         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
7922         changes).  Eliminate our old `nt-quote-process-args' mechanism.
7923         Synch up nt_create_process with FSF 20.6 sys_spawnve.
7924         Move compare_env here from ntproc.c.
7925
7926         * process.c (Fprocess_send_region):
7927         Takes an optional fourth argument, BUFFER, which should fix some
7928         problems with call-process.
7929
7930         * syscommctrl.h:
7931         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
7932
7933         * syswindows.h:
7934         Move ICC_BAR_CLASSES to syscommctrl.h.
7935         Add preliminary macros for MSWindows/Mule.  More to come.
7936
7937         * unexnt.c:
7938         * unexnt.c (unexec):
7939         open_output_file moved to nt.c.
7940
7941
7942 2000-05-05  Andy Piper  <andy@xemacs.org>
7943
7944         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
7945         instance from the frame cache also since GC may catch up too late
7946         to make frame deletion sane.
7947
7948 2000-05-04  Andy Piper  <andy@xemacs.org>
7949
7950         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
7951         (x_finalize_image_instance): ungcpro on deletion.
7952
7953         * glyphs.c (image_instantiator_format_create): give pointers a
7954         query geometry method so that the geometry is at least set.
7955
7956         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
7957         initialize layouts if using widgets.
7958
7959 2000-05-03  Andy Piper  <andy@xemacs.org>
7960
7961         * nt.c: remove bogus reference to sysmmsystem.h
7962
7963         * gui-x.c (popup_selection_callback): fix no selection abort.
7964
7965 2000-05-02  Andy Piper  <andy@xemacs.org>
7966
7967         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
7968         (mswindows_widget_instantiate): ditto.
7969
7970         * glyphs-widget.c (initialize_widget_image_instance): initialize
7971         children correctly.
7972         (widget_instantiate): cope with children and items in the same
7973         instance.
7974
7975         * glyphs.c (mark_image_instance): cope with children as a first
7976         class member.
7977         (image_instance_equal): ditto.
7978         (image_instance_hash): ditto.
7979         (image_instance_changed): ditto.
7980
7981 2000-04-30  Andy Piper  <andy@xemacs.org>
7982
7983         * glyphs.c (subwindow_query_geometry): new function. Return some
7984         defaults.
7985         (subwindow_instantiate): don't assign dimensions if none have been
7986         given.
7987         (image_instantiator_format_create): add subwindow_query_geometry.
7988         (print_image_instance): cope with layouts as widgets.
7989
7990 2000-04-29  Andy Piper  <andy@xemacs.org>
7991
7992         * frame.c (delete_frame_internal): call
7993         free_frame_subwindow_instance_cache so that all subwindows are
7994         finalized before their parent.
7995         (mark_frame): remove subwindow_cachels.
7996         (Fmake_frame): remove subwindow_cachel manipulation.
7997         (allocate_frame_core): subwindow_instance_cache is a weak list.
7998         (delete_frame_internal): set subwindow_instance_cache to nil.
7999
8000         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8001         finalization safe.
8002         (mswindows_finalize_image_instance): use the device
8003         not the domain as the domain may have died already.
8004
8005         * glyphs-x.c (x_finalize_image_instance): ditto.
8006         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8007         HEIGHT.
8008
8009         * redisplay-output.c (redisplay_unmap_subwindows): update for
8010         subwindow instance cache as a weak list.
8011         (redisplay_unmap_subwindows_maybe): ditto.
8012         (redisplay_unmap_subwindows_except_us): ditto.
8013
8014         * glyphs.c (unmap_subwindow): error checking will check the domain
8015         so don't deal with it here. Don't use cachels anymore.
8016         (map_subwindow): ditto.
8017         (update_subwindow_cachel_data): remove old accessor names.
8018         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8019         (Fresize_subwindow): don't update cachel.
8020         (mark_subwindow_cachels):
8021         (update_subwindow_cachel_data):
8022         (add_subwindow_cachel):
8023         (get_subwindow_cachel_index):
8024         (update_subwindow_cachel):
8025         (reset_subwindow_cachels):
8026         (mark_subwindow_cachels_as_not_updated): deleted.
8027         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8028         subwindow instance to the frame cache.
8029         (find_matching_subwindow): update for subwindow instance cache as
8030         a weak list.
8031         (update_widget_instances): ditto.
8032         (image_instance_type_to_mask):inlined.
8033         (free_frame_subwindow_instance_cache): new function. finalize all
8034         subwindows that are instantiated.
8035
8036         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8037         of cachel information.
8038         (IMAGE_INSTANCE_DISPLAY_X):
8039         (IMAGE_INSTANCE_DISPLAY_Y):
8040         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8041         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8042         (XIMAGE_INSTANCE_DISPLAY_X):
8043         (XIMAGE_INSTANCE_DISPLAY_Y):
8044         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8045         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8046         remove subwindow_cachel structure and function references.
8047         (image_instance_type_to_mask): inline from glyphs.c
8048
8049         * redisplay.c (redisplay_frame): remove subwindow_cachel
8050         references.
8051
8052         * frame.h (struct frame): remove subwindow_cachels.
8053         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8054
8055         * frameslots.h: add subwindow_instance_cache.
8056
8057         * window.c (replace_window): check subwindow cache of replacement.
8058         (window_unmap_subwindows_cache_mapper):
8059         (window_unmap_subwindows): new functions. Unmap all subwindows
8060         cached on this window.
8061         (mark_window_as_deleted): unmap all subwindows.
8062
8063 2000-04-27  Andy Piper  <andy@xemacs.org>
8064
8065         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8066
8067         * glyphs-widget.c (widget_layout): return something.
8068         (layout_layout): return something. Fail if not initialized.
8069         (layout_query_geometry): ditto.
8070         (image_instantiator_native_layout): new function. Initialized the
8071         native layout type.
8072         (widget_instantiate): don't do layout stuff here.
8073
8074         * glyphs.c (instantiate_image_instantiator): reorded calling or
8075         instantiate and post_instantiate with layout in between.
8076         (image_instance_layout): be more selective about deciding whether
8077         the layout has been done or not.
8078
8079         * glyphs.h (struct image_instantiator_methods): return a value
8080         from layout_method.
8081
8082 2000-04-26  Andy Piper  <andy@xemacs.org>
8083
8084         * glyphs.c (allocate_image_instance): make initial width and
8085         height unspecified. Set initialized to 0.
8086
8087         * syscommctrl.h new file. Encapsulates commctrl.h.
8088
8089         * syswindows.h new file. Encapsulates windows.h.
8090
8091         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8092         * nt.c: ditto.
8093         * console-msw.h: ditto.
8094
8095         * redisplay-tty.c (tty_output_display_block): remove layout references.
8096
8097         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8098         window handle rather than just the frame.
8099
8100         * glyphs.c (mark_image_instance): remove layout references.
8101         (print_image_instance): ditto.
8102         (image_instance_equal): ditto.
8103         (image_instance_hash): ditto.
8104         (decode_image_instance_type): ditto.
8105         (encode_image_instance_type): ditto.
8106         (image_instantiate): ditto.
8107         (allocate_glyph): ditto.
8108         (Fimage_instance_height): ditto.
8109         (Fimage_instance_width): ditto.
8110         (update_subwindow): ditto.
8111
8112         * redisplay-x.c (x_output_display_block): recode for layouts as
8113         widgets.
8114
8115         * redisplay-output.c (redisplay_output_layout): recode for layouts
8116         as widgets.
8117         (compare_runes): remove layout references.
8118
8119         * redisplay-msw.c (mswindows_output_display_block): recode for
8120         layouts as widgets.
8121
8122         * glyphs-widget.c (image_instantiator_layout): remove
8123         layout_possible_dest_types.
8124         (layout_possible_dest_types): deleted.
8125
8126         * glyphs.h (image_instance_type): remove layout references.
8127         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8128         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8129         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8130
8131 2000-04-25  Andy Piper  <andy@xemacs.org>
8132
8133         * glyphs-widget.c (image_instantiator_buttons):
8134         (image_instantiator_edit_fields):
8135         (image_instantiator_combo_box):
8136         (image_instantiator_scrollbar):
8137         (image_instantiator_progress_guage):
8138         (image_instantiator_tree_view):
8139         (image_instantiator_tab_control):
8140         (image_instantiator_labels):
8141         (image_instantiator_layout): call default post_instantiate method.
8142         (widget_post_instantiate): new function. Simply lays out the
8143         widgets.
8144
8145         * glyphs.h (struct image_instantiator_methods): add
8146         post_instantiate method.
8147
8148         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8149         method calls.
8150
8151 2000-04-23  Andy Piper  <andy@xemacs.org>
8152
8153         * glyphs.h (struct image_instantiator_methods): add
8154         decode_domain_method.
8155         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8156         derived from the domain.
8157         (IMAGE_INSTANCE_FRAME): new accessor.
8158         (XIMAGE_INSTANCE_FRAME): ditto.
8159
8160         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8161         instead of _SUBWINDOW_FRAME.
8162         (finalize_image_instance): ditto.
8163         (Fimage_instance_foreground): ditto.
8164         (Fimage_instance_background): ditto.
8165         (image_instantiate): ditto.
8166         (update_subwindow_cachel): ditto.
8167         (update_subwindow): ditto.
8168         (unmap_subwindow): ditto.
8169         (map_subwindow): ditto
8170         (subwindow_instantiate): ditto.
8171         * glyphs-msw.c (mswindows_update_widget): ditto.
8172         (mswindows_progress_gauge_instantiate): ditto.
8173         (mswindows_tab_control_update): ditto.
8174         * glyphs-x.c (x_update_widget): ditto.
8175         (x_widget_instantiate): ditto.
8176         (x_tab_control_instantiate): ditto.
8177         (x_tab_control_update): ditto.
8178         * event-msw.c (mswindows_wnd_proc): ditto
8179
8180         * glyphs-widget.c (image_instantiator_layout): use
8181         subwindow_decode_domain.
8182         (image_instantiator_buttons): ditto.
8183         (image_instantiator_edit_fields): ditto.
8184         (image_instantiator_combo_box): ditto.
8185         (image_instantiator_scrollbar): ditto.
8186         (image_instantiator_progress_guage): ditto.
8187         (image_instantiator_tree_view): ditto.
8188         (image_instantiator_tab_control): ditto.
8189         (image_instantiator_labels): ditto.
8190         (image_instantiator_layout): ditto.
8191
8192         * glyphs.c: add instance error checking to many functions.
8193         (instantiate_image_instantiator): decode device from cache_domain.
8194         (image_instantiate): partially rewrite by using
8195         decode_image_instantiator_domain to determine what domain the
8196         instance needs to be cached in.
8197         (decode_image_instantiator_domain): new function. Determine what
8198         domain the image needs to be cached in.
8199         (check_window_subwindow_cache): new error checking function.
8200         (check_instance_cache_mapper): ditto.
8201         (check_image_instance_structure): ditto.
8202         (subwindow_decode_domain): new function. Encodes a window as a
8203         subwindow's cache domain.
8204         (image_instantiator_format_create): use it for text and
8205         subwindows.
8206
8207 2000-04-21  Andy Piper  <andy@xemacs.org>
8208
8209         * glyphs.c (image_instance_device): new function.
8210         (image_instance_frame): new function.
8211         (image_instance_window): new function.
8212         (image_instance_live_p): new function.
8213
8214         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8215         cache to nil.
8216
8217         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8218         (IMAGE_INSTANCE_DOMAIN): new accessor.
8219         (XIMAGE_INSTANCE_DOMAIN): ditto.
8220
8221         * glyphs-x.c (x_finalize_image_instance): device->domain.
8222
8223         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8224         (mswindows_finalize_image_instance): ditto.
8225
8226         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8227         (gif_instantiate): ditto.
8228         (png_instantiate): ditto.
8229         (tiff_instantiate): ditto.
8230
8231         * glyphs.c (instantiate_image_instantiator): use domain rather
8232         than device.
8233         (mark_image_instance): device -> domain.
8234         (print_image_instance): ditto.
8235         (finalize_image_instance): ditto.
8236         (image_instance_equal): ditto.
8237         (allocate_image_instance): ditto.
8238         (Fcolorize_image_instance): ditto.
8239         (query_string_geometry): ditto.
8240         (image_instantiate): ditto
8241         (query_string_font): ditto.
8242         (image_instantiate): ditto.
8243         (update_subwindow): ditto.
8244         (unmap_subwindow): ditto.
8245         (map_subwindow): ditto.
8246         (subwindow_instantiate): ditto.
8247
8248         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8249         (DOMAIN_FRAME): ditto.
8250         (DOMAIN_WINDOW): ditto.
8251         (DOMAIN_LIVE_P): ditto.
8252         (XDOMAIN_DEVICE): ditto.
8253         (XDOMAIN_FRAME): ditto.
8254         (XDOMAIN_WINDOW): ditto.
8255
8256         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8257         a valid specifier domain.
8258
8259 2000-04-19  Andy Piper  <andy@xemacs.org>
8260
8261         * glyphs-widget.c (syms_of_glyphs_widget): remove
8262         widget-callback-current-channel.
8263         (vars_of_glyphs_widget): ditto.
8264         * glyphs.h: ditto
8265
8266         * gui.c (get_gui_callback): revert to previous behaviour.
8267
8268 2000-04-18  Andy Piper  <andy@xemacs.org>
8269
8270         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8271         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8272         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8273
8274         * glyphs.c (image_instance_equal): add margin_width.
8275         (image_instance_hash): ditto.
8276
8277         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8278         (layout_query_geometry): ditto.
8279         (layout_layout): ditto.
8280         (syms_of_glyphs_widget): add margin-width.
8281         (image_instantiator_layout): allow margin-width.
8282
8283         * glyphs.c (update_widget_instances): make a normal function.
8284         (syms_of_glyphs): remove Qupdate_widget_instances.
8285         * glyphs.h: ditto.
8286
8287         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8288         so that we don't corrupt ideas about the last event or
8289         command. Remove widget-callback-current-channel fiddling.
8290         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8291
8292 2000-05-01  Martin Buchholz <martin@xemacs.org>
8293
8294         * XEmacs 21.2.33 is released.
8295
8296 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8297
8298         * make-src-depend: Allow dots in header file name.
8299
8300 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8301
8302         * mule-charset.h (struct charset_lookup): Add
8303         next_allocated_1_byte_leading_byte and
8304         next_allocated_2_byte_leading_byte.
8305         * mule-charset.c: Move above two variables so that those values
8306         will be dumped.
8307
8308 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8309
8310         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8311         when string length is zero.
8312         (find_charsets_in_emchar_string): Ditto.
8313
8314 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8315
8316         * lisp.h: extern Qdialog and Qmenubar.
8317
8318         * gui-x.c: added events.h.
8319                 also fixed typo which made the file uncompilable.
8320
8321         * general.c: Added Qmenubar and Qdialog
8322
8323 2000-04-28  Ben Wing  <ben@xemacs.org>
8324
8325         * frame-msw.c (mswindows_init_frame_1):
8326         * frame-msw.c (mswindows_mark_frame):
8327         * event-msw.c (mswindows_enqueue_dispatch_event):
8328         * console-msw.h:
8329         * console-msw.h (struct mswindows_frame):
8330         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8331         there are now three hash tables for callbacks.
8332         mswindows_enqueue_dispatch_event is no longer static.
8333
8334         * dialog-x.c (maybe_run_dbox_text_callback):
8335         * dialog-x.c (dbox_descriptor_to_widget_value):
8336         switch to new cons3 form for callbacks.
8337
8338         * glyphs-msw.c (mswindows_register_gui_item):
8339         * glyphs-msw.c (mswindows_widget_instantiate):
8340         * glyphs-msw.c (add_tree_item):
8341         * glyphs-msw.c (add_tab_item):
8342         new image instance parameter, so it can be passed to callback-ex.
8343         respect :callback-ex as well as :callback.
8344
8345         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8346         add :callback-ex.
8347
8348         * glyphs.c (print_image_instance):
8349         prettify, e.g. now prints widget type.
8350
8351         * gui-x.h:
8352         certain funs have new image instance parameter.
8353
8354         * gui.c:
8355         * gui.c (get_gui_callback):
8356         * gui.c (gui_item_add_keyval_pair):
8357         * gui.c (gui_item_init):
8358         * gui.c (gui_add_item_keywords_to_plist):
8359         * gui.c (mark_gui_item):
8360         * gui.c (gui_item_hash):
8361         * gui.c (gui_item_equal):
8362         * gui.c (copy_gui_item):
8363         * gui.c (syms_of_gui):
8364         recognize callback-ex in a number of places.
8365         also, fix the annoying "can't get out of yes-no dialog" bug.
8366
8367         * gui.h:
8368         * gui.h (struct Lisp_Gui_Item):
8369         recognize callback-ex in a number of places.
8370
8371         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8372         new parameter in button_item_to_widget_value.
8373
8374         * glyphs-x.c (x_update_widget):
8375         * glyphs-x.c (x_button_instantiate):
8376         * glyphs-x.c (x_button_update):
8377         * glyphs-x.c (x_progress_gauge_instantiate):
8378         * glyphs-x.c (x_edit_field_instantiate):
8379         * glyphs-x.c (x_combo_box_instantiate):
8380         * glyphs-x.c (x_tab_control_instantiate):
8381         * glyphs-x.c (x_label_instantiate):
8382         new image instance parameter in various places.
8383
8384         * event-Xt.c:
8385         * event-Xt.c (enqueue_Xt_dispatch_event):
8386         this fun gets exported.
8387
8388         * gui-msw.c:
8389         * gui-msw.c (mswindows_handle_gui_wm_command):
8390         handle both :callback and :callback-ex, and generate our own
8391         event because it's one of the callback-ex arguments.
8392
8393         * gui-x.c:
8394         * gui-x.c (popup_selection_callback):
8395         handle both :callback and :callback-ex, and generate our own
8396         event because it's one of the callback-ex arguments.
8397         * gui-x.c (button_item_to_widget_value):
8398         * gui-x.c (gui_items_to_widget_values_1):
8399         * gui-x.c (gui_item_children_to_widget_values):
8400         * gui-x.c (gui_items_to_widget_values):
8401         new image instance parameter in various places.
8402
8403         * fns.c (Freplace_list):
8404         fix small typo in doc string.
8405
8406         * lisp.h:
8407         declare enqueue_Xt_dispatch_event.
8408
8409 2000-04-28  Ben Wing  <ben@xemacs.org>
8410
8411         * buffer.c:
8412         * buffer.c (Frecord_buffer):
8413         * buffer.c (syms_of_buffer):
8414         delete record-buffer-hook.
8415
8416         * fns.c:
8417         * fns.c (Freplace_list):
8418         * fns.c (syms_of_fns):
8419         new primitive replace-list.
8420
8421         * frameslots.h:
8422         slot for old buffer-alist.
8423
8424         * lisp.h:
8425         exfun replace-list.
8426
8427         * redisplay.c:
8428         * redisplay.c (redisplay_frame):
8429         * redisplay.c (syms_of_redisplay):
8430         * redisplay.c (vars_of_redisplay):
8431         new hook buffer-list-changed-hook.
8432         call it.
8433
8434 2000-04-27  Ben Wing  <ben@xemacs.org>
8435
8436         * extents.h: extern in_modeline_generation.
8437
8438         * redisplay.c (generate_formatted_string_db): set
8439         in_modeline_generation.
8440
8441         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8442         flags if in modeline generation.  otherwise frame-modified-tick
8443         is ticked far too often.
8444         Declare in_modeline_generation.
8445
8446 2000-04-26  Ben Wing  <ben@xemacs.org>
8447
8448         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8449         option.
8450         (vars_of_emacs): add quick-build as an error-checking option.
8451         A bit kludgy, but there doesn't seem much point in creating
8452         a real var for this.
8453
8454         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8455
8456 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8457
8458         * redisplay.h (struct display_line): Add a new variable,
8459         line_continuation.
8460
8461         * redisplay.c (create_text_block): Set dl->line_continuation if
8462         the line continues.
8463         (create_string_text_block): Ditto.
8464         (regenerate_window_incrementally): Use line_continuation instead
8465         of searching continuation glyph.
8466         (add_margin_runes): Call add_glyph_rune.
8467         (add_glyph_rune): Handle margin glyph.
8468
8469 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8470
8471         * filelock.c (fill_in_lock_file_name):
8472         ANSIfy.
8473         Check for IS_ANY_SEP instead of '/'.
8474         (lock_file_1):
8475         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8476         Never check errno without first seeing that system call failed.
8477         (unlock_file): Add GCPRO.
8478         (Flock_buffer): Fix docstring.
8479         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8480
8481 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8482
8483         * sysdep.c (get_pty_max_bytes):
8484         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8485         strings longer than 252 bytes.
8486
8487         * md5.c: Unconditionally include ANSI header <limits.h>
8488
8489         * glyphs-x.c (convert_EImage_to_XImage):
8490         * lisp-union.h (union Lisp_Object):
8491         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8492
8493 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8494
8495         * filelock.c (current_lock_owner): Remove unused variable o, p.
8496
8497 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8498
8499         * callint.c: Remove multiply defined symbol Qlet
8500         (syms_of_callint): ditto.
8501
8502 2000-04-14  Andy Piper  <andy@xemacs.org>
8503
8504         * general.c (syms_of_general): add last-command, this-command, let
8505         and funcall.
8506
8507         * lisp.h: declare various symbols.
8508
8509         * glyphs.h: declare Qwidget_callback_current_channel;
8510
8511         * glyphs-widget.c (syms_of_glyphs_widget): add
8512         Qgui_callback_current_channel.
8513         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8514
8515         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8516         widget-callback-current-channel when invoking the interactive
8517         arg. Also bind last-command and next-command when invoking the
8518         widget updates.
8519         * gui-x.c (popup_selection_callback): ditto.
8520
8521         * gui.c (get_gui_callback): massage args so that we are always
8522         calling eval. This allows us to add our own variable bindings
8523         outside.
8524
8525         * glyphs-x.c (x_button_instantiate): use
8526         gui_items_to_widget_values since this is GC safe.
8527         (x_progress_gauge_instantiate): ditto.
8528         (x_edit_field_instantiate): ditto.
8529         (x_label_instantiate): ditto.
8530
8531         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
8532         (emacs_Xt_event_widget_focus_out): new function
8533         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
8534         focus.
8535         (emacs_Xt_event_add_widget_actions): new function. add focus
8536         functions as actions.
8537         (init_event_Xt_late): use it.
8538
8539 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
8540
8541         * event-stream.c (Fdispatch_event): Doc fix.
8542
8543 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
8544
8545         * postgresql.c: Remove all references to PQsetenv*.
8546
8547         * postgresql.h: Remove references to PGsetenvHandler object.
8548         * lrecord.h (lrecord_type): Ditto.
8549
8550 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8551
8552         * glyphs-msw.h (struct mswindows_image_instance_data): Added
8553         real_heigh and real_width members, and accessor macros for these.
8554
8555         * glyphs-msw.c (init_image_instance_geometry): New function.
8556         (init_image_instance_from_dibitmap): Use it.
8557         (mswindows_resource_instantiate): Use it.
8558         (init_image_instance_from_xbm_inline): Use it.
8559         (mswindows_initialize_image_instance_mask): Use real bitmap
8560         geometry.
8561         (mswindows_create_resized_bitmap): Ditto.
8562         (mswindows_create_resized_mask): Ditto.
8563
8564         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
8565         and bitmap to their surface size.
8566
8567 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
8568
8569         * process-unix.c (unix_send_process): Guard against process MIA
8570         after Faccept_process_output.
8571
8572 2000-04-11  Ben Wing  <ben@xemacs.org>
8573
8574         * eval.c (unbind_to_hairy): fix brokenness introduced by
8575         nanosecond speed improvements.
8576
8577 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
8578
8579         * sunplay.c (init_device): To play sounds correctly, the device
8580         apparently needs to be initialized at least once by XEmacs.  Make
8581         it so.
8582
8583 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8584
8585         * redisplay.c (add_margin_runes): Add text image glyph
8586           handling.
8587
8588 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8589
8590         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
8591         gcc is newer than 2.5.
8592
8593 2000-04-06  Colin Rafferty  <colin@xemacs.org>
8594
8595         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
8596
8597         * fns.c (size_bit_vector):
8598         * alloc.c (size_vector):
8599         (make_vector_internal):
8600         (make_bit_vector_internal):
8601         (sweep_bit_vectors_1):
8602         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
8603
8604 2000-04-06  Andy Piper  <andy@xemacs.org>
8605
8606         * gmalloc.c (malloc): undo previous change.
8607         (malloc): ditto.
8608         (free): ditto.
8609         (realloc): ditto.
8610
8611 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
8612
8613         * line-number.c (buffer_line_number): Revert to former version.
8614
8615 2000-04-06  Andy Piper  <andy@xemacs.org>
8616
8617         * gmalloc.c (malloc): add error checking.
8618         (malloc): ditto.
8619         (free): ditto.
8620         (realloc): ditto.
8621
8622         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
8623         button_item_to_widget_value arg.
8624
8625         * glyphs-x.c (x_button_instantiate): add extra
8626         button_item_to_widget_value arg.
8627         (x_progress_gauge_instantiate): ditto.
8628         (x_edit_field_instantiate): ditto.
8629         (x_label_instantiate): ditto.
8630
8631         * gui-x.c (gui_items_to_widget_values_1): add extra
8632         button_item_to_widget_value arg.
8633         (button_item_to_widget_value): add extra menu_item_p arg.
8634
8635         * gui-x.h: change signature of button_item_to_widget_value.
8636
8637         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
8638         button_item_to_widget_value arg.
8639
8640 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8641
8642         * buffer.h (struct buffer): auto_save_modified should be long.
8643
8644 2000-04-05  Andy Piper  <andy@xemacs.org>
8645
8646         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
8647         type.
8648         (button_query_geometry): give a little more room so that athena
8649         buttons fit.
8650
8651 2000-04-05  Andy Piper  <andy@xemacs.org>
8652
8653         * faces.c (complex_vars_of_faces): The widget face should inherit
8654         the font of the gui-element face.
8655
8656 2000-04-04  Andy Piper  <andy@xemacs.org>
8657
8658         * glyphs-x.c (x_button_update): new function. unconditionally
8659         update a button's state when the instance is dirty.
8660         (image_instantiator_format_create_glyphs_x): add x_button_update.
8661         (x_widget_instantiate): remove old resize cruft.
8662
8663 2000-04-02  Andy Piper  <andy@xemacs.org>
8664
8665         * frame.c (change_frame_size_1): The introduction of gutters means
8666         that we need to allow 0 as a potential frame dimension.
8667
8668 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8669
8670         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
8671         image glyph if allow_cursor.
8672         (add_hscroll_rune): Don't allow cursor to border glyph.
8673         (create_text_block): Ditto.
8674
8675         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
8676         text not in buffer.
8677         (redisplay_output_layout): Call ensure_face_cachel_complete for
8678         text image glyph.
8679
8680
8681 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8682
8683         * redisplay.c (add_glyph_rune): Adding text image as text runes.
8684
8685         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
8686         not in buffer
8687
8688         * redisplay-tty.c (tty_output_display_block): Delete the routine
8689         for text image glyph
8690         * redisplay-x.c (x_output_display_block): ditto
8691         * redisplay-msw.c (mswindows_output_display_block): ditto
8692
8693 2000-02-02  Mike Alexander  <mta@arbortext.com>
8694
8695         Note: Some of these were committed by accident as part of other
8696         patches.
8697
8698         * regex.c (regex_compile): Avoid compiler warnings.
8699
8700         * ntproc.c (sys_spawnve): Avoid compiler warnings.
8701
8702         * nt.h: Declare term_ntproc correctly.
8703
8704         * nt.c: Remove incorrect declaration of get_home_directory which
8705         is declared correctly in lisp.h.
8706
8707         * keymap.c (get_keyelt): Avoid compiler warnings.
8708         (raw_lookup_key_mapper): Avoid compiler warnings.
8709
8710         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
8711
8712         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
8713
8714         * filemode.c (mode_string): Avoid compiler warnings.
8715
8716         * file-coding.c (Fcoding_system_aliasee): Add return statement to
8717         avoid warning.
8718
8719         * events-mod.h: Undef some things that winuser.h defines differently.
8720
8721         * data.c (Faset): Avoid compiler warnings.
8722
8723         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
8724
8725 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8726
8727         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
8728         Fall through to simple beep on error.
8729         Replace "extern" by real header file.
8730
8731         * linuxplay.c: Use nativesound.h
8732         (play_sound_data): Return error code. Be less verbose on error.
8733
8734         * sunplay.c: Use nativesound.h
8735         (play_sound_data): Return error code. Be less verbose on error.
8736
8737         * ntplay.c: Use nativesound.h
8738         (play_sound_data): Return fake error code
8739
8740         * sgiplay.c: Use nativesound.h
8741         (play_sound_data): Return error code
8742
8743         * hpplay.c: Use nativesound.h, partially implement
8744         new error code. Break compilation until finished.
8745         (play_sound_data): error code.
8746
8747         * nativesound.h (play_sound_file):
8748           (play_sound_data): Prototype in new header.
8749
8750 2000-03-31  Andy Piper  <andy@xemacs.org>
8751
8752         * glyphs-widget.c: (button_query_geometry): new function. Adjust
8753         for toggle and radio buttons.
8754         (image_instantiator_buttons): use it.
8755
8756 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8757
8758         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
8759         (x_update_horizontal_scrollbar_callback): Return if no mirror was
8760         found. Scrollbar event probably belonged to some old config.
8761
8762 2000-03-31  Andy Piper  <andy@xemacs.org>
8763
8764         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
8765         than 1.
8766         (initialize_widget_image_instance): default layout to
8767         LAYOUT_HORIZONTAL rather than 0.
8768         (widget_instantiate): reverse the item list at the end rather than
8769         every iteration.
8770         (layout_layout): re-code for the border text at the front of the
8771         item list rather than at the end.
8772         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
8773         provided by the user.
8774         (widget_query_geometry): comment.
8775
8776 2000-03-30  Andy Piper  <andy@xemacs.org>
8777
8778         * glyphs-widget.c (image_instantiator_layout): allow standard
8779         widget keywords in layouts.
8780
8781         * gutter.c (output_gutter): cope with nil gutter contents.
8782
8783         * frame.c (Fset_frame_properties): add gutter docs.
8784
8785 2000-03-29  Andy Piper  <andy@xemacs.org>
8786
8787         * toolbar-msw.c (TBSTYLE_FLAT): add.
8788         (mswindows_output_toolbar): minor fiddling.
8789
8790 2000-03-29  Andy Piper  <andy@xemacs.org>
8791
8792         * gutter.c (output_gutter): force gutter size recalculation if
8793         what we are trying to display won't fit.
8794         (update_gutter_geometry): new function. A per-gutter version of
8795         update_frame_gutter_geometry.
8796         (update_frame_gutter_geometry): use it.
8797         (redraw_exposed_gutter): add extra debugging output.
8798
8799 2000-03-28  Mike Alexander  <mta@arbortext.com>
8800
8801         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
8802         (pdump_file_unmap): Implement it on Windows
8803         (pdump_file_get): Save alocated handles for pdump_file_unmap
8804
8805 2000-03-28  Andy Piper  <andy@xemacs.org>
8806
8807         * gui.c (get_gui_callback): treat Quit specially.
8808
8809 2000-03-27  Andy Piper  <andy@xemacs.org>
8810
8811         * glyphs.c (image_instantiate): be careful to check in the same
8812         way we assigned.
8813
8814 2000-03-27  Didier Verna  <didier@xemacs.org>
8815
8816         * config.h.in: define the proper SMART_INCLUDE macro.
8817         handle renaming of `foo_h_path' to `foo_h_file'.
8818
8819         * database.c: ditto.
8820
8821         * emacs.c: ditto.
8822
8823         * linuxplay.c: ditto.
8824
8825         * terminfo.c: ditto.
8826
8827         * tooltalk.h: ditto.
8828
8829 2000-03-27  Andy Piper  <andy@xemacs.org>
8830
8831         * glyphs-msw.c (mswindows_update_widget): make sure the widget
8832         gets updated whenever the face might have changed.
8833
8834 2000-03-26  Mike Alexander  <mta@arbortext.com>
8835
8836         * dumper.c (pdump_resource_free): Fix the comment.
8837
8838 2000-03-21  Olivier Galibert  <galibert@pobox.com>
8839
8840         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
8841
8842 2000-03-22  Mike Alexander  <mta@arbortext.com>
8843
8844         * dumper.c: Include Windows headers on Windows
8845         (pdump_resource_free): Add a body to the function
8846         (pdump_load): exe_name -> exe_path and add some comments.
8847
8848 2000-03-25  Mike Alexander  <mta@arbortext.com>
8849
8850         * gui.c (copy_gui_item_tree): Return a value in all cases
8851
8852 2000-03-21  Didier Verna  <didier@xemacs.org>
8853
8854         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
8855         lwlib/config.h.in.
8856         (SMART_INCLUDE): new macro.
8857         (POSTGRES_INCLUDE): new macro to include postgresql headers from
8858         the proper location.
8859
8860         * postgresql.c: use it.
8861
8862         * inline.c: ditto.
8863
8864 2000-03-24  Andy Piper  <andy@xemacs.org>
8865
8866         * gutter.c (redraw_exposed_gutters): must be "in display" when we
8867         do this.
8868
8869 2000-03-24  Andy Piper  <andy@xemacs.org>
8870
8871         * redisplay-output.c (compare_runes): use image_instance_changed
8872         to detect changes. Do not depend on glyphs_changed, only depend on
8873         dirtiness.
8874          (redisplay_output_layout): add debug messages.
8875         (compare_runes): ditto.
8876
8877         * glyphs.h: declare new functions.
8878         (struct Lisp_Image_Instance): remove percent and associated
8879         accessors.
8880
8881         * gui.h: declare new copying functions.
8882
8883         * gui.c (copy_gui_item_tree): new function.
8884         (copy_gui_item): new function.
8885         (gui_item_id_hash): revert to standard hash.
8886         (gui_item_hash): ditto.
8887         (gui_item_hash_internal): deleted.
8888         (mark_gui_item): mark value.
8889         (gui_item_add_keyval_pair): add value.
8890         (gui_item_init): ditto.
8891         (gui_add_item_keywords_to_plist): ditto.
8892         (gui_item_equal): ditto.
8893         (syms_of_gui): add Q_value.
8894
8895         * glyphs-x.c (x_progress_gauge_update): use pending items and
8896         value for setting the state.
8897         (x_update_widget): don't set items from pending here.
8898
8899         * glyphs-widget.c (update_widget): update items here.
8900         (progress_gauge_set_property): use items for storing value. Put
8901         new value in pending items.
8902
8903         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
8904         items for new value. Convert percent -> value.
8905         (mswindows_tab_control_update): don't update items here.
8906
8907         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
8908         (update_subwindow): ditto.
8909         (image_instance_changed): new function. Compare hash values and
8910         past and present widget items.
8911         (image_instantiate): We more careful about where we instantiate
8912         things.
8913         (image_instantiate): add error checking.
8914
8915         * gutter.c (syms_of_gutter): use -hook.
8916
8917 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
8918
8919         * console-tty.c (Fset_console_tty_input_coding_system): Use
8920         Qkeyboard.
8921         (Fset_console_tty_output_coding_system): Use Qterminal.
8922         (tty_init_console): Use Qkeyboard and Qterminal.
8923
8924 2000-03-21  Ben Wing  <ben@xemacs.org>
8925
8926         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
8927         From Mike Alexander <mta@arbortext.com>.
8928
8929 2000-03-21  Ben Wing  <ben@xemacs.org>
8930
8931         * event-msw.c (mswindows_need_event): Horrible kludge to fix
8932         process brokenness.  Proper implementation to come.
8933         * callproc.c:
8934         Rename call-process-internal to old-call-process-internal.
8935         New impl. in process.el.
8936
8937 2000-03-21  Martin Buchholz  <martin@xemacs.org>
8938
8939         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
8940
8941 2000-03-20  Andy Piper  <andy@xemacs.org>
8942
8943         * glyphs.c (full_list_hash): make hashes of the same elements in
8944         different orders return different values.
8945
8946 2000-03-20  Martin Buchholz <martin@xemacs.org>
8947
8948         * XEmacs 21.2.32 is released.
8949
8950 2000-03-20  Martin Buchholz  <martin@xemacs.org>
8951
8952         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
8953         (DFC_MALLOC_USE_CONVERTED_DATA):
8954         Add aliasing-safe casts to allow use with char* or unsigned char*
8955         lvalues.
8956
8957         * eldap.c (Fldap_open):
8958         (Fldap_search_basic):
8959         (Fldap_add):
8960         (Fldap_modify):
8961         Make C++-compilable.
8962         Make sure GCPRO'ed variables are initialized.
8963         Use temp variables to avoid repeated calls to Flength.
8964
8965 2000-03-16  Martin Buchholz  <martin@xemacs.org>
8966
8967         * sysfile.h:
8968         Make sure PATH_MAX is always defined.
8969         Include limits.h for PATH_MAX.
8970         Deprecate use of MAXPATHLEN.
8971
8972 2000-03-10  Martin Buchholz  <martin@xemacs.org>
8973
8974         * emacs.c: Add reinit_vars_of_fileio.
8975         * symsinit.h: Add reinit_vars_of_fileio.
8976         * fileio.c (reinit_vars_of_fileio): New.
8977         * fileio.c (Fmake_temp_name):
8978         Initialize temp_name random number from microseconds to make
8979         collisions even less likely.  Initialize always at process startup
8980         time.  (make-temp-name) used to return the same file name twice in
8981         a row when PDUMP.
8982         Random stylistic fiddling.
8983         Comment fixes.
8984
8985 2000-03-20  Andy Piper  <andy@xemacs.org>
8986
8987         * glyphs.c (image_instantiate): allow text glyphs to be
8988         instantiated in the minibuffer window.
8989
8990 2000-03-19  Andy Piper  <andy@xemacs.org>
8991
8992         * glyphs.c (image_instance_hash): be careful about which items we
8993         hash on.
8994
8995         * glyphs-widget.c (tab_control_set_property): record into pending
8996         items rather than the actual items.
8997
8998         * glyphs-x.c (x_update_widget): use pending items to update with.
8999
9000         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9001         to update with.
9002
9003         * glyphs.c (mark_image_instance): mark pending items.
9004
9005         * window.c (Fset_window_configuration): record the buffer.
9006         (Fselect_window): totally revert previous change which breaks many
9007         things.
9008
9009 2000-03-18  Andy Piper  <andy@xemacs.org>
9010
9011         * glyphs-msw.c (mswindows_tab_control_update): force selected
9012         item.
9013
9014         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9015         window domain cache, otherwise we get inconsistencies at
9016         startup. There is something fishy at startup which can lead to the
9017         minibuffer being the selected window when the gutter content is
9018         instantiated.
9019
9020         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9021         gcpros.
9022         (parse_gui_item_tree_children): ditto.
9023         (parse_gui_item_tree_item): ditto.
9024
9025         * glyphs.c (Fupdate_widget_instances): return something.
9026
9027 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9028
9029         * window.c (Fselect_window): Undo 2000-03-17 change.
9030
9031 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9032
9033         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9034         against v7.0 libraries.  Insta-coredump city until the postgres
9035         folks fix it.
9036
9037 2000-03-17  Andy Piper  <andy@xemacs.org>
9038
9039         * faces.c (complex_vars_of_faces): don't give the widget face an
9040         inherited background pixmap.
9041
9042         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9043         selected item.
9044
9045         * event-stream.c (Fdispatch_non_command_events): return something.
9046
9047         * gutter.c (output_gutter): use widget face.
9048         (clear_gutter): ditto.
9049
9050         * NEWS: adjust again.
9051
9052         * window.c (Fselect_window): make sure this runs to completion to
9053         avoid oddities with Fset_window_configuration.
9054         (Fcurrent_window_configuration): in general do not save the
9055         minibuffer as the selected window.
9056
9057         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9058
9059 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9060
9061         * emacs.c (Frunning_temacs_p): Revert previous patch.
9062         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9063
9064 2000-03-16  Andy Piper  <andy@xemacs.org>
9065
9066         * glyphs-x.c (x_tab_control_update): if no widget values then
9067         return.
9068
9069         * NEWS: update for new features.
9070
9071         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9072         synthetic event to the native system.
9073         (reinit_vars_of_event_Xt): set force_event_pending to
9074         emacs_Xt_force_event_pending.
9075
9076         * events.h (struct event_stream): add force_event_pending.
9077
9078         * specifier.c (recompute_one_cached_specifier_in_window): add
9079         comment.
9080
9081         * redisplay.c (redisplay_frame): don't call
9082         update_frame_subwindows. Reset subwindow cachels when
9083         subwindows_changed, removing this was an optimization too far.
9084
9085         * redisplay-output.c (compare_runes): reorganize so that we catch
9086         glyph changes when we want them. Set optimize_output when this
9087         would help layouts.
9088         (redisplay_output_layout): remove frame_really_changed, use
9089         optimize_output instead.
9090
9091         * redisplay-msw.c (mswindows_output_display_block): reset
9092         optimize_output after outputting a glyph.
9093         * redisplay-x.c (x_output_display_block): ditto.
9094         * redisplay-tty.c (tty_output_display_block): ditto.
9095
9096         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9097         functions.
9098         (gutter_specs_changed): do specific gutter positions.
9099         (top_gutter_specs_changed): new function. Only update the
9100         specified gutter specs.
9101         (bottom_gutter_specs_changed): ditto.
9102         (left_gutter_specs_changed): ditto.
9103         (right_gutter_specs_changed): ditto.
9104
9105         * gui.c (gui_item_hash_internal): new function, does a real hash.
9106         (gui_item_id_hash): use it.
9107         (gui_item_hash): hash the eval'ed gui_item.
9108
9109         * gui-x.c (popup_selection_callback): send an eval event to call
9110         Fupdate_widget_instances.
9111
9112         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9113         to call Fupdate_widget_instances.
9114
9115         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9116         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9117
9118         * glyphs.c: (update_frame_subwindows): deleted.
9119         (Fupdate_widget_instances): new function for updating the dirty
9120         state of widgets that might have changed.
9121         (syms_of_glyphs): add Qupdate_widget_instances.
9122         (full_list_hash): hash a list completely.
9123         (image_instance_hash): use it for items and properties.
9124
9125         * frame-msw.c (mswindows_size_frame_internal): remove unused
9126         variable.
9127
9128         * faces.h (struct face_cachel): fix comment.
9129
9130         * event-stream.c (Fdispatch_non_command_events): new
9131         function. Process non-command events, forcing an event cycle
9132         beforehand.
9133         (syms_of_event_stream): declare.
9134         (event_stream_force_event_pending): new function. Force an event
9135         on the native event queue so that an event cycle will occur next
9136         time we check.
9137
9138         * event-msw.c:
9139         (struct ntpipe_shove_stream):
9140         (mswindows_enqueue_dispatch_event):
9141         (mswindows_dequeue_dispatch_event):
9142         (mswindows_cancel_dispatch_event):
9143         (mswindows_pump_outstanding_events):
9144         (mswindows_drain_windows_queue):
9145         (mswindows_handle_paint):
9146         (mswindows_wnd_proc):
9147         (mswindows_key_to_emacs_keysym):
9148         (get_process_input_waitable):
9149         (emacs_mswindows_delete_stream_pair): re-indent file.
9150         (mswindows_need_event): do not process further fds if the windows
9151         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9152         fixes the 100% cpu problem.
9153         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9154
9155 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9156
9157         * alloc.h: New.
9158         * dumper.h: New.
9159         * dumper.c: New.
9160
9161         * emacs.c: Moved dump file searching to dumper.c.
9162         (Frunning_temacs_p): Fixed.
9163
9164         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9165         last_lrecord_type_index_assigned.
9166
9167 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9168
9169         * symsinit.h: Added reinit parameter to init_console_stream
9170         declaration.
9171
9172         * lisp.h: Added file parameter to pdump_load declaration.
9173
9174         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9175         support.  Added dump file searching.
9176
9177         * config.h.in: Added EMACS_PROGNAME.
9178
9179         * console-stream.c (init_console_stream): Fix reinitialisation
9180         when running from temacs.
9181
9182         * alloc.c (pdump): Add id support.
9183         (pdump_load): Add file parameter and signature/id support.
9184
9185         * Makefile.in.in: Add full pdump support.
9186
9187 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9188
9189         * postgresql.c: Update documentation to reflect latest code
9190         status.
9191         (print_result): Show tuple counts in printed representation when
9192         appropriate.
9193         (Fpq_put_nbytes): MULE-ize.
9194         (Fpq_get_line_async): Ditto.
9195
9196 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9197
9198         * postgresql.c (Fpq_lo_import): Fix return value.
9199         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9200
9201 2000-03-13  Ben Wing  <ben@xemacs.org>
9202
9203         * alloc.c (pdump_load):
9204         Fix compile warning under mswin.
9205
9206 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9207
9208         * postgresql.c: Mule-ization, bug fixes.
9209         Use PG_CODING to encapsulate coding system name changes.
9210         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9211         (pg-coding-system): Create.
9212
9213         (Fpq_conn_defaults): Mule-ize.
9214         (Fpq_connectdb): Mule-ize & bug fix.
9215         (Fpq_connect_start): Mule-ize.
9216         (Fpq_set_client_encoding): Mule-ize.
9217         (Fpq_finish): Document `DEAD' connection status.
9218         (Fpq_clear): Ditto.
9219         (Fpq_pgconn): Mule-ize.
9220         (Fpq_exec): Mule-ize & bug fix.
9221         (Fpq_send_query): Ditto.
9222         (Fpq_get_result): Ditto.
9223         (Fpq_res_status): Mule-ize.
9224         (Fpq_result_error_message): Mule-ize.
9225         (Fpq_ntuples): fix comments.
9226         (Fpq_fname): Mule-ize.
9227         (Fpq_fnumber): Mule-ize.
9228         (Fpq_ftype): fix comments.
9229         (Fpq_get_value): Mule-ize.
9230         (Fpq_cmd_status): Ditto.
9231         (Fpq_cmd_tuples): Ditto.
9232         (Fpq_oid_value): Ditto.
9233         (Fpq_notifies): Ditto.
9234         (Fpq_lo_import): Ditto.
9235         (Fpq_lo_export): Ditto.
9236         (Fpq_get_line): Ditto.
9237         (Fpq_put_line): Mule-ize and bug fix.
9238         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9239
9240 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9241
9242         * postgresql.c (vars_of_postgresql): Mule-ize.
9243         (Fpq_conn_defaults): Ditto.
9244
9245 2000-03-12  Ben Wing  <ben@xemacs.org>
9246
9247         * alloc.c (Fmake_byte_code):
9248         * alloc.c (debug_string_purity_print):
9249         * alloc.c (pdump_backtrace):
9250         * alloc.c (pdump_get_indirect_count):
9251         * alloc.c (pdump_register_sub):
9252         * alloc.c (pdump_register_object):
9253         * alloc.c (pdump_register_struct):
9254         * alloc.c (pdump_dump_data):
9255         * alloc.c (pdump_reloc_one):
9256         Minor cleanups.
9257
9258         * console-msw.c:
9259         * console-msw.c (GetConsoleHwnd):
9260         * console-msw.c (msw_hide_console):
9261         * console-msw.c (msw_show_console):
9262         * console-msw.c (msw_ensure_console_buffered):
9263         * console-msw.c (msw_output_console_string):
9264         * console-msw.c (console_type_create_mswindows):
9265
9266         a) Added functions to manipulate the console window for use with
9267         shell support.
9268
9269         b) Added support for writing text to the console, which is now
9270         used under Windows when xemacs is not being run non-interactively,
9271         to write text that would otherwise be destined for stdout because
9272         under these circumstances, text written to stdout tends to
9273         disappear and not be seen.
9274
9275         * console-msw.h:
9276         * event-Xt.c:
9277         * event-Xt.c (x_event_to_emacs_event):
9278         * event-Xt.c (describe_event_window):
9279         * events-mod.h (XEMACS_MOD_CONTROL):
9280         * events.c:
9281         * events.c (Fmake_event):
9282         * events.c (character_to_event):
9283         * events.c (event_to_character):
9284         * events.c (format_event_object):
9285         * events.c (Fevent_modifiers):
9286         * events.h:
9287         * events.h (struct key_data):
9288         * events.h (struct button_data):
9289         * events.h (struct misc_user_data):
9290         * frame-x.c (Fcde_start_drag_internal):
9291         * frame-x.c (Foffix_start_drag_internal):
9292         * gpmevent.c (Freceive_gpm_event):
9293         * keymap.c:
9294         * keymap.c (bucky_sym_to_bucky_bit):
9295         * keymap.c (control_meta_superify):
9296         * keymap.c (make_key_description):
9297         * keymap.c (keymap_lookup_directly):
9298         * keymap.c (create_bucky_submap):
9299         * keymap.c (keymap_store):
9300         * keymap.c (define_key_check_and_coerce_keysym):
9301         * keymap.c (define_key_parser):
9302         * keymap.c (define_key_alternate_name):
9303         * keymap.c (Fdefine_key):
9304         * keymap.c (raw_lookup_key_mapper):
9305         * keymap.c (struct map_keymap_unsorted_closure):
9306         * keymap.c (map_keymap_unsorted_mapper):
9307         * keymap.c (map_keymap_sort_predicate):
9308         * keymap.c (map_keymap_sorted):
9309         * keymap.c (accessible_keymaps_mapper_1):
9310         * keymap.c (where_is_recursive_mapper):
9311         * keymap.c (describe_map_mapper):
9312         * keymap.c (describe_map_sort_predicate):
9313         * keymap.c (describe_map):
9314         * keymap.c (complex_vars_of_keymap):
9315         And a number of other files, the key modifier preprocessor
9316         constants that xemacs uses have names that conflict with constants
9317         defined under MS Windows for other purposes, so they were renamed
9318         to begin with the prefix XEMACS_. The variables that hold such
9319         modifiers were changed to consistently be of type int to fix
9320         various compile warnings.
9321
9322         * console.c (complex_vars_of_console):
9323         * device.c:
9324         * device-msw.c:
9325         * device-msw.c (mswindows_finish_init_device):
9326         * device-msw.c (msw_get_workspace_coords):
9327         * device-msw.c (mswindows_device_system_metrics):
9328         and various other files, added support for a new
9329         device property called offset-workspace which returns the position
9330         of the upper left corner of the workspace area and goes along with
9331         the existing size-workspace property.
9332
9333         * dialog-msw.c:
9334         * dialog-msw.c (push_bufbyte_string_as_unicode):
9335         * dialog-msw.c (mswindows_popup_dialog_box):
9336         Added support for XEmacs-style accelerator specifications in
9337         button text.  Note: I didn't add support for this under X Windows,
9338         and somebody needs to do this.
9339
9340         * dialog.c:
9341         * dialog.c (Fpopup_dialog_box):
9342         Documented the support for accelerators that was just mentioned.
9343
9344         editfns.c (get_home_directory): Changed behavior under Windows
9345         when HOME not defined; former behavior was irretrievably broken.
9346
9347         * emacs.c:
9348         * emacs.c (main_1):
9349         * emacs.c (main):
9350         * minibuf.c (clear_echo_area_internal):
9351         * minibuf.c (echo_area_append):
9352         * print.c:
9353         * print.c (std_handle_out_external):
9354         * print.c (std_handle_out_va):
9355         * print.c (fatal):
9356         * print.c (write_string_to_stdio_stream):
9357         * print.c (output_string):
9358         * print.c (debug_print):
9359         * print.c (debug_backtrace):
9360         * print.c (debug_short_backtrace):
9361         Cleaned up the code that prints text to stdout so that this can be
9362         changed to output into a console window instead under MS Windows,
9363         as described above.
9364
9365         * eval.c:
9366         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9367         * eval.c (internal_catch):
9368         * eval.c (unwind_to_catch):
9369         * eval.c (throw_or_bomb_out):
9370         * eval.c (condition_case_1):
9371         * eval.c (signal_1):
9372         * eval.c (check_error_state_sanity):
9373         * eval.c (call_with_suspended_errors_1):
9374         * eval.c (call_with_suspended_errors):
9375         * eval.c (reinit_vars_of_eval):
9376         Added code to catch throw loops and check for a pesky bug that may
9377         be gone now.
9378
9379         * event-msw.c:
9380         * event-msw.c (key_needs_default_processing_p):
9381         * event-msw.c (mswindows_wnd_proc):
9382         * event-msw.c (mswindows_modifier_state):
9383         * event-msw.c (emacs_mswindows_quit_p):
9384         * event-msw.c (vars_of_event_mswindows):
9385         a) Added support for using the alt key to select menu items as is
9386         standard under MS Windows.  This is controlled using the variable
9387         menu-accelerator-enabled, just like under X Windows.  There is an
9388         option on the options menu to turn this support on.  I really
9389         think that it should be on by default under Windows, but I'm not
9390         going to make this change yet.
9391
9392         b)  Added support for dynamic display size changes under Windows.
9393
9394         * event-stream.c:
9395         * event-stream.c (maybe_echo_keys):
9396         * event-stream.c (Fnext_event):
9397         * event-stream.c (command_builder_find_leaf):
9398         * event-stream.c (lookup_command_event):
9399         * event-stream.c (execute_command_event):
9400         * event-stream.c (pre_command_hook):
9401         * event-stream.c (post_command_hook):
9402         * event-stream.c (syms_of_event_stream):
9403         * event-stream.c (vars_of_event_stream):
9404         * event-stream.c (complex_vars_of_event_stream):
9405         * events.h (struct command_builder):
9406
9407         a) Tried to clean up a little bit the horribly written x-specific
9408         accelerator code that crept into this file.  I moved this code
9409         into menubar-x.c where it belongs. I also needed to move the
9410         command builder structure into the file events.h because it is
9411         accessed directly by this accelerator code.  What I didn't do, but
9412         which should be done at some point, is to properly abstract this
9413         code using device methods instead of the kludgy way that it
9414         currently hooks into the event code.
9415
9416         b) Added the lisp variables this-command-properties and
9417         last-command- properties, which should be used to synchronize two
9418         adjacent commands in preference to playing games with the variable
9419         this-command, which is typically what happens.
9420
9421         c) Added some slightly nasty code to hook into the lisp support
9422         for shifted- motion-key selection.  This is actually necessary for
9423         somewhat complicated reasons, which are described in
9424         simple.el. (NB: I think the proper thing would be to have the code
9425         that calls the pre and post command hooks also call out to generic
9426         lisp functions in simple.el, where all built-in stuff could be
9427         added.  I will think about this more.)
9428
9429         * event-unixoid.c (poll_fds_for_input):
9430         * lread.c (readchar):
9431         * redisplay-tty.c (tty_clear_frame):
9432         * redisplay-x.c (x_get_gc):
9433         * signal.c (interrupt_signal):
9434         And a whole bunch of other files: fixed up places that printed
9435         directly to stderr to instead call the function stderr_out so that
9436         the changes I made under Windows work correctly.
9437
9438         * filemode.c (mode_string):
9439         Warning fixes.
9440
9441         * frame-msw.c:
9442         * frame-msw.c (mswindows_size_frame_internal):
9443         Fixed the computation of frame size and position to keep the frame
9444         within the workspace area, rather than within the physical
9445         dimensions of the screen, so that the frame doesn't overlap window
9446         manager decorations, such as the start menu and toolbar, typically
9447         at the bottom of the screen.
9448
9449         * frame.c (vars_of_frame):
9450         Changed the default frame title format under MS Windows to consist
9451         of buffername-XEmacs, which is standard under MS Windows.  I think
9452         it might be a good idea to change this everywhere because I think
9453         it is superior to the current frame title format, but this is the
9454         kind of change that is likely to cause some people to get annoyed,
9455         so I'm not making it.
9456
9457         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9458
9459         * gui-msw.c (mswindows_handle_gui_wm_command):
9460         Fixed compile warnings.
9461
9462         * gui-x.c:
9463         * gui-x.c (strdup_and_add_accel):
9464         * gui-x.c (button_item_to_widget_value):
9465         * gui-x.h:
9466         Added code to automatically put an accelerator onto the beginning
9467         of menu items that don't have one as is now the standard, and is
9468         described more later.  Also fixed things so that the menu item
9469         name can be an evaluated expression, again a new standard.
9470
9471         * gui.c:
9472         * gui.c (gui_item_add_keyval_pair):
9473         * gui.c (make_gui_item_from_keywords_internal):
9474         * gui.c (gui_add_item_keywords_to_plist):
9475         * gui.c (gui_item_accelerator):
9476         * gui.c (gui_name_accelerator):
9477         * gui.c (gui_item_included_p):
9478         * gui.c (gui_item_display_flush_left):
9479         * gui.c (gui_item_display_flush_right):
9480         * gui.c (parse_gui_item_tree_item):
9481         * gui.c (parse_gui_item_tree_children):
9482         * gui.c (parse_gui_item_tree_list):
9483         Mule-ized.  Cleanup.  GCPRO addition.
9484
9485         * line-number.c (buffer_line_number):
9486         * lisp.h:
9487         * lisp.h (EMACS_INT_MAX):
9488         Added the manifest constant EMACS_INT_MIN corresponding to the
9489         existing constant EMACS_INT_MAX.  This is partially to fix compile
9490         warnings under Windows, and partly for cleanliness.
9491
9492         * menubar-msw.c:
9493         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9494         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9495         * menubar-msw.c (displayable_menu_item):
9496         * menubar-msw.c (populate_menu_add_item):
9497         * menubar-msw.c (populate_or_checksum_helper):
9498         * menubar-msw.c (populate_menu):
9499         * menubar-msw.c (update_frame_menubar_maybe):
9500         * menubar-msw.c (prune_menubar):
9501         * menubar-msw.c (msw_char_is_accelerator):
9502         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9503         * menubar-msw.c (mswindows_handle_wm_command):
9504         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9505         * menubar-msw.c (mswindows_handle_wm_initmenu):
9506         * menubar-msw.c (mswindows_update_frame_menubars):
9507         * menubar-msw.c (mswindows_free_frame_menubars):
9508         * menubar-msw.c (mswindows_popup_menu):
9509         Fixed a bug in handling accelerators where an extra character
9510         would be displayed in the menu item.  Also generalized the
9511         function displayable_menu_item because it is now used by the
9512         dialog box code as well.  And finally, added code in the functions
9513         that create the menubar to extract a list of accelerators for the
9514         top level menubar, which is used in the event code to determine
9515         whether a particular alt-key combination should be used to invoke
9516         a menu item, or should be passed through to access the standard
9517         XEmacs keymap binding for this key combination.
9518
9519         Much needed GCPROing.
9520
9521         * menubar-x.c:
9522         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9523         * menubar-x.c (menu_item_descriptor_to_widget_value):
9524         * menubar-x.c (restore_in_menu_callback):
9525         * menubar-x.c (x_popup_menu):
9526         * menubar-x.c (menu_move_up):
9527         * menubar-x.c (menu_move_down):
9528         * menubar-x.c (menu_move_left):
9529         * menubar-x.c (menu_move_right):
9530         * menubar-x.c (menu_select_item):
9531         * menubar-x.c (command_builder_operate_menu_accelerator):
9532         * menubar-x.c (menu_accelerator_junk_on_error):
9533         * menubar-x.c (command_builder_find_menu_accelerator):
9534         * menubar-x.c (Faccelerate_menu):
9535         * menubar.h:
9536         Moved a whole bunch of code here that was previously in
9537         event-stream.c as described above.  There is also code connected
9538         to the new standard of adding an accelerator to the beginning of
9539         menu items that don't have one as described above and below.
9540
9541         * menubar.c:
9542         * menubar.c (menu_parse_submenu_keywords):
9543         * menubar.c (Fmenu_find_real_submenu):
9544         * menubar.c (Fnormalize_menu_item_name):
9545         * menubar.c (syms_of_menubar):
9546         * menubar.c (vars_of_menubar):
9547         * menubar.c (complex_vars_of_menubar):
9548
9549         a) Cleaned up a bunch of documentation and improved it.
9550
9551         b) XEmacs now automatically adds an accelerator onto the beginning
9552         of any menu items that don't have one.  I did this because there
9553         will inevitably be some menu items on the main menubar that don't
9554         have accelerators on them because the package that adds that
9555         particular menu item hasn't yet been fixed up to have accelerators
9556         in them and it looked rather strange to have some items with and
9557         some items without accelerators, especially since even in items
9558         without accelerators, you can, at least under windows, still
9559         access the item through an accelerator corresponding to the first
9560         character in the item's name.  If people don't like this behavior,
9561         I can add a variable to turn it off optionally, but I'm not sure
9562         this is a good idea because we really do need to have accelerators
9563         on all of the menu items, and if a package doesn't like the
9564         accelerators being put on the first character, then it should put
9565         the accelerators where they belong.
9566
9567         c) I made a behavior change, which is that the descriptor that
9568         specifies the text of the menu item, which formerly was just a
9569         string, can now also be an evaluated expression.  This makes this
9570         descriptor parallel with all of the others, which could also be
9571         evaluated expressions.  This also obviates the need for the
9572         keyword :label, which was previously listed in the documentation
9573         as unimplemented, and which was for the same purpose.
9574
9575         d) GCPROing.
9576
9577         * ntproc.c:
9578         * ntproc.c (new_child):
9579         * ntproc.c (sys_spawnve):
9580         * ntproc.c (find_child_console):
9581         * ntproc.c (sys_kill):
9582         Fixed compile warnings.  By the way, this file should really go
9583         away entirely, and this will happen as soon as Kirill makes his
9584         final round of process cleanups, which affect the function
9585         call-process.
9586
9587         * process-nt.c:
9588         * process-nt.c (struct nt_process_data):
9589         * process-nt.c (find_process_from_pid):
9590         * process-nt.c (send_signal_the_nt_way):
9591         * process-nt.c (enable_child_signals):
9592         * process-nt.c (find_child_console):
9593         * process-nt.c (send_signal_the_95_way):
9594         * process-nt.c (nt_finalize_process_data):
9595         * process-nt.c (ensure_console_window_exists):
9596         * process-nt.c (nt_create_process):
9597         * process-nt.c (nt_kill_child_process):
9598         * process-nt.c (nt_kill_process_by_pid):
9599         * process-nt.c (nt_open_network_stream):
9600         * process-nt.c (vars_of_process_nt):
9601         Copied over code from Emacs 20.5 to correctly send signals to sub-
9602         processes under Windows 95.  Also added code to automatically
9603         create and hide console window when a sub-process is created under
9604         Windows 95, which obviates the need for the separate runemacs.exe
9605         executable, and finally implemented some variables that were
9606         implemented in Emacs 20.5, but previously not in XEmacs.  These
9607         include mswindows- start-process-share-console and
9608         mswindows-start-process-inherit-error-mode. (Both of these only
9609         apply to Windows 95.)
9610
9611         * regex.c (regex_compile): Fixed a compile warning.
9612
9613         * select-msw.c:
9614         * select-msw.c (mswindows_own_selection):
9615         * select-msw.c (mswindows_get_foreign_selection):
9616         * select-msw.c (mswindows_disown_selection):
9617         * select-msw.c (console_type_create_select_mswindows):
9618         * select-msw.c (syms_of_select_mswindows):
9619         Cleaned up the file and implemented the device method
9620         selection_exists_p, which had accidentally been left out.  Also
9621         removed four lisp functions that were remnants from before the
9622         time when the selection code was properly device abstracted.
9623         These functions are no longer needed because there are generic
9624         equivalents, and because they were added recently and don't exist
9625         in FSF Emacs, I don't think there's any problem with just deleting
9626         them.
9627
9628         * sysdep.c:
9629         * sysdep.c (sys_subshell):
9630         Fixed a compile warning, although in this case there's probably
9631         something wrong with this code, and it ought to be looked into
9632         more thoroughly by somebody who understands it.
9633
9634         * window.c:
9635         * window.c (Fwindow_text_area_height):
9636         * window.c (Fwindow_width):
9637         * window.c (Fwindow_full_width):
9638         * window.c (Fwindow_pixel_width):
9639         * window.c (debug_print_window):
9640         * window.c (syms_of_window):
9641         Added functions window-text-area-height and window-full-width,
9642         which are functions for returning various width and height
9643         characteristics of a window. (One of these functions is necessary
9644         for making the file dialog box work correctly, and the other one
9645         was added for completeness.)  Also added a table to the
9646         documentation for window-height which describes the entire scheme
9647         for accessing width and height characteristics of a window.
9648
9649 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9650
9651         * nt.c (fstat): Added a comment for another problem with
9652         non-encapsulated [f]stat(), reported by Adrian Aichner
9653         <aichner@ecf.teradyne.com>.
9654
9655 2000-03-11  Andy Piper  <andy@xemacs.org>
9656
9657         * window.c (make_dummy_parent): initialize subwindow instance
9658         cache.
9659         (Fset_window_configuration): zero extent_modiff.
9660
9661 2000-03-10  Andy Piper  <andy@xemacs.org>
9662
9663         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
9664         more changes can be triggered.
9665         (Fredisplay_frame): ditto.
9666         (Fredraw_device): ditto.
9667         (Fredisplay_device): ditto.
9668         (redisplay_frame): make non-static.
9669         (redisplay_frame): call update_frame_gutter_geometry outside of
9670         display proper.
9671
9672         * gutter.h: declare update_frame_gutter_geometry.
9673
9674         * redisplay.h: declare redisplay_frame.
9675
9676         * gutter.c (update_frame_gutter_geometry): move geometry changes
9677         in update_frame_gutters here. Geometry changes can only occur
9678         outside of redisplay.
9679         (update_frame_gutters): remove geometry change code.
9680         (Fredisplay_gutter_area): make sure that we are in display when we
9681         update and that we have flushed any size changes.
9682
9683 2000-03-11  Andy Piper  <andy@xemacs.org>
9684
9685         * alloc.c (pdump_dump_data): remove i & count shadows.
9686
9687 2000-02-27  Mike Alexander  <mta@arbortext.com>
9688
9689         * sysdep.h: Declare pdump_read_file
9690
9691         * sysdep.c (pdump_read_file): New function
9692
9693         * alloc.c (pdump_load): Call pdump_read_file to get the portable
9694         dump data
9695
9696 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9697
9698         * lrecord.h: add `lrecord_type_pgsetenv'.
9699
9700 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
9701
9702         * symsinit.h: declare (vars|syms)_of* functions.
9703         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
9704
9705 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
9706
9707         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
9708
9709         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
9710         GCCs.
9711
9712         * emacs.c (main_1): Call postgres initialization code.
9713
9714         * postgresql.h: New file.  PostgreSQL RDBMS support.
9715         * postgresql.c: New file.
9716
9717 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9718
9719         * redisplay-output.c (redisplay_output_display_block): Disable
9720         redundant code.
9721
9722 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9723
9724         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
9725         (Fcanna_henkan_next): Ditto.
9726         (Fcanna_bunsetu_henkou): Ditto.
9727         (Fcanna_henkan_kakutei): Ditto.
9728         (Fcanna_henkan_end): Ditto.
9729         (Fcanna_henkan_quit): Ditto.
9730         (Fcanna_henkan_next): Set retun value correctly.
9731         (c2mu): Use unsigned char instead of signed char.
9732
9733 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9734
9735         * emacs.c (main_1): Always call syms_of_gui.
9736         * inline.c: include gui.h
9737
9738 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9739
9740         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
9741         converted to Lisp_Object.
9742         (Qtop_bottom): New variable.
9743         (syms_of_redisplay): Initialize it.
9744         * redisplay.h (Vvisible_bell): Ditto.
9745         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
9746         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
9747         only flash top and bottom.
9748
9749 2000-03-08  Andy Piper  <andy@xemacs.org>
9750
9751         * buffer.c (Frename_buffer): record new buffer name the right way.
9752
9753 2000-03-08  Andy Piper  <andy@xemacs.org>
9754
9755         * glyphs.c (update_subwindow): increase hash depth so that widget
9756         items get picked up properly.
9757
9758         * redisplay-output.c (compare_runes): increase hash depth so that
9759         widget items get picked up properly.
9760
9761 2000-03-08  Andy Piper  <andy@xemacs.org>
9762
9763         * gutter.c (output_gutter): add some debug.
9764
9765         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
9766         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
9767         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
9768
9769         * redisplay-output.c (compare_runes): use display_hash to
9770         determine if glyphs really are not the same.
9771
9772         * glyphs.c (update_subwindow): check display_hash to see if
9773         anything really needs to be updated. If not then do
9774         nothing. Record the display_hash after updating.
9775         (image_instance_equal): compare the image_instance face also.
9776
9777 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
9778
9779         * redisplay.h: Fix comment style.
9780
9781 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9782
9783         * consle-msw.h (struct mswindows_frame):
9784         Added new member paint_pending to indicate whether a WM_PAINT
9785         magic event has been queued for this frame.
9786
9787         * event-msw.c (mswindows_drain_windows_queue):
9788         Don't queue a WM_PAINT magic event if one is already queued.
9789         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
9790
9791         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
9792
9793 2000-03-07  Didier Verna  <didier@xemacs.org>
9794
9795         * dired.c: #include `regex.h' after `sysfile.h'.
9796
9797 2000-03-06  Martin Buchholz  <martin@xemacs.org>
9798
9799         * sound.c (init_nas_sound): Fix compiler warning.
9800
9801         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
9802         (FREE_STRUCT_P):
9803         (MARK_STRUCT_AS_FREE):
9804         (MARK_STRUCT_AS_NOT_FREE):
9805         Make `gcc -fstrict-aliasing' work properly.
9806
9807 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9808
9809         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
9810         (mswindows_delete_device): Call CoUnnitialize().
9811
9812         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
9813
9814 2000-02-25    <CraigL@DyCon.com>
9815
9816         * process-nt.c: MinGW now has <shellapi.h>, but still needs
9817         <errno.h>.
9818
9819         * sysdep.c: This extern declaration for environ prevents MinGW
9820         from finding the variable in CRTDLL.DLL.
9821
9822         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
9823         windows headers.
9824         (SHGFI_EXETYPE): ..
9825         (WM_MOUSEWHEEL): ..
9826         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
9827         definitions.
9828         (MMRESULT): Removed, now defined in cygwin's windows headers.
9829         (TIMECAPS): ..
9830         (uid_t,gid_t,pid_t,ssize_t): ..
9831         (_timeb): Removed, MinGW defines both _timeb and timeb.
9832         (HAVE_H_ERRNO): Added.
9833         (HAVE_TZNAME): Added, configure is not detecting this.
9834
9835 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
9836
9837         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
9838         * syntax.c (syntax_match): Use it.
9839
9840         * cmds.c: Import auto-fill-chars from FSF Emacs.
9841         (Vauto_fill_chars): New variables.
9842         (internal_self_insert): Check Vauto_fill_chars.
9843         (vars_of_cmds):
9844         Declare auto-fill-chars as a Lisp variable and initialize it.
9845
9846 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9847
9848         * fileio.c (Fmake_symbolic_link):
9849         (Ffile_symlink_p):
9850         Run handlers even if local machine doesn't have symlinks.
9851
9852 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9853
9854         * event-msw.c (mswindows_drain_windows_queue):
9855         Don't generate paint magic events for non-XEmacs frames.
9856
9857 2000-03-05  Andy Piper  <andy@xemacs.org>
9858
9859         * redisplay.c (redisplay_frame): generate_displayable_area and
9860         friends assumes that we are not in GC, we therefore have to make
9861         sure that this doesn't happen.
9862
9863         * gutter.c (calculate_gutter_size): generate_displayable_area
9864         assumes that we are not in GC, we therefore have to make sure that
9865         this doesn't happen.
9866
9867 2000-03-05  Martin Buchholz  <martin@xemacs.org>
9868
9869         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
9870
9871 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9872
9873         * redisplay.c (regenerate_window): Make sure we set a sane value
9874         for end_pos even if we jump out of the loop.
9875         (regenerate_window): Answer Ben's question :-).
9876         (start_end_of_last_line): Add may_error argument.
9877         (start_of_last_line):
9878         (end_of_last_line): Pass may_error = 0.
9879         (end_of_last_line_may_error): New function.
9880         (pixel_to_glyph_translation): Use it, so we don't crash in
9881         event_to_glyph.
9882
9883 2000-03-04  Andy Piper  <andy@xemacs.org>
9884
9885         * window.h (struct window): add gutter_extent_modiff.
9886
9887         * window.c (allocate_window): zero out gutter_extent_modiff.
9888
9889         * redisplay.h: declare sync_display_line_structs.
9890
9891         * redisplay.c (add_glyph_rune): add a better comment.
9892
9893         * redisplay-output.c (sync_display_line_structs): made non-static.
9894         (compare_runes): remove unneccesary glyph cachel access.
9895
9896         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
9897
9898         * gutter.c (output_gutter): don't output the gutter if extent
9899         changes only involve extents in buffers. use 4 sets of display
9900         lines.
9901         (gutter_extent_signal_changed_region_maybe): new function. Mark
9902         extents in gutters as changed.
9903         (update_frame_gutters): use 4 sets of display lines.
9904         (reset_gutter_display_lines): ditto.
9905         (free_frame_gutters): ditto.
9906         (redraw_exposed_gutter): force output of gutters.
9907
9908         * frame.h (struct frame): add 4 sets of gutter display lines.
9909
9910         * extents.c: (extent_changed_for_redisplay): signal changes to
9911         extents in strings in the gutter as well as extents in buffers.
9912
9913 2000-03-02  Andy Piper  <andy@xemacs.org>
9914
9915         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
9916
9917         * frame.c (Fmake_frame): make sure the gutters get initialized
9918         after the frame is visible.
9919         (set_frame_selected_window): re-arrange compilation macros a
9920         little.
9921         (change_frame_size_1): mark gutters changed.
9922
9923         * device.c (Fset_device_class): mark gutters changed.
9924
9925 2000-03-01  Andy Piper  <andy@xemacs.org>
9926
9927         * window.c (window_top_frame_gutter_height): deleted.
9928         (window_bottom_frame_gutter_height): ditto.
9929         (window_left_frame_gutter_height): ditto.
9930         (window_right_frame_gutter_height): ditto.
9931         (window_top_gutter_height): don't use them.
9932         (window_bottom_gutter_height): ditto.
9933         (window_left_gutter_width): ditto.
9934         (window_right_gutter_width): ditto.
9935         (Fsplit_window): ditto.
9936         (Fwindow_pixel_edges): don't use border dimensions here.
9937
9938         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
9939         (update_scrollbar_instance): ditto.
9940
9941         * redisplay.c (generate_modeline): don't take gutters into account.
9942         (generate_modeline): ditto.
9943         (redisplay_frame): small gutter display optimization.
9944
9945         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
9946
9947         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
9948         gutters into account.
9949
9950         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
9951         for window position and type.
9952
9953         * gutter.c (get_gutter_coords): fix for frame gutters.
9954         (update_frame_gutters): update frame geometry if the gutters have
9955         changed.
9956         (init_frame_gutters): record current gutter geometries.
9957
9958         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
9959         var.
9960         (mswindows_widget_instantiate): ditto.
9961
9962         * frame.h (struct frame): add current_gutter_bounds.
9963
9964         * frame.c (change_frame_size_1): position window and minibuffer
9965         appropriately taking into account the frame gutters.
9966
9967         * frame-x.c: (x_initialize_frame_size): take into account the
9968         frame gutters.
9969
9970 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
9971
9972         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
9973
9974 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
9975
9976         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
9977
9978 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
9979
9980         * file-coding.c (reset_decoding_stream): Clear previous
9981         detection state when autodetect.
9982
9983 2000-02-29  Didier Verna  <didier@xemacs.org>
9984
9985         * extents.c (set_extent_glyph_1): don't require extents to be
9986         attached.
9987
9988 2000-02-27  Andy Piper  <andy@xemacs.org>
9989
9990         * gutter.c (Fset_default_gutter_position): don't default left and
9991         right gutter visibility to t.
9992         (Fset_default_gutter_position): run
9993         default-gutter-position-changed-hook.
9994         (syms_of_gutter): add default-gutter-position-changed-hook.
9995
9996 2000-02-26  Andy Piper  <andy@xemacs.org>
9997
9998         * specifier.c (Fmake_specifier): add gutter references.
9999
10000         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10001
10002         * lisp.h: declare Fvalid_plist_p.
10003
10004         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10005         as changed.
10006         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10007         well as its visibility so that it gets reconstructed.
10008         (construct_window_gutter_spec): new function. Construct a string
10009         to be displayed in the gutter from a plist of strings. Take care
10010         to only use elements that are declared as visible.
10011         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10012         WINDOW_GUTTER.
10013         (gutter_validate): allow plists of strings in the specifier.
10014         (gutter_specs_changed): construct the real_gutter from the gutter
10015         specs using construct_window_gutter_spec.
10016         (gutter_visible_validate): gutter-visible is a new specifier type.
10017         (Fgutter_visible_specifier_p): new function for the new specifier.
10018         (syms_of_gutter): declare gutter-visible and
10019         Fgutter_visible_specifier_p.
10020         (specifier_type_create_gutter): intitalize new gutter-visible
10021         specifier.
10022         (reinit_specifier_type_create_gutter): ditto.
10023         (specifier_vars_of_gutter): use new specifier type for gutter
10024         visibility.
10025         (init_frame_gutters): construct real_gutter correctly.
10026         (Fgutter_specifier_p): beef up documentation.
10027         (Fgutter_size_specifier_p): ditto.
10028
10029         * winslots.h: add real_gutter slots.
10030
10031 2000-02-25  Andy Piper  <andy@xemacs.org>
10032
10033         * device-msw.c: Be kind to older cygwin versions. From Raymond
10034         Toy <toy@rtp.ericsson.se>.
10035
10036         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10037         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10038
10039 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10040
10041         * elhash.c (MARK_OBJ): Practice macro hygiene.
10042
10043 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10044
10045         * miscplay.c: s/__inline__/inline/g;
10046         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10047         (get_device_compdc): INLINE ==> static inline
10048         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10049         find -name '*.h' | \
10050         xargs global-replace \
10051         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10052
10053 2000-02-25  Andy Piper  <andy@xemacs.org>
10054
10055         * window.c (window_top_frame_gutter_height): new function.
10056         (window_top_window_gutter_height): ditto.
10057         (window_top_gutter_height): use them.
10058         (window_bottom_frame_gutter_height): new function.
10059         (window_bottom_window_gutter_height): ditto.
10060         (window_bottom_gutter_height): use them.
10061         (window_left_window_gutter_width): new function.
10062         (window_left_frame_gutter_width): ditto.
10063         (window_left_gutter_width): use them.
10064         (window_right_window_gutter_width): new function.
10065         (window_right_frame_gutter_width): ditto.
10066         (window_right_gutter_width): use them.
10067         (window_pixel_height): new function. calulate window pixel height
10068         with frame gutter involvement.
10069         (Fsplit_window): calculate new sizes taking frame gutters into
10070         account.
10071         (window_char_height_to_pixel_height): don't include frame gutters.
10072         (window_char_height): use window_pixel_height.
10073         (window_pixheight): rename from window_pixel_height.
10074         (change_window_height): use it.
10075         (window_pixel_height_to_char_height): don't include frame gutters.
10076         (window_char_width_to_pixel_width): ditto.
10077
10078 2000-02-25  Andy Piper  <andy@xemacs.org>
10079
10080         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10081         if it is.
10082
10083 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10084
10085         * alloc.c (staticpro):
10086         (staticpro_nodump):
10087         (dumpstruct):
10088         (dumpopaque):
10089         (pdump_wire):
10090         (pdump_wire_list):
10091         (compact_string_chars):
10092         (pdump_dump_wired):
10093         Convert:  if (foo) abort();  ==>  assert (! foo);
10094
10095         * eldap.c (Fldap_search_basic):
10096         (Fldap_add):
10097         (Fldap_modify):
10098         (Fldap_delete):
10099         Fix compiler warnings, and possible crashes if (random) return
10100         value were to be used.
10101
10102 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10103
10104         * device-msw.c: Workaround ResetDC failure.
10105
10106         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10107         applying a devmode.
10108
10109         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10110         (mswindows_text_width): Do not start printer page.
10111
10112         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10113
10114         * glyphs-msw.c: Added image methods to msprinter console and
10115         msprinter-specific image instantiation.
10116
10117 2000-02-20  Mike Alexander  <mta@arbortext.com>
10118
10119         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10120         to avoid crashes when selection-sets-clipboard is on
10121         (mswindows_own_selection): ditto
10122
10123 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10124
10125         * glyphs-msw.c:
10126         * redisplay-msw.c (get_frame_dc):
10127         (get_frame_compdc):
10128         * console-msw.h:
10129         * device-msw.c (mswindows_init_device):
10130         (mswindows_delete_device):
10131         (msprinter_init_device):
10132         (msprinter_delete_device):
10133         * frame-msw.c (mswindows_init_frame_1):
10134         (mswindows_delete_frame):
10135         (msprinter_init_frame_3):
10136         (msprinter_delete_frame): Move compatible DC to device object from
10137         frame object, for both mswindows and msprinter. Only one at a time
10138         is needed, it is a real waste to have one per frame!
10139
10140 2000-02-23  Andy Piper  <andy@xemacs.org>
10141
10142         * glyphs.c: add dynamic width and height elements.
10143         (image_instance_equal): ditto.
10144
10145         * glyphs-widget.c (widget_query_geometry): calculate width and
10146         height dynamically if required.
10147         (initialize_widget_image_instance): initialize dynamic dimensions.
10148         (widget_instantiate): pick-up dynamic dimensions.
10149
10150         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10151         dynamic determination. Add appropriate macros.
10152
10153         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10154         dimensions safe.
10155         (WINDOW_GUTTER_SIZE): ditto.
10156         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10157
10158         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10159         inline.
10160         (get_frame_dc): ditto.
10161
10162         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10163         here.
10164
10165 2000-02-23  Martin Buchholz <martin@xemacs.org>
10166
10167         * XEmacs 21.2.31 is released.
10168
10169 2000-02-22  Ben Wing <ben@xemacs.org>
10170
10171         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10172
10173 2000-02-22  Andy Piper  <andy@xemacs.org>
10174
10175         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10176
10177 2000-02-21  Mike Sperber <mike@xemacs.org>
10178
10179         * .dbxrc:
10180         * .gdbinit:
10181         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10182         variables.
10183
10184 2000-02-21  Mike Sperber <mike@xemacs.org>
10185
10186         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10187
10188 2000-02-21  Martin Buchholz <martin@xemacs.org>
10189
10190         * XEmacs 21.2.30 is released.
10191
10192 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10193
10194         Performance hacking.
10195         * *.c (syms_of_*):
10196         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10197         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10198         * emacs.c (main_1):
10199         * lisp.h (DEFUN):
10200         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10201         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10202         * symeval.h (DEFVAR_SYMVAL_FWD):
10203         * symbols.c (guts_of_unbound_marker):
10204         Make all c_readonly objects also lisp_readonly and marked for life.
10205         * lrecord.h (struct lrecord_implementation):
10206         Document flags better.
10207         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10208         * lrecord.h (DECLARE_LRECORD):
10209         * lrecord.h (XSETRECORD):
10210         * lrecord.h (RECORDP):
10211         * lrecord.h (RECORD_TYPEP):
10212         * lrecord.h (RECORD_MARKER): New.
10213         * lrecord.h (error_check_*):
10214         * lrecord.h (CONCHECK_NONRECORD):
10215         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10216         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10217         * lrecord.h (set_lheader_implementation):
10218         * lrecord.h (enum lrecord_type): New.
10219         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10220         * alloc.c (disksave_object_finalization_1):
10221         * alloc.c (mark_object):
10222         * alloc.c (lrecord_type_index):
10223         * alloc.c (tick_lcrecord_stats):
10224         * alloc.c (Fgarbage_collect):
10225         * alloc.c (init_alloc_once_early):
10226         * alloc.c (pdump_load):
10227         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10228         * alloc.c (lrecord_type_index): Delete.
10229         Make lisp object type indexes be constant.
10230           Makes (byte-compile) 5% faster.
10231         Put all marker functions into their own array.
10232           Makes (garbage-collect) 5% faster.
10233         Optimize SYMBOL_VALUE_MAGIC_P.
10234           Makes (byte-compile) 2-3% faster.
10235         * config.h.in (gc_checking_assert): New.
10236         * alloc.c: Use gc_checking_assert().
10237         * .dbxrc: Make compatible with new object type implementation.
10238         * .gdbinit: Make compatible with new object type implementation.
10239         * alloc.c: Delete all symbols defined only for debugging, such as
10240         Lisp_Type_Vector and lrecord_charset.
10241
10242 2000-02-21  Andy Piper  <andy@xemacs.org>
10243
10244         * gui-msw.c (Fmswindows_shell_execute): fix file location
10245         problems.
10246
10247         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10248         unshowing so that set_window_buffer doesn't undo
10249         kill_buffer_hook's hard work.
10250
10251         * glyphs-widget.c (tab_control_query_geometry): don't count the
10252         first item when calculating geometry.
10253
10254         * glyphs.c (map_subwindow): remove redundant code.
10255         (update_frame_subwindows): be more circumspect about when to
10256         update subwindows.
10257
10258         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10259         when items haven't changed. Update faces if faces have changed as
10260         well as just the widget face.
10261         (x_tab_control_update): Update faces if faces have changed as well
10262         as just the widget face.
10263
10264 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10265
10266         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10267         registration.
10268         (build_syscolor_string): Use mswindows_color_to_string to try to
10269         get a named color.
10270         (mswindows_device_system_metrics): Reverse the foreground and
10271         background colors so that they match the documentation.
10272
10273         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10274         they match the default Windows palette.
10275         (mswindows_color_to_string): New function.
10276
10277 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10278
10279         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10280
10281 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10282
10283         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10284         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10285
10286         * symbols.c (init_symbols_once_early): Removed obsolete
10287         DATA_SEG_BITS related kludge.
10288         (defvar_magic): Ditto.
10289
10290         * malloc.c: Removed obsolete DATA_SEG_BITS
10291         * ralloc.c: Ditto.
10292         * mem-limits.h: Ditto.
10293
10294         * Makefile.in.in: Removed obsolete HAVE_SHM
10295         * emacs.c: Ditto.
10296
10297 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10298
10299         *  device-msw.c (mswindows_delete_device): Free DDE string
10300         handles.
10301
10302 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10303
10304         * keymap.c (get_keyelt):
10305         * unexnt.c (unexec):
10306         * vm-limit.c (memory_warnings):
10307         * ntheap.c (recreate_heap):
10308         * ntheap.h (UNINIT_PTR):
10309         * select-msw.c (Fmswindows_get_clipboard):
10310         (Fmswindows_set_clipboard):
10311         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10312         * objects-msw.c:
10313         * menubar-msw.c (displayable_menu_item):
10314         * glyphs-msw.c:
10315         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10316         * sysdep.c (sys_subshell):
10317         * process-nt.c (nt_create_process):
10318         * nt.c (normalize_filename):
10319         (dostounix_filename):
10320         (unixtodos_filename):
10321         * ntproc.c (win32_executable_type):
10322         * ntplay.c (play_sound_data_1):
10323         (play_sound_file):
10324         * editfns.c (get_home_directory):
10325         * event-msw.c (struct winsock_stream):
10326         (mswindows_dde_callback):
10327         * device-msw.c (msprinter_init_device):
10328         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10329
10330         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10331         mswindows_clear_toolbar were swapped!
10332
10333         * objects-msw.c:(colormap_t):
10334         (fontmap_t):
10335         * emacs.c (struct standard_args): Fixed const jumble.
10336
10337         * glyphs-widget.c (update_widget): Fixed comparison notation.
10338
10339         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10340
10341         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10342         __declspec(noreturn) syntax.
10343
10344 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10345
10346         * eldap.c (Fldap_open):
10347         (Fldap_search_basic):
10348         (Fldap_add):
10349         (Fldap_modify):
10350         Use new coding system conversion macros.
10351
10352 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10353
10354         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10355
10356 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10357
10358         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10359         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10360
10361         * eldap.c (Qadd, Qreplace): New constant symbols
10362         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10363         interruptions by XEmacs signals
10364         Remove unnecessary calls to slow_down_interrupts and
10365         speed_up_interrupts
10366         (Fldap_search_basic): Renamed from Fldap_search_internal
10367         Added new optional parameter VERBOSE that triggers the
10368         display of progress messages
10369         Remove unnecessary calls to slow_down_interrupts and
10370         speed_up_interrupts
10371         LDAP result code analysis rewritten
10372         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10373         (syms_of_eldap): Define the new symbols and functions
10374
10375
10376 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10377
10378         * realpath.c: Determine PATH_MAX maximally portably.
10379
10380         * insdel.c (bytecount_to_charcount): Optimize.
10381         The function used to be optimized for entirely ASCII sequences.
10382         Now it is optimized for successive characters from the same
10383         charset.  This also wins big for _mostly_ ASCII sequences.
10384
10385         * fileio.c (Ffile_truename): convert return from realpath() using
10386         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10387         - Rewrite GCPROing slightly.
10388
10389         * sysdep.c (sys_open): Do filename conversion, like all other
10390         sys_* functions.  Fixes bug:
10391         (let ((file-name-coding-system 'iso-8859-2))
10392            (write-region x y latin2-name))
10393         ==> writes filename using internal encoding.
10394
10395 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10396
10397         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10398         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10399         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10400         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10401         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10402         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10403         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10404         (CONST_IF_NOT_DEBUG): Delete.
10405         * alloc.c (this_one_is_unmarkable): Delete.
10406         (mark_object): Don't check for this_one_is_unmarkable. Use the
10407         c_readonly flag instead.
10408         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10409
10410 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10411
10412         * event-msw.c (mswindows_drain_windows_queue):
10413         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10414         away redundant repaint events.
10415
10416 2000-02-17  Andy Piper  <andy@xemacs.org>
10417
10418         * redisplay.h: declare mark_redisplay_structs.
10419
10420         * redisplay.c (redisplay_window):
10421         (redisplay_frame): don't check subwindows_state_changed.
10422         (mark_redisplay): mark gutters here.
10423
10424         * glyphs.c: (instantiate_image_instantiator): always layout if we
10425         haven't done so already.
10426         (allocate_image_instance): don't mark as dirty.
10427         (update_subwindow): bind inhibit_quit.
10428
10429         * gutter.c (mark_gutters): new function.
10430
10431         * glyphs-x.c (x_update_widget): Always resize to get round a
10432         widget bug.
10433
10434         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10435         breaking absolutely everything.
10436
10437         * gutter.h: declare mark_gutters.
10438
10439 2000-02-16  Martin Buchholz <martin@xemacs.org>
10440
10441         * XEmacs 21.2.29 is released.
10442
10443 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10444
10445         * fns.c (size_bit_vector): Fix computation of the size.
10446
10447 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10448
10449         * *.[ch]: Change CONST to const globally.
10450         find -name '*.[ch]' | \
10451         xargs global-replace \
10452         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10453         - Remove vestigial references to CONST_IS_LOSING
10454
10455 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10456
10457         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10458         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10459         events instead of dispatching them directly.
10460         (mswindows_handle_paint): New function to do repainting.
10461         (mswindows_wnd_proc):
10462         (emacs_mswindows_handle_magic_event): Call above function.
10463
10464 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10465
10466         * objects-msw.c (mswindows_create_font_variant): Return the new
10467         font handle.
10468         (initialize_font_instance): Get font metrics from the underlined
10469         variant of the font to cope with the case where the underlined
10470         font has a bigger descent.
10471
10472 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10473
10474         * gui.c (gui_item_accelerator): Return the first underlined
10475         character in item name.
10476
10477 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10478
10479         * lisp.h: Added Qprinter.
10480
10481         * general.c (syms_of_general): Initialized it.
10482
10483         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10484         (get_frame_dc):
10485         (get_frame_compdc): Made inline.
10486
10487         * console.h (struct console_methods): Added eject_page method.
10488
10489         * frame.h: Added FRAME_DISPLAY_P and friends.
10490         Aligned backslahes in many macros in more readable fashion.
10491         Added page_number to struct frame, and an accessor macro
10492         for it.
10493
10494         * defice.h: Added DEVICE_DISPLAY_P and friends.
10495
10496         * device.c (Fdevice_printer_p): Used these.
10497
10498         * frame.c (allocate_frame_core): Initialize page number.
10499         (Fprint_job_page_number):
10500         (Fprint_job_eject_page): Implemented.
10501
10502         * frame-msw.c (msprinter_eject_page): Added method.
10503         (msprinter_start_page): Added.
10504
10505         * window.c (Fwindow_truncated_p): Fixed docstring.
10506         (Fwindow_last_line_visible_height): Implemented.
10507
10508 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10509
10510         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10511
10512 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10513
10514         * syntax.c (scan_words): Always advance at least one character.
10515
10516 2000-02-13  Andy Piper  <andy@xemacs.org>
10517
10518         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10519         to make sure the glyph is in the cachels.
10520
10521         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
10522         global image instance flag.
10523         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
10524         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
10525
10526         * glyphs.c (allocate_image_instance): set dirty bits correctly.
10527         (Fset_image_instance_property): mark layout as changed.
10528         (invalidate_glyph_geometry_maybe): mark layout as changed.
10529         (glyph_width): use new NEEDS_LAYOUT macro.
10530         (glyph_ascent): ditto.
10531         (glyph_descent): ditto.
10532         (glyph_height): ditto.
10533         (image_instance_layout): mark layout as clean after laying out.
10534         (update_subwindow): don't mark layout as clean here.
10535
10536         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
10537         should no longer be needed.
10538
10539         * glyphs-x.c (x_update_widget): sanitize asserts.
10540         (x_finalize_image_instance): sanitize assignment to widgets.
10541
10542         * glyphs-widget.c (widget_instantiate): don't need to clear the
10543         layout flag here.
10544
10545 2000-02-13  Martin Buchholz  <martin@xemacs.org>
10546
10547         * sysdep.c (getcwd): Use standard prototype.
10548         * sysdep.h (getcwd): Use standard prototype.
10549
10550         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
10551         (sequence, start, end).
10552         Remove redundant type checking.
10553         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
10554         view of `caller-protects') to avoid a crash where the real fix was
10555         found elsewhere.
10556
10557 2000-02-12  Martin Buchholz  <martin@xemacs.org>
10558
10559         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
10560
10561         * s/sol2.h: Remove feature macro initialization.
10562
10563         * alloc.c (alloc_lcrecord): Add more type checking assertions.
10564         (vector_hash): New.  Code from internal_hash.
10565         * lrecord.h:
10566         Fix up allocation subsystem comments.
10567
10568         * config.h.in: Add __EXTENSIONS__ for Solaris.
10569
10570         * systime.h (EMACS_GETTIMEOFDAY): New.
10571         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
10572         Remove Solaris-specific code.
10573         Use void* for the (ignored) second arg for gettimeofday().
10574
10575         * elhash.c (hash_table_hash): Implement it, finally.
10576         * elhash.c:  Use hashcode_t.
10577
10578         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
10579         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
10580
10581         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
10582         * fns.c (size_bit_vector):
10583         * alloc.c (size_vector):
10584         (make_vector_internal):
10585         (make_bit_vector_internal):
10586         (sweep_bit_vectors_1):
10587         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
10588
10589 2000-02-10  Martin Buchholz  <martin@xemacs.org>
10590
10591         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
10592         Include strings.h to avoid warnings for bzero and strcasecmp.
10593
10594 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10595
10596         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
10597         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
10598
10599         * fns.c (size_bit_vector): New.  Declare bit vectors as a
10600         sequence.
10601
10602 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10603
10604         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
10605         use a value field instead.
10606         (symbol_value_forward_forward): Use value field.
10607         (DEFVAR_SYMVAL_FWD): Use value field.
10608         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
10609         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
10610         (DEFVAR_CONST_INT): Ditto.
10611         (DEFVAR_BOOL): Ditto.
10612         (DEFVAR_CONST_BOOL): Ditto.
10613         (DEFVAR_INT_MAGIC): Ditto.
10614         (DEFVAR_BOOL_MAGIC): Ditto.
10615
10616         * symbols.c (guts_of_unbound_marker): Use value field.
10617         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
10618         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
10619
10620         * lisp.h: Declare dumpopaque and noninteractive1.
10621
10622         * alloc.c (dumpopaque): Added.
10623         (pdump_dump_opaquevec): Added.
10624         (pdump): Call pdump_dump_opaquevec to dump opaque data.
10625         (pdump_load): Reload opaque data.  Sync noninteractive1 with
10626         noninteractive.
10627
10628 2000-02-10  Andy Piper  <andy@xemacs.org>
10629
10630         * glyphs.c (image_instance_layout): if the size changes, mark it
10631         as such.
10632
10633         * redisplay-output.c (redisplay_output_layout): Update the
10634         subwindow here.
10635         (redisplay_output_subwindow): ditto.
10636
10637         * glyphs.c (update_subwindow): make sure we reset flags for
10638         layouts as well as everything else.
10639
10640         * glyphs-widget.c (layout_layout): don't need to set the instances
10641         dimensions here.
10642
10643 2000-02-09  Martin Buchholz  <martin@xemacs.org>
10644
10645         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
10646         not HAVE_DLOPEN, which is a lower-level thing.
10647
10648         * .cvsignore: Ignore gmon.out
10649
10650 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
10651
10652         * .cvsignore: Ignore portable dumper xemacs.dmp file
10653
10654 2000-02-09  Andy Piper  <andy@xemacs.org>
10655
10656         * redisplay-output.c (redisplay_output_layout): be more clever
10657         about when we output based on the changed flags.
10658
10659         * glyphs.h (struct image_instantiator_methods): add update_method.
10660         (struct Lisp_Image_Instance): add changed flags. Declare new
10661         macros for manipulating them.
10662
10663         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
10664         (image_instance_parent_glyph): find an image_instance's parent
10665         glyph or image_instance.
10666         (image_instance_layout): mark the size as changed.
10667         (set_image_instance_dirty_p): new function. mark an image
10668         instance, plus all of its parents, as dirty.
10669         (Fset_image_instance_property): use it.
10670         (Fglyph_animated_timeout_handler): use it.
10671         (update_subwindow): call update_widget and device methods for
10672         update_subwindow. Mark all changed flags as clean.
10673         (Fresize_subwindow): mark size as changed.
10674
10675         * glyphs-x.c (x_finalize_image_instance): try and detect gc
10676         failures.
10677         (x_update_subwindow): only resize subwindows here.
10678         (x_update_widget): new function. Update all changed properties of
10679         a widget.
10680         (x_resize_subwindow): deleted.
10681         (x_widget_set_property): deleted.
10682         (x_progress_gauge_set_property): deleted.
10683         (x_progress_gauge_update): new function. Implement recorded
10684         changes.
10685         (x_tab_control_update): ditto.
10686         (x_tab_control_set_property): deleted.
10687         (console_type_create_glyphs_x): declare new functions.
10688         (image_instantiator_format_create_glyphs_x): ditto.
10689
10690         * glyphs-widget.c (widget_set_property): mark text changed.
10691         (update_widget): new function. Update properties of a widget.
10692         (widget_instantiate): for layouts make sure we set their
10693         children's parent correctly.
10694         (tab_control_set_property): new function. Record changes that will
10695         take place under redisplay's control.
10696         (progress_gauge_set_property): ditto.
10697         (image_instantiator_progress_guage): declare new functions.
10698         (image_instantiator_tab_control): ditto.
10699
10700         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
10701         now.
10702         (mswindows_update_widget): new function. Update all properties on
10703         a widget that have changed.
10704         (mswindows_button_update): new function. Update a button's set
10705         state.
10706         (mswindows_tab_control_update): new function. Update the items in
10707         a tab.
10708         (mswindows_tab_control_set_property): deleted.
10709         (mswindows_progress_gauge_update): new function. Update the
10710         progress gauge's progress.
10711         (mswindows_widget_set_property): deleted. This is all done
10712         asynchronously now.
10713         (mswindows_progress_gauge_set_property): ditto.
10714         (console_type_create_glyphs_mswindows): declare new methods.
10715         (image_instantiator_format_create_glyphs_mswindows): ditto.
10716
10717         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
10718         (msprinter_set_frame_properties): ditto.
10719
10720         * console.h (struct console_methods): Add update_widget_method.
10721
10722 2000-02-09  Andy Piper  <andy@xemacs.org>
10723
10724         * gui-msw.c (Fmswindows_shell_execute): Make
10725         mswindows-shell-execute industrial strength.
10726
10727 2000-02-08  Martin Buchholz  <martin@xemacs.org>
10728
10729         * lrecord.h: Make macro argument `props' match member function `plist'.
10730         * fns.c (Fget):
10731         * fns.c (Fput):
10732         * fns.c (Fremprop):
10733         * fns.c (Fobject_plist):
10734         * alloc.c:
10735         * symbols.c:
10736         Object property list frobbing cleanup.
10737         - Allow any lisp object (compared with `eq'), not just symbols, as
10738           keys in object plists.
10739         - Move symbol plist frobbing into symbols.c, where it belongs.
10740         - Move string plist frobbing into alloc.c, where it belongs.
10741         - Everything's an lrecord now, so no need to test for symbolp, etc.
10742         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
10743
10744         * extents.c: Reorder code to remove declarations.
10745
10746         * frame.h (store_in_alist): Remove useless declaration.
10747
10748 2000-02-07  Martin Buchholz  <martin@xemacs.org>
10749
10750         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
10751         * config.h.in: Add HAVE_XCONVERTCASE.
10752
10753 2000-02-07  Andy Piper  <andy@xemacs.org>
10754
10755         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
10756         it breaks many things.
10757
10758 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
10759
10760         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
10761         actually can start a common comment type.
10762         * src/syntax.h (SYNTAX_END_P): ditto for end.
10763
10764 2000-02-07  Martin Buchholz <martin@xemacs.org>
10765
10766         * XEmacs 21.2.28 is released.
10767
10768 2000-02-06  Martin Buchholz  <martin@xemacs.org>
10769
10770         * event-Xt.c (x_keysym_to_character): New.
10771         (maybe_define_x_key_as_self_inserting_character): New.
10772         (x_has_keysym): New.
10773         Auto-define all keys on the keyboard as self-insert-key.
10774
10775 2000-02-02  Martin Buchholz  <martin@xemacs.org>
10776
10777         * menubar.c (vars_of_menubar): A small code simplification.
10778
10779         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
10780
10781         * ExternalShell.c:
10782         * ExternalClient.c:
10783         * EmacsShell-sub.c:
10784         * EmacsManager.c:
10785         * EmacsFrame.c:
10786         Use consistent style for specifying X resources.
10787
10788         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
10789         This makes (dontusethis-set-symbol-value-handler) actually usable.
10790
10791         * lrecord.h (lrecord_decription_type):
10792         * alloc.c (pdump_register_sub):
10793         (pdump_dump_data):
10794         (pdump_reloc_one):
10795         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
10796         Comply with XEmacs coding style.
10797         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
10798         args, and XD_LISP_OBJECT_ARRAY with 3 args.
10799
10800         * keymap.c (Faccessible_keymaps):
10801         Make (accessible-keymaps map "\C-h") do the Right Thing.
10802         Make (accessible-keymaps map []) do the Right Thing.
10803         Make (accessible-keymaps map "") do the Right Thing.
10804         (check_keymap_definition_loop): New function.
10805         (keymap_store_internal): Keep luser from shooting self in foot,
10806           via (define-key ctl-x-4-map "p" global-map).
10807         Remove fullness slot from struct Lisp_Keymap, since hash tables
10808         are now reliable.
10809         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
10810
10811 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10812
10813         * redisplay.c (init_redisplay): Fix small memory leak.
10814         * elhash.h:
10815         * elhash.c (pdump_reorganize_hash_table):
10816         Rename from reorganize_hash_table. Change prototype.
10817         Reuse the original memory for hentries.  Save 100k.
10818         * alloc.c (PDUMP_READ): new macro.
10819         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
10820         * alloc.c: No need to #ifndef before #undef.
10821
10822         * print.c: Allow debug_print() to print readably by modifying
10823         debug_print_readably.  Use consistent variable names.
10824
10825         * .dbxrc: Try to get things to work even if stopped in a function
10826         without source available by explicitly specifying source files.
10827 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10828
10829         * unexnt.c (_start): Removed bogus code which caused loading heap
10830         from differrent executable file.
10831         Removed bogus assignment to _fmode, which caused inconsistencies.
10832
10833 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10834
10835         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
10836         Have spawnve encapsulation regard DONT_ENCAPSULATE.
10837         Do not preliminary `#define signal sigset'.
10838
10839         * systime.h: Do not prototype environ on windows nt and cygwin,
10840         this conflicts with system header.
10841
10842         * syssignal.h: Use correct define for WINDOWSNT
10843
10844         * sysdep.h: Do not prototype environ on windows nt, this conflicts
10845         with system header.
10846
10847         * sysdep.c (near start of file): Fixed commentary and rearranged
10848         ifdefs in readable order.
10849         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
10850         (start_of_text):
10851         (end_of_text):
10852         (end_of_data): Do not compile in if using PDUMP.
10853
10854         * symsinit.h: Prototyped vars_of_nt().
10855
10856         * ntproc.c (windows9x_p): Added, instead of os_subtype.
10857         (find_child_console): Use it.
10858         (sys_kill): Use it.
10859
10860         * ntheap.h: Do not extern os_subtype.
10861
10862         * ntheap.c (cache_system_info): Do not cache unneeded:
10863         nt_major_version, nt_minor_version and os_subtype.
10864         (recreate_heap): Do not compile in when PDUMPing.
10865
10866         * nt.c (geteuid and friends): Use the new varibale
10867         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
10868         (init_user_info): Removed the above mentioned hackery.
10869         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
10870         stat has been fixed in the C runtime.
10871         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
10872
10873         * file-coding.c (struct file_coding_dump): Do not define
10874         ucs_to_mule_table in the struct if not MULE.
10875         (struct struct lrecord_description fcd_description_1): Do not dump
10876         the above.
10877
10878         * emacs.c (main_1): Call vars_of_nt().
10879         (right before Fdump_emacs_data): Don't need lastfile if using both
10880         portabe dumper and system malloc.
10881
10882         * alloc.c (Fmemory_limit): Conditionalized out.
10883         (pdump): Use OPEN_BINARY for the portable dump file.
10884         (pdump_load): Ditto.
10885
10886 2000-02-02  Mike Alexander  <mta@arbortext.com>
10887
10888         * nt.c (convert_time): Set tm_isdst before calling mktime and
10889         avoid calling it at all if the compiler supports 64 bit integers.
10890         Also initialize utc_base_ft before using it.
10891
10892 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10893
10894         * frame.c (change_frame_size_1): Take f->internal_border_width
10895         into consideration when calculating the width of the frame.
10896
10897 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10898
10899         * window.c (frame_min_height):
10900         (frame_size_valid_p):
10901         (frame_pixsize_valid_p): Added.
10902         (check_frame_size): Generalized.
10903
10904         * window.h: Prototyped the above.
10905
10906         * lisp.h:
10907         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
10908         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
10909         Deleted Vwin32_* and Vbinary_process_* unused variables.
10910
10911         * device-msw.c (msprinter_init_device): Do not get printer font
10912         list; Added DEVMODE functions.
10913
10914         * frame-msw.c: Added lots of printer code.
10915
10916         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
10917         general.c.
10918
10919         * console-msw.h: Added more msprinter device private slots.
10920
10921 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10922
10923         * event-msw.c (key_needs_default_processing_p): Added.
10924         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
10925
10926 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10927
10928         * glyphs.c (image_instance_layout): Mark image instance as clean
10929         after layout.
10930         (glyph_dirty_p): Removed redundant function.
10931         (invalidate_glyph_geometry_maybe): Added.
10932         (update_glyph_cachel_data): Call it.
10933
10934         * glyphs.h: Prototyped it.
10935
10936         * redisplay.c (add_glyph_rune): Call it.
10937         (redisplay_window): Reset glyphs cachels when frame faces have
10938         changed, thus forcing recomputation of built-in border glyphs.
10939
10940 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10941
10942         * Makefile.in.in: Make portable dumper and purify play well together.
10943         Add imperfect, but better than nothing, support for pdump.
10944         Remove xemacs.dmp when temacs is re-generated.
10945         Don't ignore errors when dumping xemacs.
10946
10947         * symbols.c (maybe_call_magic_handler): Remove one magic number.
10948
10949 2000-01-28  Andy Piper  <andy@xemacs.org>
10950
10951         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
10952         (setup_normal_frame): ditto.
10953         (setup_frame_without_minibuffer): ditto.
10954         (setup_minibuffer_frame): ditto.
10955         (delete_frame_internal): ditto.
10956         (Fmake_frame_invisible): ditto.
10957         (Ficonify_frame): ditto.
10958
10959         * window.h: change Fset_window_buffer signature.
10960
10961         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
10962         (Fset_window_buffer): allow recording of buffer if the window is
10963         the selected window.
10964         (window_loop): Use new Fset_window signature.
10965
10966 2000-01-23  Daniel Pittman  <daniel@danann.net>
10967
10968         * config.h.in: Added template for `HAVE_ATHENA_3D'
10969
10970 2000-01-29  Andy Piper  <andy@xemacs.org>
10971
10972         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
10973
10974         * gutter.c (output_gutter): Don't output if the window isn't live.
10975
10976 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10977
10978         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
10979         of 01/12/00: Moved SetFocus back here where it belongs.
10980
10981 2000-01-23  Andy Piper  <andy@xemacs.org>
10982
10983         * s/cygwin32.h: declare printer things.
10984
10985 2000-01-26  Andy Piper  <andy@xemacs.org>
10986
10987         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
10988         Alexander.
10989
10990 2000-01-24  Andy Piper  <andy@xemacs.org>
10991
10992         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
10993         (mswindows_button_instantiate): Make sure glyph is a pixmap.
10994
10995         * glyphs-widget.c (widget_instantiate): Avoid shadows.
10996
10997         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
10998
10999         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11000
11001         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11002         (mswindows_output_display_block): Avoid local shadows.
11003
11004         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11005         (mswindows_enqueue_mouse_button_event): ditto.
11006         (mswindows_handle_gui_wm_command): remove declaration.
11007
11008         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11009         warnings.
11010
11011         * console-msw.h: Avoid shadows.
11012         (mswindows_get_toolbar_button_text):
11013         (emacs_mswindows_create_stream_pair):
11014         (emacs_mswindows_delete_stream_pair):
11015         (mswindows_handle_toolbar_wm_command): declare.
11016
11017         * device-msw.c (build_syscolor_string): Avoid shadows.
11018
11019 2000-01-23  Andy Piper  <andy@xemacs.org>
11020
11021         * glyphs-widget.c (widget_instantiate): reverse the items for
11022         layouts so that children are in the expected order.
11023
11024 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11025
11026         * ralloc.c: safe_bcopy ==> memmove
11027         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11028         * s/msdos.h: Remove BCOPY macros.
11029         * insdel.c (gap_right): Remove BCOPY conditional code.
11030         * insdel.c (gap_left): Remove BCOPY conditional code.
11031         XEmacs demands a working ANSI C compiler - hence memmove.
11032
11033         * regex.c (regex_compile): Remove accidental use of trigraphs.
11034
11035 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11036
11037         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11038         event timestamp.
11039
11040 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11041
11042         * event-msw.c (mswindows_drain_windows_queue): Added the
11043         parameter.
11044         (mswindows_need_event): Commented the call to
11045         mswindows_drain_windows_queue().
11046         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11047         only.
11048
11049         * console-msw.h: Moved a few function prototypes here from
11050         event-msw.c.
11051
11052         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11053         parameter from unsigned short to unsigned long.
11054         (Fmswindows_shell_execute): Added return value.
11055
11056 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11057
11058         * sysdep.c (init_system_name):
11059           process-unix.c (unix_canonicalized_host_name):
11060         Don't call freeaddrinfo() if getaddrinfo() fails.
11061
11062         * process-unix.c (unix_open_unix_network_stream):
11063         Moved the code to get a port # into address loop.
11064
11065 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11066
11067         * buffer.c (reinit_vars_of_buffer):
11068         The right place to initialize conversion_in_dynarr and
11069         conversion_out_dynarr.
11070
11071         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11072
11073         * process-unix.c (unix_canonicalize_host_name): Muleize.
11074         (unix_open_network_stream): Muleize.
11075
11076         * buffer.h: Fix up prototypes for ralloc.c functions.
11077
11078 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11079         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11080         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11081                 instead of gethostbyname()
11082         * process-unix.c: In unix_canonicalize_host_name() and
11083                 unix_open_network_stream(), add code to use getaddrinfo()
11084                 instead of gethostbyname().
11085
11086 2000-01-27  Daniel Pittman <daniel@danann.net>
11087
11088         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11089         libs when built with flat Athena.
11090
11091 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11092
11093         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11094         Use coding standards for function prototypes.
11095
11096 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11097
11098         * dialog-msw.c (push_lisp_string_as_unicode):
11099         * doc.c (unparesseuxify_doc_string):
11100         * dired.c (Fuser_name_completion_1):
11101         * dired.c (Fuser_name_all_completions):
11102         * dired.c (free_user_cache):
11103         * dired.c (user_name_completion):
11104         * console-x.c (get_display_arg_connection):
11105         * minibuf.c (clear_echo_area_internal):
11106         * minibuf.c (echo_area_append):
11107         * eldap.c (Fldap_open):
11108         * eldap.c (Fldap_search_internal):
11109         * frame-x.c (x_set_frame_text_value):
11110         * frame-x.c (x_set_frame_properties):
11111         * frame-x.c (x_create_widgets):
11112         * redisplay-tty.c (term_get_fkeys_1):
11113         * objects-x.c (x_parse_nearest_color):
11114         * objects-x.c (x_valid_color_name_p):
11115         * objects-x.c (x_initialize_font_instance):
11116         * objects-x.c (x_list_fonts):
11117         * objects-x.c (x_find_charset_font):
11118         * tooltalk.c (Fadd_tooltalk_message_arg):
11119         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11120         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11121         * process-unix.c (unix_create_process):
11122         * ntproc.c (sys_spawnve):
11123         * sound.c (Fplay_sound_file):
11124         * sound.c (Fplay_sound):
11125         * buffer.c (init_initial_directory):
11126         * buffer.c (init_buffer):
11127         * editfns.c (init_editfns):
11128         * editfns.c (Ftemp_directory):
11129         * editfns.c (Fuser_full_name):
11130         * editfns.c (uncache_home_directory):
11131         * editfns.c (get_home_directory):
11132         * editfns.c (Fuser_home_directory):
11133         * editfns.c (Fformat_time_string):
11134         * editfns.c (Fcurrent_time_string):
11135         * gui-x.c (button_item_to_widget_value):
11136         * database.c (Fopen_database):
11137         * event-Xt.c (x_to_emacs_keysym):
11138         * event-Xt.c (x_event_to_emacs_event):
11139         * event-Xt.c (describe_event_window):
11140         * event-msw.c (mswindows_wnd_proc):
11141         * glyphs-eimage.c (jpeg_instantiate):
11142         * glyphs-eimage.c (gif_instantiate):
11143         * glyphs-eimage.c (png_instantiate):
11144         * glyphs-eimage.c (tiff_instantiate):
11145         * glyphs-x.c (xbm_instantiate_1):
11146         * glyphs-x.c (x_xbm_instantiate):
11147         * glyphs-x.c (x_xface_instantiate):
11148         * glyphs-x.c (autodetect_instantiate):
11149         * glyphs-x.c (cursor_font_instantiate):
11150         * glyphs-x.c (x_widget_instantiate):
11151         * glyphs-x.c (x_widget_set_property):
11152         * glyphs-x.c (x_widget_property):
11153         * glyphs-x.c (BUILD_GLYPH_INST):
11154         * print.c (write_string_to_stdio_stream):
11155         * print.c (output_string):
11156         * print.c (Falternate_debugging_output):
11157         * print.c (Fexternal_debugging_output):
11158         * glyphs-msw.c (extract_xpm_color_names):
11159         * glyphs-msw.c (mswindows_xpm_instantiate):
11160         * glyphs-msw.c (bmp_instantiate):
11161         * glyphs-msw.c (resource_name_to_resource):
11162         * glyphs-msw.c (mswindows_resource_instantiate):
11163         * glyphs-msw.c (xbm_instantiate_1):
11164         * glyphs-msw.c (mswindows_xbm_instantiate):
11165         * glyphs-msw.c (mswindows_xface_instantiate):
11166         * glyphs-msw.c (mswindows_widget_instantiate):
11167         * glyphs-msw.c (add_tree_item):
11168         * glyphs-msw.c (add_tab_item):
11169         * glyphs-msw.c (mswindows_combo_box_instantiate):
11170         * glyphs-msw.c (mswindows_widget_property):
11171         * glyphs-msw.c (mswindows_combo_box_property):
11172         * glyphs-msw.c (mswindows_widget_set_property):
11173         * console.c (stuff_buffered_input):
11174         * objects-msw.c (mswindows_initialize_color_instance):
11175         * objects-msw.c (mswindows_valid_color_name_p):
11176         * objects-msw.c (mswindows_list_fonts):
11177         * objects-msw.c (mswindows_font_instance_truename):
11178         * bytecode.c (optimize_compiled_function):
11179         * select-x.c (symbol_to_x_atom):
11180         * select-x.c (x_atom_to_symbol):
11181         * select-x.c (hack_motif_clipboard_selection):
11182         * select-x.c (selection_data_to_lisp_data):
11183         * select-x.c (lisp_data_to_selection_data):
11184         * select-x.c (Fx_get_cutbuffer_internal):
11185         * select-x.c (Fx_store_cutbuffer_internal):
11186         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11187         * buffer.h (TO_INTERNAL_FORMAT): New function.
11188         * emacs.c (make_arg_list_1):
11189         * emacs.c (make_argc_argv):
11190         * emacs.c (main_1):
11191         * emacs.c (Fdump_emacs):
11192         * emacs.c (split_string_by_emchar_1):
11193         * file-coding.h:
11194         * lisp.h:
11195         * lstream.h:
11196         * symsinit.h:
11197         * device-x.c (x_init_device):
11198         * device-x.c (Fx_valid_keysym_name_p):
11199         * device-x.c (Fx_get_font_path):
11200         * device-x.c (Fx_set_font_path):
11201         * glyphs.c (bitmap_to_lisp_data):
11202         * glyphs.c (pixmap_to_lisp_data):
11203         * alloc.c (make_ext_string): Use coding system arguments.  Update
11204         all callers.
11205         * alloc.c (build_string):
11206         * callproc.c (child_setup):
11207         * callproc.c (init_callproc):
11208         * fileio.c (lisp_strerror):
11209         * fileio.c (directory_file_name):
11210         * fileio.c (Fexpand_file_name):
11211         * fileio.c (Ffile_truename):
11212         * fileio.c (Fsysnetunam):
11213         * fileio.c (Fdo_auto_save):
11214         * sysdep.c (sys_readdir):
11215         * tests.c: New file.  Allow adding C tests.
11216         Replace GET_* macros with a more comprehensible and flexible
11217         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11218         Modify all calls.
11219         Any coding system can be used to do format conversion.
11220         Eliminate enum external_data_format.
11221         Eliminate convert_to_external_format.
11222         Eliminate convert_to_internal_format.
11223         Make sure file-name, keyboard, terminal, and ctext are always
11224         defined as coding systems or aliases.  Make
11225         file-name-coding-system, terminal-coding-system, and
11226         keyboard-coding-system magical variables that are equivalent to
11227         defining the corresponding coding system aliases.
11228
11229         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11230         * file-coding.c (Fcoding_system_alias_p): New function.
11231         * file-coding.c (Fcoding_system_aliasee): New function.
11232         * file-coding.c (append_suffix_to_symbol): New function.
11233         * file-coding.c (dangling_coding_system_alias_p): New function.
11234         * file-coding.c (Ffind_coding_system):
11235         * file-coding.c (Fcopy_coding_system):
11236         * file-coding.c (encode_coding_no_conversion):
11237         * file-coding.c (syms_of_file_coding):
11238         * file-coding.c (vars_of_file_coding):
11239         Rewrite coding system alias code.
11240         Allow nested aliases, like symbolic links.
11241         Allow redefinition of coding system aliases.
11242         Prevent existence of dangling coding system aliases.
11243
11244         * dired.c (Fuser_name_completion_1):
11245         * dired.c (Fuser_name_all_completions):
11246         A crash would happen if user did QUIT in the middle of building
11247         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11248
11249         * lisp.h:
11250         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11251
11252         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11253         an unsigned char *.  Update all callers.
11254
11255 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11256
11257         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11258
11259 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11260
11261         * elhash.c (hentry_description): Use more portable definition.
11262         (resize_hash_table): Initialize new hentries using
11263         xnew_array_and_zero, thereby simplifying the code.
11264
11265         * mule-charset.c (make_charset): Make sure entire object is
11266         initialized, to avoid Purify warnings.
11267
11268         * alloc.c (resize_string): Fix unlikely crash with big strings.
11269
11270 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11271
11272         * realpath.c (xrealpath):
11273         Don't call getwd().
11274
11275 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11276
11277         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11278
11279 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11280
11281         * unexelfsgi.c (unexec): Change the way we decide which segment
11282         should be extended.
11283
11284         Assumption that .bss section should be outside the PT_LOADable
11285         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11286         it's present) is inside the 'data' segment. This would fail the
11287         test which was used to find a segment to grow and cover new
11288         heap. Instead of this assumption, I created another one - on IRIX
11289         the segment to grow should start below .bss and it's address
11290         should extent above the end of .bss. Once this segment is
11291         identified, it's grown to accommodate the new heap and new
11292         zero-length .bss section is added at the end of .data2.
11293
11294 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11295
11296         * eval.c (Feval): Wrong number of arguments should use original
11297         function, not the indirect_function version of it.
11298
11299 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11300
11301         * glyphs-x.c (x_button_instantiate): Don't add image if
11302         it is not a pixmap.
11303         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11304         is relative.
11305
11306 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11307
11308         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11309         declaration.
11310         (DEFVAR_INT_MAGIC): Ditto.
11311         (DEFVAR_BOOL_MAGIC): Ditto.
11312         * glyphs.h: Reindent backslash.
11313
11314 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11315
11316         * glyphs-widget.c (layout_query_geometry):
11317         (layout_layout): Use correct types for gheight, gwidth.
11318
11319 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11320
11321         * EmacsManager.c (QueryGeometry): Purified.
11322
11323 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11324
11325         * alloc.c (make_float): Make sure entire object is initialized, to
11326         avoid Purify warnings.
11327         (pdump_register_sub): Remove useless assignment.
11328         (pdump): Use xmalloc, not malloc.
11329         (pdump_load): Use xmalloc, not malloc.
11330
11331 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11332
11333         * callproc.c:
11334         * dired-msw.c:
11335         * fileio.c:
11336         * process-nt.c:
11337         * redisplay-msw.c:
11338         * sysdep.c: Removed redundant #include <windows.h>
11339
11340 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11341
11342         * frame.c (delete_frame_internal): Do not delete device when its
11343         implementation so declares.
11344         (delete_frame_internal): Set device selected frame to nil when
11345         last frame goes away.
11346
11347         * device-msw.c (msprinter_device_system_metrics): Implemented.
11348         (mswindows_device_system_metrics): Added 'device-dpi property.
11349
11350         * device.c: (Fdevice_printer_p): Added.
11351         Added 'offset-workspace device metric.
11352
11353         * console.h (device_metrics): Declared DM_offset_workspace.
11354
11355 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11356
11357         * fileio.c (Ffile_truename): Remove pointless and confusing
11358         initialization of elen.
11359
11360         * glyphs-widget.c: Compiler warning fixes.
11361
11362 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11363
11364         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11365         instead of a Lisp_Object as argument to make it consistent with
11366         the other LIVE_P macros.
11367         (CHECK_LIVE_PROCESS): New macro.
11368
11369         * process.c: Declare Qprocess_live_p.
11370         (Fprocess_live_p): New function.
11371         (create_process): Use PROCESS_LIVE_P.
11372         (read_process_output): Ditto.
11373         (set_process_filter): Ditto.
11374         (Fdelete_process): Ditto.
11375         (kill_buffer_processes): Ditto
11376         (process_send_signal): Use CHECK_LIVE_PROCESS.
11377         (Fprocess_input_coding_system): Check whether process is still
11378         alive (fix PR#1061).
11379         (Fprocess_output_coding_system): Ditto.
11380         (Fprocess_coding_system): Ditto.
11381         (Fset_process_input_coding_system): Ditto.
11382         (Fset_process_output_coding_system): Ditto.
11383
11384 2000-01-23  Andy Piper  <andy@xemacs.org>
11385
11386         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11387         layout and widget.
11388
11389         * glyphs.c (mark_image_instance): take into account changed
11390         image_instance format.
11391         (image_instance_equal): ditto.
11392         (image_instance_hash): ditto.
11393
11394         * glyphs-widget.c (widget_instantiate): Incorporate layout
11395         instantiation here. Delay layout of the layout until later.
11396         (layout_instantiate): deleted.
11397         (layout_query_geometry): new function. get the geometry of a
11398         layout.
11399         (layout_layout): layout a layout dynamically.
11400         (image_instantiator_widget): New function - splitting up
11401         image_instantiator_format_create_glyphs_widget for netwinder
11402         compilation.
11403         (image_instantiator_buttons):
11404         (image_instantiator_edit_fields):
11405         (image_instantiator_combo_box):
11406         (image_instantiator_scrollbar):
11407         (image_instantiator_progress_guage):
11408         (image_instantiator_tree_view):
11409         (image_instantiator_tab_control):
11410         (image_instantiator_labels):
11411         (image_instantiator_layout): ditto.
11412         (image_instantiator_format_create_glyphs_widget): Call preceding
11413         functions.
11414
11415 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11416
11417         * process.c (Fset_process_coding_system):
11418         * device-x.c (Fx_keysym_hash_table):
11419         Docstring fixes.
11420
11421         * lstream.c (Lstream_write): Return documented value, not 0.
11422
11423         * fileio.c (directory_file_name):
11424         (Fsubstitute_in_file_name):
11425         (Fsubstitute_insert_file_contents_internal):
11426         (Fwrite_region_internal):
11427         * emacs.c:
11428         * sysdep.c:
11429         * getloadavg.c:
11430         * systty.h:
11431         Remove vestigial APOLLO-conditional code.
11432
11433 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11434
11435         * getpagesize.h: Add guard macros.
11436         * libsst.h: Add guard macros.
11437         * libst.h: Add guard macros.
11438         * line-number.h: Add guard macros.
11439         * ndir.h: Add guard macros.
11440         * sysfloat.h: Add guard macros.
11441         * sysfile.h: Add guard macros.
11442         * sysproc.h: Add guard macros.
11443         * syswait.h: Add guard macros.
11444         * xintrinsic.h: Add guard macros.
11445         * xintrinsicp.h: Add guard macros.
11446         * xmmanager.h: Add guard macros.
11447         * xmmanagerp.h: Add guard macros.
11448         * xmprimitive.h: Add guard macros.
11449         * xmu.h: Add guard macros.
11450         * gpmevent.h: Add copyright statement. Add guard macros.
11451         * miscplay.h: Add guard macros.
11452         * *.h: Use consistent C-standards-approved guard macro names.
11453
11454         * opaque.c (make_opaque): Switch parameter order.
11455         * opaque.h (make_opaque): Switch parameter order.
11456         Update all callers.
11457         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11458
11459         * config.h.in (type_checking_assert): Added.
11460         (bufpos_checking_assert): Added.
11461
11462 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11463
11464         * alloc.c: Harmless pdump changes.
11465         - Use countof().
11466         - spell alignment correctly.
11467         * sysdep.c: Use countof()
11468
11469 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11470
11471         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11472         initially_selected_for_input() console method, default to 0.
11473         (semi_canonicalize_console_connection): Try to delegate to
11474         canonicalize_console_connection if no such console method.
11475         (canonicalize_console_connection): Vice versa.
11476         (print_console): Do not print nil connection.
11477
11478         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11479         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11480         (XDEVIMPF_FRAMELESS_OK): Added.
11481         (CONSOLE_INHERITS_METHOD): Added.
11482
11483         * console-msw.c (mswindows_canonicalize_console_connection):
11484         Added.
11485         (mswindows_canonicalize_device_connection): Added.
11486
11487         * console-msw.h (struct msprinter_device): Added this struct and
11488         accessor macros.
11489         (mswindows_device): Made fontlist a lisp object.
11490
11491         * device.c (semi_canonicalize_device_connection):  Try to delegate
11492         to canonicalize_device_connection if no such console method.
11493         (canonicalize_device_connection): Vice versa.
11494         (print_device): Do not print nil connection.
11495
11496         * device-msw.c (mswindows_init_device): Call InitCommonControls
11497         when have widgets.
11498         (mswindows_delete_device): Removed fontlist deallocation.
11499         (mswindows_mark_device): Added.
11500
11501         * events.c (event_equal): Added abort() at unreached code.
11502         (event_hash): Ditto.
11503
11504         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11505         fallback tags of Windows devices.
11506
11507         * general.c (syms_of_general): Initialized Qmsprinter.
11508
11509         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11510         of fallback tags of Windows devices.
11511
11512         * lisp.h: Declared Qmsprinter.
11513
11514         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11515         of strings.
11516         (mswindows_list_fonts): Ditto.
11517         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11518         that it can be used by both mswindows and msprinter devices.
11519         (initialize_font_instance): Added.
11520         (mswindows_initialize_font_instance): Use it.
11521         (msprinter_initialize_font_instance): Added.
11522
11523         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
11524         and implementation flags check.
11525         (redisplay_without_hooks): Changed the call to the above.
11526         (Fredraw_device): Ditto.
11527         (Fredisplay_device): Ditto.
11528
11529         * redisplay-msw.c (get_frame_dc): Implemented.
11530         (get_frame_compdc): Implemented.
11531         (many functions): Use the two functions above to get device
11532         contexts, ether for a window or a printer.
11533
11534 2000-01-21  Olivier Galibert  <galibert@pobox.com>
11535
11536         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
11537         initialization here.
11538         (init_symbols_once_early): Call it.
11539         * emacs.c (main_1): Call it.
11540         * symsinit.h: Declare it.
11541
11542 2000-01-19  Olivier Galibert  <galibert@pobox.com>
11543
11544         * alloc.c: Use a lrecord_header * in the backtrace instead of a
11545         Lisp_Object.
11546         (pdump_backtrace): Ditto.
11547         (pdump_register_object): Ditto.  Cleanup use of the pointers.
11548         (pdump_get_entry): Abort if trying to register a null pointer.
11549         (pdump_dump_data): Cleanup types when relocating.
11550         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
11551         (pdump_dump_rtables): Remove bad casts.
11552         (pdump_load): Cleanup relocation w.r.t union type.  Use a
11553         Lisp_Object instead of a EMACS_INT for the hashtable
11554         reorganization.
11555
11556 2000-01-20  Martin Buchholz  <martin@xemacs.org>
11557
11558         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
11559
11560         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
11561
11562         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
11563
11564         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
11565
11566 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11567
11568         * faces.h (FACE_STRIKETHRU_P): Added.
11569
11570         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
11571         of font variants.
11572
11573         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
11574         (mswindows_set_dc_font): New function, aware of font variants,
11575         separated from mswindows_update_dc.
11576
11577         * objects-msw.h (struct mswindows_font_instance_data): Added
11578         definition.
11579
11580         * objects-msw.c (mswindows_finalize_font_instance): Delete all
11581         cached fonts and the data structure.
11582         (mswindows_initialize_font_instance): Added creation of font data
11583         structure.
11584         (mswindows_print_font_instance): Print at least something.
11585         (mswindows_create_font_variant): Implemented.
11586         (mswindows_get_hfont): Implemented.
11587
11588 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
11589
11590         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
11591         prototyping problem with msvc.
11592
11593         * emacs.c (main_1): added syms_of_gui_mswindows() call
11594
11595         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
11596         syms_of_gui_mswindows() function
11597
11598         * symsinit.h: added the prototype for syms_of_gui_mswindows()
11599
11600 2000-01-18  Martin Buchholz <martin@xemacs.org>
11601
11602         * XEmacs 21.2.27 is released.
11603
11604 2000-01-18  Martin Buchholz  <martin@xemacs.org>
11605
11606         * glyphs-eimage.c (struct tiff_error_struct):
11607         (tiff_error_func):
11608         (tiff_warning_func):
11609         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
11610
11611         * unexmips.c:
11612         * unexhp9k3.c:
11613         * unexfreebsd.c:
11614         * unexec.c: Remove vestigial Lucid C code.
11615         * unexalpha.c:
11616         * unexaix.c:
11617         * termcap.c:
11618         * libsst.c: Ansify.
11619         Remove declarations of errno and strerror().
11620
11621         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
11622
11623         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
11624
11625 2000-01-16  Martin Buchholz  <martin@xemacs.org>
11626
11627         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
11628         Optimize.
11629
11630 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11631
11632         * md5.c:
11633         * file-coding.c:
11634         * file-coding.h:
11635         Change enum eol_type to eol_type_t.
11636
11637 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11638
11639         * gui.c (get_gui_callback): Check cons before accessing car.
11640
11641 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11642
11643         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
11644         (XSETSPECIFIER_TYPE): Ditto.
11645
11646 2000-01-17  Didier Verna  <didier@xemacs.org>
11647
11648         * redisplay.c (generate_fstring_runes): compute string size in
11649         characters, not bytes.
11650
11651 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11652
11653         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
11654
11655 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
11656
11657         * print.c (print_error_message): Call print_prepare().
11658
11659 2000-01-14  Martin Buchholz  <martin@xemacs.org>
11660
11661         * .dbxrc: Renamed from dbxrc.
11662
11663         * events.c (event_to_character):
11664         Use `assert (foo)' instead of `if (!foo) abort()'
11665
11666         * .gdbinit (xtype): Add documentation.
11667         * .gdbinit (check-temacs): New function.
11668         * .gdbinit (check-xemacs): New function.
11669         * dbxrc (check-xemacs): New function.
11670         * dbxrc (check-xemacs): New function.
11671
11672 2000-01-14  Andy Piper  <andy@xemacs.org>
11673
11674         * glyphs-widget.c (widget_query_geometry): Make sure that we
11675         calculate default dimensions correctly.
11676
11677 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11678
11679         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
11680
11681         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
11682         pdump_wire'd variable.
11683
11684         * emacs.c: (main_1): Conditionalized calls to
11685         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
11686
11687 2000-01-13  Martin Buchholz  <martin@xemacs.org>
11688
11689         * window.c (Fset_window_configuration):
11690         * sysdep.c (_start):
11691         * input-method-motif.c (res):
11692         * event-Xt.c (Xt_process_to_emacs_event):
11693         Simple compiler warning fixes.
11694
11695         * bytecode.c (funcall_compiled_function): Use the original
11696         function symbol on the backtrace list in preference to the
11697         compiled_function object in error messages.
11698
11699 2000-01-13  Andy Piper  <andy@xemacs.org>
11700
11701         * glyphs-x.c (update_widget_face): Make sure we update the widget
11702         background as well as foreground.
11703
11704 2000-01-13  Andy Piper  <andy@xemacs.org>
11705
11706         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
11707         fields to subwindow.
11708         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
11709         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
11710         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11711         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11712
11713         * glyphs-widget.c (check_valid_tab_orientation): new function.
11714         (initialize_widget_image_instance): zero orientation and
11715         justification.
11716         (widget_instantiate): pick up orientation.
11717         (tab_control_query_geometry): return appropriate values for
11718         vertical tabs.
11719
11720         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
11721         appropriate creation flags for left, right and bottom tabs.
11722
11723         * s/cygwin32.h: add tab definitions.
11724
11725 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11726
11727         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
11728         frame upon hiding a subwindow.
11729         (mswindows_button_instantiate): Changed the push button style to
11730         BS_PUSHBUTTON.
11731         (mswindows_button_instantiate): Removed button BS_NOTIFY
11732         style.
11733         (mswindows_button_instantiate): Removed redundant check for
11734         a disabled gui item.
11735         (mswindows_button_instantiate): Made use of WS_TABSTOP
11736         consistent: "operable" controls (edit, button, tree, scroll) have
11737         this style, "display-only" ones (static, progress gauge) do
11738         not. This style is currently ignored by XEmacs though. Also,
11739         removed the WS_EX_CONTROLPARENT style - it is not for children,
11740         it is for their parents!
11741         (mswindows_edit_field_instantiate): Ditto.
11742         (mswindows_progress_gauge_instantiate): Ditto.
11743         (mswindows_tree_view_instantiate): Ditto.
11744         (mswindows_tab_control_instantiate): Ditto.
11745         (mswindows_scrollbar_instantiate): Ditto.
11746         (mswindows_combo_box_instantiate): Ditto.
11747         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
11748         style to the "clip" window.
11749         (mswindows_button_instantiate): Removed compilation warning by
11750         equally typing terms of the ?: operator.
11751
11752 2000-01-12  Didier Verna  <didier@xemacs.org>
11753
11754         * redisplay.c (generate_fstring_runes): new parameter holding the
11755         last modeline-format extent.
11756         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
11757         extent, fill the glyph block with it.
11758         (generate_fstring_runes): handle these parameters.
11759         (generate_formatted_string_db): ditto.
11760
11761         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
11762         glyphs'extents in the modeline.
11763
11764 1999-01-11  Mike Woolley  <mike@bulsara.com>
11765
11766         * ntheap.c: Reduced the reserved heap space from 1Gb down to
11767         256Mb, as a workaround for the non-starting problem many people
11768         have experienced.
11769
11770 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11771
11772         * console-tty.c (Fset_console_tty_output_coding_system):
11773         Force redrawing tty frame.
11774
11775 2000-01-10  Didier Verna  <didier@xemacs.org>
11776
11777         * redisplay.c (generate_fstring_runes): fix size computation bug.
11778
11779 2000-01-09  William M. Perry <wmperry@aventail.com>
11780
11781         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
11782
11783 2000-01-09  Andy Piper  <andy@xemacs.org>
11784
11785         * glyphs-msw.c: index -> i to avoid shadows.
11786         (xbm_create_bitmap_from_data): make static.
11787         (check_valid_string_or_int): deleted.
11788         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
11789
11790         * glyphs-x.c (x_update_subwindow): remove unused args.
11791
11792         * glyphs.c (glyph_image_instance): return the thing. Don't set the
11793         back pointer - this is done in allocate_image_instance.
11794         (query_string_font): return Qnil to make the compiler happy.
11795         (unmap_subwindow): set to ~0 to make the compiler happy.
11796         (glyph_query_geometry): comment out until used.
11797         (glyph_layout): ditto.
11798
11799 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11800
11801         * insdel.c (signal_after_change): Remove extraneous unbind_to().