e046fb949a7423e4b11349ff642379e9d13bf0da
[chise/xemacs-chise.git-] / src / ChangeLog
1 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * text-coding.c (char_encode_big5): Prefer charset-g1 than
4         `chinese-big5'.
5
6 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * chartab.c (uint8_byte_table_description): New constant.
9         (uint8-byte-table): Use `uint8_byte_table_description'.
10         (uint16_byte_table_description): New constant.
11         (uint16-byte-table): Use `uint16_byte_table_description'.
12
13 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
14
15         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
16         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
17
18 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
19
20         * mule-charset.c (Vcharset_ucs_ks): New variable.
21         (Qucs_ks): New variable.
22         (syms_of_mule_charset): Add new symbol `ucs-ks'.
23         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
24
25         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
26
27 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
28
29         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
30         (Fdecode_char): Likewise.
31
32         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
33         chartab.h.
34         (Fdefine_char): Modify for Fdecode_char.
35         (Ffind_char): Likewise.
36
37         * mule-charset.c (Fdecode_char): Add new optional argument
38         `defined-only'.
39         (Fdecode_builtin_char): Modify for `Fdecode_char'.
40
41 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
42
43         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
44         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
45         (allocate_coding_system): Initialize initial-charsets of
46         CODESYS_BIG5 in XEmacs UTF-2000.
47         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
48         CODESYS_BIG5 in XEmacs UTF-2000.
49         (decode_coding_big5): Use initial-charset-g0 and -g1 of
50         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
51
52         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
53         variables.
54         (Qideograph_hanziku_{1 .. 12}): Likewise.
55         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
56         .. 12}'.
57         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
58         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
59         `ideograph-hanziku-{1 .. 12}'.
60
61         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
62         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
63         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
64         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
65         (DECODE_DEFINED_CHAR): New inline function.
66         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
67
68 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
69
70         * mule-charset.c (Vcharset_china3_jef): Renamed from
71         `Vcharset_japanese_jef_china3'.
72         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
73         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
74         `{MIN|MAX}_CHAR_JEF_CHINA3'..
75         (syms_of_mule_charset): Rename `china3-jef' from
76         `japanese-jef-china3'.
77         (complex_vars_of_mule_charset): Likewise; rename
78         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
79
80         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
81         `LEADING_BYTE_JEF_CHINA3'.
82         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
83         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
84
85 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
86
87         * mule-charset.c (encode_builtin_char_1): Comment out special code
88         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
89
90         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
91         (MAX_CHAR_MOJIKYO_0): Comment out.
92         (MIN_CHAR_CBETA): Changed to 0x00E20000.
93         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
94         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
95         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
96
97 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
98
99         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
100         (Qideograph_cbeta): New variable.
101         (encode_builtin_char_1): Comment out special code for
102         coded-charset `mojikyo' and `japanese-jef-china3'.
103         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
104         (complex_vars_of_mule_charset): Add new coded-charset
105         `ideograph-cbeta'.
106
107         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
108         (MIN_CHAR_CBETA): New macro.
109         (MAX_CHAR_CBETA): New macro.
110
111 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
112
113         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
114         (LEADING_BYTE_JEF_CHINA3): New macro.
115         (MIN_CHAR_JEF_CHINA3): New macro.
116         (MAX_CHAR_JEF_CHINA3): Likewise.
117         (DECODE_CHAR): Fixed.
118
119 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
120
121         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
122         (Qjapanese_jef_china3): New variable.
123         (encode_builtin_char_1): Support `japanese-jef-china3'.
124         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
125         (complex_vars_of_mule_charset): Add new coded-charset
126         `japanese-jef-china3'.
127
128 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
129
130         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
131         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
132         94^4, 96^3, 96^4, 128^n and 256^n set.
133         (put_char_table): Use `XCHARSET_CELL_RANGE'.
134         (map_char_table): Likewise.
135
136 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
137
138         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
139         UTF-2000.
140
141 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
142
143         * chartab.h (get_char_id_table): New inline function.
144
145         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
146         function.
147
148 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
149
150         * chartab.h (decode_char_table_range): New prototype in XEmacs
151         UTF-2000.
152         (put_char_id_table): New inline function in XEmacs UTF-2000.
153
154         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
155         function.
156         (decode_char_table_range): Delete static declaration in XEmacs
157         UTF-2000.
158
159 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
160
161         * chartab.c (put_char_id_table): Use `put_char_table'.
162
163 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
164
165         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
166         (map_over_uint16_byte_table): Likewise.
167         (map_over_byte_table): Likewise.
168         (map_char_table): Modify for `map_over_uint8_byte_table',
169         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
170         UTF-2000.
171
172 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
173
174         * chartab.c (struct map_char_table_for_charset_arg): New
175         structure.
176         (map_char_table_for_charset_fun): New function.
177         (map_char_table): Use `map_char_table' for encoding_table of
178         `range->charset'.
179
180 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
181
182         * chartab.c (map_char_table): Check a character is found in
183         range->charset instead of non default value is defined in
184         char-table when range is CHARTAB_RANGE_ROW.
185
186 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
187
188         * chartab.c (map_char_id_table): Deleted.
189         (Fmap_char_attribute): Use `map_char_table' instead of
190         `map_char_id_table'.
191
192 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
193
194         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
195         UTF-2000.
196         (update_syntax_table): Deleted in XEmacs UTF-2000.
197
198         * syntax.c (find_defun_start): Use `syntax_table' instead of
199         `mirror_syntax_table' in XEmacs UTF-2000.
200         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
201         UTF-2000.
202         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
203         XEmacs UTF-2000.
204         (Fmatching_paren): Likewise.
205         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
206         in XEmacs UTF-2000.
207         (find_start_of_comment): Likewise.
208         (find_end_of_comment): Likewise.
209         (Fforward_comment): Likewise.
210         (scan_lists): Likewise.
211         (char_quoted): Likewise.
212         (Fbackward_prefix_chars): Likewise.
213         (scan_sexps_forward): Likewise.
214         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
215         (update_syntax_table): Likewise.
216
217         * search.c (skip_chars): Use `syntax_table' instead of
218         `mirror_syntax_table' in XEmacs UTF-2000.
219         (wordify): Likewise.
220         (Freplace_match): Likewise.
221
222         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
223         `mirror_syntax_table' in XEmacs UTF-2000.
224         (WORDCHAR_P_UNSAFE): Likewise.
225         (re_match_2_internal): Likewise.
226
227         * font-lock.c (find_context): Use `buf->syntax_table' instead of
228         `buf->mirror_syntax_table' in XEmacs UTF-2000.
229
230         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
231         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
232
233         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
234         XEmacs UTF-2000.
235
236         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
237         UTF-2000.
238         (print_char_table): Print `default_value' in XEmacs UTF-2000.
239         (char_table_description): Delete `mirror_table' in XEmacs
240         UTF-2000.
241         (fill_char_table): Don't call `update_syntax_table' in XEmacs
242         UTF-2000.
243         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
244         (Fcopy_char_table): Likewise.
245         (put_char_table): Don't call `update_syntax_table' in XEmacs
246         UTF-2000.
247
248         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
249         `buf->mirror_syntax_table' in XEmacs UTF-2000.
250         (casify_region_internal): Likewise.
251
252         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
253
254         * buffer.c (common_init_complex_vars_of_buffer): Don't use
255         `mirror_syntax_table' in XEmacs UTF-2000.
256
257         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
258         `buf->mirror_syntax_table' in XEmacs UTF-2000.
259         (Fexpand_abbrev): Likewise.
260
261 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
262
263         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
264
265 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
266
267         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
268         (map_over_uint16_byte_table): Likewise.
269         (map_over_byte_table): Likewise.
270         (get_char_id_table): Refer `cit->default_value'.
271         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
272         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
273         of character-id ranges.
274         (mark_char_table): Mark `ct->default_value'.
275         (char_table_description): Add `default_value'.
276         (fill_char_table): Use `default_value'.
277         (decode_char_table_range): Decode `nil' as
278         `CHARTAB_RANGE_DEFAULT'.
279         (get_char_id_table): Refer `cit->default_value'.
280         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
281         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
282         temporary hack; check value of char-table is bound or not.
283         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
284
285         * chartab.h (struct Lisp_Char_Table): Add new member
286         `default_value' in XEmacs UTF-2000.
287         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
288         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
289         UTF-2000.
290
291 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
292
293         * chartab.h (Lisp_Char_ID_Table): Deleted.
294
295         * chartab.c (char_table_description): Fix typo.
296         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
297         `Lisp_Char_ID_Table'.
298
299 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
300
301         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
302         `CHAR_ID_TABLE_P'.
303
304         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
305         `CHAR_ID_TABLE_P'.
306
307         * chartab.h (XCHAR_ID_TABLE): Deleted.
308         (XSETCHAR_ID_TABLE): Deleted.
309         (CHAR_ID_TABLE_P): Deleted.
310
311         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
312         `CHAR_ID_TABLE_P'.
313         (Fget_composite_char): Likewise.
314         (put_char_table): Likewise.
315         (add_char_attribute_alist_mapper): Fixed.
316         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
317         `CHAR_ID_TABLE_P'.
318         (Fget_char_attribute): Likewise.
319         (Fget_char_attribute): Likewise.
320         (Fmap_char_attribute): Likewise.
321
322         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
323         `CHAR_ID_TABLE_P'.
324         (encode_char_1): Likewise.
325
326 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
327
328         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
329         `XCHAR_ID_TABLE'.
330
331         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
332         instead of `XCHAR_ID_TABLE'.
333         (remove_char_ccs): Likewise.
334
335         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
336         `XCHAR_ID_TABLE'.
337         (Fget_composite_char): Likewise.
338         (Fchar_variants): Likewise.
339         (put_char_table): Likewise.
340         (add_char_attribute_alist_mapper): Likewise.
341         (Fchar_attribute_alist): Likewise.
342         (Fget_char_attribute): Likewise.
343         (Fput_char_attribute): Likewise.
344         (Fmap_char_attribute): Likewise.
345         (Fmap_char_attribute): Likewise.
346
347         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
348         `XCHAR_ID_TABLE'.
349         (encode_char_1): Likewise.
350
351 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
352
353         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
354         `Lisp_Char_ID_Table'.
355         (mark_char_id_table): Deleted.
356         (print_char_id_table): Likewise.
357         (char_id_table_equal): Likewise.
358         (char_id_table_hash): Likewise.
359         (char_id_table_description): Likewise.
360         (char_id_table): Likewise.
361         (make_char_id_table): Use `Fmake_char_table' and
362         `fill_char_table'.
363         (get_char_id_table): Use `Lisp_Char_Table' instead of
364         `Lisp_Char_ID_Table'.
365         (put_char_id_table): Likewise.
366         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
367         `XCHAR_ID_TABLE'.
368         (Fremove_char_attribute): Likewise.
369         (syms_of_chartab): Don't define type `char-id-table'.
370
371         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
372         (char_id_table): Likewise.
373         (GC_CHAR_ID_TABLE_P): Likewise.
374         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
375         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
376         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
377         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
378         (get_char_id_table): Use `Lisp_Char_Table' instead of
379         `Lisp_Char_ID_Table'.
380         (put_char_id_table_0): Likewise.
381         (put_char_id_table): Likewise.
382
383 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
384
385         * chartab.h: Lisp_Byte_Table related codes are moved from
386         chartab.h.
387
388         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
389
390 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
391
392         * chartab.h: Don't include "chartab.h".
393         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
394         (Lisp_Char_ID_Table): Likewise.
395         (char_id_table): Likewise.
396         (XCHAR_ID_TABLE): Likewise.
397         (XSETCHAR_ID_TABLE): Likewise.
398         (CHAR_ID_TABLE_P): Likewise.
399         (GC_CHAR_ID_TABLE_P): Likewise.
400         (get_char_id_table): Likewise.
401
402         * char-ucs.h: Include "chartab.h".
403         (struct Lisp_Char_ID_Table): Moved to chartab.h.
404         (Lisp_Char_ID_Table): Likewise.
405         (char_id_table): Likewise.
406         (XCHAR_ID_TABLE): Likewise.
407         (XSETCHAR_ID_TABLE): Likewise.
408         (CHAR_ID_TABLE_P): Likewise.
409         (GC_CHAR_ID_TABLE_P): Likewise.
410         (get_char_id_table): Likewise.
411
412 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
413
414         * chartab.c (copy_uint8_byte_table): New function.
415         (copy_uint16_byte_table): New function.
416         (copy_byte_table): New function.
417         (map_over_uint8_byte_table): Modify to avoid huge numbers of
418         characters to call.
419         (map_over_uint16_byte_table): Likewise.
420         (map_over_byte_table): Likewise.
421         (get_byte_table): Move prototype to chartab.h.
422         (put_byte_table): Likewise.
423         (put_char_id_table_0): Moved to chartab.h.
424         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
425         (char_table_entry_equal): Likewise.
426         (char_table_entry_hash): Likewise.
427         (char_table_entry_description): Likewise.
428         (char_table_entry): Likewise.
429         (make_char_table_entry): Likewise.
430         (copy_char_table_entry): Likewise.
431         (get_non_ascii_char_table_value): Likewise.
432         (map_over_charset_ascii): Likewise.
433         (map_over_charset_control_1): Likewise.
434         (map_over_charset_row): Likewise.
435         (map_over_other_charset): Likewise.
436         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
437         (print_char_table): Likewise.
438         (char_table_equal): Likewise.
439         (char_table_hash): Likewise.
440         (char_table_description): Likewise.
441         (fill_char_table): Likewise.
442         (Fcopy_char_table): Likewise.
443         (get_char_table): Likewise.
444         (Fget_range_char_table): Likewise.
445         (put_char_table): Likewise.
446         (map_char_table): Likewise.
447         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
448         UTF-2000.
449
450 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
451
452         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
453         `Vauto_fill_chars' in XEmacs UTF-2000.
454
455         * chartab.h (get_byte_table): New prototype [moved from
456         chartab.c].
457         (put_byte_table): Likewise [moved from chartab.c].
458         (put_char_id_table_0): New inline function [moved from chartab.c].
459         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
460         (Lisp_Char_Table_Entry): Likewise.
461         (char_table_entry): Likewise.
462         (XCHAR_TABLE_ENTRY): Likewise.
463         (XSETCHAR_TABLE_ENTRY): Likewise.
464         (CHAR_TABLE_ENTRYP): Likewise.
465         (CHECK_CHAR_TABLE_ENTRY): Likewise.
466         (NUM_ASCII_CHARS): Likewise.
467         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
468         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
469
470 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
471
472         * chartab.c (get_char_id_table): Change interface.
473         (put_char_id_table_0): New function.
474         (put_char_id_table): Change interface; new implementation.
475         (Fget_composite_char): Modify for interface change of
476         `get_char_id_table'.
477         (Fchar_variants): Likewise.
478         (add_char_attribute_alist_mapper): Likewise.
479         (Fchar_attribute_alist): Likewise.
480         (Fget_char_attribute): Likewise.
481         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
482         as same as character as the first argument like `put-char-table';
483         modify for interface change of `put_char_id_table'.
484         (Fremove_char_attribute): Modify for interface change of
485         `put_char_id_table'.
486
487 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
488
489         * text-coding.c: Sync up with XEmacs 21.2.41.
490         (COMPOSE_ADD_CHAR): Modify for interface change of
491         `get_char_id_table'.
492
493         * mule-charset.c (put_char_ccs_code_point): Modify for interface
494         change of `put_char_id_table'.
495         (remove_char_ccs): Likewise.
496
497         * chartab.h (put_char_id_table): Change interface.
498
499         * char-ucs.h (get_char_id_table): Change interface.
500         (charset_code_point): Modify for interface change of
501         `get_char_id_table'.
502         (encode_char_1): Likewise.
503
504 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
505
506         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
507         argument `ccs'.
508         (map_over_uint16_byte_table): Likewise.
509         (map_over_byte_table): Likewise.
510         (map_char_id_table): Add new argument `range' like
511         `map_char_table'.
512         (Fmap_char_attribute): Add new argument `range' like
513         `Fmap_char_table'.
514
515 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
516
517         * chartab.c (map_over_uint8_byte_table): Change interface of
518         mapping function to use struct chartab_range instead of Emchar.
519         (map_over_uint16_byte_table): Likewise.
520         (map_over_byte_table): Likewise.
521         (map_char_id_table): Likewise.
522         (struct slow_map_char_id_table_arg): Deleted.
523         (slow_map_char_id_table_fun): Deleted.
524         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
525         function `slow_map_char_table_fun' instead of struct
526         `slow_map_char_id_table_arg' and function
527         `slow_map_char_id_table_fun'.
528
529 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
530
531         * mule-charset.c: Move char-it-table related codes to chartab.c.
532         (Vutf_2000_version): Moved to chartab.c.
533         (Fdefine_char): Likewise.
534         (Ffind_char): Likewise.
535         (syms_of_mule_charset): Move types `uint8-byte-table',
536         `uint16-byte-table', `byte-table' and `char-id-table' to
537         chartab.c; move functions `char_attribute_list,
538         `find_char_attribute_table, `char_attribute_alist,
539         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
540         `map_char_attribute, `define_char, `find_char, `char_variants and
541         `get_composite_char to chartab.c; move symbols `=>ucs',
542         `->decomposition', `compat', `isolated', `initial', `medial',
543         `final', `vertical', `noBreak', `fraction', `super', `sub',
544         `circle', `square', `wide', `narrow', `small' and `font' to
545         chartab.c.
546         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
547         setting codes for `Vcharacter_composition_table' and
548         `Vcharacter_variant_table' to chartab.c.
549         (complex_vars_of_mule_charset): Move setting code for
550         `Vchar_attribute_hash_table' to chartab.c.
551
552         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
553         (make_char_id_table): New prototype.
554         (put_char_id_table): Likewise.
555         (Fget_char_attribute): Likewise.
556
557         * chartab.c: Move char-id-table related code from mule-charset.c.
558         (Vutf_2000_version): Moved from mule-charset.c.
559
560         * char-ucs.h (Qucs): New external variable.
561         (put_char_ccs_code_point): New prototype.
562         (remove_char_ccs): Likewise.
563
564 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
565
566         * mule-charset.c (Vcharset_ucs_jis): New variable.
567         (Qucs_jis): Likewise.
568         (syms_of_mule_charset): Add new symbol `ucs-jis'.
569         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
570
571         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
572
573 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
574
575         * mule-charset.c (map_over_uint8_byte_table): New function.
576         (map_over_uint16_byte_table): Likewise.
577         (map_over_byte_table): Likewise.
578         (map_char_id_table): Likewise.
579         (slow_map_char_id_table_fun): Likewise.
580         (Fmap_char_attribute): Likewise.
581         (syms_of_mule_charset): Add new function `map-char-attribute'.
582
583 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
584
585         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
586         (syms_of_mule_charset): Add new function `find-char'.
587
588 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
589
590         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
591         XEmacs UTF-2000.
592         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
593         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
594         XEmacs UTF-2000.
595         (complex_vars_of_mule_charset): Add new coded-charset
596         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
597         `ideograph-gt-pj-*'.
598
599         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
600
601 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
602
603         * mule-charset.c (encode_builtin_char_1): Purge codes about
604         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
605         {MIN|MAX}_CHAR_HEBREW.
606         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
607         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
608
609         * char-ucs.h (MIN_CHAR_GREEK): Purged.
610         (MAX_CHAR_GREEK): Purged.
611         (MIN_CHAR_CYRILLIC): Purged.
612         (MAX_CHAR_CYRILLIC): Purged.
613         (MIN_CHAR_HEBREW): Commented out.
614         (MAX_CHAR_HEBREW): Likewise.
615
616 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
617
618         * mule-charset.c (Qto_ucs): New variable.
619         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
620         (Fdefine_char): Likewise.
621         (syms_of_mule_charset): Add new symbol `=>ucs'.
622
623 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
624
625         * mule-charset.c (Fdecode_char): Fixed.
626
627 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
628
629         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
630         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
631         "tcvn5712-1".
632
633 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
634
635         * mule-charset.c (Vcharset_ucs_big5): New variable.
636         (Qucs_big5): Likewise.
637         (syms_of_mule_charset): Add new symbol `ucs-big5'.
638         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
639
640         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
641
642 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
643
644         * mule-charset.c (decode_builtin_char): Check Big5 code range
645         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
646
647 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
648
649         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
650         (Qchinese_gb12345): Likewise.
651         (Fdecode_builtin_char): Fixed.
652         (syms_of_mule_charset): Add `chinese-gb12345'.
653         (complex_vars_of_mule_charset): Add coded-charset
654         `chinese-gb12345'.
655
656         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
657         (LEADING_BYTE_CHINESE_GB12345): New macro.
658
659 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
660
661         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
662         and `latin-viscii-upper' for `latin-viscii'.
663
664 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
665
666         * mule-charset.c (Fdecode_builtin_char): Comment out
667         regularization code for ISO-IR GR representation.
668
669 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
670
671         * mule-charset.c (decode_builtin_char): New function; renamed from
672         `make_builtin_char'; return -1 instead of signal.
673         (Fdecode_builtin_char): Use `decode_builtin_char'.
674
675         * char-ucs.h (decode_builtin_char): New prototype; renamed from
676         `make_builtin_char'.
677         (DECODE_CHAR): Use `decode_builtin_char' instead of
678         `make_builtin_char'; use mapping table of `chinese-big5' for
679         `chinese-big5-{1,2}'.
680
681 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
682
683         * text-coding.c (char_encode_big5): New function.
684         (char_finish_big5): Likewise.
685         (reset_encoding_stream): Use `char_encode_big5' and
686         `char_finish_big5' for CODESYS_BIG5.
687         (mule_encode): Don't use `encode_coding_big5'.
688         (encode_coding_big5): Deleted.
689
690 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
691
692         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
693         0x81- in XEmacs UTF-2000.
694         (detect_coding_big5): Likewise.
695
696 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
697
698         * mule-charset.c (Fdefine_char): Don't use a CCS property to
699         generate character-id if the CCS property does not have
700         corresponding predefined character.
701         (make_builtin_char): Return -1 if corresponding predefined
702         character is not found.
703         (Fdecode_char): Return nil if corresponding character is not
704         found.
705         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
706         don't map to builtin ucs space.
707
708 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
709
710         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
711         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
712
713 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
714
715         * mule-charset.c (Vcharset_ideograph_gt): New variable.
716         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
717         (Qideograph_gt): Likewise.
718         (Qideograph_gt_pj_{1..11}): Likewise.
719         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
720         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
721         `ideograph-gt-pj-11'.
722         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
723         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
724         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
725
726         * char-ucs.h (LEADING_BYTE_GT): New macro.
727         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
728         (MIN_CHAR_GT): Likewise.
729         (MAX_CHAR_GT): Likewise.
730
731 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
732
733         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
734         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
735
736         * doprnt.c (unsigned_int_converters): Add `c'.
737         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
738
739         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
740         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
741         `MIN_CHAR_MOJIKYO'.
742         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
743         (MAX_CHAR_MOJIKYO_0): New macro.
744         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
745
746 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
747
748         * mule-charset.c (Fdefine_char): Delete cemented out code.
749         (encode_builtin_char_1): Modify for new allocation of builtin
750         Mojikyo characters.
751
752         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
753
754 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
755
756         * mule-charset.c (Vcharset_ucs_cns): New variable.
757         (Qucs_cns): New variable.
758         (syms_of_mule_charset): Add new symbol `ucs-cns'.
759         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
760
761 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
762
763         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
764
765 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
766
767         * search.c (search_buffer): Make `charset_base_code' as
768         character-id >> 6 to eliminate the corresponding last byte in
769         UTF-8 representation [I'm not sure it is right thing].
770         (boyer_moore): Likewise.
771
772 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
773
774         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
775         representation in MULE.
776
777 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
778
779         * text-coding.c (Fmake_coding_system): Use
780         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
781         `EXTERNAL_PROPERTY_LIST_LOOP'.
782
783 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
784
785         * text-coding.c (decode_output_utf8_partial_char): New function.
786         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
787
788 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
789
790         * text-coding.c (decode_coding_utf8): Output original byte
791         sequence if it is broken; change order of conditions.
792
793         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
794         of conditions.
795
796         * mb-multibyte.h (BYTE_ASCII_P):
797         Use bit ops for char-signedness safety.
798         (BYTE_C0_P): Use bit ops for char-signedness safety.
799         (BYTE_C1_P): Use bit ops for char-signedness safety.
800
801         * character.h: (XCHAR_OR_CHAR_INT):
802         Always use inline function.
803         Remove redundant type checking assert() - XINT will abort quite
804         nicely.
805
806 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
807
808         * text-coding.c: (Fencode_shift_jis_char):
809         (Fencode_big5_char):
810         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
811         Replace 0 with '\0' when working with bytes.
812         Replace initial "(" with "\(" in docstrings.
813
814         (Fmake_coding_system):
815         When type is ccl and value is vector, register it with a proper
816         symbol.  And checks whether the given ccl program is valid.
817         (mule_decode): When calling ccl_driver, if src indicates
818         NULL pointer, set an empty string instead.
819         (mule_encode): Likewise.
820
821         (detect_eol_type):
822         (detect_coding_sjis):
823         (decode_coding_sjis):
824         (detect_coding_big5):
825         (decode_coding_big5):
826         (detect_coding_ucs4):
827         (decode_coding_ucs4):
828         (detect_coding_utf8):
829         (decode_coding_utf8):
830         (detect_coding_iso2022):
831         (decode_coding_iso2022):
832         (decode_coding_no_conversion):
833         (mule_decode):
834         Make all detecting and decoding functions take an Extbyte * arg.
835         (text_encode_generic):
836         (encode_coding_big5):
837         (encode_coding_no_conversion):
838         (mule_encode):
839         Make all encoding functions take a Bufbyte * arg.
840         Use size_t instead of unsigned int for memory sizes.
841         Only cast to unsigned char whenever dereferencing Extbyte *.
842
843         (struct lrecord_description fcd_description_1): Use countof.
844         (complex_vars_of_file_coding):
845         Use countof instead of sizeof.
846         Use CHECK_NATNUM instead of CHECK_INT.
847
848 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
849
850         * mule-charset.c (Fget_char_attribute): Add new optional argument
851         `default-value'.
852         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
853         (remove_char_ccs): Likewise.
854
855 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
856
857         * text-coding.c (char_encode_shift_jis): New implementation in
858         UTF-2000.
859         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
860         ...)'.
861
862         * mule-charset.c (Vcharset_chinese_big5): New variable in
863         UTF-2000.
864         (Qchinese_big5): New variable in UTF-2000.
865         (BIG5_SAME_ROW): New macro in UTF-2000.
866         (make_builtin_char): Use builtin characters of
867         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
868         characters of `Vcharset_chinese_big5'.
869         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
870         (complex_vars_of_mule_charset): Add new coded-charset
871         `chinese-big5' in UTF-2000.
872
873         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
874         (Vcharset_chinese_big5): New external variable declaration.
875         (Vcharset_japanese_jisx0208_1990): Likewise.
876
877 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
878
879         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
880         function.
881         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
882
883 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
884
885         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
886         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
887         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
888         `mojikyo-pj-*'.
889
890 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
891
892         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
893
894 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
895
896         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
897         to 0.17.
898
899 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
900
901         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
902         for `CHARSET_BY_ATTRIBUTES'.
903         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
904         `CHARSET_BY_ATTRIBUTES'.
905
906         * text-coding.c (struct decoding_stream): Rename member `CH' to
907         `CPOS'.
908         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
909         (decode_coding_sjis): Likewise.
910         (decode_coding_big5): Likewise.
911         (decode_coding_ucs4): Likewise.
912         (decode_coding_utf8): Likewise.
913         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
914         `CHARSET_BY_ATTRIBUTES'.
915         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
916         `str->counter'; decode 3, 4 bytes sets.
917         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
918         sets.
919         (decode_coding_no_conversion): Use `str->cpos' instead of
920         `str->ch'.
921
922         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
923         (Qmojikyo_2022_1): New variable.
924         (make_charset): Don't use `CHARSET_TYPE_*'.
925         (range_charset_code_point): Support coded-charset
926         `mojikyo-2022-1'.
927         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
928         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
929         `CHARSET_BY_ATTRIBUTES'.
930         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
931         `CHARSET_BY_ATTRIBUTES'.
932         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
933         (complex_vars_of_mule_charset): Add new coded-charset
934         `mojikyo-2022-1'.
935
936         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
937         interface; changed to inline function.
938
939         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
940         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
941         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
942         (CHARSET_TYPE_94): Deleted.
943         (CHARSET_TYPE_94X94): Deleted.
944         (CHARSET_TYPE_96): Deleted.
945         (CHARSET_TYPE_96X96): Deleted.
946         (CHARSET_TYPE_128): Deleted.
947         (CHARSET_TYPE_128X128): Deleted.
948         (CHARSET_TYPE_256): Deleted.
949         (CHARSET_TYPE_256X256): Deleted.
950         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
951         to inline function.
952         (DECODE_MOJIKYO_2022): New inline function.
953         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
954         `Vcharset_mojikyo_2022_1'.
955
956 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
957
958         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
959         instead of `EQ'.
960         (put_byte_table): Likewise.
961         (char_id_table_equal): Use `get_byte_table' [new implementation].
962
963 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
964
965         * mule-charset.c: Include <limits.h> in UTF-2000.
966         (BT_UINT8_MIN): New macro in UTF-2000.
967         (BT_UINT8_MAX): New macro in UTF-2000.
968         (BT_UINT8_t): New macro in UTF-2000.
969         (BT_UINT8_nil): New macro in UTF-2000.
970         (BT_UINT8_unbound): New macro in UTF-2000.
971         (INT_UINT8_P): New inline function in UTF-2000.
972         (UINT8_VALUE_P): New inline function in UTF-2000.
973         (UINT8_ENCODE): New inline function in UTF-2000.
974         (UINT8_DECODE): New inline function in UTF-2000.
975         (mark_uint8_byte_table): New function in UTF-2000.
976         (print_uint8_byte_table): New function in UTF-2000.
977         (uint8_byte_table_equal): New function in UTF-2000.
978         (uint8_byte_table_hash): New function in UTF-2000.
979         (make_uint8_byte_table): New function in UTF-2000.
980         (uint8_byte_table_same_value_p): New function in UTF-2000.
981         (BT_UINT16_MIN): New macro in UTF-2000.
982         (BT_UINT16_MAX): New macro in UTF-2000.
983         (BT_UINT16_t): New macro in UTF-2000.
984         (BT_UINT16_nil): New macro in UTF-2000.
985         (BT_UINT16_unbound): New macro in UTF-2000.
986         (INT_UINT16_P): New inline function in UTF-2000.
987         (UINT16_VALUE_P): New inline function in UTF-2000.
988         (UINT16_ENCODE): New inline function in UTF-2000.
989         (UINT16_DECODE): New inline function in UTF-2000.
990         (UINT8_TO_UINT16): New inline function in UTF-2000.
991         (mark_uint16_byte_table): New function in UTF-2000.
992         (print_uint16_byte_table): New function in UTF-2000.
993         (uint16_byte_table_equal): New function in UTF-2000.
994         (uint16_byte_table_hash): New function in UTF-2000.
995         (make_uint16_byte_table): New function in UTF-2000.
996         (uint16_byte_table_same_value_p): New function in UTF-2000.
997         (print_byte_table): New function in UTF-2000.
998         (byte-table): Use `print_byte_table' as printer.
999         (make_byte_table): Delete second argument `older'.
1000         (byte_table_same_value_p): New function in UTF-2000.
1001         (copy_byte_table): Deleted.
1002         (get_byte_table): New function in UTF-2000.
1003         (put_byte_table): New function in UTF-2000.
1004         (print_char_id_table): New function in UTF-2000.
1005         (char-id-table): Use `print_char_id_table' as printer.
1006         (make_char_id_table): Delete second argument `older'.
1007         (get_char_id_table): Use `get_byte_table [new implementation].
1008         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1009         implementation].
1010         (Ffind_char_attribute_table): New function in UTF-2000.
1011         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1012         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1013         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1014         (syms_of_mule_charset): Add new function
1015         `find-char-attribute-table' in UTF-2000.
1016
1017         * lrecord.h (enum lrecord_type): Add
1018         `lrecord_type_uint16_byte_table' and
1019         `lrecord_type_uint8_byte_table'.
1020
1021         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1022         (Lisp_Uint8_Byte_Table): New type.
1023         (XUINT8_BYTE_TABLE): New macro.
1024         (XSETUINT8_BYTE_TABLE): New macro.
1025         (UINT8_BYTE_TABLE_P): New macro.
1026         (GC_UINT8_BYTE_TABLE_P): New macro.
1027         (struct Lisp_Uint16_Byte_Table): New structure.
1028         (Lisp_Uint16_Byte_Table): New type.
1029         (XUINT16_BYTE_TABLE): New macro.
1030         (XSETUINT16_BYTE_TABLE): New macro.
1031         (UINT16_BYTE_TABLE_P): New macro.
1032         (GC_UINT16_BYTE_TABLE_P): New macro.
1033
1034 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1035
1036         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1037         (Vcharacter_ideographic_strokes_table): Deleted.
1038         (Vcharacter_total_strokes_table): Deleted.
1039         (Vcharacter_morohashi_daikanwa_table): Deleted.
1040         (Vcharacter_decomposition_table): Deleted.
1041         (Qname): Deleted because it is duplicated.
1042         (Qideographic_radical): Deleted.
1043         (Qideographic_strokes): Deleted.
1044         (Qtotal_strokes): Deleted.
1045         (Qmorohashi_daikanwa): Deleted.
1046         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1047         `ideographic-radical', `ideographic-strokes', `total-strokes',
1048         `morohashi-daikanwa' and `->decomposition'.
1049         (Fget_char_attribute): Likewise.
1050         (Fput_char_attribute): Likewise; use `make-vector' instead of
1051         `make_older_vector' for `->decomposition' value.
1052         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1053         `ideograph-daikanwa'.
1054         (syms_of_mule_charset): Delete builtin symbols `name',
1055         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1056         `morohashi-daikanwa'.
1057         (vars_of_mule_charset): Don't setup
1058         `Vcharacter_ideographic_radical_table',
1059         `Vcharacter_ideographic_strokes_table',
1060         `Vcharacter_total_strokes_table',
1061         `Vcharacter_morohashi_daikanwa_table' and
1062         `Vcharacter_decomposition_table'.
1063
1064 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1065
1066         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1067         `make_older_vector', `make_vector_newer_1' and
1068         `make_vector_newer'.
1069
1070         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1071         `make_older_vector' and `make_vector_newer'.
1072
1073         * config.h.in (HAVE_GGC): New macro.
1074
1075 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1076
1077         * mule-charset.c (struct char_attribute_list_closure): New
1078         structure in UTF-2000.
1079         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1080         (Fchar_attribute_list): Likewise.
1081         (Fset_charset_mapping_table): Use `make_vector_newer'.
1082         (Fdecode_builtin_char): New function in UTF-2000.
1083         (syms_of_mule_charset): Add new function `char-attribute-list' and
1084         `decode-builtin-char' in UTF-2000.
1085
1086         * lisp.h (make_vector_newer): New prototype.
1087
1088         * alloc.c (make_vector_newer_1): New function.
1089         (make_vector_newer): New function.
1090
1091 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1092
1093         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1094         50100)'.
1095
1096 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1097
1098         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1099         (Vcharacter_attribute_table): Deleted.
1100         (Vcharacter_name_table): Deleted.
1101         (put_char_attribute): Deleted.
1102         (remove_char_attribute): Deleted.
1103         (struct char_attribute_alist_closure): New structure.
1104         (add_char_attribute_alist_mapper): New function.
1105         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1106         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1107         (Fget_char_attribute): Likewise.
1108         (Fput_char_attribute): Likewise.
1109         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1110         of `remove_char_attribute'.
1111         (Fdefine_char): Return character.
1112         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1113         and `Vcharacter_name_table'.
1114         (complex_vars_of_mule_charset): Likewise
1115         `Vchar_attribute_hash_table'.
1116
1117 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1118
1119         * character.h (CHARC_CHARSET): New macro.
1120         (CHARC_CHARSET_ID): New macro.
1121         (CHARC_CODE_POINT): New macro.
1122         (CHARC_COLUMNS): New macro.
1123         (CHARC_TO_CHAR): New inline function.
1124         (CHARC_EQ): New inline function.
1125         (CHARC_ASCII_EQ): New inline function.
1126         (CHARC_IS_SPACE): New inline function.
1127         (ASCII_TO_CHARC): New inline function.
1128
1129         * char-ucs.h (encode_char_2): Deleted.
1130         (ENCODE_CHAR): Use `encode_char_1' again.
1131         (breakup_char_1): Likewise.
1132         (CHAR_TO_CHARC): New inline function.
1133
1134         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1135
1136 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1137
1138         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1139         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1140         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1141         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1142         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1143         `CHARC_IS_SPACE'.
1144         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1145
1146         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1147         `CHARC_CODE_POINT'.
1148         (x_output_display_block): Use `CHARC_CHARSET' and
1149         `CHARC_ASCII_EQ'.
1150
1151         * redisplay-tty.c (tty_output_display_block): Use
1152         `CHARC_ASCII_EQ'.
1153         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1154
1155         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1156
1157         * insdel.c (find_charsets_in_charc_string): Use
1158         `CHARC_CHARSET_ID'.
1159         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1160         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1161         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1162         (convert_charc_string_into_malloced_string): Likewise.
1163
1164 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1165
1166         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1167         instead of <Emchar_dynarr *> for buf; use
1168         `convert_bufbyte_string_into_charc_dynarr' instead of
1169         `convert_bufbyte_string_into_emchar_dynarr'; use
1170         `find_charsets_in_charc_string' instead of
1171         `find_charsets_in_emchar_string'.
1172
1173         * redisplay.h:
1174         - Include "character.h".
1175         (struct rune): New member `cglyph'; delete member `chr'.
1176
1177         * redisplay.c (redisplay_text_width_charc_string): New function;
1178         delete `redisplay_text_width_emchar_string'.
1179         (rtw_charc_dynarr): New variable; renamed from
1180         `rtw_emchar_dynarr'.
1181         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1182         `rtw_emchar_dynarr'; use
1183         `convert_bufbyte_string_into_charc_dynarr' instead of
1184         `convert_bufbyte_string_into_emchar_dynarr'; use
1185         `redisplay_text_width_charc_string' instead of
1186         `redisplay_text_width_emchar_string'.
1187         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1188         instead of `rtw_emchar_dynarr'; use
1189         `convert_bufbyte_string_into_charc_dynarr' instead of
1190         `convert_bufbyte_string_into_emchar_dynarr'.
1191         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1192         `redisplay_text_width_charc_string' instead of
1193         `redisplay_text_width_emchar_string'.
1194         (create_text_block): Modify for <struct rune> change.
1195         (generate_formatted_string_db): Likewise.
1196         (create_string_text_block): Likewise.
1197         (pixel_to_glyph_translation): Likewise.
1198
1199         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1200         instead of <const Emchar *>.
1201         (x_text_width): Likewise.
1202         (x_output_display_block): Use <Charc_dynarr *> instead
1203         <Emchar_dynarr *>; modify for <structure rune> change.
1204         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1205         *>.
1206
1207         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1208         <const Emchar *>; use `charc_string_displayed_columns' instead of
1209         `emchar_string_displayed_columns'.
1210         (tty_output_display_block): Use <Charc_dynarr *> instead of
1211         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1212         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1213         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1214         `tty_output_emchar_dynarr_dynarr'.
1215         (tty_output_charc_dynarr): New function; delete
1216         `tty_output_charc_dynarr'.
1217
1218         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1219         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1220         <Emchar_dynarr *> for buf; use
1221         `convert_bufbyte_string_into_charc_dynarr' instead of
1222         `convert_bufbyte_string_into_emchar_dynarr'.
1223
1224         * frame.c (title_string_charc_dynarr): New variable; renamed from
1225         `title_string_emchar_dynarr'.
1226         (generate_title_string): Use `title_string_charc_dynarr' instead
1227         of `title_string_emchar_dynarr'; use
1228         `convert_charc_string_into_malloced_string' instead of
1229         `convert_emchar_string_into_malloced_string'.
1230         (init_frame): Use `title_string_charc_dynarr' instead of
1231         `title_string_emchar_dynarr'.
1232
1233         * console.h:
1234         - Include "character.h".
1235         (struct console_methods): Use <const Charc *> instead of <const
1236         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1237         <Emchar_dynarr *> in output_string_method.
1238
1239         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1240         <Emchar_dynarr *>.
1241
1242         * console-stream.c (stream_text_width): Use <const Charc *>
1243         instead of <const Emchar *>.
1244
1245         * character.h (Charc_dynarr): New type.
1246
1247         * char-ucs.h (structure Charc): New structure; define new type
1248         `Charc'.
1249
1250         * char-lb.h (DECODE_CHAR): New inline function.
1251         (encode_char_1): New inline function.
1252         (ENCODE_CHAR): New macro.
1253         (structure Charc): New structure; define new type `Charc'.
1254
1255         * char-1byte.h (Vcharset_control_1): New macro.
1256         (Vcharset_latin_iso8859_1): New macro.
1257         (DECODE_CHAR): New inline function.
1258         (encode_char_1): New inline function.
1259         (ENCODE_CHAR): New macro.
1260         (structure Charc): New structure; define new type `Charc'.
1261
1262         * insdel.c (find_charsets_in_charc_string): New function; delete
1263         `find_charsets_in_emchar_string'.
1264         (charc_string_displayed_columns): New function; delete
1265         `emchar_string_displayed_columns'.
1266         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1267         `convert_bufbyte_string_into_emchar_dynarr'.
1268         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1269         `convert_charc_string_into_bufbyte_dynarr'.
1270         (convert_charc_string_into_malloced_string): New function; delete
1271         `convert_charc_string_into_malloced_string'.
1272
1273         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1274         `find_charsets_in_emchar_string'.
1275         (charc_string_displayed_columns): New prototype; delete
1276         `emchar_string_displayed_columns'.
1277         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1278         `convert_charc_string_into_bufbyte_dynarr'.
1279         (convert_charc_string_into_malloced_string): New prototype; delete
1280         `convert_charc_string_into_malloced_string'.
1281
1282 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1283
1284         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1285
1286 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1287
1288         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1289
1290         * char-ucs.h: Use <short> for <Charset_ID>.
1291
1292         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1293         <Charset_ID>.
1294
1295 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1296
1297         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1298         to 0.16.
1299
1300 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1301
1302         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1303         variable.
1304         (Qmorohashi_daikanwa): New variable.
1305         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1306         for `morohashi-daikanwa' attribute.
1307         (Fget_char_attribute): Likewise.
1308         (Fput_char_attribute): Likewise.
1309         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1310         has the same value of `ideograph-daikanwa'.
1311         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1312         (vars_of_mule_charset): Setup
1313         `Vcharacter_morohashi_daikanwa_table'.
1314
1315 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1316
1317         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1318         attributes.
1319         (add_charset_to_list_mapper): Add `key' instead of
1320         `XCHARSET_NAME (value)' to return aliases.
1321
1322 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1323
1324         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1325         variable.
1326         (Vcharacter_ideographic_strokes_table): New variable.
1327         (Qideographic_radical): New variable.
1328         (Qideographic_strokes): New variable.
1329         (Fchar_attribute_alist): Use
1330         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1331         attribute; use `Vcharacter_ideographic_strokes_table' for
1332         `ideographic-strokes' attribute.
1333         (Fget_char_attribute): Likewise.
1334         (Fput_char_attribute): Likewise.
1335         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1336         `ideographic-strokes'.
1337         (vars_of_mule_charset): Setup
1338         `Vcharacter_ideographic_radical_table' and
1339         `Vcharacter_ideographic_strokes_table'.
1340
1341 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1342
1343         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1344         (Qtotal_strokes): New variable.
1345         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1346         `total-strokes' attribute.
1347         (Fget_char_attribute): Likewise.
1348         (Fput_char_attribute): Likewise.
1349         (syms_of_mule_charset): Add new symbol `total-strokes'.
1350         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1351
1352 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1353
1354         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1355         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1356         are found.
1357         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1358         `->decomposition' attribute.
1359         (Fput_char_attribute): Likewise.
1360         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1361
1362 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1363
1364         * mule-charset.c (decoding_table_check_elements): New function.
1365         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1366
1367 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1368
1369         * mule-charset.c (Fset_charset_mapping_table): Use
1370         `put_char_ccs_code_point'.
1371
1372 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1373
1374         * mule-charset.c (decoding_table_put_char): New inline function.
1375         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1376
1377 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1378
1379         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1380         (XCHARSET_BYTE_SIZE): New macro.
1381         (decoding_table_remove_char): New inline function.
1382         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1383         `decoding_table_remove_char'.
1384         (remove_char_ccs): Use `decoding_table_remove_char'.
1385         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1386
1387 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1388
1389         * mule-charset.c (Vcharacter_name_table): New variable.
1390         (Qname): New variable.
1391         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1392         attribute.
1393         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1394         `Vcharacter_name_table' for `name' attribute.
1395         (Fremove_char_attribute): Use function `remove_char_ccs'.
1396         (put_char_ccs_code_point): New function.
1397         (remove_char_ccs): New function.
1398         (syms_of_mule_charset): Add new symbol `name'.
1399         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1400
1401 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1402
1403         * mule-charset.c (make_byte_table): Add new argument `older'.
1404         (make_char_id_table): Likewise.
1405         (copy_char_id_table): Comment out because it is not used.
1406         (put_char_id_table): Modify for `make_byte_table'.
1407         (Fput_char_attribute): Make encoding_table as older object;
1408         inherit older bit of `Vcharacter_composition_table'.
1409         (mark_charset): Don't mark `cs->encoding_table'.
1410         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1411         normal object; make `Vcharacter_composition_table' as an older
1412         object; delete staticpro for `Vcharacter_composition_table'; make
1413         `Vcharacter_variant_table' as a normal object.
1414
1415         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1416         (mark_object): Don't check older object in UTF-2000.
1417
1418         * lrecord.h (struct lrecord_header): Add new member `older' in
1419         UTF-2000.
1420         (set_lheader_implementation): Setup `SLI_header->older' in
1421         UTF-2000.
1422         (set_lheader_older_implementation): New macro in UTF-2000.
1423         (OLDER_RECORD_P): New macro in UTF-2000.
1424         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1425         (alloc_older_lcrecord): New prototype in UTF-2000.
1426         (alloc_older_lcrecord_type): New macro in UTF-2000.
1427
1428 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1429
1430         * mule-charset.c (byte_table_description): Use
1431         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1432         (char_id_table_description): Delete bogus `, 1'.
1433         (Fget_char_attribute): Refer encoding_table of each coded-charset
1434         to get value of coded-charset attribute of a character.
1435         (Fput_char_attribute): Use `make_older_vector' instead of
1436         `make_vector'; use encoding_table of each coded-charset to store
1437         value of coded-charset attribute of a character.
1438         (Fremove_char_attribute): Use encoding_table of each coded-charset
1439         to store value of coded-charset attribute of a character.
1440         (mark_charset): Mark `cs->encoding_table'; don't mark
1441         `cs->decoding_table'.
1442         (charset_description): Add description of new member
1443         `encoding_table'.
1444         (make_charset): Initialize `encoding_table'.
1445
1446         * char-ucs.h (struct Lisp_Charset): Add new member
1447         `encoding_table'.
1448         (CHARSET_ENCODING_TABLE): New macro.
1449         (XCHARSET_ENCODING_TABLE): New macro.
1450         (charset_code_point): New implementation.
1451         (encode_char_1): Likewise.
1452
1453         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1454         (disksave_object_finalization_1): Call finalizers of
1455         `all_older_lcrecords' in UTF-2000.
1456         (make_older_vector): New function in UTF-2000.
1457         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1458         UTF-2000.
1459
1460         * lisp.h (make_older_vector): New prototype in UTF-2000.
1461
1462 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1463
1464         * lrecord.h (enum lrecord_type): Rename
1465         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1466
1467         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1468         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1469         `get_char_code_table'.
1470
1471         * mule-charset.c (mark_char_id_table): Renamed from
1472         `mark_char_code_table'.
1473         (char_id_table_equal): Renamed from `char_code_table_equal'.
1474         (char_id_table_hash): Renamed from `char_code_table_hash'.
1475         (make_char_id_table): Renamed from `make_char_code_table'.
1476         (copy_char_id_table): Renamed from `copy_char_code_table'.
1477         (get_char_id_table): Renamed from `get_char_code_table'.
1478         (put_char_id_table): Renamed from `put_char_code_table'.
1479         (to_char_id): Renamed from `to_char_code'.
1480
1481         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1482         `Lisp_Char_Code_Table'.
1483         (char_id_table): Renamed from `char_code_table'.
1484         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1485         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1486         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1487         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1488         (get_char_id_table): Renamed from `get_char_code_table'.
1489
1490 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1491
1492         * lrecord.h (enum lrecord_type): Rename
1493         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1494
1495         * mule-charset.c (mark_byte_table): Renamed from
1496         `mark_char_byte_table'.
1497         (byte_table_equal): Renamed from `char_byte_table_equal'.
1498         (byte_table_hash): Renamed from `byte_table_hash'.
1499         (make_byte_table): Renamed from `make_byte_table'.
1500         (copy_byte_table): Renamed from `copy_char_byte_table'.
1501
1502         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1503         `Lisp_Char_Byte_Table'.
1504         (byte_table): Renamed from `char_byte_table'.
1505         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1506         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1507         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1508         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1509
1510 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1511
1512         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1513         (dfc_convert_to_internal_format): Likewise.
1514         
1515         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1516         * text-coding.c (Fcoding_system_alias_p): New function.
1517         * text-coding.c (Fcoding_system_aliasee): New function.
1518         * text-coding.c (append_suffix_to_symbol): New function.
1519         * text-coding.c (dangling_coding_system_alias_p): New function.
1520         * text-coding.c (Ffind_coding_system):
1521         * text-coding.c (Fcopy_coding_system):
1522         * text-coding.c (encode_coding_no_conversion):
1523         * text-coding.c (syms_of_file_coding):
1524         * text-coding.c (vars_of_file_coding):
1525         Rewrite coding system alias code.
1526         Allow nested aliases, like symbolic links.
1527         Allow redefinition of coding system aliases.
1528         Prevent existence of dangling coding system aliases.
1529         Eliminate convert_to_external_format.
1530         Eliminate convert_to_internal_format.
1531         
1532         * text-coding.c: Change enum eol_type to eol_type_t.
1533
1534 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1535
1536         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1537         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1538
1539         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1540         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1541
1542 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1543
1544         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1545         `ideograph-daikanwa'.
1546
1547         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1548         (Vcharset_ucs_bmp): Likewise.
1549         (Vcharset_mojikyo): Add new extern variable definition.
1550         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1551         (Vcharset_latin_iso8859_3): Likewise.
1552         (Vcharset_latin_iso8859_4): Likewise.
1553         (Vcharset_latin_iso8859_9): Likewise.
1554         (Vcharset_latin_viscii_lower): Likewise.
1555         (Vcharset_latin_viscii_upper): Likewise.
1556         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1557         `mojikyo' code-point is used to decode.
1558         (encode_char_2): New function [to convert `mojikyo' code-point to
1559         Mojikyo font encoding].
1560         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1561         (breakup_char_1): Likewise.
1562         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1563
1564 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1565
1566         * text-coding.c (Fmake_coding_system): Add document about
1567         `disable-composition' property.
1568
1569 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1570
1571         * text-coding.c (Qdisable_composition): New variable; delete
1572         `Qcomposite'.
1573         (Fmake_coding_system): Add new property `disable-composite';
1574         delete property `composite'.
1575         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1576         instead of `!CODING_SYSTEM_COMPOSITE'.
1577         (syms_of_file_coding): Add new symbol `disable-composition';
1578         delete symbol `composite'.
1579
1580         * file-coding.h (struct Lisp_Coding_System): Add
1581         `disable_composition'; delete `enable_composition'.
1582         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1583         `CODING_SYSTEM_COMPOSITE'.
1584         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1585         `XCODING_SYSTEM_COMPOSITE'.
1586
1587 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1588
1589         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1590         to 0.15.
1591
1592 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1593
1594         * text-coding.c (Qcomposite): New variable.
1595         (Fmake_coding_system): Add new property `composite'.
1596         (struct decoding_stream): Add `combined_char_count',
1597         `combined_chars' and `combining_table' in UTF-2000.
1598         (COMPOSE_FLUSH_CHARS): New macro.
1599         (COMPOSE_ADD_CHAR): New macro.
1600         (reset_decoding_stream): Reset `str->combined_char_count' and
1601         `str->combining_table' in UTF-2000.
1602         (decode_coding_iso2022): Modify for character-decomposition.
1603         (syms_of_file_coding): Add new symbol `composite'.
1604
1605 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1606
1607         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1608         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1609         of `Vcharacter_composition_table' if `->decomposition' property
1610         has only 1 element.
1611         (Qlatin_tcvn5712): New variable.
1612         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1613         (complex_vars_of_mule_charset): Add new coded-charset
1614         `latin-tcvn5712'.
1615
1616         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1617
1618 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1619
1620         * file-coding.h (struct Lisp_Coding_System): Add
1621         `enable_composition'.
1622         (CODING_SYSTEM_COMPOSITE): New macro.
1623         (XCODING_SYSTEM_COMPOSITE): New macro.
1624
1625 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1626
1627         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1628
1629 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1630
1631         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1632         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1633
1634 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1635
1636         * mule-charset.c (Vcharset_mojikyo): New variable.
1637         (Fdefine_char): Don't use coded-charset which does not have
1638         non-builtin character range to allocate character-id.
1639         (Qmojikyo): New variable.
1640         (syms_of_mule_charset): Add new symbol `mojikyo'.
1641         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1642
1643         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1644         (LEADING_BYTE_MOJIKYO): New macro.
1645         (MIN_CHAR_MOJIKYO): New macro.
1646         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1647         (MAX_CHAR_MOJIKYO): New macro.
1648
1649 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1650
1651         * mule-charset.c (remove_char_attribute): Fixed.
1652
1653 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1654
1655         * mule-charset.c (remove_char_attribute): New function.
1656         (Fremove_char_attribute): New function.
1657         (encode_builtin_char_1): Comment out builtin-support for
1658         greek-iso8859-7 and cyrillic-iso8859-5.
1659         (Fdecode_char): Check `code' is an integer.
1660         (syms_of_mule_charset): Add `remove-char-attribute'.
1661         (MIN_CHAR_GREEK): Deleted.
1662         (MAX_CHAR_GREEK): Likewise.
1663         (MIN_CHAR_CYRILLIC): Likewise.
1664         (MAX_CHAR_CYRILLIC): Likewise.
1665         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1666         MAX_CHAR_GREEK for `greek-iso8859-7'.
1667
1668         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1669         (MAX_CHAR_GREEK): Likewise.
1670         (MIN_CHAR_CYRILLIC): Likewise.
1671         (MAX_CHAR_CYRILLIC): Likewise.
1672
1673 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1674
1675         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1676         format is used without `ucs' property.
1677         (Fdecode_char): Fix problem with GR representation.
1678         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1679         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1680
1681 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1682
1683         * mule-charset.c (make_builtin_char): New function.
1684         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1685         (Fset_charset_mapping_table): Modify for new representation of
1686         code-point.
1687         (Fdecode_char): New function.
1688         (syms_of_mule_charset): Add new builtin function `decode-char' in
1689         UTF-2000.
1690
1691         * char-ucs.h (make_builtin_char): New prototype.
1692         (DECODE_CHAR): New inline function.
1693         (MAKE_CHAR): Use `DECODE_CHAR'.
1694
1695 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1696
1697         * text-coding.c (parse_charset_conversion_specs): Use
1698         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1699         `XCHARSET_TYPE'.
1700         (iso2022_designate): Likewise.
1701
1702         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1703         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1704
1705         * mule-charset.c (Vcharset_ucs): New variable.
1706         (print_charset): Change design; use `CHARSET_CHARS' and
1707         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1708         (make_charset): Change signature to specify `chars' and
1709         `dimension' instead of `type'.
1710         (range_charset_code_point): Modify for 256^n-set.
1711         (encode_builtin_char_1): Encode as `ucs' in default.
1712         (Fmake_charset): Modify for `make_charset'.
1713         (Fmake_reverse_direction_charset): Likewise.
1714         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1715         UTF-2000.
1716         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1717         for `make_charset'.
1718
1719         * char-ucs.h (Vcharset_ucs): New variable.
1720         (LEADING_BYTE_UCS): New macro.
1721         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1722         and `chars' to `unsigned short' from `unsigned int'.
1723         (CHARSET_TYPE): Deleted.
1724         (XCHARSET_TYPE): Deleted.
1725
1726 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1727
1728         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1729
1730         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1731         (ENCODE_CHAR): New macro.
1732
1733 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1734
1735         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1736         to 0.14 (Kawachi-Katakami).
1737
1738 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1739
1740         * text-coding.c (char_encode_shift_jis): Modify for
1741         `charset_code_point'.
1742         (char_encode_iso2022): Likewise.
1743
1744         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1745         (integer) instead of list of <Lisp_Object>s (integers) as the
1746         format of code-point of a coded-charset.
1747         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1748         (encode_builtin_char_1): New function; delete
1749         `split_builtin_char'.
1750         (charset_code_point): Return <int> instead of <Lisp_Object>.
1751         (Fsplit_char): Don't use `SPLIT_CHAR'.
1752
1753         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1754         prototype for `split_builtin_char'.
1755         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1756         (charset_code_point): Likewise.
1757         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1758         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1759
1760 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1761
1762         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1763         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1764
1765 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1766
1767         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1768
1769         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1770         (MAX_CHAR_OBS_94x94): Deleted.
1771
1772 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1773
1774         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1775
1776         * char-ucs.h (MAX_CHAR_BMP): New macro.
1777
1778 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1779
1780         * text-coding.c: Sync with r21-2-24.
1781
1782 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1783
1784         * file-coding.c: Modify for UTF-2000.
1785
1786 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1787
1788         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1789         to 0.13 (Takaida).
1790
1791 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1792
1793         * mule-charset.c (split_builtin_char): Delete builtin support for
1794         `katakana-jisx0201'.
1795         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1796         BMP area in builtin representation.
1797
1798         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1799         `Vcharset_katakana_jisx0201'.
1800
1801 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1802
1803         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1804         (Qisolated): New variable.
1805         (Qinitial): New variable.
1806         (Qmedial): New variable.
1807         (Qfinal): New variable.
1808         (Qvertical): New variable.
1809         (Qsmall): New variable.
1810         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1811         `Qvertical' and `Qsmall'.
1812         (Qmojikyo_pj_[1 .. 21]): New variable.
1813         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1814         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1815         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1816         .. 21]'.
1817
1818 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1819
1820         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1821         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1822         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1823
1824 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1825
1826         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1827         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1828         BMP.
1829         (Qjapanese_jisx0208_1990): New variable.
1830         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1831         (complex_vars_of_mule_charset): Add new coded-charset
1832         `japanese-jisx0208-1990'.
1833
1834         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1835         (MIN_CHAR_JIS_X0208_1990): New macro.
1836         (MAX_CHAR_JIS_X0208_1990): New macro.
1837
1838 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1839
1840         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1841         coded-charset is not found.
1842
1843 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1844
1845         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1846         (Fdefine_char): Use `Fmake_char'.
1847
1848 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1849
1850         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1851         (Vcharset_hiragana_jisx0208): Deleted.
1852         (Vcharset_katakana_jisx0208): Deleted.
1853         (Qideograph_daikanwa): New variable.
1854         (Qhiragana_jisx0208): Deleted.
1855         (Qkatakana_jisx0208): Deleted.
1856         (split_builtin_char): Split `ideograph-daikanwa'.
1857         (Fsplit_char): New implementation for UTF-2000.
1858         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1859         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1860         (complex_vars_of_mule_charset): Add new coded-charset
1861         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1862         `katakana-jisx0208'.
1863
1864         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1865         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1866         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1867         (MIN_CHAR_DAIKANWA): New macro.
1868         (MAX_CHAR_DAIKANWA): New macro.
1869
1870 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1871
1872         * data.c (Fstring_to_number): Don't recognize floating point if
1873         base is not 10.
1874
1875 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1876
1877         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1878
1879 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1880
1881         * mule-charset.c (Qsquare): New variable.
1882         (to_char_code): Add `Qsquare'.
1883         (syms_of_mule_charset): Add new symbol `square'.
1884
1885 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1886
1887         * mule-charset.c (Qcircle): New variable.
1888         (to_char_code): Add `Qcircle'.
1889         (syms_of_mule_charset): Add new symbol `circle'.
1890
1891 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1892
1893         * mule-charset.c (Qfont): New variable.
1894         (to_char_code): Add `Qfont'.
1895         (syms_of_mule_charset): Add new symbol `font'.
1896
1897 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1898
1899         * mule-charset.c (Qsub): New variable.
1900         (to_char_code): Add `Qsub'.
1901         (syms_of_mule_charset): Add new symbol `sub'.
1902
1903 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1904
1905         * mule-charset.c (Fput_char_attribute): Convert each element of
1906         VALUE to GL position if ATTRIBUTE is a GR-set,
1907
1908 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1909
1910         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1911         coded-charset is a GR-set.
1912
1913 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1914
1915         * mule-charset.c (Fput_char_attribute): Check each element of
1916         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1917
1918 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1919
1920         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1921         UTF-2000.
1922         (Qethiopic_ucs): New variable in UTF-2000.
1923         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1924         (complex_vars_of_mule_charset): Add new coded-charset
1925         `ethiopic-ucs' in UTF-2000.
1926
1927         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1928         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1929         9)'.
1930         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1931         10)'.
1932         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1933
1934 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1935
1936         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1937         `ascii'.
1938
1939 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1940
1941         * mule-charset.c (Vcharacter_variant_table): New variable.
1942         (Q_ucs): New variable.
1943         (Fchar_variants): New function.
1944         (Fput_char_attribute): Register `->ucs' value to
1945         `Vcharacter_variant_table'.
1946         (syms_of_mule_charset): Add new function `char-variants' and new
1947         symbol `->ucs'.
1948         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
1949
1950 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1951
1952         * mule-charset.c (get_char_code_table): Allow negative character
1953         code.
1954         (put_char_code_table): Likewise.
1955         (Vcharacter_composition_table): New variable.
1956         (Q_decomposition): New variable.
1957         (Qwide): New variable.
1958         (Qnarrow): New variable.
1959         (Qcompat): New variable.
1960         (QnoBreak): New variable.
1961         (Qsuper): New variable.
1962         (Qfraction): New variable.
1963         (to_char_code): New function.
1964         (Fget_composite_char): New function.
1965         (Fput_char_attribute): Register `->decomposition' value to
1966         `Vcharacter_composition_table'.
1967         (syms_of_mule_charset): Add new function `get-composite-char', new
1968         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
1969         `super' and `fraction'.
1970         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
1971
1972 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1973
1974         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
1975         character; copy the return value.
1976
1977 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1978
1979         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
1980
1981         * mule-charset.c (range_charset_code_point): Must use make_int.
1982         (split_builtin_char): New function.
1983
1984 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1985
1986         * mule-charset.c (char_byte_table): Change name from
1987         "char-code-table" to "char-byte-table".
1988         (mark_char_code_table): New function.
1989         (char_code_table_equal): New function.
1990         (char_code_table_hash): New function.
1991         (char_code_table_description): New constant.
1992         (char_code_table): New type.
1993         (make_char_code_table): New function.
1994         (copy_char_code_table): New function.
1995         (get_char_code_table): Modify for `char_code_table' type.
1996         (put_char_code_table): Likewise.
1997         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
1998         (Kashiwara).
1999
2000         * char-ucs.h (char_code_table): New type.
2001         (XCHAR_CODE_TABLE): New macro.
2002         (XSETCHAR_CODE_TABLE): New macro.
2003         (CHAR_CODE_TABLE_P): New macro.
2004         (GC_CHAR_CODE_TABLE_P): New macro.
2005         (struct Lisp_Char_Code_Table): New structure.
2006
2007 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2008
2009         * mule-charset.c (Fmake_charset): Setup byte_offset for
2010         {94|96}^n-set.
2011
2012 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2013
2014         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2015         character.
2016
2017 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2018
2019         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2020         is found.
2021
2022 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2023
2024         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2025         charset, it is regarded as a charset.
2026         (put_char_attribute): New function in UTF-2000.
2027         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2028         charset, mapping-table of the charset is modified.
2029         (Fdefine_char): New function in UTF-2000.
2030         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2031         `Fput_char_attribute'.
2032         (syms_of_mule_charset): Add new function `define-char' and new
2033         symbol `ucs' in UTF-2000.
2034         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2035
2036 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2037
2038         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2039         non-UTF-2000 configuration.
2040
2041 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2042
2043         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2044         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2045
2046         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2047         deleted.
2048         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2049         (Fset_charset_mapping_table): Likewise.
2050
2051         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2052         (CHARSET_ENCODING_TABLE): Delete.
2053         (XCHARSET_ENCODING_TABLE): Delete.
2054         (charset_code_point): New interface.
2055
2056 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2057
2058         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2059         instead of `charset_get_byte1' and `charset_get_byte2'.
2060
2061         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2062         (charset_get_byte2): Deleted.
2063
2064 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2065
2066         * char-ucs.h (SPLIT_CHAR): New inline function.
2067         (breakup_char_1): Use `SPLIT_CHAR'.
2068
2069         * mule-charset.c (range_charset_code_point): New function.
2070         (charset_code_point): New function.
2071
2072         * char-ucs.h (range_charset_code_point): New interface.
2073         (breakup_char_1): Use `range_charset_code_point'.
2074
2075 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2076
2077         * mule-charset.c (Fmake_charset): Delete unused local variable
2078         `code_offset'.
2079
2080         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2081         (breakup_char_1): Find a charset and code-point in
2082         `Vcharacter_attribute_table'.
2083
2084 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2085
2086         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2087         to 0.10 (Yao).
2088
2089 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2090
2091         * mule-charset.c (Vcharacter_attribute_table): New variable.
2092         (Fchar_attribute_alist): New function.
2093         (Fget_char_attribute): New function.
2094         (Fput_char_attribute): New function.
2095         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2096         too.
2097         (syms_of_mule_charset): Add new function `char-attribute-alist',
2098         `get-char-attribute' and `put-char-attribute'.
2099         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2100
2101 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2102
2103         * mule-charset.c (Fmake_charset): Just use
2104         `get_unallocated_leading_byte'.
2105
2106         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2107         sets; don't use final-byte based number for private sets.
2108
2109 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2110
2111         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2112         integer.
2113
2114 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2115
2116         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2117         to 0.9.
2118
2119 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2120
2121         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2122         of `CHAR_LEADING_BYTE' in UTF-2000.
2123
2124         * insdel.c (find_charsets_in_bufbyte_string): Use
2125         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2126         (find_charsets_in_emchar_string): Likewise.
2127
2128         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2129         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2130
2131         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2132         (CHAR_CHARSET_ID): New macro.
2133
2134 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2135
2136         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2137         charset-id - MIN_LEADING_BYTE.
2138         (put_char_table): Likewise.
2139
2140 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2141
2142         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2143         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2144         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2145         (CHARSET_ID_OFFSET): New macro.
2146         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2147         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2148         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2149         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2150         4).
2151         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2152         5).
2153         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2154         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2155         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2156         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2157         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2158
2159 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2160
2161         * mule-charset.c (next_allocated_leading_byte): New variable in
2162         UTF-2000.
2163         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2164         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2165         (get_unallocated_leading_byte): Simply use
2166         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2167         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2168         UTF-2000.
2169
2170         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2171         (MAX_LEADING_BYTE_PRIVATE): New macro.
2172         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2173         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2174
2175 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2176
2177         * mule-charset.c (Fmake_charset): Allocate final-byte based
2178         charset-id for 94-set, 96-set and 94x94-set.
2179
2180 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2181
2182         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2183         ambiguous `else'.
2184         (Fmake_charset): Likewise.
2185         (complex_vars_of_mule_charset): Modify the font registry of
2186         `ucs-bmp' not to match `Ethiopic-Unicode'.
2187
2188 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2189
2190         * mule-charset.c (complex_vars_of_mule_charset): Add font
2191         registory of `ucs-bmp'.
2192
2193 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2194
2195         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2196         coded-charsets in `default-coded-charset-priority-list' when
2197         breaking up a character.
2198
2199         * mule-charset.c (Vcharset_latin_viscii): New variable.
2200         (Qlatin_viscii): New variable.
2201         (make_charset): Don't use `decoding_table'.
2202         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2203         byte_offset.
2204         (Fset_charset_mapping_table): New implementation.
2205         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2206         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2207         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2208         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2209         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2210         charset `latin_viscii'.
2211
2212         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2213         (CHARSET_TYPE_94X94): Change to 1 from 2.
2214         (CHARSET_TYPE_96): Change to 2 from 1.
2215         (CHARSET_TYPE_128): New macro.
2216         (CHARSET_TYPE_128X128): Change to 5 from 4.
2217         (CHARSET_TYPE_256): New macro.
2218         (CHARSET_TYPE_256X256): Change to 7 from 5.
2219         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2220
2221 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2222
2223         * text-coding.c (char_encode_shift_jis): Refer
2224         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2225         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2226
2227         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2228         (char_byte_table_equal): New function in UTF-2000.
2229         (char_byte_table_hash): New function in UTF-2000.
2230         (char_byte_table_description): New constant in UTF-2000.
2231         (char_byte_table): New type in UTF-2000.
2232         (make_char_byte_table): New function in UTF-2000.
2233         (copy_char_byte_table): New function in UTF-2000.
2234         (make_char_code_table): New macro in UTF-2000.
2235         (get_char_code_table): New function in UTF-2000.
2236         (put_char_code_table): New function in UTF-2000.
2237         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2238         (charset_description): Add setting in UTF-2000.
2239         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2240         `CHARSET_TO_BYTE1_TABLE(cs)'.
2241         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2242         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2243         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2244         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2245         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2246         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2247         `CHARSET_TO_BYTE2_TABLE(cs)'.
2248
2249         * char-ucs.h (char_byte_table): New type.
2250         (XCHAR_BYTE_TABLE): New macro.
2251         (XSETCHAR_BYTE_TABLE): New macro.
2252         (CHAR_BYTE_TABLE_P): New macro.
2253         (GC_CHAR_BYTE_TABLE_P): New macro.
2254         (struct Lisp_Char_Byte_Table): New structure.
2255         (get_char_code_table): New interface.
2256         (Emchar_to_byte_table): Deleted.
2257         (get_byte_from_character_table): Deleted.
2258         (struct Lisp_Charset): Add `encoding_table'; delete
2259         `to_byte1_table' and `to_byte2_table'.
2260         (CHARSET_ENCODING_TABLE): New macro.
2261         (CHARSET_TO_BYTE1_TABLE): Deleted.
2262         (CHARSET_TO_BYTE2_TABLE): Deleted.
2263         (XCHARSET_ENCODING_TABLE): New macro.
2264         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2265         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2266
2267 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2268
2269         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2270         `vietnamese-viscii-*'.
2271
2272 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2273
2274         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2275         (Qvietnamese_viscii_upper): New variable.
2276         (Fdefine_charset_alias): New function.
2277         (syms_of_mule_charset): Add new function `define-charset-alias'.
2278         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2279         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2280         `latin-viscii-*'.
2281
2282 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2283
2284         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2285         (MAX_CHAR_OBS_94x94): New macro.
2286         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2287         for 94x94 sets.
2288
2289         * mule-charset.c (put_byte_from_character_table): Change unit size
2290         from 128 to 256.
2291         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2292         not defined.
2293         (Fmake_reverse_direction_charset): Modify dummy argument of
2294         `make_charset' for non-UTF-2000 environment.
2295
2296 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2297
2298         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2299
2300         * mule-charset.c (destroy_byte_from_character_table): New macro.
2301         (latin_jisx0201_to_ucs): Deleted.
2302         (latin_iso8859_2_to_ucs): Deleted.
2303         (latin_iso8859_3_to_ucs): Deleted.
2304         (latin_iso8859_4_to_ucs): Deleted.
2305         (latin_iso8859_9_to_ucs): Deleted.
2306         (latin_viscii_lower_to_ucs): Deleted.
2307         (latin_viscii_upper_to_ucs): Deleted.
2308         (mark_charset): Mark `cs->decoding_table'.
2309         (Fcharset_mapping_table): Fix DOC-string.
2310         (Fset_charset_mapping_table): New function.
2311         (syms_of_mule_charset): Add nwe function
2312         `set-charset-mapping-table'.
2313         (complex_vars_of_mule_charset): Don't setup and use
2314         `latin_*_to_ucs'.
2315
2316 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2317
2318         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2319         charset.
2320
2321 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2322
2323         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2324         (Vcharset_katakana_jisx0208): New variable.
2325         (Qhiragana_jisx0208): New variable.
2326         (Qkatakana_jisx0208): New variable.
2327         (make_charset): Add new argument `byte_offset'.
2328         (charset_get_byte1): Modify for new coded-charset definition; use
2329         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2330         `XCHARSET_BYTE_OFFSET'.
2331         (Fmake_charset): Modify for `make_charset'.
2332         (Fmake_reverse_direction_charset): Likewise.
2333         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2334         `katakana-jisx0208'.
2335         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2336         `.'  in font registry of charset `katakana-jisx0201',
2337         `latin-jisx0201', `vietnamese-viscii-lower' and
2338         `vietnamese-viscii-upper'; modify DOC-string of charset
2339         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2340         registry of charset `japanese-jisx0208' not to use font for JIS
2341         X0208:1990; add new charset `hiragana-jisx0208' and
2342         `katakana-jisx0208'.
2343
2344         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2345         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2346         (struct Lisp_Charset): Add `byte_offset'.
2347         (CHARSET_BYTE_OFFSET): New macro.
2348         (XCHARSET_UCS_MIN): New macro.
2349         (XCHARSET_UCS_MAX): New macro.
2350         (XCHARSET_CODE_OFFSET): New macro.
2351         (XCHARSET_BYTE_OFFSET): New macro.
2352         (MIN_CHAR_HIRAGANA): New macro.
2353         (MAX_CHAR_HIRAGANA): New macro.
2354         (MIN_CHAR_KATAKANA): New macro.
2355         (MAX_CHAR_KATAKANA): New macro.
2356         (MAKE_CHAR): Modify for new coded-charset definition; use
2357         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2358         `XCHARSET_BYTE_OFFSET'.
2359
2360 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2361
2362         * mule-charset.c (CHAR96): Deleted.
2363         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2364         <Lisp_Object>.
2365         (latin_iso8859_2_to_ucs): Likewise.
2366         (latin_iso8859_3_to_ucs): Likewise.
2367         (latin_iso8859_4_to_ucs): Likewise.
2368         (latin_iso8859_9_to_ucs): Likewise.
2369         (latin_viscii_lower_to_ucs): Likewise.
2370         (latin_viscii_upper_to_ucs): Likewise.
2371         (latin_tcvn5712_to_ucs): Commented out.
2372         (make_charset): Change type of argument `decoding_table' from
2373         <Emchar*> to <Lisp_Object> [vector of characters].
2374         (Fmake_charset): Modify for `make_charset'.
2375         (Fmake_reverse_direction_charset): Likewise.
2376         (Fcharset_mapping_table): New function in UTF-2000.
2377         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2378         UTF-2000.
2379         (complex_vars_of_mule_charset): Modify for type change of
2380         `*_to_ucs'; modify for `make_charset'.
2381
2382         * char-ucs.h (struct Lisp_Charset): Change type of
2383         `decoding_table' from <Emchar*> to <Lisp_Object>.
2384         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2385
2386 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2387
2388         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2389         error with non-UTF-2000-Mule.
2390
2391 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2392
2393         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2394         in lisp again].
2395         (Vcharset_chinese_cns11643_4): Likewise.
2396         (Vcharset_chinese_cns11643_5): Likewise.
2397         (Vcharset_chinese_cns11643_6): Likewise.
2398         (Vcharset_chinese_cns11643_7): Likewise.
2399         (Qchinese_cns11643_3): Likewise.
2400         (Qchinese_cns11643_4): Likewise.
2401         (Qchinese_cns11643_5): Likewise.
2402         (Qchinese_cns11643_6): Likewise.
2403         (Qchinese_cns11643_7): Likewise.
2404         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2405         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2406         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2407         (complex_vars_of_mule_charset): Likewise.
2408
2409 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2410
2411         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2412         96-set.
2413         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2414         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2415
2416 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2417
2418         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2419         0xFF60.
2420         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2421         (breakup_char_1): Likewise.
2422
2423         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2424         one of them includes the specified character.
2425
2426 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2427
2428         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2429
2430 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2431
2432         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2433
2434 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2435
2436         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2437         definition for non-UTF-2000 Mule.
2438         (latin_iso8859_3_to_ucs): Likewise.
2439         (latin_iso8859_4_to_ucs): Likewise.
2440         (latin_iso8859_9_to_ucs): Likewise.
2441         (latin_jisx0201_to_ucs): Likewise.
2442         (MIN_CHAR_THAI): Likewise.
2443         (MAX_CHAR_THAI): Likewise.
2444         (MIN_CHAR_GREEK): Likewise.
2445         (MAX_CHAR_GREEK): Likewise.
2446         (MIN_CHAR_HEBREW): Likewise.
2447         (MAX_CHAR_HEBREW): Likewise.
2448         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2449         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2450         (MIN_CHAR_CYRILLIC): Likewise.
2451         (MAX_CHAR_CYRILLIC): Likewise.
2452
2453 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2454
2455         * char-ucs.h (breakup_char_1): Use
2456         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2457         thai-tis620 and katakana-jisx0201 area.
2458
2459 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2460
2461         * char-ucs.h (breakup_char_1): Use
2462         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2463         area.
2464
2465         * text-coding.c (reset_encoding_stream): Fixed.
2466         (char_encode_ucs4): Delete `& 255'.
2467
2468         * char-ucs.h (breakup_char_1): Use
2469         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2470
2471 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2472
2473         * file-coding.c (Fmake_coding_system): Don't set up
2474         `codesys->fixed.size'.
2475         (encode_coding_no_conversion): Don't refer
2476         `str->codesys->fixed.size'.
2477
2478 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2479
2480         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2481         (latin_a_char_to_byte1): Deleted.
2482         (latin_a_char_to_byte2): Deleted.
2483
2484 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2485
2486         * mule-charset.c (make_charset): Add new argument `ucs_min',
2487         `ucs_max' and `code_offset'.
2488         (charset_get_byte1): New implementation [delete specific charset
2489         depended implementations].
2490         (Fmake_charset): Modify for `make_charset'.
2491         (Fmake_reverse_direction_charset): Likewise.
2492         (complex_vars_of_mule_charset): Likewise.
2493
2494         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2495         `code_offset'.
2496         (CHARSET_UCS_MIN): New macro.
2497         (CHARSET_UCS_MAX): New macro.
2498         (CHARSET_CODE_OFFSET): New macro.
2499         (MAKE_CHAR): Delete charset depended definitions [except
2500         katakana-jisx0201].
2501
2502 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2503
2504         * char-ucs.h (breakup_char_1): Use
2505         `Vdefault_coded_charset_priority_list' for C0-Controls,
2506         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2507
2508 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2509
2510         * char-ucs.h (charset_get_byte1): New function.
2511         (XCHARSET_GET_BYTE1): Deleted.
2512         (charset_get_byte2): New function.
2513         (XCHARSET_GET_BYTE2): Deleted.
2514         (Vdefault_coded_charset_priority_list): New external variable.
2515         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2516         `Vdefault_preferred_coded_charset_list'.
2517
2518         * mule-charset.c (charset_get_byte1): New function.
2519         (charset_get_byte2): New function.
2520         (Vdefault_coded_charset_priority_list): New variable.
2521         (vars_of_mule_charset): Add new variable
2522         `default-coded-charset-priority-list'.
2523
2524 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2525
2526         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2527         (XCHARSET_GET_BYTE2): New inline function.
2528         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2529         `XCHARSET_GET_BYTE2'.
2530
2531 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2532
2533         * mule-charset.c (make_charset): Initialize
2534         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2535         NULL if table is not defined.
2536
2537 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2538
2539         * text-coding.c (char_encode_shift_jis): Use
2540         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2541         `ucs_to_latin_jisx0201'.
2542
2543         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2544         (ucs_to_latin_iso8859_2): Deleted.
2545         (ucs_to_latin_iso8859_3): Deleted.
2546         (ucs_to_latin_iso8859_4): Deleted.
2547         (ucs_to_latin_iso8859_9): Deleted.
2548         (ucs_to_latin_viscii_lower): Deleted.
2549         (ucs_to_latin_viscii_upper): Deleted.
2550         (ucs_to_latin_tcvn5712): Deleted.
2551         (make_charset): Add new argument `decoding_table'; set up
2552         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2553         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2554         `decoding_table' is defined in UTF-2000.
2555         (Fmake_charset): Modify for `make_charset'.
2556         (Fmake_reverse_direction_charset): Likewise.
2557         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2558         and `GENERATE_96_SET'.
2559
2560         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2561         (ucs_to_latin_jisx0201): Deleted.
2562         (latin_iso8859_2_to_ucs): Deleted.
2563         (ucs_to_latin_iso8859_2): Deleted.
2564         (latin_iso8859_3_to_ucs): Deleted.
2565         (ucs_to_latin_iso8859_3): Deleted.
2566         (latin_iso8859_4_to_ucs): Deleted.
2567         (ucs_to_latin_iso8859_4): Deleted.
2568         (latin_iso8859_9_to_ucs): Deleted.
2569         (ucs_to_latin_iso8859_9): Deleted.
2570         (latin_viscii_lower_to_ucs): Deleted.
2571         (ucs_to_latin_viscii_lower): Deleted.
2572         (latin_viscii_upper_to_ucs): Deleted.
2573         (ucs_to_latin_viscii_upper): Deleted.
2574         (struct Lisp_Charset): Renamed `encoding_table' to
2575         `to_byte1_table'; add `to_byte2_table'.
2576         (CHARSET_DECODING_TABLE): New macro.
2577         (CHARSET_TO_BYTE1_TABLE): New macro.
2578         (CHARSET_TO_BYTE2_TABLE): New macro.
2579         (XCHARSET_DECODING_TABLE): New macro.
2580         (XCHARSET_TO_BYTE1_TABLE): New macro.
2581         (XCHARSET_TO_BYTE2_TABLE): New macro.
2582         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2583         tables.
2584         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2585         don't use `ucs_to_*' tables.
2586
2587 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2588
2589         * text-coding.c (Fmake_coding_system): Don't set up
2590         `codesys->fixed.size'.
2591         (encode_coding_no_conversion): Use `if' instead of `switch'.
2592
2593         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2594
2595 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2596
2597         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2598         (Fmake_charset): Modify for `make_charset'.
2599         (Fmake_reverse_direction_charset): Likewise.
2600         (complex_vars_of_mule_charset): Likewise.
2601
2602 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2603
2604         * text-coding.c (char_encode_shift_jis): Use table
2605         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2606
2607 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2608
2609         * text-coding.c (text_encode_generic): Use `if' instead of
2610         `switch'.
2611         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2612         decode JIS-Latin.
2613
2614 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2615
2616         * text-coding.c (encode_coding_sjis): Deleted.
2617         (char_encode_shift_jis): New function.
2618         (char_finish_shift_jis): New function.
2619         (reset_encoding_stream): Set up `encode_char' and `finish' for
2620         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2621         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2622         (char_encode_utf8): Treat `eol_type'.
2623
2624 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2625
2626         * file-coding.c (decode_coding_iso2022): Use
2627         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2628
2629 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2630
2631         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2632         to 0.7 (Hirano).
2633
2634 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2635
2636         * char-lb.h (CHAR_COLUMNS): New macro.
2637
2638 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2639
2640         * text-coding.c (char_encode_ucs4): New function.
2641         (char_finish_ucs4): New function.
2642         (encode_coding_ucs4): Deleted.
2643         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2644         (text_encode_generic): Delete local variable `charset' and `half'.
2645         (ucs_to_mule_table): Deleted.
2646         (mule_to_ucs_table): Deleted.
2647         (Fset_ucs_char): Deleted.
2648         (ucs_to_char): Deleted.
2649         (Fucs_char): Deleted.
2650         (Fset_char_ucs): Deleted.
2651         (Fchar_ucs): Deleted.
2652         (decode_ucs4): Deleted.
2653         (mule_char_to_ucs4): Deleted.
2654         (encode_ucs4): Deleted.
2655         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2656         (decode_coding_utf8): Likewise.
2657         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2658         (char_encode_iso2022): Fixed.
2659         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2660         `Fset_char_ucs' and `Fchar_ucs'.
2661         (complex_vars_of_file_coding): Don't initialize
2662         `ucs_to_mule_table'.
2663
2664         * objects-tty.c (tty_initialize_font_instance): Don't use
2665         `XCHARSET_COLUMNS'.
2666
2667         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2668         UTF-2000.
2669
2670         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2671         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2672
2673         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2674         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2675         (emchar_string_displayed_columns): Likewise.
2676
2677         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2678         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2679         (string_column_at_point): Likewise.
2680         (Fmove_to_column): Likewise.
2681
2682         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2683         `encoding_table' and `decoding_table'.
2684         (CHARSET_REP_BYTES): Deleted.
2685         (XCHARSET_REP_BYTES): Deleted.
2686         (XCHARSET_COLUMNS): Deleted.
2687         (CHAR_COLUMNS): New macro.
2688         (lookup_composite_char): Deleted unconditionally.
2689         (composite_char_string): Likewise.
2690
2691 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2692
2693         * char-ucs.h (Emchar_to_byte_table): New type.
2694         (get_byte_from_character_table): New function interface.
2695         (Vcharset_latin_jisx0201): New variable.
2696         (latin_jisx0201_to_ucs): New variable.
2697         (ucs_to_latin_jisx0201): New variable.
2698         (Vcharset_latin_iso8859_2): New variable.
2699         (latin_iso8859_2_to_ucs): New variable.
2700         (ucs_to_latin_iso8859_2): New variable.
2701         (Vcharset_latin_iso8859_3): New variable.
2702         (latin_iso8859_3_to_ucs): New variable.
2703         (ucs_to_latin_iso8859_3): New variable.
2704         (Vcharset_latin_iso8859_4): New variable.
2705         (latin_iso8859_4_to_ucs): New variable.
2706         (ucs_to_latin_iso8859_4): New variable.
2707         (Vcharset_latin_iso8859_9): New variable.
2708         (latin_iso8859_9_to_ucs): New variable.
2709         (ucs_to_latin_iso8859_9): New variable.
2710         (Vcharset_latin_viscii_lower): New variable.
2711         (latin_viscii_lower_to_ucs): New variable.
2712         (ucs_to_latin_viscii_lower): New variable.
2713         (Vcharset_latin_viscii_upper): New variable.
2714         (latin_viscii_upper_to_ucs): New variable.
2715         (ucs_to_latin_viscii_upper): New variable.
2716         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2717         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2718         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2719         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2720         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2721         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2722         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2723         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2724         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2725         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2726
2727         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2728         (Vcharset_latin_viscii_upper): New variable.
2729         (make_byte_from_character_table): New function.
2730         (put_byte_from_character_table): New function.
2731         (get_byte_from_character_table): New function.
2732         (CHAR96): New macro.
2733         (ucs_to_latin_jisx0201): New variable.
2734         (latin_jisx0201_to_ucs): New variable.
2735         (ucs_to_latin_iso8859_2): New variable.
2736         (latin_iso8859_2_to_ucs): New variable.
2737         (ucs_to_latin_iso8859_3): New variable.
2738         (latin_iso8859_3_to_ucs): New variable.
2739         (ucs_to_latin_iso8859_4): New variable.
2740         (latin_iso8859_4_to_ucs): New variable.
2741         (ucs_to_latin_iso8859_9): New variable.
2742         (latin_iso8859_9_to_ucs): New variable.
2743         (ucs_to_latin_viscii_lower): New variable.
2744         (latin_viscii_lower_to_ucs): New variable.
2745         (ucs_to_latin_viscii_upper): New variable.
2746         (latin_viscii_upper_to_ucs): New variable.
2747         (ucs_to_latin_tcvn5712): New variable.
2748         (latin_tcvn5712_to_ucs): New variable.
2749         (Qlatin_viscii_lower): New variable.
2750         (Qlatin_viscii_upper): New variable.
2751         (syms_of_mule_charset): Set up new symbol
2752         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2753         (complex_vars_of_mule_charset): Set up new charset
2754         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2755         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2756         `ucs_to_<CHARSET>' tables.
2757
2758 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2759
2760         * text-coding.c: New file.
2761
2762 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2763
2764         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2765
2766         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2767         (MAKE_CHAR): Modify for `ucs-bmp'.
2768         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2769         non-MULE characters of BMP.
2770
2771 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2772
2773         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2774         to 0.6.
2775
2776 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2777
2778         * lstream.h:
2779         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2780         - Include character.h for `CHAR_ASCII_P'.
2781
2782         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2783
2784         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2785         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2786
2787         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2788         (BYTE_C0_P): Likewise.
2789         (BYTE_C1_P): Likewise.
2790         (Lstream_get_emchar_1): Likewise.
2791         (Lstream_fput_emchar): Likewise.
2792         (Lstream_funget_emchar): Likewise.
2793         (copy_internal_to_external): Likewise.
2794         (copy_external_to_internal): Likewise.
2795
2796         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2797         (BYTE_C0_P): Likewise.
2798         (BYTE_C1_P): Likewise.
2799         (Lstream_get_emchar_1): Likewise.
2800         (Lstream_fput_emchar): Likewise.
2801         (Lstream_funget_emchar): Likewise.
2802         (copy_internal_to_external): Likewise.
2803         (copy_external_to_internal): Likewise.
2804
2805         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2806         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2807
2808         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2809         (BYTE_ASCII_P): Moved to mb-1byte.h.
2810
2811 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2812
2813         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2814
2815         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2816         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2817         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2818         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2819         (VALIDATE_CHARPTR_FORWARD): Likewise.
2820         (simple_charptr_emchar): Moved to mb-multibyte.h.
2821         (simple_set_charptr_emchar): Likewise.
2822         (simple_charptr_copy_char): Likewise.
2823         (non_ascii_charptr_emchar): Likewise.
2824         (non_ascii_set_charptr_emchar): Likewise.
2825         (non_ascii_charptr_copy_char): Likewise.
2826         (charptr_emchar): Moved to mb-*byte.h.
2827         (set_charptr_emchar): Likewise.
2828         (charptr_copy_char): Likewise.
2829
2830         * mb-1byte.h, mb-multibyte.h: New files.
2831
2832 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2833
2834         * mb-utf-8.h (MULTIBYTE): New macro.
2835         (MAX_EMCHAR_LEN): Moved from buffer.h.
2836         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2837
2838         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2839
2840         * mb-lb.h, multibyte.h: New files.
2841
2842         * char-1byte.h (Charset_ID): Moved from buffer.h.
2843         (MIN_LEADING_BYTE): Likewise.
2844         (LEADING_BYTE_ASCII): Likewise.
2845         (NUM_LEADING_BYTES): Likewise.
2846         (CHARSETP): Likewise.
2847         (CHARSET_BY_LEADING_BYTE): Likewise.
2848         (XCHARSET_LEADING_BYTE): Likewise.
2849         (XCHARSET_GRAPHIC): Likewise.
2850         (XCHARSET_COLUMNS): Likewise.
2851         (XCHARSET_DIMENSION): Likewise.
2852         (CHAR_CHARSET): Likewise.
2853         (CHAR_LEADING_BYTE): Likewise.
2854         (BREAKUP_CHAR): Likewise.
2855         (Vcharset_ascii): Likewise.
2856
2857         * buffer.h: Include multibyte.h unconditionally.
2858         (VALID_CHARPTR_P): Moved to multibyte.h.
2859         (ASSERT_VALID_CHARPTR): Likewise.
2860         (REAL_INC_CHARPTR): Likewise.
2861         (REAL_INC_CHARBYTIND): Likewise.
2862         (REAL_DEC_CHARPTR): Likewise.
2863         (INC_CHARPTR): Likewise.
2864         (INC_CHARBYTIND): Likewise.
2865         (DEC_CHARPTR): Likewise.
2866         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2867         (VALIDATE_CHARPTR_FORWARD): Likewise.
2868         (charptr_n_addr): Likewise.
2869         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2870         (simple_charptr_emchar): Moved to multibyte.h.
2871         (simple_set_charptr_emchar): Likewise.
2872         (simple_charptr_copy_char): Likewise.
2873         (non_ascii_charptr_emchar): Likewise.
2874         (non_ascii_set_charptr_emchar): Likewise.
2875         (non_ascii_charptr_copy_char): Likewise.
2876         (charptr_emchar): Likewise.
2877         (set_charptr_emchar): Likewise.
2878         (charptr_copy_char): Likewise.
2879         (charptr_emchar_n): Likewise.
2880         (Charset_ID): Moved to char-1byte.h.
2881         (Vcharset_ascii): Likewise.
2882         (CHAR_CHARSET): Likewise.
2883         (CHAR_LEADING_BYTE): Likewise.
2884         (LEADING_BYTE_ASCII): Likewise.
2885         (NUM_LEADING_BYTES): Likewise.
2886         (MIN_LEADING_BYTE): Likewise.
2887         (CHARSETP): Likewise.
2888         (CHARSET_BY_LEADING_BYTE): Likewise.
2889         (XCHARSET_LEADING_BYTE): Likewise.
2890         (XCHARSET_GRAPHIC): Likewise.
2891         (XCHARSET_COLUMNS): Likewise.
2892         (XCHARSET_DIMENSION): Likewise.
2893         (BREAKUP_CHAR): Likewise.
2894
2895 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2896
2897         * character.h: Add document about interface for characters.
2898
2899         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2900         (MAKE_CHAR): Delete comment about
2901         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2902         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2903         (BREAKUP_CHAR): Modify name of arguments.
2904         (CHAR_CHARSET): Modify name of argument.
2905
2906         * buffer.h: Delete document about Emchar accessors.
2907
2908 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2909
2910         * character.h (CHAR_INTP): Moved from buffer.h
2911         (CHAR_OR_CHAR_INTP): Likewise.
2912         (XCHAR_OR_CHAR_INT): Likewise.
2913         (CHECK_CHAR_COERCE_INT): Likewise.
2914
2915         * buffer.h (CHAR_INTP): Moved to character.h
2916         (CHAR_OR_CHAR_INTP): Likewise.
2917         (XCHAR_OR_CHAR_INT): Likewise.
2918         (CHECK_CHAR_COERCE_INT): Likewise.
2919
2920 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2921
2922         * character.h:
2923         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2924         - Include char-1byte.h, char-lb.h or char-ucs.h.
2925
2926         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2927
2928         * buffer.h: Include character unconditionally.
2929         (valid_char_p): Moved to char-*.h.
2930         (non_ascii_valid_char_p): Moved to char-lb.h.
2931
2932         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2933
2934 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2935
2936         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2937         in UTF-2000 because it is not ported yet and not to use
2938         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2939         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2940         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2941
2942         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2943         (CHAR_ASCII_P): Moved from character.h.
2944
2945         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
2946         (CHAR_ASCII_P): Likewise.
2947         (CHAR_FIELD1_MASK): Deleted.
2948         (CHAR_FIELD2_MASK): Deleted.
2949         (CHAR_FIELD3_MASK): Deleted.
2950         (MAX_CHAR_BASIC_LATIN): New macro.
2951         (CHAR_FIELD1): Deleted.
2952         (CHAR_FIELD2_INTERNAL): Deleted.
2953         (CHAR_FIELD3_INTERNAL): Deleted.
2954         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
2955         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
2956         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
2957         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
2958         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
2959         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
2960         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
2961         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
2962         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
2963         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
2964         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
2965         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
2966         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
2967         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
2968         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
2969         (MIN_CHAR_COMPOSITION): Deleted.
2970         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
2971         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
2972
2973 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
2974
2975         * buffer.h: Include mb-utf-8.h in UTF-2000.
2976
2977         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
2978
2979         * mb-utf-8.h: New file.
2980
2981 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
2982
2983         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
2984         instead of `int'.
2985
2986         * mule-charset.h, buffer.h (Charset_ID): New type.
2987
2988 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2989
2990         * mule-canna.c (c2mu): Use `MAKE_CHAR',
2991         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
2992         instead of `MULE_CHAR_PRIVATE_OFFSET',
2993         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
2994         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
2995         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
2996
2997         * character.h (Vcharset_japanese_jisx0212): New variable
2998         definition.
2999
3000 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3001
3002         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3003         (charset_by_attributes): Delete array about direction.
3004         (latin_a_char_to_charset): New variable in UTF-2000.
3005         (latin_a_char_to_byte1): New variable in UTF-2000.
3006         (latin_a_char_to_byte2): New variable in UTF-2000.
3007         (Qucs_bmp): New variable.
3008         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3009         `Bufbyte'.
3010         (next_allocated_2_byte_leading_byte): Likewise.
3011         (non_ascii_set_charptr_emchar): Likewise.
3012         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3013         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3014         `charset_by_attributes'.
3015         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3016         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3017         and `CHARSET_BY_LEADING_BYTE'.
3018         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3019         `utf-2000-version' to `vars_of_mule_charset'.
3020         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3021         define `leading-code-private-11' in UTF-2000; move setting of
3022         `utf-2000-version' from `syms_of_mule_charset'.
3023         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3024         UTF-2000.
3025
3026         * character.h (Charset_ID): New type.
3027         (LEADING_BYTE_UCS_BMP): New macro.
3028         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3029         (CHARSET_ID_OFFSET_94): New macro.
3030         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3031         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3032         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3033         final-byte.
3034         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3035         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3036         (CHARSET_ID_OFFSET_96): New macro.
3037         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3038         CHARSET_ID_OFFSET_96 and final-byte.
3039         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3040         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3041         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3042         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3043         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3044         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3045         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3046         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3047         (LEADING_BYTE_THAI_TIS620): Likewise.
3048         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3049         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3050         (CHARSET_ID_OFFSET_94x94): New macro.
3051         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3052         CHARSET_ID_OFFSET_94x94 and final-byte.
3053         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3054         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3055         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3056         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3057         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3058         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3059         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3060         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3061         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3062         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3063         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3064         (CHARSET_TYPE_128X128): New macro.
3065         (CHARSET_TYPE_256X256): New macro.
3066         (XCHARSET_PRIVATE_P): Delete unconditionally.
3067         (charset_by_attributes): Delete array about direction.
3068         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3069         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3070         (MIN_CHAR_94): New macro.
3071         (MAX_CHAR_94): New macro.
3072         (MIN_CHAR_96): New macro.
3073         (MAX_CHAR_96): New macro.
3074         (MIN_CHAR_94x94): New macro.
3075         (MAX_CHAR_94x94): New macro.
3076         (MIN_CHAR_96x96): New macro.
3077         (MAX_CHAR_96x96): New macro.
3078         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3079         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3080         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3081         - 32)'.
3082         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3083         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3084         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3085         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3086         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3087         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3088         `XCHARSET_LEADING_BYTE' to make code-point.
3089         (latin_a_char_to_charset): New variable.
3090         (latin_a_char_to_byte1): New variable.
3091         (latin_a_char_to_byte2): New variable.
3092         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3093         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3094         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3095
3096         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3097         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3098         (find_charsets_in_emchar_string): Likewise.
3099         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3100
3101         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3102         `int'.
3103         (decode_coding_iso2022): Likewise.
3104
3105         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3106         of `unsigned char'.
3107
3108         * redisplay.c (redisplay_text_width_emchar_string): Use
3109         `Charset_ID' instead of `unsigned char'.
3110         (redisplay_frame_text_width_string): Likewise.
3111
3112         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3113         `unsigned char'.
3114
3115         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3116         instead of `unsigned char'.
3117         (face_cachel_charset_font_metric_info): Likewise.
3118
3119         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3120         (get_non_ascii_char_table_value): Likewise.
3121         (get_char_table): Likewise.
3122         (put_char_table): Likewise.
3123         (map_over_other_charset): Likewise.
3124         (map_char_table): Likewise.
3125
3126         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3127         instead of `unsigned char'.
3128
3129 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3130
3131         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3132         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3133
3134         * mule-charset.c (leading_code_private_11): Don't define in
3135         UTF-2000.
3136
3137         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3138         in UTF-2000 because it is not ported yet and not to use
3139         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3140
3141 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3142
3143         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3144
3145 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3146
3147         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3148         in UTF-2000.
3149
3150         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3151         of unsigned char to store leading-byte.
3152
3153         * chartab.c (get_non_ascii_char_table_value): Don't use
3154         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3155
3156         * file-coding.c (encode_coding_big5): Delete bogus implementation
3157         in UTF2000.
3158
3159         * character.h (LEADING_BYTE_*): Delete definition for
3160         non-UTF-2000.
3161         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3162         (LEADING_BYTE_PREFIX_P): Deleted.
3163         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3164         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3165         (BUFBYTE_LEADING_BYTE_P): Deleted.
3166         (CHARSET_PRIVATE_P): Deleted unconditionally.
3167         (rep_bytes_by_first_byte): Deleted unconditionally.
3168         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3169         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3170         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3171         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3172         (CHAR_FIELD2): Deleted.
3173         (CHAR_FIELD3): Deleted.
3174         (MAKE_CHAR): Delete definition for non-UTF-2000.
3175         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3176         (breakup_char_1): New implementation.
3177         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3178         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3179
3180 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3181
3182         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3183         condition.
3184
3185 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3186
3187         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3188         (CHARSET_PRIVATE_P): Likewise.
3189         (XCHARSET_PRIVATE_P): Likewise.
3190         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3191
3192         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3193         UTF2000.
3194         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3195
3196 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3197
3198         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3199         (NUM_LEADING_BYTES): Changed from 128 to 256.
3200         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3201         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3202         UTF2000.
3203         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3204
3205         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3206         UTF2000.
3207         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3208         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3209         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3210         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3211         (Qchinese_cns11643_3): New variable in UTF2000.
3212         (Qchinese_cns11643_4): New variable in UTF2000.
3213         (Qchinese_cns11643_5): New variable in UTF2000.
3214         (Qchinese_cns11643_6): New variable in UTF2000.
3215         (Qchinese_cns11643_7): New variable in UTF2000.
3216         (syms_of_mule_charset): Define `chinese-cns11643-3',
3217         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3218         and `chinese-cns11643-7' in UTF2000.
3219         (vars_of_mule_charset): Initialize
3220         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3221         + 1 in UTF2000.
3222         (complex_vars_of_mule_charset): Setup charset
3223         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3224         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3225
3226 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3227
3228         * mule-charset.c: Move setting for `leading-code-private-11' from
3229         `syms_of_mule_charset' to `vars_of_mule_charset'.
3230
3231 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3232
3233         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3234         and `NUM_LEADING_BYTES' in assert.
3235
3236 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3237
3238         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3239         instead of 128.
3240         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3241         `NUM_LEADING_BYTES' instead of 128.
3242
3243 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3244
3245         * mule-charset.h (charset_by_leading_byte): Use
3246         `NUM_LEADING_BYTES' instead of 128.
3247         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3248
3249         * mule-charset.c (charset_by_leading_byte): Use
3250         `NUM_LEADING_BYTES' instead of 128.
3251         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3252
3253         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3254         128.
3255
3256 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3257
3258         * mule-charset.c (syms_of_mule_charset): Update to
3259         0.4 (Shin-Imamiya).
3260
3261 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3262
3263         * file-coding.c (encode_coding_sjis): New implementation for
3264         UTF2000.  (decode_coding_sjis): Ditto.
3265
3266 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3267
3268         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3269         Don't define in UTF2000.
3270
3271         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3272         defined.
3273
3274         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3275         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3276         MULE.
3277
3278 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3279
3280         * config.h.in (CHAR_IS_UCS4): New macro.
3281
3282         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3283         conventional MULE representation.
3284         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3285
3286         * mule-charset.h: Reverted to original.
3287
3288         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3289         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3290         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3291
3292         * character.h: New file.
3293
3294         * file-coding.c (Fmake_coding_system): Set 1 to
3295         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3296         defined.
3297         (encode_coding_no_conversion): New implementation for UTF2000.
3298
3299         * file-coding.h (struct Lisp_Coding_System): Add new member
3300         `fixed.size'.
3301
3302 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3303
3304         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3305         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3306         (encode_coding_iso2022): New implementation for UTF2000.
3307
3308 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3309
3310         * mule-canna.c (c2mu): New implementation for UTF2000.
3311         (m2c): Likewise.
3312
3313 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3314
3315         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3316
3317 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3318
3319         * file-coding.c (reset_encoding_stream): Set 0 to
3320         `str->iso2022.current_char_boundary' in UTF2000.
3321         (encode_utf8): Don't define in UTF2000.
3322         (encode_coding_utf8): New implementation for UTF-8 representation
3323         of UTF2000.
3324         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3325
3326 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3327
3328         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3329
3330         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3331         UTF2000.
3332         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3333
3334         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3335
3336         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3337         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3338         as UTF-8 in UTF2000.
3339         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3340         (non_ascii_valid_char_p): Don't define in UTF2000.
3341         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3342         (Lstream_get_emchar_1): Likewise.
3343         (utf-2000-version): New variable in UTF2000.
3344
3345         * lread.c (read_escape): Add new reader `u'.
3346
3347         * insdel.c (three_to_one_table): Don't define in UTF2000.
3348         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3349         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3350         UTF2000.
3351         (bytind_to_bufpos_func): Likewise.
3352         (buffer_mule_signal_inserted_region): Likewise.
3353         (vars_of_insdel): Don't initialize `three_to_one_table'.
3354         (init_buffer_text): Use `buf->text->mule_size' instead of
3355         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3356         UTF2000.
3357
3358         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3359         UTF-8 representation in UTF2000.
3360         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3361         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3362         (decode_coding_iso2022): Don't define local variable `lb' in
3363         UTF2000; don't use LEADING_BYTE in UTF2000; use
3364         `DECODE_ADD_UCS_CHAR' in UTF2000.
3365         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3366
3367         * config.h.in (UTF2000): New macro.
3368
3369         * buffer.h (struct buffer_text): Add new member `mule_size' and
3370         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3371         (valid_char_p): Return always 1 in UTF2000.
3372         (MAX_EMCHAR_LEN): 6 in UTF2000.
3373         (three_to_one_table): Don't define in UTF2000.
3374         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3375         UTF2000.
3376         (real_bytind_to_bufpos): Likewise.
3377
3378         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3379
3380 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3381
3382         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3383         representation change.
3384         (Vutf_2000_version): New variable.
3385         (leading_code_private_11): New variable.
3386         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3387         `leading-code-private-11'.
3388
3389         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3390         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3391         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3392         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3393         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3394         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3395         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3396         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3397         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3398         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3399         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3400         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3401         (MIN_CHAR_GREEK): New macro.
3402         (MAX_CHAR_GREEK): New macro.
3403         (MIN_CHAR_CYRILLIC): New macro.
3404         (MAX_CHAR_CYRILLIC): New macro.
3405         (MIN_CHAR_HEBREW): New macro.
3406         (MAX_CHAR_HEBREW): New macro.
3407         (MIN_CHAR_THAI): New macro.
3408         (MAX_CHAR_THAI): New macro.
3409         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3410         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3411         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3412         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3413         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3414         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3415         (CHAR_FIELD2): New inline function.
3416         (CHAR_FIELD3): New inline function.
3417         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3418         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3419         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3420         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3421         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3422         (MIN_CHAR_COMPOSITION): Likewise.
3423         (CHAR_LEADING_BYTE): Modified for character representation change.
3424         (MAKE_CHAR): Likewise.
3425
3426         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3427         (Vcharset_greek_iso8859_7): Likewise.
3428         (Vcharset_cyrillic_iso8859_5): Likewise.
3429         (Vcharset_hebrew_iso8859_8): Likewise.
3430         (Vcharset_thai_tis620): Likewise.
3431         (Vcharset_katakana_jisx0201): Likewise.
3432
3433 2001-01-26  Martin Buchholz <martin@xemacs.org>
3434
3435         * XEmacs 21.2.43 "Terspichore" is released.
3436
3437 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3438
3439         Type fiddling for window_config.saved_windows_count
3440         * window.c (struct window_config): 
3441         Make saved_windows_count member unsigned.
3442         * window.c (sizeof_window_config_for_n_windows): 
3443         Make parameter unsigned.
3444         * window.c (mark_window_config):
3445         * window.c (window_config_equal):
3446         * window.c (free_window_configuration):
3447         * window.c (Fset_window_configuration):
3448         * window.c (count_windows):
3449         * window.c (Fcurrent_window_configuration):
3450         * window.c (reinit_vars_of_window):
3451         Update all callers and users.
3452
3453 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3454
3455         Alignment correctness for flexible arrays.
3456         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
3457         Make alignment-correct. Add interesting comments.
3458         * alloc.c (size_vector):
3459         * alloc.c (make_vector_internal):
3460         * alloc.c (make_bit_vector_internal):
3461         * alloc.c (sweep_bit_vectors_1):
3462         * fns.c (size_bit_vector):
3463         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
3464         * window.c (sizeof_window_config_for_n_windows): 
3465         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
3466
3467 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3468
3469         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
3470
3471 2001-01-23  Andy Piper  <andy@xemacs.org>
3472
3473         * select.c (Fown_selection_internal): pass owned_p
3474
3475         * select-msw.c (mswindows_own_selection): New Signature.
3476
3477         * console.h (struct console_methods): add owned_p to
3478         _own_selection.
3479
3480         * select-x.c (x_own_selection): pass owned_p
3481         (hack_motif_clipboard_selection): use owned_p
3482         (vars_of_select_x): new variable -
3483         x_selection_strict_motif_ownership.
3484
3485 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3486
3487         * specifier.h (specifier_data_offset): Remove pointless parens.
3488         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
3489
3490 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3491
3492         Make Lisp_Object sizeof methods be alignment-correct.
3493         pdump must restore objects to the same alignment as the C compiler
3494         assumes.  It really matters on SGIs.
3495         * lstream.c (aligned_sizeof_lstream): New.
3496         (sizeof_lstream): Use aligned_sizeof_lstream.
3497         (Lstream_new): Likewise.
3498         * opaque.c (aligned_sizeof_opaque): New.
3499         (sizeof_opaque): Use aligned_sizeof_opaque.
3500         (make_opaque): Likewise.
3501         * specifier.c (aligned_sizeof_specifier): New.
3502         (sizeof_specifier): Use aligned_sizeof_specifier.
3503         (make_specifier_internal): Likewise.
3504
3505 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3506
3507         * lstream.h (struct lstream): Use max_align_t for trailing data.
3508         * specifier.h (struct Lisp_Specifier): Likewise.
3509
3510 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3511
3512         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
3513         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
3514         (CCL_SUSPEND): Likewise.
3515         (CCL_INVALID_CMD): Likewise.
3516         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
3517         (ccl_driver): Likewise.
3518         (CCL_WRITE_CHAR): Macro hygiene.
3519         (CCL_WRITE_STRING): Macro hygiene.
3520
3521 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3522
3523         Port "portable" dumper to SunOS 4 and HP-UX.
3524         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
3525         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
3526         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
3527
3528 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3529
3530         * lisp.h (ALIGNOF): A better definition for C++.
3531
3532 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3533
3534         Macro hygiene.
3535         Fix printf warnings: int format, long int arg.
3536         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
3537         (PUSH_FAILURE_POINT): Use correct printf formats.
3538         (POP_FAILURE_POINT): Use correct printf formats.  
3539         Use do {...} while (0)
3540
3541 2001-01-20  Martin Buchholz <martin@xemacs.org>
3542
3543         * XEmacs 21.2.42 "Poseidon" is released.
3544
3545 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3546
3547         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
3548
3549 2001-01-19  Martin Buchholz  <martin@xemacs.org>
3550
3551         De-kludgify FIXED_TYPE free list frobbing.
3552         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
3553         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
3554         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
3555         * alloc.c (Lisp_Free): New pseudo lisp object definition.
3556         * alloc.c (LRECORD_FREE_P): New.
3557         * alloc.c (MARK_LRECORD_AS_FREE): New.
3558         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
3559         * alloc.c (STRUCT_FREE_P): Deleted.
3560         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
3561         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
3562         * alloc.c (STRING_CHARS_FREE_P): New.
3563         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
3564         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
3565         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
3566         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
3567         * alloc.c (resize_string): Use new definitions.
3568         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
3569         * alloc.c (verify_string_chars_integrity): Use new definitions.
3570         * alloc.c (compact_string_chars): Use new definitions.
3571         * alloc.c: Update monster comments.
3572         * lrecord.h (lrecord_type): Add some new lrecord types for
3573         alloc.c's use.
3574
3575 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3576
3577         Improve alignment hackery.
3578         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
3579         (max_align_t): Moved from opaque.h - general purpose.
3580         (ALIGN_PTR): Use size_t, not long.
3581         * opaque.h (max_align_t): Move to lisp.h.
3582
3583 2001-01-18  Norbert Koch  <nk@LF.net>
3584
3585         * gui.h: Fix and add prototypes to fix build problems.
3586
3587 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3588
3589         temacs is going away, so `dump-temacs' is now a bad name.
3590         * .dbxrc (dump-temacs): Rename to `dmp'.
3591         * .gdbinit (dump-temacs): Rename to `dmp'.
3592
3593 2001-01-17  Andy Piper  <andy@xemacs.org>
3594
3595         * glyphs.c (print_image_instance): comment to make martin happy.
3596
3597         * glyphs-x.c (x_redisplay_widget): update faces after a frame
3598         change.
3599
3600         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
3601         activation.
3602         (mswindows_tab_control_redisplay): warning suppression.
3603
3604         * glyphs-widget.c (widget_update): re-write to cope with updated
3605         items.
3606         (widget_instantiate): use new gui_item functions.
3607         (tab_control_update): deleted.
3608         (progress_gauge_update): deleted.
3609         (image_instantiator_progress_guage): take out update reference.
3610         (image_instantiator_tree_view): ditto.
3611         (image_instantiator_tab_control): ditto.
3612
3613         * gui.c (widget_gui_parse_item_keywords): new function. Do things
3614         Right the new way.
3615         (gui_item_add_keyval_pair): re-write to cope with descriptors and
3616         return whether anything was changed.
3617         (update_gui_item_keywords): as it sounds.
3618
3619         * gui.h: declare widget_gui_parse_item_keywords.
3620
3621         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
3622         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
3623
3624 2001-01-17  Martin Buchholz <martin@xemacs.org>
3625
3626         * XEmacs 21.2.41 "Polyhymnia" is released.
3627
3628 2001-01-16  Didier Verna  <didier@xemacs.org>
3629
3630         * glyphs.c (image_instantiate): don't use fallbacks when
3631         instantiating a face's background pixmap by inheritance.
3632
3633 2001-01-14  Mike Sperber <mike@xemacs.org>
3634
3635         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3636         Conditionalize accordingly.
3637
3638 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3639
3640         * dumper.c (pdump_file_get): Fix a compiler warning.
3641
3642 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3643
3644         Make Purify happy when pdumping.
3645         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3646         iniitalizing all bits of new lisp object memory.
3647         * symbols.c (Fmake_local_variable): Likewise.
3648         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3649         * symbols.c (Fdefvaralias): Likewise.
3650         * mule-charset.c (vars_of_mule_charset): Likewise.
3651
3652 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3653         Add the `-nd' flag when running pre-dump operations under the debugger.
3654         * .dbxrc (run-temacs): Add `-nd'.
3655         * .dbxrc (update-elc): Likewise.
3656         * .dbxrc (dump-temacs): Likewise.
3657         * .gdbinit (run-temacs): Likewise.
3658         * .gdbinit (check-temacs): Likewise.
3659         * .gdbinit (update-elc): Likewise.
3660         * .gdbinit (dump-temacs): Likewise.
3661
3662 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3663
3664         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3665         export OBJECT_MODE=64
3666         configure --pdump --use-union-type=no
3667         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3668         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3669
3670         * miscplay.c (sndcnv8U_2mono):
3671         Avoid two uses of `++' in the same expression.
3672         Suppresses a GCC warning.
3673
3674 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3675
3676         Make sure future compilers don't miscompile alloc.c.
3677         * alloc.c:
3678         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3679         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3680
3681 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3682
3683         * dumper.c: A little post-pdump-rename comment fixup.
3684
3685 2001-01-09  Jerry James  <james@eecs.ku.edu>
3686
3687         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3688
3689 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3690
3691         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3692         script:
3693         #!/bin/sh
3694         replace_symbol () {
3695           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3696         }
3697
3698         replace_symbol pdump_wire_lists pdump_weak_object_chains
3699         replace_symbol pdump_wire_list dump_add_weak_object_chain
3700
3701         replace_symbol pdump_wires pdump_root_objects
3702         replace_symbol pdump_wire dump_add_root_object
3703
3704         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3705         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3706
3707         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3708         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3709         replace_symbol dumpstructinfo pdump_root_struct_ptr
3710         replace_symbol dumpstruct dump_add_root_struct_ptr
3711
3712         replace_symbol dumpopaque dump_add_opaque
3713         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3714         replace_symbol dumpopaqueinfos pdump_opaques
3715         replace_symbol dumpopaqueinfo pdump_opaque
3716
3717         replace_symbol nb_structdump nb_root_struct_ptrs
3718         replace_symbol nb_opaquedump nb_opaques
3719
3720         replace_symbol align_table pdump_align_table
3721         replace_symbol dump_header pdump_header
3722
3723         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3724         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3725
3726
3727 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3728
3729         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3730         optimizing bytecount_to_charcount().
3731
3732 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3733
3734         * config.h.in:
3735         (HAVE_DLFCN_H): Removed.
3736         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3737
3738 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3739
3740         Portable dumper maintainability improvements.
3741         * alloc.c (staticpro):
3742         * alloc.c (staticpro_nodump):
3743         * alloc.c (garbage_collect_1):
3744         * alloc.c (reinit_alloc_once_early):
3745         * alloc.c (init_alloc_once_early):
3746         * alloc.c: Move dumper functions to alloc.c.
3747         * dumper.c (pdump_backtrace):
3748         * dumper.c (pdump_dump_structs):
3749         * dumper.c (pdump_dump_opaques):
3750         * dumper.c (pdump_dump_rtables):
3751         * dumper.c (pdump_dump_wired):
3752         * dumper.c (pdump):
3753         * dumper.c (pdump_load_check):
3754         * dumper.c (pdump_load_finish):
3755         * dumper.c (pdump_file_unmap):
3756         * dumper.c (pdump_file_get):
3757         * dumper.c (pdump_resource_free):
3758         * dumper.c (pdump_resource_get):
3759         * dumper.c (pdump_file_free):
3760         * dumper.c (pdump_file_try):
3761         * dumper.c (pdump_load):
3762         Remove fixed size limits on staticpro(), staticpro_nodump(),
3763         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3764         Remove custom code for dumping lrecord_implementations_table - use
3765         dumpopaque instead.
3766         Remove (most of the) custom code for dumping staticpros - dump it
3767         like any other dynarr.
3768
3769         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3770         * dumper.c: Moved functions from alloc.c.
3771         * alloc.c (dumpstruct): Moved to dumper.c.
3772         * alloc.c (dumpopaque): Likewise.
3773         * alloc.c (pdump_wire): Likewise.
3774         * alloc.c (pdump_wire_list): Likewise.
3775
3776         * lisp.h (Dynarr_sizeof): New.
3777         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3778         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3779         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3780
3781         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3782         * lisp.h (dumpopaque): ditto.
3783         * lisp.h (pdump_wire): ditto.
3784         * lisp.h (pdump_wire_list): ditto.
3785
3786 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3787
3788         * make-src-depend (PrintPatternDeps):
3789         Use `sort' to make output independent of perl version.
3790
3791 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3792
3793         Port to Netbsd 1.5.
3794         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3795         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3796
3797 2001-01-03  Didier Verna  <didier@xemacs.org>
3798
3799         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3800         that `focus_frame' is alive before thinking of calling
3801         `redisplay_redraw_cursor' on it.
3802
3803 2001-01-08  Martin Buchholz <martin@xemacs.org>
3804
3805         * XEmacs 21.2.40 is released.
3806
3807 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3808
3809         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3810
3811 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3812
3813         * alloc.c (dbg_valmask): Make const.
3814         * alloc.c (dbg_typemask): Make const.
3815         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3816         * alloc.c (dbg_valbits): Make const.
3817         * alloc.c (dbg_gctypebits): Make const.
3818
3819 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3820
3821         * redisplay-x.c (x_bevel_area):
3822         redisplay.h (struct rune):
3823         Typo fixes in comments.
3824
3825 2001-01-05  Andy Piper  <andy@xemacs.org>
3826
3827         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3828         adjustment.
3829
3830         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3831
3832 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3833
3834         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3835
3836         * mule-ccl.c (stack_idx_of_map_multiple):
3837         Non const global data must not be initialized!
3838         Found by MIYASHITA Hisashi.
3839
3840 2001-01-02  Andy Piper  <andy@xemacs.org>
3841
3842         * frame.c (change_frame_size): make sure frame size is always
3843         marked as changed.
3844
3845         * glyphs.c (image_instance_layout): minor code reuse.
3846
3847         * window.c (Fcurrent_window_configuration): revert previous
3848         change.
3849
3850 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3851
3852         * glyphs.h:
3853         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3854
3855 2000-12-31  Andy Piper  <andy@xemacs.org>
3856
3857         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3858         when widget gets unmapped.
3859
3860         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3861         function. Make sure widgets losing focus don't just drop it.
3862         (handle_focus_event_1): record the widget with focus.
3863
3864 2000-12-31  Andy Piper  <andy@xemacs.org>
3865
3866         * window.c (allocate_window): use
3867         make_image_instance_cache_hash_table.
3868         (make_dummy_parent): ditto.
3869         (Fset_window_configuration): ditto.
3870
3871         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3872
3873         * glyphs.c (process_image_string_instantiator): use
3874         INSTANTIATOR_TYPE.
3875         (get_image_instantiator_governing_domain): ditto.
3876         (normalize_image_instantiator): ditto.
3877         (instantiate_image_instantiator): ditto.
3878         (make_image_instance_1): ditto.
3879         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3880         (instantiator_eq_equal): new function for use with instance hash
3881         tables.
3882         (instantiator_eq_hash): ditto.
3883         (make_image_instance_cache_hash_table): create a suitable hash
3884         table for storing image instances.
3885
3886         * elhash.h (hash_table_weakness): new internal weakness type
3887         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3888         declare new functions.
3889
3890         * elhash.c (finish_marking_weak_hash_tables): introduce yet
3891         another weakness type for glyphs.
3892         (make_standard_lisp_hash_table): new function split out from
3893         make_general_lisp_hash_table.
3894         (make_lisp_hash_table): call make_standard_lisp_hash_table.
3895         (hash_table_instantiate): ditto.
3896         (Fmake_hash_table): ditto.
3897
3898 2000-12-31  Martin Buchholz <martin@xemacs.org>
3899
3900         * XEmacs 21.2.39 is released.
3901
3902 2000-12-29  Andy Piper  <andy@xemacs.org>
3903
3904         * menubar.c (menubar_visible_p_changed): signal the frame changed.
3905
3906         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
3907         the frame has changed so that we pick up geometry changes such as
3908         menubar visibility.
3909
3910 2000-12-28  Andy Piper  <andy@xemacs.org>
3911
3912         * lastfile.c (my_ebss): make a char array so we can pad the
3913         bss. Fixes cygwin unexec.
3914
3915         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
3916
3917 2000-12-26  Andy Piper  <andy@xemacs.org>
3918
3919         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
3920         comments and try and be more precise about a non-/SIGIO world.
3921         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
3922         SIGIO.
3923
3924         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
3925         we don't normalize to zero width or height.
3926
3927 2000-12-24  Andy Piper  <andy@xemacs.org>
3928
3929         * Makefile.in.in (ldflags): add -mwindows when appropriate.
3930
3931 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
3932
3933         * s/sco5.h: SCO 5 has pty support.
3934
3935 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
3936
3937         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
3938         input-method-xlib.c contains whole contents of input-method-xfs.c,
3939         so we can use input-method-xlib.c's code for USE_XFONTSET
3940         using #ifdefs.
3941         * input-method-xfs.c: removed.
3942
3943 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
3944
3945         * file-coding.h (enum coding_category_type): reorder enumerators to
3946         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
3947         (now one greater than largest real coding_category_type enumerator).
3948         * file-coding.c (coding_category_symbol, coding_category_by_priority,
3949         coding_category_system, fcd_descriptihon_1, decode_coding_category,
3950         Fcoding_category_list, Fset_coding_priority_list,
3951         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
3952         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
3953
3954 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3955
3956         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
3957         * redisplay-output.c (redisplay_output_window): Clear top of window
3958         when face is changed.
3959         * redisplay-x.c (x_redraw_exposed_window): Call
3960         redisplay_clear_top_of_window.
3961         * redisplay.h: Publish redisplay_clear_top_of_window.
3962
3963 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3964
3965         * buffer.c (Fkill_buffer): Map over all devices.
3966         * window.c (window_loop): Remove UNSHOW_BUFFER code.
3967         (list_windows): New function.
3968         (list_all_windows): Ditto.
3969         (Freplace_buffer_in_windows): Use them.
3970
3971 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3972
3973         * database.c (berkdb_subtype): Recognize new subtype `queue'.
3974         (Fopen_database): Use `db_create' instead of `db_open'.
3975         (syms_of_database): Initialize Qqueue.
3976
3977 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3978
3979         * buffer.c (common_init_complex_vars_of_buffer): Initialize
3980         buffer_local_face_property.
3981         * buffer.h (struct buffer): New member buffer_local_face_property.
3982         * window.c (Fset_window_buffer):  Mark window's face as changed
3983         when buffer has buffer local face.
3984         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
3985         * objects.c (color_after_change): Set buffer_local_face_property
3986         when locale of face specifier is buffer.
3987         * objects.c (font_after_change): Ditto.
3988         * objects.c (face_boolean_after_change): Ditto.
3989         * glyphs.c (image_after_change): Ditto.
3990
3991 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3992
3993         * nt.c (mswindows_fstat): Report file permissions, volume serial
3994         number, etc. Code adapted from FSF Emacs 20.7.
3995
3996 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3997
3998         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
3999         of stat when we don't have symbolic links, to make sure
4000         mswindows_stat is called on mswindows.
4001
4002 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4003
4004         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4005
4006 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4007
4008         * doprnt.c (emacs_doprnt_1): More printing fixes.
4009         Make printing of numbers compatible with libc and FSF Emacs.
4010         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4011         Use the system printf to do most of the hard work of formatting,
4012         instead of doprnt_1().
4013         Calculate memory to allocate for format string.
4014         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4015         (doprnt_1): Cleaner code and documentation.
4016
4017 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4018
4019         * Makefile.in.in: Use the loop variable to install headers.
4020
4021 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4022
4023         * window.c (Fsplit_window): Don't invalidate face cache.
4024
4025 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4026
4027         * minibuf.c (Fall_completions): Undo the previous change
4028         which removed checking elements start with space.
4029
4030 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4031
4032         * mule-canna.c: Didier suppression.
4033
4034 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4035
4036         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4037         (warning suppression).  Add English comment translations.
4038
4039 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4040
4041         * unexelfsgi.c (unexec): Better test for mmap failure.
4042
4043 2000-12-05  Martin Buchholz <martin@xemacs.org>
4044
4045         * XEmacs 21.2.38 is released.
4046
4047 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4048
4049         * redisplay.c (bar-cursor): Make a user variable.
4050
4051         * symsinit.h: Add init_postgresql_from_environment.
4052
4053 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4054
4055         * regex.c: Convert to clean C.
4056
4057 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4058
4059         * realpath.c:
4060         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4061         initialization.
4062         (sys_readlink): renamed to system_readlink to avoid conflict with
4063         the other sys_readlink.
4064
4065 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4066
4067         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4068
4069 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4070
4071         * postgresql.c (init_postgresql_from_environment): new function.
4072         (vars_of_postgresql): Move code initializing Lisp variables out and
4073         into init_postgresql_from_environment.
4074         emacs.c (main_1): Call init_postgresql_from_environment if and only
4075         if running a dumped XEmacs.
4076
4077 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4078
4079         * buffer.c: Make find-file-compare-truenames default to true on
4080         windows.
4081
4082         * realpath.c (win32_abs_start):
4083         (cygwin_readlink):
4084         (win32_readlink): New functions.
4085         (xrealpath): Return really real filenames on windows.
4086
4087         * fileio.c (Ffile_truename): Make file-truename work on windows.
4088
4089 2000-11-29  Didier Verna  <didier@xemacs.org>
4090
4091         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4092         * faces.c (update_face_cachel_data): use it.
4093         * faces.c (add_face_cachel): use it. Complete background pixmap
4094         frobbing in face cache if `update_face_cachel_data' has not done so.
4095
4096 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4097
4098         * search.c (string_match_1): Don't set last_thing_searched
4099         when search failed.
4100
4101 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4102
4103         * buffer.c: Include casetab.h
4104         (common_init_complex_vars_of_buffer): Use new case-table object.
4105         * buffer.h: Include casetab.h
4106         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4107         (DOWNCASE_TABLE_OF): Ditto.
4108         * bufslots.h: Remove char-tables and add case-table.
4109         * casetab.c: Include casetab.h
4110         (CASE_TABLE_P): Removed.
4111         (mark_case_table): New function.
4112         (allocate_case_table): New function.
4113         (Fcase_table_p): Use new case-table.
4114         (case_table_char): New function.
4115         (Fget_case_table): Ditto.
4116         (Fput_case_table): Ditto.
4117         (Fput_case_table_pair): Ditto.
4118         (Fcopy_case_table): Ditto.
4119         (Fcurrent_case_table): Return case-table.
4120         (Fstandard_case_table): Return case-table.
4121         (Fset_case_table): Fix doc-string.
4122         (set_case_table): Use case-table
4123         (syms_of_casetab): DEFSUBR new functions.
4124         (complex_vars_of_casetab): Set up standard case-table.
4125         * casetab.h: New file.
4126         * editfns.c: Include casetab.h
4127         (Fcompare_buffer_substrings): Use case-table.
4128         * inline.c: Include casetab.h
4129         * lisp.h: Remove bogus extern.
4130         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4131         * search.c: Include casetab.h
4132         (TRANSLATE_ASCII): Removed.
4133         (TRANSLATE): Unconditionally translate character.
4134         (looking_at_1): Use case-table.
4135         (string_match_1): Ditto.
4136         (fast_string_match): Ditto.
4137         (search_command): Ditto.
4138         (search_buffer): Separate boyer_moore.  Check whether
4139         boyer_moore is possible.
4140         (simple_search): New function.
4141         (boyer_moore): Separated from search_buffer. Translate char.
4142
4143 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4144
4145         * regex.c (RE_TR_ASCII): Removed.
4146         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4147         (PATFETCH): Call PATFETCH_RAW.
4148         (PATFETCH_RAW): Fetch Emchar.
4149         (PATUNFETCH): Decrement charptr.
4150         (GET_BUFFER_SPACE): Rename b to buf_end.
4151         (BUF_PUSH): Ditto.
4152         (BUF_PUSH_2): Ditto.
4153         (BUF_PUSH_3): Ditto.
4154         (EXTEND_BUFFER): Ditto.
4155         (SET_LIST_BIT): Ditto.
4156         (regex_compile): Ditto.  Translate non ASCII char.
4157         (compile_range): Ditto.
4158         (re_search_2): Ditto.
4159         (re_match_2_internal): Compare Emchar.
4160         (bcmp_translate): Ditto.
4161
4162 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4163
4164         * lisp.h (basic char/int typedefs):  comment improvement.
4165
4166 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4167
4168         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4169         unstomp inhibit_site_lisp.  Improve comments.
4170
4171 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4172
4173         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4174
4175 2000-11-28  Andy Piper  <andy@xemacs.org>
4176
4177         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4178         clipped display for windows in the gutter also.
4179         (redisplay_display_boxes_in_window_p): change semantics of return
4180         codes to be more intuitive.
4181
4182         * gutter.h: declare display_boxes_in_gutter_p.
4183
4184         * gutter.c (display_boxes_in_gutter_p): new function for
4185         redisplay.
4186
4187 2000-11-22  Andy Piper  <andy@xemacs.org>
4188
4189         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4190         autodetect domain.
4191
4192 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4193
4194         * callproc.c (Fold_call_process_internal):
4195         * gpm.c (Freceive_gpm_event):
4196         (tty_get_foreign_selection): Might be just warning supression.
4197         * fileio.c (Fwrite_region_internal):
4198         (Fset_visited_file_modtime):
4199         * keymap.c (event_matches_key_specifier_p):
4200         Initialize GCPROed variable.
4201
4202         * menubar-x.c (command_builder_find_menu_accelerator):
4203         Initialize before use.
4204
4205 2000-11-23  Andy Piper  <andy@xemacs.org>
4206
4207         * unexcw.c (unexec): make the resulting executable executable.
4208
4209 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4210
4211         * doc.c (get_doc_string):
4212         Use size_t, not int, for result of XSTRING_LENGTH.
4213
4214         * cmds.c (Fdelete_char):
4215         * cmds.c (Fpoint_at_eol):
4216         * cmds.c (Fself_insert_command):
4217         Use EMACS_INT, not int, for result of XINT.
4218         Someday, someone will want to insert more than 2**31 identical characters.
4219
4220         * cmds.c (Fdelete_char):
4221         * cmds.c (Fdelete_backward_char):
4222         * syntax.c (Fforward_word):
4223         * syntax.c (Fforward_comment):
4224         Make COUNT argument optional, for consistency with forward-char et al.
4225
4226 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4227
4228         * lisp.h:
4229         * print.c (long_to_string):
4230         Return a useful value: the pointer at end of data written.
4231
4232         * doprnt.c:
4233         Use `static const char * const' for constant strings.
4234         (union printf_arg): Delete `i', `ui' members.
4235         (get_doprnt_args):
4236         (emacs_doprnt_1):
4237         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4238         Do all printf-ing via the `l' specifier.
4239         Use EMACS_INT instead of int.
4240         Optimize.
4241
4242 2000-11-20  Didier Verna  <didier@xemacs.org>
4243
4244         * faces.c (update_face_cachel_data): don't frob the background
4245         pixmap when the window is being created. The face is needed but
4246         does not exist yet.
4247
4248 2000-11-20  Andy Piper  <andy@xemacs.org>
4249
4250         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4251         messing with a debug environment.
4252
4253 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4254
4255         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4256
4257 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4258
4259         * casetab.c (Fcase_table_p): Fix compile error and crash.
4260
4261 2000-11-18  Philip Aston  <philipa@mail.com>
4262
4263         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4264
4265 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4266
4267         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4268         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4269
4270 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4271
4272         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4273         * unexelf.c: Use HAVE_ELF_H.
4274         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4275         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4276         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4277         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4278         for testing.
4279         So this is an unexelfsgi.c from a different line of development.
4280
4281 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4282
4283         * regex.c (RE_TR_ASCII): New function.
4284         (RE_TRANSLATE): Call it.
4285
4286 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4287
4288         * buffer.h (TRT_TABLE_OF): Remove assert.
4289         (IN_TRT_TABLE_DOMAIN): Removed.
4290
4291 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4292
4293         * free-hook.c (log_gcpro):
4294         (show_gcprohist): Add support for GCPRO5.
4295
4296 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4297
4298         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4299
4300 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4301
4302         * symeval.h: Declare flush_all_buffer_local_cache.
4303
4304         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4305         (flush_buffer_local_cache): Added.
4306         (flush_all_buffer_local_cache): Added.
4307
4308         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4309
4310         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4311         (pdump_dump_data): Ditto.
4312         (pdump_reloc_one): Ditto.
4313         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4314         before dumping.
4315
4316
4317 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4318
4319         * buffer.c: Remove if 0'ed entry.
4320         * buffer.h: Rewrite TRT to use char-table.
4321         * bufslots.h: Remove mirror tables.
4322         * casetab.c: Remove mirror tables.
4323         (CASE_TABLE_P): New macro.
4324         (Fcase_table_p): Element of a case table is string or char-table.
4325         (make_mirror_trt_table): Removed.
4326         (set_case_table): Setup char-table from strings for backward
4327         compatibility.
4328         * dired.c (Fdirectory_files):
4329         * dired-msw.c: (mswindows_get_files):
4330         * lisp.h: Change prototype of re_pattern_buffer.
4331         * regex.c: (RE_TRANSLATE): New macro.
4332         (TRANSLATE_P): Ditto.
4333         Change translate to type RE_TRANSLATE_TYPE.
4334         * regex.h: Define RE_TRANSLATE_TYPE
4335         * search.c (TRANSLATE): New macro.
4336         (TRANSLATE_ASCII): New macro.
4337         Translate table is changed to Lisp_Object.
4338         (signal_failure): Inhibit return.
4339
4340 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4341
4342         * device-msw.c:
4343         * eldap.c:
4344         * event-Xt.c:
4345         * event-stream.c:
4346         * print.c:
4347         Do UNGCPRO before return.
4348
4349 2000-11-14  Martin Buchholz <martin@xemacs.org>
4350
4351         * XEmacs 21.2.37 is released.
4352
4353 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4354
4355         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4356         Add comments about discarded return value.
4357
4358 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4359
4360         * callint.c:
4361         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4362
4363 2000-10-27  Andy Piper  <andy@xemacs.org>
4364
4365         * gutter.c (Fset_default_gutter_position): default left and right
4366         gutters to visible.
4367         (calculate_gutter_size): calculate resonable heuristic for left
4368         and right gutter sizes.
4369         (specifier_vars_of_gutter): change left and right gutter sizes to
4370         autodetect.
4371         (calculate_gutter_size_from_display_lines): new function.
4372         (output_gutter): check for resizing on left and right gutters.
4373         (clear_gutter): don't special case top and left gutters.
4374         (specifier_vars_of_gutter): use new signature for
4375         set_specifier_caching.
4376
4377         * glyphs-x.c (x_redisplay_widget): spelling fix.
4378         * glyphs.c (specifier_vars_of_glyphs):
4379         * menubar.c (specifier_vars_of_menubar):
4380         * redisplay.c (specifier_vars_of_redisplay):
4381         * toolbar.c (specifier_vars_of_toolbar):
4382         * window.c (specifier_vars_of_window):
4383         * scrollbar.c (specifier_vars_of_scrollbar):
4384         (complex_vars_of_scrollbar): use new signature for
4385         set_specifier_caching.
4386
4387         * specifier.c (set_specifier_caching): include recompute flag.
4388         (recompute_one_cached_specifier_in_window): always recompute if
4389         flag set.
4390         (recompute_one_cached_specifier_in_frame): ditto.
4391
4392         * specifier.h (struct specifier_caching): add recompute flag.
4393
4394 2000-10-24  Andy Piper  <andy@xemacs.org>
4395
4396         * unexcw.c (copy_executable_and_dump_data_section): add new
4397         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4398         5.0 happy.
4399
4400 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4401
4402         * console-x.h (x_device): New member modifier_release_time.
4403         * event-Xt.c (x_handle_sticky_modifiers):
4404         Bound interval modifier keys are sticky.
4405         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4406         * events.h: extern it.
4407
4408 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4409
4410         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4411
4412 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4413
4414         * event-stream.c (execute_command_event): Preserve current_events
4415         and the like when event is misc-user-event.
4416         Inhibit quit during the call to maybe_echo_keys.
4417
4418 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4419
4420         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4421         symlink when buffer is killed.
4422         (inhibit_clash_detection): New variable.
4423
4424 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4425
4426         * console.c (Fset_input_method): Trigger redisplay on tty.
4427
4428 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4429
4430         * process.c (Fprocess_status): Revert to previous behavior:
4431         (process-status "nosuchprocess") ==> nil
4432
4433 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4434
4435         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4436         Work around another GCC 2.95.2 optimizer bug.
4437
4438 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4439
4440         * process.c (Fget_process): Use LIST_LOOP_2.
4441         (kill_buffer_processes): Use LIST_LOOP_2.
4442
4443         * minibuf.c (Fall_completions):
4444         Delete old non-functional code for FSF fourth argument.
4445
4446         * frame.c (frame_matches_frame_spec):
4447         Renamed from `frame_matches_frametype'.  Update all callers.
4448         (device_matches_device_spec):
4449         Renamed from 'device_matches_console_spec'.  Update all callers.
4450
4451         * doc.c (Fsubstitute_command_keys):
4452         Remove buffer overflow crash.  Small code cleanups.
4453
4454         * casetab.c (check_case_table): Simpler code.
4455
4456         * window.c (Freplace_buffer_in_windows):
4457         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4458         (and similar implementation) as Fdelete_windows_on.
4459         Update all callers.
4460
4461         * alloc.c (Fmake_list):
4462         * alloc.c (make_vector):
4463         * alloc.c (Fmake_vector):
4464         * alloc.c (make_bit_vector):
4465         * alloc.c (Fmake_bit_vector):
4466         * alloc.c (Fbit_vector):
4467         * alloc.c (Fmake_string):
4468         * alloc.c (Fpurecopy):
4469         * alloc.c (Fmemory_limit):
4470         * buffer.c:
4471         * buffer.c (Fget_buffer):
4472         * buffer.c (Fkill_buffer):
4473         * buffer.c (complex_vars_of_buffer):
4474         * bytecode.c (Fcompiled_function_stack_depth):
4475         * callint.c (Fprefix_numeric_value):
4476         * event-stream.c:
4477         * event-stream.c (Fread_key_sequence):
4478         * casetab.c:
4479         * casetab.c (Fcase_table_p):
4480         * casetab.c (check_case_table):
4481         * casetab.c (Fset_case_table):
4482         * casetab.c (Fset_standard_case_table):
4483         * chartab.c:
4484         * chartab.c (Fchar_table_type):
4485         * chartab.c (Freset_char_table):
4486         * chartab.c (Fget_char_table):
4487         * chartab.c (Fget_range_char_table):
4488         * chartab.c (Fput_char_table):
4489         * chartab.c (Fmap_char_table):
4490         * chartab.c (Fcategory_table_p):
4491         * chartab.c (Fcheck_category_at):
4492         * chartab.c (Fchar_in_category_p):
4493         * chartab.c (Fcategory_table):
4494         * chartab.c (Fcopy_category_table):
4495         * chartab.c (Fset_category_table):
4496         * chartab.c (Fcategory_designator_p):
4497         * chartab.c (Fcategory_table_value_p):
4498         * cmds.c (Fdelete_char):
4499         * cmds.c (Fdelete_backward_char):
4500         * cmds.c (Fself_insert_command):
4501         * cmds.c (Fself_insert_internal):
4502         * console.c (Fvalid_console_type_p):
4503         * console.c (Fcdfw_console):
4504         * console.c (Fconsole_type):
4505         * console.c (Fconsole_name):
4506         * console.c (Fconsole_device_list):
4507         * console.c (Fconsole_on_window_system_p):
4508         * data.c:
4509         * data.c (Feq):
4510         * data.c (Fold_eq):
4511         * data.c (Fsubr_interactive):
4512         * data.c (Fchar_to_int):
4513         * data.c (Fint_to_char):
4514         * data.c (Fsetcar):
4515         * data.c (Fsetcdr):
4516         * data.c (Fnumber_to_string):
4517         * data.c (Fstring_to_number):
4518         * data.c (Frem):
4519         * database.c (mark_database):
4520         * database.c (finalize_database):
4521         * database.c (Fdatabase_live_p):
4522         * database.c (Fdatabasep):
4523         * device-x.c (Fx_get_resource):
4524         * device.c (Fdfw_device):
4525         * dired.c:
4526         * dired.c (Ffile_name_completion):
4527         * dired.c (Ffile_name_all_completions):
4528         * dired.c (Fuser_name_completion):
4529         * dired.c (Fuser_name_completion_1):
4530         * dired.c (Fuser_name_all_completions):
4531         * doc.c (Fdocumentation):
4532         * doc.c (Fdocumentation_property):
4533         * doc.c (Fsubstitute_command_keys):
4534         * editfns.c:
4535         * editfns.c (Fchar_to_string):
4536         * editfns.c (Fstring_to_char):
4537         * editfns.c (Ftemp_directory):
4538         * editfns.c (Finsert_char):
4539         * editfns.c (Fbuffer_substring_no_properties):
4540         * editfns.c (Fnarrow_to_region):
4541         * editfns.c (Fchar_equal):
4542         * editfns.c (Fchar_Equal):
4543         * editfns.c (Ftranspose_regions):
4544         * emacs.c (Fdump_emacs):
4545         * eval.c (Fthrow):
4546         * eval.c (Fcommand_execute):
4547         * eval.c (Fautoload):
4548         * eval.c (Fbacktrace):
4549         * eval.c (Fbacktrace_frame):
4550         * events.c:
4551         * events.c (Fcopy_event):
4552         * events.c (Fcharacter_to_event):
4553         * events.c (Fevent_button):
4554         * events.c (Fevent_process):
4555         * extents.c:
4556         * extents.c (Fnext_extent_change):
4557         * extents.c (Fextent_property):
4558         * faces.c (Ffacep):
4559         * faces.c (Fmake_face):
4560         * file-coding.c:
4561         * file-coding.c (Fencode_shift_jis_char):
4562         * file-coding.c (Fencode_big5_char):
4563         * fileio.c (Ffile_name_directory):
4564         * fileio.c (Ffile_name_nondirectory):
4565         * fileio.c (Ffile_name_as_directory):
4566         * fileio.c (Fdirectory_file_name):
4567         * fileio.c (Ffile_truename):
4568         * fileio.c (Fsubstitute_in_file_name):
4569         * fileio.c (Ffile_modes):
4570         * fileio.c (Fset_file_modes):
4571         * fileio.c (Fset_default_file_modes):
4572         * fileio.c (Fverify_visited_file_modtime):
4573         * floatfns.c (Facos):
4574         * floatfns.c (Fasin):
4575         * floatfns.c (Fatan):
4576         * floatfns.c (Fcos):
4577         * floatfns.c (Fsin):
4578         * floatfns.c (Ftan):
4579         * floatfns.c (Fbessel_j0):
4580         * floatfns.c (Fbessel_j1):
4581         * floatfns.c (Fbessel_jn):
4582         * floatfns.c (Fbessel_y0):
4583         * floatfns.c (Fbessel_y1):
4584         * floatfns.c (Fbessel_yn):
4585         * floatfns.c (Ferf):
4586         * floatfns.c (Ferfc):
4587         * floatfns.c (Flog_gamma):
4588         * floatfns.c (Fexp):
4589         * floatfns.c (Fexpt):
4590         * floatfns.c (Flog):
4591         * floatfns.c (Flog10):
4592         * floatfns.c (Fsqrt):
4593         * floatfns.c (Fcube_root):
4594         * floatfns.c (Facosh):
4595         * floatfns.c (Fasinh):
4596         * floatfns.c (Fatanh):
4597         * floatfns.c (Fcosh):
4598         * floatfns.c (Fsinh):
4599         * floatfns.c (Ftanh):
4600         * floatfns.c (Fabs):
4601         * floatfns.c (Ffloat):
4602         * floatfns.c (Flogb):
4603         * floatfns.c (Fceiling):
4604         * floatfns.c (Ffloor):
4605         * floatfns.c (Fround):
4606         * floatfns.c (Ftruncate):
4607         * floatfns.c (Ffceiling):
4608         * floatfns.c (Fffloor):
4609         * floatfns.c (Ffround):
4610         * floatfns.c (Fftruncate):
4611         * fns.c (Fstring_equal):
4612         * fns.c (Fstring_lessp):
4613         * fns.c (concat2):
4614         * fns.c (concat3):
4615         * fns.c (vconcat2):
4616         * fns.c (vconcat3):
4617         * fns.c (Fsubstring):
4618         * fns.c (Fassoc):
4619         * fns.c (Fold_assoc):
4620         * fns.c (assoc_no_quit):
4621         * fns.c (Fassq):
4622         * fns.c (Fold_assq):
4623         * fns.c (assq_no_quit):
4624         * fns.c (Frassoc):
4625         * fns.c (Fold_rassoc):
4626         * fns.c (Frassq):
4627         * fns.c (Fold_rassq):
4628         * fns.c (rassq_no_quit):
4629         * fns.c (Fremassoc):
4630         * fns.c (remassoc_no_quit):
4631         * fns.c (Fremassq):
4632         * fns.c (remassq_no_quit):
4633         * fns.c (Fremrassoc):
4634         * fns.c (Fremrassq):
4635         * fns.c (remrassq_no_quit):
4636         * fns.c (Fsort):
4637         * fns.c (Fplist_get):
4638         * fns.c (Fplist_put):
4639         * fns.c (Fplist_remprop):
4640         * fns.c (Fplist_member):
4641         * fns.c (Flax_plist_get):
4642         * fns.c (Flax_plist_put):
4643         * fns.c (Flax_plist_remprop):
4644         * fns.c (Flax_plist_member):
4645         * fns.c (Fequal):
4646         * fns.c (Fold_equal):
4647         * fns.c (Frequire):
4648         * fns.c (Fbase64_encode_region):
4649         * fns.c (Fbase64_encode_string):
4650         * fns.c (Fbase64_decode_region):
4651         * frame.c:
4652         * frame.c (frame_matches_frame_spec):
4653         * frame.c (device_matches_device_spec):
4654         * frame.c (next_frame):
4655         * frame.c (previous_frame):
4656         * frame.c (Fnext_frame):
4657         * frame.c (Fprevious_frame):
4658         * frame.c (Fframe_property):
4659         * frame.c (Fset_frame_height):
4660         * frame.c (Fset_frame_size):
4661         * frame.h:
4662         * glyphs.c:
4663         * glyphs.c (if):
4664         * glyphs.c (decode_error_behavior_flag):
4665         * glyphs.c (Fmake_image_instance):
4666         * indent.c (Findent_to):
4667         * intl.c (Fignore_defer_gettext):
4668         * keymap.c (Fkeymapp):
4669         * keymap.c (Flookup_key):
4670         * lread.c:
4671         * lread.c (Fload_internal):
4672         * lread.c (Feval_buffer):
4673         * lread.c (Feval_region):
4674         * macros.c (Fexecute_kbd_macro):
4675         * marker.c (set_marker_internal):
4676         * marker.c (Fset_marker):
4677         * marker.c (set_marker_restricted):
4678         * marker.c (Fcopy_marker):
4679         * marker.c (noseeum_copy_marker):
4680         * menubar.c:
4681         * menubar.c (Fpopup_menu):
4682         * minibuf.c:
4683         * mule-charset.c (Fcharset_name):
4684         * mule-charset.c (Fchar_charset):
4685         * mule-charset.c (Fchar_octet):
4686         * mule-charset.c (Fsplit_char):
4687         * mule-wnnfns.c (Fwnn_open):
4688         * mule-wnnfns.c (Fwnn_dict_comment):
4689         * mule-wnnfns.c (Fwnn_quit_henkan):
4690         * mule-wnnfns.c (Fwnn_word_toroku):
4691         * mule-wnnfns.c (Fwnn_word_sakujo):
4692         * mule-wnnfns.c (Fwnn_word_use):
4693         * mule-wnnfns.c (Fwnn_hindo_set):
4694         * objects.c:
4695         * objects.c (Fmake_color_instance):
4696         * objects.c (Fmake_font_instance):
4697         * print.c (Fwrite_char):
4698         * process.c:
4699         * process.c (mark_process):
4700         * process.c (print_process):
4701         * process.c (get_process_from_usid):
4702         * process.c (Fprocessp):
4703         * process.c (Fprocess_live_p):
4704         * process.c (Fget_process):
4705         * process.c (Fget_buffer_process):
4706         * process.c (get_process):
4707         * process.c (Fprocess_id):
4708         * process.c (Fprocess_name):
4709         * process.c (Fprocess_command):
4710         * process.c (init_process_io_handles):
4711         * process.c (start_process_unwind):
4712         * process.c (Fstart_process_internal):
4713         * process.c (Fopen_multicast_group_internal):
4714         * process.c (Fset_process_window_size):
4715         * process.c (read_process_output):
4716         * process.c (send_process):
4717         * process.c (Fprocess_tty_name):
4718         * process.c (Fset_process_buffer):
4719         * process.c (Fprocess_buffer):
4720         * process.c (Fprocess_mark):
4721         * process.c (set_process_filter):
4722         * process.c (Fset_process_filter):
4723         * process.c (Fprocess_filter):
4724         * process.c (Fprocess_send_region):
4725         * process.c (Fprocess_send_string):
4726         * process.c (exec_sentinel):
4727         * process.c (Fset_process_sentinel):
4728         * process.c (Fprocess_sentinel):
4729         * process.c (status_notify):
4730         * process.c (Fprocess_status):
4731         * process.c (Fprocess_exit_status):
4732         * process.c (process_send_signal):
4733         * process.c (Fprocess_send_eof):
4734         * process.c (deactivate_process):
4735         * process.c (remove_process):
4736         * process.c (Fdelete_process):
4737         * process.c (kill_buffer_processes):
4738         * process.c (Fprocess_kill_without_query):
4739         * process.c (Fprocess_kill_without_query_p):
4740         * rangetab.c:
4741         * rangetab.c (Fget_range_table):
4742         * rangetab.c (Fput_range_table):
4743         * rangetab.c (Fremove_range_table):
4744         * rangetab.c (Fclear_range_table):
4745         * search.c:
4746         * search.c (Fskip_chars_forward):
4747         * search.c (Fskip_chars_backward):
4748         * search.c (Fskip_syntax_forward):
4749         * search.c (Fskip_syntax_backward):
4750         * search.c (search_command):
4751         * search.c (Freplace_match):
4752         * search.c (Fregexp_quote):
4753         * select.c (Fown_selection_internal):
4754         * select.c (Fselection_owner_p):
4755         * select.c (Fselection_exists_p):
4756         * select.c (Fget_selection_internal):
4757         * specifier.c:
4758         * symbols.c:
4759         * symbols.c (Fintern):
4760         * symbols.c (Fintern_soft):
4761         * symbols.c (Funintern):
4762         * symbols.c (Fapropos_internal):
4763         * symbols.c (Fset_default):
4764         * syntax.c:
4765         * syntax.c (Fsyntax_table_p):
4766         * syntax.c (Fcopy_syntax_table):
4767         * syntax.c (Fset_syntax_table):
4768         * syntax.c (Fchar_syntax):
4769         * syntax.c (syntax_match):
4770         * syntax.c (Fmatching_paren):
4771         * syntax.c (Fforward_word):
4772         * syntax.c (scan_lists):
4773         * syntax.c (Fscan_lists):
4774         * syntax.c (Fscan_sexps):
4775         * syntax.c (Fparse_partial_sexp):
4776         * toolbar.c (Fcheck_toolbar_button_syntax):
4777         * tooltalk.doc:
4778         * window.c:
4779         * window.c (Fwindowp):
4780         * window.c (Fwindow_live_p):
4781         * window.c (Fwindow_point):
4782         * window.c (Fdelete_window):
4783         * window.c (Fnext_window):
4784         * window.c (Fprevious_window):
4785         * window.c (Fother_window):
4786         * window.c (window_loop):
4787         * window.c (Fget_lru_window):
4788         * window.c (Fsplit_window):
4789         * window.c (Fenlarge_window):
4790         * window.c (Fenlarge_window_pixels):
4791         * window.c (Fshrink_window):
4792         * window.c (Fshrink_window_pixels):
4793         * window.c (change_window_height):
4794         * window.c (Fwindow_configuration_p):
4795         * window.c (Fcurrent_window_configuration):
4796         * window.h:
4797         * casefiddle.c (casify_object):
4798         * casefiddle.c (Fupcase):
4799         * casefiddle.c (Fdowncase):
4800         * casefiddle.c (Fcapitalize):
4801         * casefiddle.c (Fupcase_initials):
4802         * casefiddle.c (casify_region_internal):
4803         * casefiddle.c (casify_region):
4804         * casefiddle.c (Fupcase_region):
4805         * casefiddle.c (Fdowncase_region):
4806         * casefiddle.c (Fcapitalize_region):
4807         * casefiddle.c (Fupcase_initials_region):
4808         * casefiddle.c (Fupcase_word):
4809         * casefiddle.c (Fdowncase_word):
4810         * casefiddle.c (Fcapitalize_word):
4811         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4812         Replace 0 with '\0' when working with bytes.
4813         Replace initial "(" with "\(" in docstrings.
4814
4815 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4816
4817         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4818
4819         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4820
4821 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4822
4823         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4824
4825 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4826
4827         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4828         correctly.
4829
4830 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4831
4832         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4833         (inhibit_auto_save_session): New variable.
4834         (vars_of_fileio): Declare and initialize them.
4835         * fileio.c (Fdo_auto_save): Don't create session file if
4836         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4837
4838 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4839
4840         * sgiplay.c (play_internal): C++ compilability.
4841         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4842         * callproc.c (Fold_call_process_internal):
4843         Remove unused vars `env', `first'.
4844         * scrollbar.c (update_scrollbar_instance):
4845         #### unused var `current_window'.
4846         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4847         etc. within #ifdef NOT_YET.
4848         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4849         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4850         * specifier.c (specifier_instance):
4851         #### unused var `tag'.
4852         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4853
4854 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4855
4856         * fns.c (Fbutlast):
4857         * fns.c (list_sort):
4858         * fns.c (Ffillarray):
4859         * fns.c (bytecode_nconc2):
4860         * fns.c (Fnconc):
4861         * fns.c (mapcar1):
4862         * fns.c (Fmapconcat):
4863         Be pedantically 64-bit correct.  For the time when someone will
4864         want to have a list with length > 2**32.
4865
4866         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4867         Work around MIPSpro compiler bug.
4868
4869         * process-unix.c (unix_kill_child_process): Add snarky comment.
4870         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4871
4872         * config.h.in: Oops, _getpt ==> _getpty
4873
4874 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4875
4876         * config.h.in:
4877         * regex.c:
4878         Use void*, not char*, as return type of alloca().
4879
4880         * alloc.c (free_marker): Side effect inside assert expression!
4881
4882 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4883
4884         * mule-charset.c (Fset_charset_ccl_program): To check
4885         if the given ccl program is valid, use setup_ccl_program()
4886         instead of CHECK_VECTOR().
4887         (Fmake_charset): Likewise.
4888
4889 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4890
4891         * faces.c (get_extent_fragment_face_cache_index):
4892         Fix cachel.merged_faces memory leak.
4893
4894 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
4895
4896         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
4897         Reset MSB of octets obtained by DECODE_SJIS
4898         because of the incompatibility with Emacs.
4899         (ccl_driver)<CCL_ENCODE_SJIS>:
4900         Set MSB of octets before passing them to
4901         ENCODE_SJIS because of the incompatibility
4902         with Emacs.
4903
4904 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
4905
4906         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
4907         (DECLARE_LRECORD): Undo the last change.
4908         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
4909
4910 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
4911
4912         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
4913         the implementation to lrecord_implementations_table.
4914
4915 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
4916
4917         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
4918         initial value of `lrecord_type_##c_name' and
4919         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
4920         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
4921         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
4922         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
4923         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
4924
4925 2000-10-17  Martin Buchholz  <martin@xemacs.org>
4926
4927         * miscplay.c (sndcnv8S_2mono):
4928         (sndcnv2monounsigned):
4929         (sndcnvULaw_2linear):
4930         (sndcnv16swap):
4931         Remove implementation-defined behavior.
4932
4933 2000-10-12  Martin Buchholz  <martin@xemacs.org>
4934
4935         * input-method-xlib.c: Warning suppression.
4936
4937 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
4938
4939         * mule-ccl.c: Sync up with Emacs 21.0.90.
4940         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
4941         Do nothing.
4942         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
4943         Likewise.
4944         (ccl_driver[WriteMultibyteChar2]): Bug fix.
4945         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
4946         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
4947         leading char belongs to official 2-dimensional charset.
4948         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
4949         write the given character as is.  Otherwise,
4950         if it is a multibyte char, convert it by
4951         non_ascii_set_charptr_emchar, then write it.
4952         (CCL_WRITE_STRING): Likewise.
4953         (ccl_get_compiled_code): New function.
4954         (setup_ccl_program): When ccl_prog is invalid,
4955         return -1.
4956         (Fregister_code_conversion_map): New function.
4957         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
4958
4959         * mule-ccl.h: Sync up with Emacs 21.0.90.
4960         (Fregister_ccl_program): export it.
4961
4962         * redisplay-msw.c (separate_textual_runs):
4963         If ccl program is not valid, don't do ccl conversion.
4964
4965         * redisplay-x.c (separate_textual_runs): Ditto.
4966
4967         * file-coding.c (Fmake_coding_system):
4968         When type is ccl and value is vector, register it
4969         with a proper symbol.  And checks whether the
4970         given ccl program is valid.
4971         (mule_decode): When calling ccl_driver, if src indicates
4972         NULL pointer, set an empty string instead.
4973         (mule_encode): Likewise.
4974
4975 2000-10-11  Martin Buchholz  <martin@xemacs.org>
4976
4977         The following large batch of changes gets us back to a state of
4978         C++ compilability.  Extbyte is now a char, which means that
4979         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
4980
4981         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
4982
4983         * sound.c (Fplay_sound): Type correctness.
4984
4985         * select-x.c (hack_motif_clipboard_selection): Type correctness.
4986         (x_get_window_property): Type correctness.
4987         (receive_incremental_selection): unsigned char ==> Extbyte
4988         (selection_data_to_lisp_data): unsigned char ==> Extbyte
4989         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
4990         (Fx_store_cutbuffer_internal): Type correctness.
4991
4992         * process-unix.c (try_to_initialize_subtty): Type correctness.
4993
4994         * objects-x.c (x_print_color_instance): Type correctness.
4995         (x_print_font_instance): Type correctness.
4996         (x_list_fonts): SExtbyte ==> Extbyte.
4997         (valid_x_font_name_p): SExtbyte ==> Extbyte.
4998         (x_find_charset_font): SExtbyte ==> Extbyte.
4999         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5000         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5001         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5002         Use bufbyte_strcmp.
5003
5004         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5005         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5006         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5007         (BYTE_C0_P): Use bit ops for char-signedness safety.
5008         (BYTE_C1_P): Use bit ops for char-signedness safety.
5009         (CHARSET_BY_LEADING_BYTE):
5010         (CHARSET_BY_ATTRIBUTES):
5011         Always use inline function.
5012         Use type_checking_assert.
5013         Hide chlook.
5014
5015         * mule-charset.c (non_ascii_charptr_copy_char):
5016         Modify to work with both ASCII and non-ASCII characters.
5017         Improve docs and variable names.
5018         Replace over-clever fall-through switch with a simple loop.
5019         (Lstream_get_emchar_1):
5020         Replace over-clever fall-through switch with a simple loop.
5021
5022         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5023         Warning suppression.
5024
5025         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5026         the return value of Lstream_getc, which could be EOF as well.
5027
5028         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5029
5030         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5031         APIs can be used on Extbytes without casts.  Risky!
5032         (SExtbyte): Remove.
5033         (UExtbyte): Remove.
5034
5035         * input-method-xlib.c (XIM_init_device):
5036         Use Xlib.h instead of IntrinsicP.h.
5037         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5038         which will break in X11R7.
5039         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5040         to call XRegisterIMInstantiateCallback with correct types.
5041
5042         * gui-x.c (button_item_to_widget_value): Type correctness.
5043
5044         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5045
5046         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5047         (xbm_instantiate_1): Type correctness.
5048         (BUILD_GLYPH_INST):  Type correctness.
5049
5050         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5051
5052         * file-coding.c:
5053         (decode_coding_sjis):
5054         (decode_coding_big5):
5055         (decode_coding_ucs4):
5056         (decode_coding_utf8):
5057         (decode_coding_iso2022):
5058         (decode_coding_no_conversion):
5059         Make all decoding functions take an Extbyte * arg.
5060         (encode_coding_sjis):
5061         (encode_coding_big5):
5062         (encode_coding_ucs4):
5063         (encode_coding_utf8):
5064         (encode_coding_iso2022):
5065         (encode_coding_no_conversion):
5066         Make all encoding functions take a Bufbyte * arg.
5067         Use size_t instead of unsigned int for memory sizes.
5068         Only cast to unsigned char whenever dereferencing Extbyte *.
5069
5070         * doc.c (unparesseuxify_doc_string): Type correctness.
5071
5072         * console-x.c (split_up_display_spec):
5073         Rewrite without using details of internal string representation.
5074         (x_semi_canonicalize_device_connection): Type correctness.
5075
5076         * config.h.in:
5077         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5078         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5079         (HAVE_XFREE386): Removed.
5080
5081         * buffer.h (DEC_CHARPTR): `const' correctness.
5082         (bufbyte_strcmp): New.
5083         (bufbyte_memcmp): New.
5084
5085         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5086
5087         * buffer.h (XCHAR_OR_CHAR_INT):
5088         Always use inline function.
5089         Remove redundant type checking assert() - XINT will abort quite nicely.
5090
5091 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5092
5093         * search.c (Freplace_match): Set newtext to an empty string.
5094
5095 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5096
5097         * s/decosf1-3.h: Remove #include of stropts.h
5098         * s/ptx.h: Remove #include of stropts.h
5099         * s/usg5-4.h: Remove #include of stropts.h
5100         * sysproc.h:
5101         * config.h.in:
5102         Use stropts.h, not sys/stropts.h.
5103         Use strtio.h, not sys/strtio.h.
5104
5105 2000-10-04  Martin Buchholz <martin@xemacs.org>
5106
5107         * XEmacs 21.2.36 is released.
5108
5109 2000-09-21  Andy Piper  <andy@xemacs.org>
5110
5111         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5112         changes still involve copying the widget tree.
5113         (update_widget_face): make sure a change is register in the widget
5114         tree. Call update_tab_widget_face appropriately.
5115         (update_tab_widget_face): ditto.
5116         (x_tab_control_redisplay): make sure non-structural changes still
5117         involve copying the widget tree.
5118
5119 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5120
5121         * lread.c (locate_file): Check the path element is non-nil.
5122
5123 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5124
5125         * lisp.h: Warning suppression for SCO compilers.
5126
5127         * redisplay-tty.c (reset_tty_modes): Fix crash.
5128         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5129
5130 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5131
5132         Big signal/process handling overhaul.  Bugs fixed:
5133         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5134         M-x comint-kill-subjob should work for both values nil and t of
5135         process-connection-type. It was broken on most platforms.
5136         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5137         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5138         * process-unix.c: Signal/Process handling overhaul.
5139         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5140         (allocate_pty): Use all available modern methods of allocating
5141         ptys, falling back to old style BSD allocation as a last resort.
5142         Use allegedly more secure Unix98 pty allocation by default.
5143         (allocate_pty_the_old_fashioned_way): New. the last resort.
5144         (unix_create_process): Push ptem, ldterm, ttcompat where
5145         available.  Autoconfiscate.
5146         (try_to_initialize_subtty): New.
5147         (unix_kill_child_process): Proper signal handling for ptys on most
5148         platforms, using special knowledge of AIX, BSD, etc...
5149         (unix_create_process): Always disconnect_controlling_terminal() for
5150         subprocesses, whether using ptys or not.
5151         * process.h: Remove old getpt-dependent PTY code.
5152         * process.c (Fprocess_send_signal): New, obvious generic function.
5153         (decode_signal): New.
5154         (Finterrupt_process):
5155         (Fkill_process):
5156         (Fquit_process):
5157         (Fstop_process):
5158         (Fcontinue_process):
5159         (Fsignal_process): Use decode_signal.
5160         (process_send_signal):
5161         Many docstring corrections.
5162         Allow any signal to be sent to a process object.
5163         * config.h.in: Add symbols for big signal/process overhaul.
5164         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5165         * sysproc.h: Include process-related headers, where available:
5166         sys/stropts.h sys/strtio.h pty.h libutil.h
5167         * s/irix4-0.h:
5168         * s/irix5-0.h:
5169         * s/cygwin32.h:
5170         * s/gnu.h:
5171         * s/linux.h:
5172         * s/hpux.h:
5173         * s/aix3-1.h:
5174         Remove old S&M pty stuff.
5175         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5176         * systty.h: Simplify cpp hackery, improve comments.
5177         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5178
5179         * editfns.c (Fformat_time_string):
5180         Be a little more paranoid with the return value of ctime.
5181
5182         * fileio.c (check_executable):
5183         (check_writable):
5184         Use symbolic constants X_OK, W_OK.
5185
5186         * console-x.c (split_up_display_spec): Fix a warning.
5187
5188 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5189
5190         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5191         * ntproc.c (sys_spawnve): make_string ==> build_string
5192         Small clarity improvements.
5193
5194 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5195
5196         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5197
5198         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5199
5200         * config.h.in (HAVE_STRCASECMP): Remove.
5201
5202 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5203
5204         * redisplay-output.c (redisplay_output_pixmap):
5205         Cleaner and possibly more 64-bit correct code.
5206
5207 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5208
5209         * dumper.c (pdump_load_finish): move restoration of
5210         `noninteractive1' to emacs.c (main_1).
5211         * emacs.c (main_1): protect LISP-visible command-line flags
5212         from pdump_load().
5213
5214 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5215
5216         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5217         DUMP_TARGET instead of literal program names.
5218
5219 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5220
5221         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5222
5223 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5224
5225         * *: Spelling mega-patch
5226
5227 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5228
5229         * fns.c (bad_bad_turtle):
5230         Delete "Eek!" comment, since we fixed the bug to which it refers.
5231
5232 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5233
5234         * alloca.c: Replace REGISTER with register.
5235
5236 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5237
5238         * file-coding.c (ucs_to_char): Use countof.
5239
5240 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5241
5242         * file-coding.c: (ucs_to_char):
5243         (complex_vars_of_file_coding):
5244         Use countof instead of sizeof.
5245         Use CHECK_NATNUM instead of CHECK_INT.
5246
5247         * sysdep.c (strcasecmp): Remove.
5248         * device-x.c (ascii_strcasecmp): New.
5249         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5250         Avoid using non-standard non-portable strcasecmp.
5251
5252 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5253
5254         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5255         * font-lock.c: remove reference to emacsfns.h.
5256         * search.c: small doc improvement.
5257         * event-Xt.c: correct file names in comments.
5258         * console-x.h Correct file names in comments.
5259         * frame.c: Correct file names in comments.
5260         * event-stream.c: remove Energize from comments.
5261
5262 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5263
5264         * symeval.h (DEFERROR_STANDARD):
5265         (DEFERROR):
5266         (DEFSYMBOL):
5267         (DEFSYMBOL_NO_DUMP):
5268         (DEFSYMBOL_MULTIWORD_PREDICATE):
5269         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5270         (DEFKEYWORD):
5271         The construct &##name is not sensible C.
5272         Fixes compilation errors with Unixware native compiler.
5273
5274 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5275
5276         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5277         (next_frame_internal): Removed.  We now just have next_frame.
5278         (next_frame):
5279         Write a simpler and cleaner one-pass algorithm.
5280         Remove called_from_delete_device arg and #ifdefed-out code.
5281         (previous_frame):
5282         Renamed from prev_frame.  Update callers.
5283         Cleaned up to have an analogous implementation to next_frame.
5284         (other_visible_frames_internal): Remove the
5285         called_from_delete_device bogus arg, and hence, remove this
5286         function.  Just use other_visible_frames().
5287
5288         * window.c (Fnext_window):
5289         Prettify docstring.
5290         Since next_frame() is guaranteed to return a frame, remove check
5291         for nil inserted in previous patch.
5292         (Fprevious_window):
5293         Prettify docstring.
5294         Make code look more like Fnext_window.
5295         (window_loop):
5296         Respect the `console' arg when iterating through windows.
5297         Fixes bug: (get-buffer-window buffer t device) not respecting
5298         the `device' arg.
5299         This function needs more work, as others have pointed out.
5300
5301         * frame.h: Rename prev_frame to previous_frame.
5302         device_matches_console_spec no longer takes a `frame' arg.
5303
5304         * s/gnu.h:
5305         * s/linux.h:
5306         * s/hpux.h:
5307         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5308         From "Golubev I. N." <gin@mo.msk.ru>.
5309
5310         * make-src-depend: Fix typo.
5311
5312 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5313
5314         * window.c (Fnext_window):
5315         next_frame() might return nil, not a frame.
5316         Fixes this crash:
5317         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5318
5319         * frame.c (next_frame_internal):
5320         We've passed a frame if we've passed its device.
5321         Fixes this crash:
5322         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5323 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5324
5325 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5326
5327         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5328         Allow option to suppress accelerators in menu/dialog items.
5329         (populate_or_checksum_helper): Pass dialog title through above.
5330
5331 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5332
5333         * event-msw.c (mswindows_key_to_emacs_keysym):
5334         Add "pause" key, fix "menu" key.
5335
5336 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5337
5338         * eval.c (reinit_vars_of_eval):
5339         Increase max_lisp_eval_depth to 1000,
5340         required for thai-xtis.el to byte-compile under some circumstances.
5341
5342 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5343
5344         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5345         From Kenichi Handa.
5346
5347 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5348
5349         * make-src-depend: Make the generated Makefiles smaller.
5350
5351         * s/hpux.h (SETUP_SLAVE_PTY):
5352         Provide a %d in the format string for the errno argument.
5353
5354         * editfns.c (Ftemp_directory):
5355         Warning fix.
5356         Avoid buffer overrun on very long file name.
5357
5358         * input-method-xlib.c (XIM_init_device):
5359         6th parameter of XRegisterIMInstantiateCallback has different
5360         pointer types on different OSes, so simply cast to (void *).
5361
5362         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5363
5364         * sysdll.c (dll_open):
5365         shl_load will hang hard if passed a NULL filename.
5366         Simply return NULL for compatibility with dlopen.
5367         * sysdll.c: Conform to XEmacs coding standards.
5368
5369         * sysdep.c (get_pty_max_bytes):
5370         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5371
5372 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5373
5374         * tooltalk.c: Add #include <syssignal.h>
5375
5376 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5377
5378         * s/hpux.h: Don't use undefined function sigunblock().
5379
5380 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5381
5382         * config.h.in: Add HAVE_BALLOON_HELP.
5383         * emacs.c: Use HAVE_BALLOON_HELP.
5384         * Makefile.in.in (x_objs):
5385         Make Balloon Help conditional on finding shape.h.
5386
5387 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5388
5389         * syntax.c (regex_emacs_buffer_p): New variable.
5390         * syntax.h (regex_emacs_buffer_p): extern.
5391         * search.c (looking_at_1):
5392         (string_match_1):
5393         (fast_string_match):
5394         (search_buffer): Set regex_emacs_buffer_p.
5395         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5396         when before_dot, at_dot, after_dot.
5397
5398 2000-08-23  Andy Piper  <andy@xemacs.org>
5399
5400         * gui-x.c (popup_selection_callback): Only set action_occurred
5401         when we really have an image instance.
5402         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5403
5404 2000-08-23  Andy Piper  <andy@xemacs.org>
5405
5406         * gui-msw.c (mswindows_handle_gui_wm_command): set
5407         action_occurred.
5408         * gui-x.c (popup_selection_callback): ditto.
5409
5410         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5411         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5412         (struct Lisp_Image_Instance): add action_occurred flag.
5413
5414         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5415         (image_instance_changed): ditto.
5416         (reset_frame_subwindow_instance_cache): only unmap windows - do
5417         not remove them from the cache also.
5418
5419         * glyphs-widget.c (tab_control_update): better debug.
5420         (progress_gauge_update): ditto.
5421         (layout_update): ditto.
5422         (layout_instantiate): ditto.
5423         (tab_control_order_only_changed): cope with null pending items.
5424
5425         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5426         debug. Force selection of an item when an action occurred. Cope
5427         with null pending_items.
5428         (mswindows_progress_gauge_redisplay): better debug.
5429         * glyphs-x.c (x_tab_control_redisplay): ditto.
5430
5431         * redisplay.c (redisplay_frame): reset the frame cache if the
5432         frame is garbaged.
5433
5434         * window.c (Fset_window_configuration): potentially re-enable
5435         frame cache reset.
5436         (window_unmap_subwindows): need to finalize instances here since
5437         it is only used in mark_window_as_deleted.
5438
5439 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5440
5441         * nas.c (SndOpenDataForReading):
5442         nas.c (WaveOpenDataForReading):
5443         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5444         Somehow escaped from the 2000-08-14 patch.
5445
5446 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5447
5448         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5449         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5450
5451 2000-08-21  Andy Piper  <andy@xemacs.org>
5452
5453         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5454         window if it is not already displayed.
5455
5456         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5457         it is not already displayed.
5458
5459         * window.c (Fset_window_configuration): don't reset the frame
5460         cache.
5461
5462         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5463         instances from the frame cache if we are actually finalizing them.
5464         (reset_frame_subwindow_instance_cache): reset frame cache only
5465         after unmapping everything.
5466         (map_subwindow): set displayed flag after mapping.
5467
5468 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5469
5470         * data.c (indirect_function):
5471         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5472
5473         * eval.c (function_argcount):
5474         Use original function when signaling errors.
5475
5476 2000-08-18  Andy Piper  <andy@xemacs.org>
5477
5478         * frame.c (delete_frame_internal): use new
5479         free_frame_subwindow_instances name.
5480
5481         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5482         (add_tab_item): make return type correct.
5483         (mswindows_tab_control_instantiate): assert index of tab.
5484         (mswindows_tab_control_redisplay): Re-code to use
5485         gui_item_equal_sans_selected and gui_item_list_find_selected.
5486
5487         * glyphs-widget.c (tab_control_update): Correct comment.
5488
5489         * window.c (window_unmap_subwindows): use new
5490         unmap_subwindow_instance_cache_mapper.
5491         (window_unmap_subwindows_cache_mapper): deleted.
5492         (Fset_window_configuration): comparisons should now be with
5493         EQ. Preserve the subwindow instance cache across configuration
5494         changes.
5495         (allocate_window): ditto.
5496         (make_dummy_parent): ditto.
5497
5498         * glyphs.c (free_frame_subwindow_instances): rename from
5499         free_frame_subwindow_instance_cache. finalize all instances rather
5500         than just those in the display cache.
5501         (finalize_all_subwindow_instances): walk windows unmapping and
5502         finalizing subwindows.
5503         (unmap_subwindow_instance_cache_mapper): moved from
5504         window.c. Allow finalization as well as unmapping.
5505
5506         * gui.c (gui_item_list_find_selected): new function.
5507
5508         * gui.h (gui_item_list_find_selected): declare.
5509
5510         * glyphs-x.c (x_tab_control_redisplay): pick tab
5511         explicitly. Re-code to use gui_item_equal_sans_selected and
5512         gui_item_list_find_selected.
5513
5514         * glyphs-x.h: add lwlib-utils.h
5515
5516         * buffer.c (Frecord_buffer): undo previous change.
5517
5518 2000-08-09  Vin Shelton  <acs@xemacs.org>
5519
5520         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5521         possible.  Create temporary files more securely.  The patch was
5522         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5523         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5524         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5525         for details.
5526
5527 2000-08-07  Ben Wing  <ben@xemacs.org>
5528
5529         * getloadavg.c: remove duplicate (and windows-breaking)
5530         includes of fcntl.h and sys/file.h.
5531
5532         * nt.c: remove duplicate getloadavg() definition.
5533
5534         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5535         encodings.
5536
5537 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5538
5539         * eval.c (function_argcount): If function needs to be autoloaded
5540         actually use the loaded definition.
5541         GCPRO function.
5542
5543 2000-08-05  Ben Wing  <ben@xemacs.org>
5544
5545         * getloadavg.c: add prototype for getloadavg().  remove
5546         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5547         of the code).  remove duplicate header includes.
5548
5549         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5550
5551         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5552         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5553         useful load average.
5554
5555         * alloc.c (reinit_alloc_once_early): removed references to
5556         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5557         the lisp vars are the only things referencing the malloc_sbrk_*
5558         vars, and they were already if 0'd out.  these vars only exist
5559         in the older malloc.c, which is basically unused, and they're
5560         only for informational purposes.
5561
5562         * m\*.h: removed useless VIRT_ADDR_VARIES.
5563
5564         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5565
5566 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5567
5568         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5569         color if the image is a mono pixmap.
5570
5571 2000-07-30  Ben Wing  <ben@xemacs.org>
5572
5573         * Makefile.in.in (release):
5574         Remove stray @.
5575
5576         * buffer.c (directory_is_current_directory):
5577         * dired-msw.c (mswindows_get_files):
5578         * dired.c:
5579         * dired.c (Fdirectory_files):
5580         * dired.c (file_name_completion_stat):
5581         * dired.c (Ffile_attributes):
5582         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5583         preprocessor tricks, to avoid problems on some machines
5584         (e.g. SCO).
5585
5586         * callproc.c (egetenv): GC docs.
5587
5588         * console-msw.h:
5589         * console-msw.h (struct mswindows_dialog_id):
5590         * lrecord.h (lrecord_type):
5591         New object for use with MSW dialogs.
5592
5593         * console.h (struct console_methods):
5594         New enable/disable frame methods, for proper modal dialogs.
5595
5596         * device-msw.c (msprinter_default_printer): Fix to follow
5597         proper Mule conventions.
5598
5599         * device-msw.c:
5600         * device-msw.c (signal_open_printer_error):
5601         * device-msw.c (msprinter_init_device):
5602         * device-msw.c (ensure_not_printing):
5603         * device-msw.c (plist_get_margin):
5604         * device-msw.c (Fmsprinter_select_settings):
5605         * device-msw.c (finalize_devmode):
5606         * device-msw.c (Fmsprinter_settings_despecialize):
5607         * device-msw.c (signal_enum_priner_error):
5608         * extents.c (decode_extent):
5609         * extents.c (decode_map_extents_flags):
5610         * extents.c (decode_extent_at_flag):
5611         * extents.c (Fextent_at):
5612         * extents.c (Fextents_at):
5613         * extents.c (symbol_to_glyph_layout):
5614         [[[[2]]]] Use structured errors.
5615
5616         * dialog-msw.c:
5617         * dialog-msw.c (mswindows_is_dialog_msg):
5618         * dialog-msw.c (mark_mswindows_dialog_id):
5619         * dialog-msw.c (dialog_proc):
5620         * dialog-msw.c (handle_question_dialog_box):
5621         * dialog-msw.c (syms_of_dialog_mswindows):
5622         Define new object to clean up marking; use it as a dialog identifier.
5623         Call new delete-dialog-box-hook.
5624
5625         * dialog-x.c (dbox_selection_callback):
5626         * dialog-x.c (dbox_descriptor_to_widget_value):
5627         * dialog-x.c (x_make_dialog_box_internal):
5628         Call new delete-dialog-box-hook.
5629         Return an id.
5630
5631         * dialog.c:
5632         * dialog.c (syms_of_dialog):
5633         * dialog.c (vars_of_dialog):
5634         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5635
5636         * eval.c:
5637         * eval.c (signal_call_debugger):
5638         when noninteractive, output stack traces on the console instead
5639         of in a (never-seen) buffer.
5640
5641         * eval.c (signal_type_error):
5642         * eval.c (invalid_argument_2):
5643         * lisp.h:
5644         new funs for use w/structured errors.
5645
5646         * event-Xt.c:
5647         * event-Xt.c (x_to_emacs_keysym):
5648         * event-Xt.c (describe_event):
5649         * event-Xt.c (emacs_Xt_event_handler):
5650         * event-Xt.c (vars_of_event_Xt):
5651         * event-msw.c:
5652         * event-msw.c (mswindows_wnd_proc):
5653         * event-msw.c (vars_of_event_mswindows):
5654         rename {x,mswindows}-debug-events to debug-{}-events for
5655         consistency with other debug-foo variables.
5656
5657         * event-stream.c:
5658         document next-event more clearly.
5659
5660         * fileio.c (Ffile_name_directory):
5661         * fileio.c (Ffile_name_nondirectory):
5662         * fileio.c (Funhandled_file_name_directory):
5663         * fileio.c (file_name_as_directory):
5664         * fileio.c (Ffile_name_as_directory):
5665         * fileio.c (directory_file_name):
5666         * fileio.c (Fdirectory_file_name):
5667         * fileio.c (Fmake_temp_name):
5668         * fileio.c (Ffile_truename):
5669         * fileio.c (Fsubstitute_in_file_name):
5670         * fileio.c (expand_and_dir_to_file):
5671         * fileio.c (barf_or_query_if_file_exists):
5672         * fileio.c (check_executable):
5673         * fileio.c (Ffile_exists_p):
5674         * fileio.c (Ffile_writable_p):
5675         * fileio.c (Ffile_directory_p):
5676         * fileio.c (Ffile_regular_p):
5677         * fileio.c (Ffile_modes):
5678         * fileio.c (Ffile_newer_than_file_p):
5679         * fileio.c (Fverify_visited_file_modtime):
5680         * fileio.c (Fset_visited_file_modtime):
5681         * fileio.c (auto_save_1):
5682         (1). (2).
5683         fix up gcpro's.
5684
5685         * frame-msw.c:
5686         * frame-msw.c (mswindows_init_frame_1):
5687         * frame-msw.c (mswindows_enable_frame):
5688         * frame-msw.c (error_frame_unsizable):
5689         * frame-msw.c (msprinter_init_frame_1):
5690         * frame-msw.c (msprinter_init_frame_3):
5691         * frame-msw.c (console_type_create_frame_mswindows):
5692         (2).
5693         implement new enable/disable frame methods.
5694
5695         * frame-x.c:
5696         * frame-x.c (x_enable_frame):
5697         * frame-x.c (console_type_create_frame_x):
5698         implement new enable/disable frame methods.
5699
5700         * frame.c:
5701         * frame.c (Fdisable_frame):
5702         * frame.c (syms_of_frame):
5703         * frame.h (struct frame):
5704         implement new enable/disable frame methods/functions.
5705
5706         * general-slots.h:
5707         add initial-focus.
5708
5709         * glyphs-msw.c (mswindows_widget_instantiate):
5710         comment that initial-focus should be implemented.
5711
5712         * glyphs-widget.c:
5713         * glyphs-widget.c (check_valid_instantiator):
5714         * glyphs-widget.c (check_valid_orientation):
5715         * glyphs-widget.c (check_valid_tab_orientation):
5716         * glyphs-widget.c (check_valid_justification):
5717         * glyphs-widget.c (check_valid_border):
5718         * glyphs-widget.c (check_valid_callback):
5719         * glyphs-widget.c (check_valid_int_or_function):
5720         * glyphs-widget.c (check_valid_string_or_vector):
5721         * glyphs-widget.c (check_valid_item_list_1):
5722         * glyphs-widget.c (widget_validate):
5723         * glyphs-widget.c (combo_box_validate):
5724         * glyphs-widget.c (widget_instantiate):
5725         * glyphs-widget.c (syms_of_glyphs_widget):
5726         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5727         * glyphs-widget.c (image_instantiator_combo_box):
5728         * glyphs-widget.c (image_instantiator_scrollbar):
5729         * glyphs-widget.c (image_instantiator_tab_control):
5730         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5731         (2).
5732         support (unimplemented) keyword initial-focus.
5733         reindent long macros.
5734
5735         * glyphs-x.c (x_redisplay_widget):
5736         * glyphs-x.c (x_button_instantiate):
5737         * glyphs-x.c (x_button_redisplay):
5738         * glyphs-x.c (x_progress_gauge_instantiate):
5739         * glyphs-x.c (x_edit_field_instantiate):
5740         * glyphs-x.c (x_combo_box_instantiate):
5741         * glyphs-x.c (x_tab_control_instantiate):
5742         * glyphs-x.c (x_label_instantiate):
5743         * gui-x.c:
5744         * gui-x.c (button_item_to_widget_value):
5745         * gui-x.c (gui_items_to_widget_values_1):
5746         * gui-x.c (gui_item_children_to_widget_values):
5747         * gui-x.c (gui_items_to_widget_values):
5748         * gui-x.h:
5749         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5750         add new flag to gui-parsing routines to indicate whether
5751         accelerator specs should be supported.
5752
5753         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5754
5755         * glyphs.h (struct Lisp_Image_Instance):
5756         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5757         add initial-focus flag.
5758
5759         * gui.c:
5760         * gui.c (syms_of_gui):
5761         * gui.c (vars_of_gui):
5762         clean up menu-no-selection-hook.
5763
5764         * gui.h:
5765         support delete-dialog-box-hook.
5766
5767         * lread.c (Fload_internal):
5768         * lread.c (locate_file_in_directory_mapper):
5769         (1).
5770
5771         * lrecord.h:
5772         * lrecord.h (struct toolbar_button):
5773         * lrecord.h (syms_of_toolbar):
5774         document how to create a new object.
5775
5776         * menubar-msw.c (mswindows_char_is_accelerator):
5777         may be called on frames w/o menus.
5778
5779         * menubar.c (vars_of_menubar):
5780         clean up :filter docs.
5781
5782         * nt.c (readdir):
5783         * ntproc.c:
5784         (1).
5785
5786         * process-nt.c:
5787         * process-nt.c (validate_signal_number):
5788         * process-nt.c (signal_cannot_launch):
5789         * process-nt.c (nt_create_process):
5790         * process-nt.c (nt_send_process):
5791         * process-nt.c (nt_kill_child_process):
5792         * process-nt.c (nt_open_network_stream):
5793         * process-nt.c (syms_of_process_nt):
5794         (2).
5795         delete quote-handling.  call new lisp code that does it better.
5796
5797         * process-unix.c (connect_to_file_descriptor):
5798         * process-unix.c (allocate_pty):
5799         * process-unix.c (unix_send_process):
5800         * process-unix.c (unix_kill_child_process):
5801         * process-unix.c (unix_open_network_stream):
5802         * process-unix.c (unix_open_multicast_group):
5803         (1). (2).
5804
5805         * process.c:
5806         * process.c (Fstart_process_internal):
5807         (2).  need to canonicalize process path even if absolute.
5808
5809         * select-msw.c (symbol_to_ms_cf):
5810         * select-msw.c (ms_cf_to_symbol):
5811         * select-msw.c (cf_is_autofreed):
5812         * select-msw.c (mswindows_destroy_selection):
5813         * select.c:
5814         * select.c (syms_of_select):
5815         * select.h:
5816         support dibv5, fix bugs. (from Mike Alexander)
5817
5818         * select.c (Fget_selection_internal):
5819         * select.c (select_convert_out):
5820
5821         * sysdep.c:
5822         * sysdep.c (xemacs_stat):
5823         renamed.
5824
5825         * sysdep.c (mkdir):
5826         * sysdep.c (rmdir):
5827         but keep original stat() here because we provide encapsulation
5828         around these funs.
5829
5830         * sysfile.h:
5831         * sysfile.h (fstat):
5832         remove stat garbage.
5833
5834         * syswindows.h:
5835         fix X/MSW conflict.
5836         don't include tchar.h.  it's inappropriate because it makes
5837         compile-time distinctions when we want runtime distinctions.
5838         (we provide our own tchar replacements)
5839
5840         * toolbar.c:
5841         use default object printer for toolbar-button.
5842
5843         * unexcw.c:
5844         make sure we don't encapsulate.
5845
5846         * window.c (vars_of_window):
5847         emphasize that temp-buffer-show-hook is obsolete.
5848
5849 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5850
5851         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5852         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5853
5854         * events.c (Fevent_timestamp_lessp):
5855         Not 64-bit clean.  Use EMACS_INT, not int.
5856
5857 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5858
5859         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5860         unsigned int and changed the last enum to
5861         lrecord_type_last_built_in_type.
5862         (lrecord_implementations_table): changed prototype to know how
5863         long the array is supposed to be.
5864         (lrecord_type_count): new unsigned int to keep track of the
5865         current number of lisp lrecord types.
5866         (DEFINE_EXTERNAL_LRECORD):
5867         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5868         dynamic-modules to declare new lisp types. They are the same
5869         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5870         int for each new type, and increment lrecord_type_count by 1.
5871
5872         * alloc.c (lrecord_implementations_table): Changed to reference
5873         lrecord_type_last_built_in_type for the size of the array.
5874         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5875
5876 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5877
5878         * glyphs.h (check_valid_item_list): Renamed from
5879         check_valid_item_list_1.
5880
5881 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5882
5883         * select.c (Qselect_coerce): New.
5884         * select.c (Vselection_coercion_alist): New.
5885         * select.c (syms_of_select): Declare.
5886         * select.c (get-selection-internal): Use it.
5887         Use the new select-coerce functionality.
5888
5889         * select.c (select_coerce): New.
5890         * select.h (select_coerce): Declare.
5891         New function to coerce one type of data into another.
5892
5893 2000-08-03  Martin Buchholz  <martin@xemacs.org>
5894
5895         * callproc.c (Fcall_process_internal):
5896         (Fcall_process_internal):
5897         * process-unix.c (unix_create_process):
5898         Save and restore the value of errno, so that error messages are accurate.
5899
5900 2000-08-01  Martin Buchholz  <martin@xemacs.org>
5901
5902         * elhash.c (print_hash_table):
5903         Fix printing of hash tables to also use `key-and-value' instead of `t'.
5904         Prettify docstrings and indentation.
5905
5906 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5907
5908         * window.c (Fwindow_pixel_edges): Subtract frame border and
5909         gutter size.
5910
5911 2000-07-31  Andy Piper  <andy@xemacs.org>
5912
5913         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
5914         will acknowledge the change.
5915
5916         * glyphs.h: declare tab_control_order_only_changed.
5917
5918         * glyphs-x.c (x_tab_control_redisplay): use
5919         tab_control_order_only_changed.
5920
5921         * glyphs-widget.c (tab_control_order_only_changed): new function.
5922
5923         * glyphs-msw.c (mswindows_tab_control_redisplay): use
5924         tab_control_order_only_changed.
5925
5926         * gui.c (gui_item_equal_sans_selected): new function.
5927         (gui_item_equal): use it.
5928
5929         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
5930         :properties in favor of :items..
5931
5932         * glyphs-widget.c (check_valid_item_list): rename from
5933         check_valid_item_list_1.
5934         (check_valid_item_list_1): renamed.
5935         (combo_box_validate): deprecate :properties in favor of :items.
5936         (widget_instantiate): ditto.
5937         (tab_control_update): ditto.
5938         (image_instantiator_combo_box): ditto.
5939         (image_instantiator_tree_view): ditto.
5940         (image_instantiator_tab_control): ditto.
5941         (layout_post_instantiate): remove dead code.
5942
5943         * print.c (debug_print_no_newline): only write to debugger if in
5944         WIN32_NATIVE.
5945
5946         * elhash.c (Fmake_hash_table): update doc string.
5947
5948         * event-msw.c (mswindows_wnd_proc): don't allow processing of
5949         messages whilst in GC. This at least stops XEmacs crashing but has
5950         the potential for wierd behaviour.
5951
5952 2000-07-31  Martin Buchholz  <martin@xemacs.org>
5953
5954         * config.h.in:
5955         Make existence of s&m files optional.
5956
5957         * s/bsd386.h: Remove HAVE_GETLOADAVG.
5958         * s/freebsd.h: Remove HAVE_GETLOADAVG.
5959         * s/gnu.h: Remove HAVE_GETLOADAVG.
5960         * s/netbsd.h: Remove HAVE_GETLOADAVG.
5961         * s/sol2.h: Remove HAVE_GETLOADAVG.
5962         * lisp.h: Remove getloadavg() declaration.
5963         * fns.c:
5964         Include <sys/loadavg.h> if available.
5965         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
5966         * config.h.in:  Group together getloadavg()-related macros.
5967         Use only configure-time tests to detect getloadavg().
5968
5969 2000-07-30  Martin Buchholz  <martin@xemacs.org>
5970
5971         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
5972
5973 2000-07-25  Andy Piper  <andy@xemacs.org>
5974
5975         * syswindows.h: add tchar.h for native builds.
5976
5977         * frame.c (syms_of_frame): remove set-glyph-image.
5978
5979         * general-slots.h: add Qset_glyph_image.
5980
5981         * glyphs-widget.c (layout_update): add domain arg to
5982         set-glyph-image.
5983         (syms_of_glyphs_widget): remove set-glyph-image.
5984
5985 2000-07-23  Ben Wing  <ben@xemacs.org>
5986
5987         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
5988         Vpopup_frame_list.
5989
5990 2000-07-22  Andy Piper  <andy@xemacs.org>
5991
5992         * symsinit.h: add syms_of_win32().
5993
5994         * gui-msw.c (syms_of_gui_mswindows): remove
5995         Fmswindows_shell_execute.
5996         (Fmswindows_shell_execute): moved to win32.c.
5997
5998         * emacs.c (main_1): add syms_of_win32 ().
5999
6000         * win32.c (init_potentially_nonexistent_functions): rewrite in
6001         compiler-friendly terms.
6002         (Fmswindows_shell_execute): move here from gui-msw.c.
6003         (syms_of_win32): new.
6004
6005         * device-msw.c (Fmswindows_printer_list): clean up args to
6006         EnumPrinters.
6007         Don't include tchar under cygwin or mingw.
6008         (msprinter_default_printer): make cygwin-friendly.
6009
6010 2000-07-21  Andy Piper  <andy@xemacs.org>
6011
6012         * glyphs-widget.c (image_instantiator_tree_view): use tab
6013         control's update function.
6014         (layout_property): new function. Retrieve items.
6015
6016         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6017         function. Re-populate the tree view from the pending items.
6018
6019         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6020         is designated the parent if the domain is an image instance. This
6021         is needed so that dirtiness can be cascade up the hierarchy and
6022         thus for layout children to be redisplayed correctly.
6023         (allocate_image_instance): rename glyph -> parent.
6024
6025         * redisplay.h: change redisplay_output_layout signature.
6026
6027         * redisplay-msw.c (mswindows_output_display_block): use domain
6028         arg.
6029
6030         * redisplay-x.c (x_output_display_block): use domain arg.
6031
6032 2000-07-10  Andy Piper  <andy@xemacs.org>
6033
6034         * window.c (Fset_window_configuration): add comment.
6035
6036         * redisplay-output.c (compare_runes):
6037         (redisplay_output_subwindow): redisplay rather than update subwindow.
6038         (redisplay_output_layout): ditto.
6039
6040         * redisplay-msw.c (mswindows_frame_output_end):
6041         (mswindows_frame_output_end): make defer window pos optional.
6042
6043         * lisp.h: add Flast.
6044
6045         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6046         normalize method. Change update method to be for changed
6047         instantiators. Add redisplay method. Change signature of layout
6048         method.
6049         (struct Lisp_Image_Instance): add instantiator.
6050         (IMAGE_INSTANCE_INSTANTIATOR): new.
6051         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6052         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6053         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6054
6055         * glyphs.c:
6056         (find_instantiator_differences): new function.
6057         (Fset_instantiator_property): new convenience function.
6058         (check_image_instance_structure): strictly check for vector
6059         instantiators.
6060         (normalize_image_instantiator): make non-static.
6061         (instantiate_image_instantiator): pass on dest_mask and use new
6062         signatures for image_instance_layout and friends.
6063         (mark_image_instance): mark the instantiator. Mark the subwindow
6064         face not the widget face.
6065         (image_instance_equal): add instantiator.
6066         (image_instance_hash): ditto.
6067         (allocate_image_instance): ditto.
6068         (Fset_image_instance_property): removed.
6069         (Fimage_instance_file_name): ditto.
6070         (Fcolorize_image_instance): ditto.
6071         (image_instance_layout): add offsets to be set.
6072         (update_image_instance): new function. update an image instance
6073         from its changed instantiator.
6074         (inherit_normalize): add dest_mask.
6075         (xbm_normalize): ditto.
6076         (xface_normalize): ditto.
6077         (xpm_normalize): ditto.
6078         (text_update): set_property -> update.
6079         (image_instantiate): use the glyph identity as a hash key, not the
6080         instantiator.
6081         (glyph_width): use new image_instance_layout signature.
6082         (glyph_ascent): ditto.
6083         (glyph_descent): ditto.
6084         (glyph_height): ditto.
6085         (glyph_query_geometry): ressurrect.
6086         (glyph_layout): ditto.
6087         (redisplay_subwindow): update -> redisplay.
6088         (syms_of_glyphs): add Fset_instantiator_property.
6089         (image_instantiator_format_create): set_property -> update.
6090
6091         * glyphs-x.c:
6092         (autodetect_normalize): add dest_maks to signature.
6093         (x_redisplay_subwindow): update -> redisplay.
6094         (x_redisplay_widget): ditto.
6095         (x_button_redisplay): ditto.
6096         (x_progress_gauge_redisplay): ditto.
6097         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6098         stacking order.
6099         (console_type_create_glyphs_x): update -> redisplay.
6100         (image_instantiator_format_create_glyphs_x): ditto.
6101
6102         * glyphs-widget.c:
6103         (check_valid_instantiator): disallow glyphs in the instantiator,
6104         they must now be vectors.
6105         (check_valid_instantiator_list): ditto.
6106         (glyph_instantiator_to_glyph): use internal symbol rather than
6107         intern.
6108         (widget_update): renamed from widget_set_property. Call cascaded
6109         update methods.
6110         (redisplay_widget): renamed from update_widget.
6111         (widget_layout): image_instance_layout now takes position as well
6112         as size.
6113         (widget_normalize): ditto.
6114         (widget_instantiate): ditto.
6115         (tab_control_query_geometry) ditto.:
6116         (tab_control_update): renamed from tab_control_set_property.
6117         (progress_gauge_update): set_property -> update.
6118         (layout_normalize): rewrite so that child instantiators are
6119         normalized also.
6120         (layout_update): new function. Create glyphs from the normalized
6121         children and cope with any other layout keywords. We do not
6122         instantiate children here that will be take care of by
6123         redisplay_output_layout.
6124         (layout_instantiate): call layout_update and not much else.
6125         (layout_post_instantiate): not sure whether this is needed
6126         anymore.
6127         (layout_query_geometry): query glyph geometry rather than
6128         image_instance geometry.
6129         (layout_layout): set offsets from pass in parameters. Use glyph
6130         geometry and layout functions rather than image instance ones.
6131         (native_layout_layout): ditto.
6132         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6133         (image_instantiator_widget): set_property -> update.
6134         (image_instantiator_buttons): ditto.
6135         (image_instantiator_progress_guage): ditto.
6136         (image_instantiator_tab_control): ditto.
6137         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6138         (image_instantiator_layout): add update method.
6139
6140         * glyphs-msw.c (bmp_normalize):
6141         (mswindows_resource_normalize): add dest_mask so that it can be
6142         proprogated by layout_normalize.
6143         (begin_defer_window_pos): make optional because it may not be the
6144         right thing to do and it introduces differences with X.
6145         (mswindows_unmap_subwindow): ditto.
6146         (mswindows_map_subwindow): ditto.
6147         (mswindows_redisplay_subwindow): renamed from
6148         mswindows_update_subwindow.
6149         (mswindows_redisplay_widget): ditto.
6150         (mswindows_button_redisplay): renamed from
6151         mswindows_button_update. Update is now what the instantiation
6152         function does for a changed instantiator.
6153         (mswindows_progress_gauge_instantiate): set the progress value
6154         here if appropriate.
6155         (mswindows_tab_control_redisplay): cope with re-ordering of the
6156         members of the tab widget by simply selecting the new top
6157         widget. This makes things appear ok if you click on a tab.
6158         (mswindows_combo_box_instantiate): image_instance_layout now takes
6159         position as well as size.
6160         (mswindows_progress_gauge_redisplay): renamed from
6161         mswindows_progress_gauge_update.
6162         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6163         (image_instantiator_format_create_glyphs_mswindows): ditto.
6164
6165         * glyphs-eimage.c (jpeg_normalize):
6166         (gif_normalize):
6167         (png_normalize):
6168         (tiff_normalize): add dest_mask so that it can be proprogated by
6169         layout_normalize.
6170
6171         * elhash.c:
6172         (print_hash_table):
6173         (hash_table_weakness_validate):
6174         (decode_hash_table_weakness):
6175         (Fhash_table_weakness):
6176         (Fhash_table_type):
6177         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6178
6179         * console.h (struct console_methods): move update_* to
6180         redisplay_*.
6181
6182 2000-07-20  Ben Wing  <ben@xemacs.org>
6183
6184         * *.[ch] (XSETOBJ): remove unused middle argument.
6185         lisp-disunion.h: correct wrap_object() to one argument.
6186
6187 2000-07-15  Ben Wing  <ben@xemacs.org>
6188
6189         * s/cygwin32.h:
6190         * s/cygwin32.h (CYGWIN_CONV_PATH):
6191         Add missing logb prototype for v1.1.
6192         Use post-b20 names and alias to pre-b20 names when pre-b20.
6193
6194         * s/windowsnt.h: [5].
6195
6196 2000-07-15  Ben Wing  <ben@xemacs.org>
6197
6198         * Makefile.in.in (x_objs):
6199         * Makefile.in.in (sheap_objs):
6200         * Makefile.in.in (objs):
6201         added win32.o, cosmetic cleanups.
6202
6203         * alloc.c (Fmake_byte_code):
6204         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6205         etc. macros which declare their own args now.
6206
6207         * alloc.c (syms_of_alloc):
6208         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6209
6210         * buffer.c:
6211         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6212
6213         * buffer.c (Fget_file_buffer):
6214         Fixed GCPRO problem.
6215
6216         * buffer.c (get_truename_buffer):
6217         Fixed comment about GC checking.
6218
6219         * buffer.c (syms_of_buffer):
6220         Undeclared those dedicated frame funs.
6221         [2].
6222
6223         * buffer.h:
6224         Define convenience macros for internal/external conversions.
6225         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6226         and Qenvironment_variable_encoding for cleaner code.
6227
6228         * bufslots.h:
6229         Remove dedicated-frame; in lisp.
6230
6231         * bytecode.c (funcall_compiled_function):
6232         [1].
6233
6234         * bytecode.c (syms_of_bytecode):
6235         [2].
6236
6237         * console-msw.c:
6238         * console-msw.c (mswindows_show_console): Rewrote.
6239
6240         * console-msw.c (Fmswindows_debugging_output): New.
6241         Sends to OutputDebugString (special MSWin debugger interface).
6242
6243         * console-msw.c (Fmswindows_message_box):
6244         Fixed stupid bugs so it works when called from kill-emacs.
6245
6246         * console-msw.c (syms_of_console_mswindows):
6247         Declare Fmswindows_debugging_output.
6248
6249         * console-msw.h:
6250         New MSWin prototypes.
6251
6252         * console-msw.h (struct mswindows_frame):
6253         New entry last-click-mods for improved button-modifier support.
6254
6255         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6256         New struct entry `popup' with corresponding accessor.
6257
6258         * console-x.c:
6259         * console-x.c (split_up_display_spec):
6260         * console-x.c (get_display_arg_connection):
6261         * console-x.c (x_semi_canonicalize_console_connection):
6262         * console-x.c (x_canonicalize_device_connection):
6263         [[[6]]]: Change char to more specific type.
6264         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6265
6266         * console-x.c (x_semi_canonicalize_console_connection):
6267         * console-x.c (x_canonicalize_device_connection):
6268         [[[9]]]: Fix up error signalling to use new structured error system.
6269
6270         * console-x.h:
6271         [[[4]]]: Define codesys aliases:
6272         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6273         Qx_color_name_encoding, Qx_display_name_encoding.
6274
6275         * console.h (struct console_methods):
6276         New method make_dialog_box_internal supersedes older
6277         popup_dialog_box method.
6278
6279         * data.c:
6280         Define many new errors, part of new structured errors.
6281
6282         * data.c (init_errors_once_early):
6283         * data.c (syms_of_data):
6284         [2].
6285
6286         * device-msw.c (mswindows_init_device):
6287         [[[5]]]: Cleanup to support NT 3.51.
6288
6289         * device-msw.c (decode_devmode): Cleanup.
6290
6291         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6292         * device-msw.c (mswindows_handle_print_dialog_box):
6293         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6294         * device-msw.c (syms_of_device_mswindows):
6295         Delete the dialog box primitives recently introduced by Kirill and
6296         instead interface to general dialog box interface.
6297
6298         * device-x.c:
6299         * device-x.c (compute_x_app_name):
6300         * device-x.c (x_init_device):
6301         * device-x.c (Fx_valid_keysym_name_p):
6302         * device-x.c (Fx_set_font_path):
6303         [6].
6304         [7].
6305
6306         * device.h (wrap_device): New.
6307         First of its kind; meant to replace XSETDEVICE.
6308
6309         * dialog-msw.c: Many file-dialog symbols.
6310
6311         * dialog-msw.c (mswindows_register_popup_frame): New.
6312         * dialog-msw.c (mswindows_is_dialog_msg): New.
6313         For supporting kbd traversal in dialog boxes.
6314
6315         * dialog-msw.c (dialog_proc):
6316         Support hitting ESC in dialogs.
6317
6318         * dialog-msw.c (struct):
6319         Common dialog box errors.
6320
6321         * dialog-msw.c (handle_file_dialog_box): New.
6322         Add file dialog code.
6323
6324         * dialog-msw.c (handle_question_dialog_box):
6325         Redo existing code to support new question dialog syntax.
6326
6327         * dialog-msw.c (console_type_create_dialog_mswindows):
6328         We support new dialog console method.
6329
6330         * dialog-msw.c (syms_of_dialog_mswindows):
6331         * dialog-msw.c (vars_of_dialog_mswindows):
6332         New file dialog symbols, vars.
6333
6334         * dialog-x.c:
6335         * dialog-x.c (maybe_run_dbox_text_callback):
6336         * dialog-x.c (dbox_descriptor_to_widget_value):
6337         * dialog-x.c (x_make_dialog_box_internal):
6338         * dialog-x.c (console_type_create_dialog_x):
6339         Mule-ize entire file.
6340         Redo to support question dialog syntax.
6341         [6].
6342
6343         * dialog.c:
6344         * dialog.c (Fmake_dialog_box_internal):
6345         * dialog.c (syms_of_dialog):
6346         Kill old popup-dialog-box, replace with new primitive.
6347         Just call device method or signal error.
6348
6349         * eldap.c (Fldap_open):
6350         * eldap.c (Fldap_search_basic):
6351         * eldap.c (Fldap_add):
6352         * eldap.c (Fldap_modify):
6353         [1].
6354         [7].
6355
6356         * emacs.c:
6357         * emacs.c (make_arg_list_1):
6358         * emacs.c (make_arg_list):
6359         Mule-ize call to dll_init().
6360         [6].
6361         [8].
6362
6363         * emacs.c (make_argc_argv):
6364         * emacs.c (free_argc_argv):
6365         * emacs.c (init_cmdargs):
6366         * emacs.c (main_1):
6367         * emacs.c (Fkill_emacs):
6368         * emacs.c (Fdump_emacs):
6369         Update comments about what can be used in syms_* etc.
6370         Call init_win32() when necessary.
6371         Fix up MS Win dialog box in kill-buffer to actually work right.
6372         [7].
6373
6374         * eval.c:
6375         * eval.c (For):
6376         * eval.c (Fand):
6377         * eval.c (Fprogn):
6378         * eval.c (Fprog1):
6379         * eval.c (Fprog2):
6380         * eval.c (FletX):
6381         * eval.c (Flet):
6382         * eval.c (condition_case_3):
6383         * eval.c (Feval):
6384         * eval.c (function_argcount):
6385         * eval.c (funcall_lambda):
6386         [1].
6387
6388         * eval.c (type_error): New.
6389         * eval.c (maybe_type_error): New.
6390         * eval.c (continuable_type_error): New.
6391         * eval.c (maybe_continuable_type_error): New.
6392         * eval.c (type_error_with_frob): New.
6393         * eval.c (maybe_type_error_with_frob): New.
6394         * eval.c (continuable_type_error_with_frob): New.
6395         * eval.c (maybe_continuable_type_error_with_frob): New.
6396         New functions for use with structured errors.
6397
6398         * event-Xt.c:
6399         * event-Xt.c (x_event_to_emacs_event):
6400         Buttons are now modifiers too.
6401
6402         * event-Xt.c (emacs_Xt_current_event_timestamp):
6403         Implement new event method.
6404         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6405
6406         * event-msw.c:
6407         * event-msw.c (ntpipe_shove_writer): [5].
6408         * event-msw.c (mswindows_enqueue_mouse_button_event):
6409         * event-msw.c (mswindows_drain_windows_queue):
6410         * event-msw.c (mswindows_wnd_proc): [7].
6411         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6412         * event-msw.c (mswindows_modifier_state):
6413         Throughout: support new button modifiers.
6414
6415         * event-msw.c (emacs_mswindows_current_event_timestamp):
6416         Implement new event method.
6417         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6418
6419         * event-stream.c:
6420         * event-stream.c (event_stream_current_event_timestamp): New.
6421         * event-stream.c (maybe_kbd_translate): New functionality.
6422         * event-stream.c (vars_of_event_stream):
6423         Document new kbd-translate-table functionality.
6424
6425         * event-stream.c (Fcurrent_event_timestamp): New.
6426         New primitive for use in fabricated events.
6427         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6428
6429         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6430
6431         * events.c:
6432         * events.c (Fmake_event):
6433         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6434         [1].
6435         [9].
6436
6437         * events.c (format_event_object): fix gcc warnings.
6438
6439         * events.c (Fevent_timestamp): Document new primitives.
6440
6441         * events.c (TIMESTAMP_HALFSPACE): New.
6442
6443         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6444         comparing timestamps correctly (half-space algorithm).
6445
6446         * events.c (Fevent_modifier_bits): Doc fix.
6447
6448         * events.c (Fevent_modifiers): Major doc addition.
6449         * events.c (event_x_y_pixel_internal): Typo fix.
6450         * events.c (syms_of_events): Declare new primitives.
6451
6452         * events.h:
6453         Update long comment for button modifiers, timestamps.
6454
6455         * events.h (struct event_stream):
6456         New current_event_timestamp method.
6457
6458         * extents.c:
6459         * extents.c (extent_in_region_p):
6460         * extents.c (decode_extent):
6461         * extents.c (Fset_extent_parent):
6462         * extents.c (decode_map_extents_flags):
6463         Fix gcc warnings.
6464         [9].
6465
6466         * extents.c (struct extent_at_arg):
6467         * extents.c (decode_extent_at_flag):
6468         * extents.c (extent_at_mapper):
6469         * extents.c (extent_at_bytind):
6470         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6471         * extents.c (Fextents_at): New primitive. [9].
6472         * extents.c (symbol_to_glyph_layout): [9].
6473         Support new primitive `extents-at'.
6474
6475
6476         * extents.c (get_text_property_bytind):
6477         extent_at_bytind has another arg.
6478         [9].
6479
6480         * extents.c (syms_of_extents): New primitive.
6481
6482         * file-coding.c (Fmake_coding_system): [1].
6483         * file-coding.c (subsidiary_coding_system): fix gcc warning
6484         * file-coding.c (syms_of_file_coding): [2].
6485
6486         * fileio.c (Fexpand_file_name):
6487         * fileio.c (Fsysnetunam):
6488         * fileio.c (Ffile_exists_p):
6489         * fileio.c (Ffile_executable_p):
6490         * fileio.c (Fverify_visited_file_modtime):
6491         Clean up GCPROing.
6492
6493         * fileio.c (syms_of_fileio): [2].
6494
6495         * filelock.c (lock_file_1):
6496         * filelock.c (current_lock_owner):
6497         * filelock.c (lock_if_free):
6498         * filelock.c (lock_file):
6499         * filelock.c (unlock_file):
6500         Clean up GCPROing.
6501
6502         * fns.c (concat): Fix gcc warning.
6503
6504         * fns.c (Fmember):
6505         * fns.c (Fold_member):
6506         * fns.c (Fmemq):
6507         * fns.c (Fold_memq):
6508         * fns.c (memq_no_quit):
6509         * fns.c (Fassoc):
6510         * fns.c (Fold_assoc):
6511         * fns.c (Fassq):
6512         * fns.c (Fold_assq):
6513         * fns.c (assq_no_quit):
6514         * fns.c (Frassoc):
6515         * fns.c (Fold_rassoc):
6516         * fns.c (Frassq):
6517         * fns.c (Fold_rassq):
6518         * fns.c (rassq_no_quit):
6519         * fns.c (Fdelete):
6520         * fns.c (Fold_delete):
6521         * fns.c (Fdelq):
6522         * fns.c (Fold_delq):
6523         * fns.c (delq_no_quit):
6524         * fns.c (Fremassoc):
6525         * fns.c (Fremassq):
6526         * fns.c (remassq_no_quit):
6527         * fns.c (Fremrassoc):
6528         * fns.c (Fremrassq):
6529         * fns.c (remrassq_no_quit):
6530         * fns.c (Freverse):
6531         * fns.c (mapcar1):
6532         [1].
6533
6534         * frame-msw.c (mswindows_init_frame_1):
6535         * frame-msw.c (mswindows_delete_frame):
6536         Register popups with dialog code so keyboard traversing works.
6537
6538         * frame-tty.c (tty_raise_frame_no_select): [1].
6539
6540         * frame-x.c:
6541         * frame-x.c (x_set_frame_text_value):
6542         * frame-x.c (x_set_frame_properties):
6543         * frame-x.c (x_create_widgets):
6544         [7].
6545
6546         * frame.c:
6547         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6548
6549         * frame.h (wrap_frame): New.
6550         Macro like wrap_device.
6551
6552         * general.c:
6553         * general.c (SYMBOL):
6554         * general.c (syms_of_general):
6555         Major reorg.  This is now just a wrapper and symbols themselves
6556         are listed in general-slots.h.
6557
6558         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6559         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6560
6561         * glyphs-msw.c (mswindows_native_layout_instantiate):
6562         Add DS_CONTROL so keyboard traversal will work.
6563
6564         * glyphs-widget.c:
6565         * glyphs-widget.c (syms_of_glyphs_widget):
6566         Move some symbols to general-slots.h.
6567
6568         * glyphs-x.c:
6569         * glyphs-x.c (xbm_instantiate_1):
6570         * glyphs-x.c (x_xbm_instantiate):
6571         * glyphs-x.c (x_xface_instantiate):
6572         * glyphs-x.c (autodetect_instantiate):
6573         * glyphs-x.c (cursor_font_instantiate):
6574         * glyphs-x.c (x_update_widget):
6575         * glyphs-x.c (x_widget_instantiate):
6576         * glyphs.c (bitmap_to_lisp_data):
6577         * glyphs.c (pixmap_to_lisp_data):
6578         [7].
6579
6580         * glyphs.c (syms_of_glyphs):
6581         [2].
6582
6583         * gui-x.c:
6584         * gui-x.c (print_widget_value):
6585         * gui-x.c (menu_separator_style_and_to_external):
6586         * gui-x.c (add_accel_and_to_external):
6587         * gui-x.c (button_item_to_widget_value):
6588         * gui-x.c (gui_items_to_widget_values_1):
6589         * gui-x.c (gui_items_to_widget_values):
6590         * gui-x.c (syms_of_gui_x):
6591         * gui-x.c (vars_of_gui_x):
6592         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6593         [9].
6594
6595         * gui-x.h:
6596         Muleize, prototype changes matching gui-x.c.
6597
6598         * gui.c:
6599         * gui.c (separator_string_p):
6600         * gui.c (gui_item_add_keyval_pair):
6601         * gui.c (make_gui_item_from_keywords_internal):
6602         * gui.c (signal_too_long_error):
6603         * gui.c (parse_gui_item_tree_item):
6604         * gui.c (syms_of_gui):
6605         * gui.c (vars_of_gui):
6606         * gui.h:
6607         menu-no-selection-hook moved here (used by MSWin).
6608         Move some symbols to general-slots.h.
6609         [6].
6610         [9].
6611
6612         * insdel.c (get_buffer_pos_char):
6613         * insdel.c (get_buffer_range_char):
6614         Add GC comments.
6615
6616         * keymap.c (keymap_lookup_directly):
6617         * keymap.c (keymap_store):
6618         * keymap.c (ensure_meta_prefix_char_keymapp):
6619         * keymap.c (describe_map):
6620         * keymap.h:
6621         Support new button modifiers.
6622
6623         * lisp-disunion.h (wrap_object):
6624         * lisp-disunion.h (XSETOBJ):
6625         Rename make_obj to wrap_object.
6626
6627         * lisp-union.h:
6628         * lisp-union.h (make_int):
6629         * lisp-union.h (make_char):
6630         Support wrap_object.
6631
6632         * lisp.h:
6633         * lisp.h (LIST_LOOP):
6634         * lisp.h (EXTERNAL_LIST_LOOP):
6635         * lisp.h (LIST_LOOP_2):
6636         * lisp.h (EXTERNAL_LIST_LOOP_1):
6637         * lisp.h (EXTERNAL_LIST_LOOP_2):
6638         * lisp.h (EXTERNAL_LIST_LOOP_3):
6639         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6640         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6641         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6642         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6643         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6644         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6645         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6646         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6647         * lisp.h (struct Lisp_Symbol):
6648         * lisp.h (maybe_continuable_error_with_frob):
6649         Fix up section comments.
6650         Add new types for char to indicate usage.
6651         Delete symbols auto-generated from general-slots.h.
6652         Add prototypes for structured error functions.
6653         Add long comments describing looping macros and change interface
6654         so that lvalues are automatically declared.
6655         Add NO_DECLARE macro in case callers want to declare lvalues
6656         themselves.
6657
6658         * lread.c (read_syntax_error):
6659         * lread.c (continuable_read_syntax_error):
6660         * lread.c (read_structure):
6661         * lread.c (sequence_reader):
6662         * lread.c (read_list_conser):
6663         * lread.c (read_compiled_function):
6664         Rename syntax_error and continuable_syntax_error to avoid clash
6665         with same-named structured error functions.
6666
6667         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6668         * menubar-msw.c (populate_menu_add_item):
6669         * menubar-msw.c (populate_or_checksum_helper):
6670         [5].
6671         [9].
6672
6673         * menubar-x.c:
6674         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6675         Mule-ize whole file.
6676
6677         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6678
6679         * mule-charset.c (Fmake_charset):
6680         * mule-wnnfns.c (Fwnn_set_param):
6681         [1].
6682
6683         * ntproc.c (create_child):
6684         * ntproc.c (Fwin32_set_current_locale):
6685         Add comments portending doom.
6686
6687         * objects-msw.c:
6688         * objects-msw.c (old_font_enum_callback_2):
6689         * objects-msw.c (font_enum_callback_1):
6690         * objects-msw.c (mswindows_enumerate_fonts):
6691         [5].
6692
6693         * objects-x.c:
6694         * objects-x.c (allocate_nearest_color):
6695         * objects-x.c (x_parse_nearest_color):
6696         * objects-x.c (x_initialize_color_instance):
6697         * objects-x.c (x_print_color_instance):
6698         * objects-x.c (x_finalize_color_instance):
6699         * objects-x.c (x_valid_color_name_p):
6700         * objects-x.c (x_initialize_font_instance):
6701         * objects-x.c (x_print_font_instance):
6702         * objects-x.c (valid_x_font_name_p):
6703         * objects-x.c (truename_via_FONT_prop):
6704         * objects-x.c (truename_via_random_props):
6705         * objects-x.c (truename_via_XListFonts):
6706         * objects-x.c (x_font_truename):
6707         * objects-x.c (x_font_instance_truename):
6708         * objects-x.c (x_font_instance_properties):
6709         * objects-x.c (x_list_fonts):
6710         * objects-x.c (x_find_charset_font):
6711         Mule-ize entire file.
6712         [7].
6713
6714         * objects-x.h:
6715         Mule-verify.
6716
6717         * print.c:
6718         * print.c (std_handle_out_external):
6719         * print.c (debug_print_no_newline):
6720         * print.c (syms_of_print):
6721         Output to all debugger kinds in debug-print.
6722         Fix console-output code under MSWin to actually work.
6723
6724         * process-nt.c (send_signal):
6725         * process-nt.c (nt_create_process):
6726         Use newer Unicode macros.
6727
6728         * process-unix.c (unix_create_process):
6729         * process-unix.c (unix_canonicalize_host_name):
6730         * process-unix.c (unix_open_network_stream):
6731         [7].
6732
6733         * scrollbar-x.c:
6734         Mule-verify.
6735
6736         * search.c (syms_of_search):
6737         [2].
6738
6739         * select-msw.c (mswindows_destroy_selection):
6740         Use LIST_LOOP_2.
6741
6742         * select-x.c (symbol_to_x_atom):
6743         [7].
6744
6745         * select.c (syms_of_select):
6746         [2].
6747
6748         * sound.c (Fplay_sound_file):
6749         [7].
6750
6751         * specifier.c:
6752         * specifier.c (decode_specifier_type):
6753         * specifier.c (Fvalid_specifier_locale_type_p):
6754         * specifier.c (check_valid_locale_or_locale_type):
6755         * specifier.c (decode_locale):
6756         * specifier.c (decode_locale_type):
6757         * specifier.c (decode_locale_list):
6758         * specifier.c (check_valid_domain):
6759         * specifier.c (decode_specifier_tag_set):
6760         * specifier.c (Fcanonicalize_tag_set):
6761         * specifier.c (Fdefine_specifier_tag):
6762         * specifier.c (Fspecifier_tag_predicate):
6763         * specifier.c (check_valid_inst_list):
6764         * specifier.c (check_valid_spec_list):
6765         * specifier.c (decode_how_to_add_specification):
6766         * specifier.c (check_modifiable_specifier):
6767         * specifier.c (specifier_add_spec):
6768         * specifier.c (boolean_validate):
6769         * specifier.c (display_table_validate):
6770         [9].
6771
6772         * specifier.c (syms_of_specifier):
6773         Move some symbols to general-slots.h.
6774         [2].
6775
6776         * symbols.c:
6777         * symbols.c (Fmapatoms):
6778         * symbols.c (Fapropos_internal):
6779         Add GCPROs.
6780
6781         * symbols.c (set_default_buffer_slot_variable):
6782         * symbols.c (set_default_console_slot_variable):
6783         [1].
6784
6785         * symbols.c (defsymbol_massage_name_1):
6786         * symbols.c (defkeyword_massage_name):
6787         * symbols.c (deferror_1):
6788         * symbols.c (deferror):
6789         * symbols.c (deferror_massage_name_and_message):
6790         * symeval.h:
6791         * symeval.h (DEFSYMBOL):
6792         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6793
6794         * symbols.c (syms_of_symbols):
6795         [2].
6796
6797         * symsinit.h:
6798         * symsinit.h (init_win32): New.
6799         Also new is syms_of_dialog_mswindows.
6800
6801         * syswindows.h:
6802         Add new Unicode macros, missing Cygwin wide-char functions,
6803         convenience conversion macros for Qmswindows_tstr, macros for
6804         encapsulating required MSWin <-> Cygwin filename conversions,
6805         prototype for dynamically-extracted (not in NT 3.51) functions.
6806
6807         * toolbar-x.c:
6808         Mule-verify.
6809
6810         * tooltalk.c (Fadd_tooltalk_message_arg):
6811         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6812         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6813         [7].
6814
6815         * tooltalk.c (syms_of_tooltalk):
6816         [2].
6817
6818         * unexnt.c:
6819         * unexnt.c (unexec):
6820         Fix up headers, declaration of unexec() to be more standard.
6821
6822 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6823
6824         * offix.h: Revert change to guard macros - they're used in offix.c!
6825
6826 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6827
6828         * lisp.h: Defsubred Fdelete.
6829
6830         * console-msw.h:  (msprinter_default_printer): Added.
6831
6832         * console-msw.c (msprinter_canonicalize_console_connection):
6833         (msprinter_canonicalize_device_connection): Added.
6834
6835         * device-msw.c (msprinter_default_printer):
6836         (Fmswingows_get_default_printer):
6837         (signal_enum_priner_error):
6838         (Fmswingows_printer_list): Added.
6839
6840 2000-07-19  Martin Buchholz <martin@xemacs.org>
6841
6842         * XEmacs 21.2.35 is released.
6843
6844 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6845
6846         * select-x.c (x_handle_selection_request):
6847         Text selected in xemacs and pasted into xterm failed to appear.
6848         Spelling fixes and cosmetic changes.
6849
6850 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6851
6852         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6853         XEmacs frame (fix for doubling chars in dialog boxes).
6854
6855 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6856
6857         * select.c (select_convert_in, select_convert_out):
6858         Don't call intern() every time.
6859
6860         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6861         * select.c (vars_of_select): Initialise them.
6862
6863 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6864
6865         * select.c (selection-coercible-types): New.
6866
6867         * select.c (own-selection-internal):
6868         * select.c (get-selection-internal):
6869         MULE bug fix - these should default to COMPOUND_TEXT and not
6870         STRING for MULE. I think.
6871
6872         * select.c (select_convert_out): Use selection-coercible-types
6873         to find types that we can attempt to perform coercions on.
6874
6875 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6876
6877         * mule-wnnfns.c:
6878         * mule-canna.c:
6879         Add coding: cookie to identify encoding.
6880
6881         * mule-canna.c (CANNA_mode_keys): make static.
6882         Use proper prototypes, even for functions of no arguments.
6883         Remove external prototype for Fding().
6884
6885         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6886
6887         * select.c (syms_of_select): Add missing DEFSUBR.
6888
6889 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6890
6891         * select.c (get_selection_internal, own_selection_internal):
6892         Make the type default to STRING, rather than placing a nil type
6893         into Vselection_alist.
6894
6895 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6896
6897         * gpmevent.c (tty_selection_exists_p):
6898         * gpmevent.c (tty_own_selection):
6899         Updated parameter lists.
6900
6901 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
6902
6903         * select.h (selection-alist): Removed declaration.
6904
6905         * select.h (get_local_selection):
6906         * select.c (get_local_selection):
6907         Made static.
6908
6909         * select.h (convert_selection): Removed declaration.
6910         * select.c (convert_selection): Removed.
6911         This function belongs in Lisp.
6912
6913         * select.h (select_convert_in): Declare.
6914         * select.h (select_convert_out): Declare.
6915         * select.c (select_convert_in): New.
6916         * select.c (select_convert_out): New.
6917         New conversion functions for other files to call.
6918
6919         * select.h (select_notify_buffer_kill): Declare.
6920         * select.c (select_notify_buffer_kill): New.
6921         New functions that get called from kill-buffer.
6922
6923         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
6924         X-specific lisp code.
6925
6926         * select.h: Declare some of the lisp-visible functions for
6927         external use.
6928
6929         * select.c (clean_local_selection_data): Removed. This was
6930         a disgusting function, and previously should have been in
6931         select-x.c in any case. The functionality is now provided
6932         in select-convert-from-integer (select.el).
6933
6934         * select.c (available-selection-types): Fixed stupidity where
6935         INTEGER and ATOM got added twice. Also add STRING when we see an
6936         extent.
6937
6938         * select.c (get-selection-internal): Removed symbol stripping. No
6939         longer causes conversion when data comes from the internal cache.
6940
6941         * select.c (syms_of_select): Added new functions.
6942
6943         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
6944         error checking - previously this called abort!
6945
6946         * select-x.c (x_own_selection): Changed comment.
6947
6948         * select-x.c (x_handle_selection_request): Use select_convert_out.
6949         Don't mess with selection-alist; it's an internal variable of select.c.
6950
6951         * select-x.c (x_get_foreign_selection): Use select_convert_in.
6952
6953         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
6954         rather than messing with selection-alist.
6955
6956         * select-msw.c (mswindows_get_foreign_selection):
6957         Use TO_INTERNAL_FORMAT rather than hacking.
6958
6959 2000-07-14  Martin Buchholz  <martin@xemacs.org>
6960
6961         * process-unix.c (unix_open_multicast_group):
6962         (unix_open_multicast_group): Remove useless casts.
6963
6964 2000-07-13  Martin Buchholz  <martin@xemacs.org>
6965
6966         * sound.c (Fplay_sound): Fix `unused variable' warning.
6967
6968         * emacs.c (main): Use correct type for _environ on SCO5.
6969
6970 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
6971
6972         * console.h (own_selection_method):
6973         * console.h (selection_exists_p_method):
6974         * console.h (available_selection_types_method): New.
6975         * console.h (register_selection_data_type_method): New.
6976         * console.h (selection_data_type_name): New.
6977
6978         * console-msw.h (mswindows_destroy_selection): Declare it.  New
6979         function & alist to track GlobalAlloc()'d handles that need
6980         releasing when the clipboard data gets replaced or emptied.
6981
6982         * event-msw.c (mswindows_wnd_proc): Call it.
6983
6984         * lisp.h, general.c (Qappend): New symbol representing a
6985         `how-to-add' mode.
6986
6987         * select.c (own-selection-internal):
6988         * select.c (selection-exists-p):
6989         * select.c (available-selection-types): New.
6990         * select.c (register-selection-data-type): New.
6991         * select.c (selection-data-type-name): New.  New functions to deal
6992         with device-specific selection data formats.
6993         * select.c (selection-converter-out-alist): Renamed.
6994         * select.c (selection-converter-in-alist): New.
6995         * select.c (selection-appender-alist): New.  Added new alists.
6996         * select.c (syms_of_select, vars_of_select): Added new symbols &
6997         variables.
6998         * select.c (get_local_selection): Split.
6999         * select.c: Removed spurious type checking - selections may now be
7000         of any type, not just strings.
7001         * select.c (own-selection-internal):
7002
7003         * select.h, select.c (convert_selection): New. Created
7004         convert_selection() function based on get_local_selection().
7005         * select.h, select.c (QCF_*): New symbols representing mswindows
7006         clipboard formats.
7007         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7008         symbols representing `how-to-add' modes.
7009
7010         * select-msw.c (x_sym_p): New.
7011         * select-msw.c (symbol_to_ms_cf): New.
7012         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7013         symbols & clipboard formats. Can also handle string names.
7014         * select-msw.c (mswindows_own_selection):
7015         * select-msw.c (mswindows_selection_exists_p):
7016         Added `data-type' parameter. Use it.
7017         * select-msw.c (mswindows_available_selection_types): New.
7018         * select-msw.c (mswindows_register_selection_data_type): New.
7019         * select-msw.c (mswindows_selection_data_type_name): New.
7020         * select-msw.c (mswindows_own_selection):
7021         * select-msw.c (mswindows_get_foreign_selection):
7022         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7023         * select-msw.c (console_create_select_mswindows): Added new methods.
7024         * select-msw.c (mswindows_destroy_selection): New.
7025         * select-msw.c (Vhandle_alist): New list.
7026         * select-msw.c (mswindows_own_selection):
7027
7028         * select-x.c (x_own_selection):
7029         * select-x.c (x_selection_exists_p):
7030         * select-x.c: Added some comments about maybe using new
7031         functionality.
7032         * select-x.c (x_own_selection):
7033
7034         * specifier.c: Remove definition of Qappend (now in general.c)
7035         * specifier.c (syms_of_specifier): Remove Qappend.
7036
7037 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7038
7039         * config.h.in: Add socklen_t.
7040
7041         * s/decosf4-0.h: No special compiler flags needed or desired.
7042         In particular, undefine _BSD for DEC OSF 4.0.
7043
7044 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7045
7046         * redisplay-msw.c (msprinter_frame_output_end): Added.
7047         (console_type_create_redisplay_mswindows): Referred the above.
7048
7049         * frame.c (setup_frame_without_minibuffer): Do not create a
7050         default minibuffer frame on a printer device.
7051
7052         * frame-msw.c (apply_dc_geometry): Added.
7053         (msprinter_start_page):
7054         (msprinter_init_frame_3):
7055         (msprinter_eject_page): Use it.
7056
7057         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7058         and removed residual duplex and orientation properties.
7059
7060 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7061
7062         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7063
7064         * unexalpha.c: Remove system prototypes from C sources!
7065
7066 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7067
7068         * eval.c: Remove references to M-x edit-options in DEFUNs for
7069         `defvar' and `defconst'.
7070
7071 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7072
7073         * config.h.in: Remove SMART_INCLUDE hackery.
7074
7075         PostgreSQL hacking:
7076         * config.h.in: Don't use SMART_INCLUDE.
7077
7078         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7079         * inline.c: Simply #include "postgresql.h"
7080         * postgresql.c:
7081         - Don't use SMART_INCLUDE
7082         - Use simply "const".
7083         - Use standard doc string conventions.
7084         - Use correct type for result of PQstatus.
7085
7086 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7087
7088         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7089
7090         C++ compilation changes.
7091         * config.h.in (EXTERN_C): Define.
7092         * config.h.in (not): This is also a C++ keyword.
7093         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7094         * cm.c: Use EXTERN_C.
7095         * redisplay-tty.c: Use EXTERN_C.
7096         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7097
7098 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7099
7100         * general.c: Remove duplicate definition for Qfunction.
7101
7102 2000-07-08  Ben Wing  <ben@xemacs.org>
7103
7104         * device-msw.c (msprinter_init_device):
7105         * device-msw.c (sync_printer_with_devmode):
7106         * device-msw.c (handle_devmode_changes):
7107         * device-msw.c (print_dialog_worker):
7108         * device-msw.c (Fmsprinter_apply_settings):
7109         * device-msw.c (hash_devmode):
7110         * device-msw.c (Fmsprinter_settings_despecialize):
7111         use Qmswindows_tstr, not Qctext.
7112
7113         * vm-limit.c (check_memory_limits):
7114         avoid infinite loop printing warning messages.
7115
7116 2000-07-05  Craig Lanning  <lanning@scra.org>
7117
7118         * Makefile.in.in: Add support for including the Windows resources
7119         when building with the cygwin and mingw targets.
7120
7121         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7122         not set or not correct.
7123         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7124         (init_initial_directory): Don't try to use $PWD on the
7125         WIN32_NATIVE target.
7126
7127         * s\cygwin32.h:
7128         [[Add -mwindows to eliminate console window.]] not required --ben
7129         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7130         (MAIL_USE_POP): removed; now handled by configure.
7131
7132         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7133         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7134         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7135         (MAIL_USE_POP): removed; now handled by configure.
7136         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7137         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7138         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7139         constant string.
7140         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7141         up from <winsock.h> via systime.h.
7142         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7143         (getpagesize): from Dan Holmsand, added.
7144         Added #endif which was left dangling by Ben's mega patch; added
7145         comment to help prevent this in the future.
7146
7147         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7148
7149 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7150
7151         * console-msw.h (struct mswindows_device): Removed unnecessary
7152         cached device geometry values.
7153         Added update_tick and an accessor macro.
7154         (Lisp_Devmode): Added lrecord declaration.
7155         (struct msprinter_device): Contain devmode as a Lisp object.
7156         Added mswindows_get_selected_frame_hwnd();
7157
7158         * console.h (struct console_methods): Indentation nitpicking.
7159
7160         * device-msw.c (mswindows_init_device): Do not initialize geometry
7161         cache. Initialize update tick.
7162         (mswindows_device_system_metrics): Ask the device for its geometry.
7163         (global_free_2_maybe):
7164         (devmode_to_hglobal):
7165         (handle_printer_changes):
7166         (ensure_not_printing):
7167         (print_dialog_worker):
7168         (Fmsprinter_print_setup_dialog):
7169         (Fmsprinter_print_dialog):
7170         (plist_get_margin):
7171         (plist_set_margin):
7172         (Fmsprinter_page_setup_dialog): Added functions.
7173         (sync_printer_with_devmode):
7174         (handle_devmode_changes):
7175         (Fmsprinter_get_settings):
7176         (Fmsprinter_select_settings):
7177         (Fmsprinter_apply_settings):
7178         (allocate_devmode):
7179         (Fmsprinter_settings_copy):
7180         (Fmsprinter_settings_despecialize):
7181         (print_devmode):
7182         (finalize_devmode):
7183         (equal_devmode):
7184         (hash_devmode): Added functions
7185         (syms_of_device_mswindows): Init devmode lrecord class.
7186
7187         * device.h: Added an exfun for find-device.
7188
7189         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7190         geometry; although, recreate the device compatible DC.
7191
7192         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7193         (msprinter_init_frame_3):
7194         (msprinter_frame_property):
7195         (msprinter_internal_frame_property_p):
7196         (msprinter_frame_properties):
7197         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7198         print job properties (will move to device settings).
7199
7200         * lisp.h: Added symbols.
7201
7202         * general.c (syms_of_general): Declared them.
7203
7204         * hash.c (string_hash): Added.
7205
7206         * lrecord.h (lrecord_type): Added devmode lrecord type.
7207
7208 2000-07-02  Mike Sperber <mike@xemacs.org>
7209
7210         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7211         FreeBSD 4.0.
7212
7213 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7214
7215         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7216         integer.
7217
7218 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7219
7220         * data.c (Fstring_to_number): Don't recognize floating point if
7221         base is not 10.
7222
7223 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7224
7225         * glyphs-widget.c (tab_control_query_geometry):
7226         (widget_query_geometry):
7227         (button_query_geometry):
7228         * glyphs.c (text_query_geometry):
7229         Enforce type correctness.
7230
7231 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7232
7233         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7234         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7235
7236 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7237
7238         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7239         conflicts with gcc's fixincluded version of FOO.h.
7240
7241         * glyphs.h (image_instance_geometry): Remove trailing `,'
7242
7243 2000-06-08  Mike Alexander  <mta@arbortext.com>
7244
7245         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7246         (shove_thread): Don't write the same output twice
7247         (make_ntpipe_output_stream): Increase priority of shove thread
7248         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7249         chance to run
7250         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7251         it.
7252
7253 2000-06-12  Ben Wing  <ben@xemacs.org>
7254
7255         * s\mingw32.h (sigset):
7256         * s\windowsnt.h (sigset):
7257         rename msw_ to mswindows_ for consistency with general convention.
7258
7259 2000-06-12  Ben Wing  <ben@xemacs.org>
7260
7261         * console-msw.c:
7262         * console-msw.c (mswindows_get_console_hwnd):
7263         * console-msw.c (mswindows_ensure_console_allocated):
7264         * console-msw.c (mswindows_hide_console):
7265         * console-msw.c (mswindows_show_console):
7266         * console-msw.c (mswindows_ensure_console_buffered):
7267         * console-msw.c (mswindows_output_console_string):
7268         * console-msw.c (mswindows_windows9x_p):
7269         * console-msw.h:
7270         * device-msw.c (mswindows_get_workspace_coords):
7271         * device-msw.c (mswindows_device_system_metrics):
7272         * dialog-msw.c (mswindows_popup_dialog_box):
7273         * event-msw.c (mswindows_wnd_proc):
7274         * frame-msw.c (mswindows_size_frame_internal):
7275         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7276         * menubar-msw.c (displayable_menu_item):
7277         * menubar-msw.c (mswindows_char_is_accelerator):
7278         * nt.c:
7279         * nt.c (mswindows_sigset):
7280         * nt.c (mswindows_sigrelse):
7281         * nt.c (mswindows_sigpause):
7282         * nt.c (mswindows_raise):
7283         * nt.c (timer_proc):
7284         * ntproc.c:
7285         * ntproc.c (find_child_console):
7286         * ntproc.c (sys_kill):
7287         * print.c:
7288         * print.c (std_handle_out_external):
7289         * process-nt.c (find_child_console):
7290         * process-nt.c (send_signal_the_95_way):
7291         * process-nt.c (ensure_console_window_exists):
7292         * process-nt.c (nt_create_process):
7293         * syssignal.h:
7294         rename msw_ to mswindows_ for consistency with general convention.
7295
7296         * emacs.c:
7297         * dumper.c:
7298         include nt.h, not syswindows.h.
7299
7300         * nt.c (mswindows_fstat):
7301         * nt.c (mswindows_stat):
7302         prefix mswindows_ instead of attempting to directly override the
7303         library functions.  fix declarations.
7304
7305         * nt.h:
7306         include syswindows.h.  move some sysdep.h stuff here.
7307
7308         * ntheap.h:
7309         include syswindows.h, not <windows.h>.
7310
7311         * ntplay.c:
7312         clean up headers.
7313
7314         * sysdep.c:
7315         clean up headers.
7316
7317         * sysdep.c (sys_fstat):
7318         * sysdep.c (sys_stat):
7319         call mswindows versions when appropriate.
7320
7321         * sysdep.h:
7322         move mswin decls to nt.h.
7323
7324         * syswindows.h:
7325         add long comment describing appropriate use of the various windows
7326         headers.
7327
7328 2000-06-11  Ben Wing  <ben@xemacs.org>
7329
7330         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7331
7332 2000-06-10  Ben Wing  <ben@xemacs.org>
7333
7334         * Makefile.in.in (release):
7335         Correction to make sure xemacs.exe always dumped when correct.
7336
7337         * alloca.c:
7338         * balloon_help.c:
7339         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7340
7341         * buffer.c (set_buffer_internal):
7342         [[[[2]]]]: Remove HAVE_FEP code.
7343
7344         * buffer.c (init_initial_directory):
7345         [3].
7346
7347         * bytecode.c:
7348         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7349         individual files.
7350
7351         * callproc.c:
7352         * callproc.c (call_process_cleanup):
7353         * callproc.c (Fold_call_process_internal):
7354         * callproc.c (child_setup):
7355         * callproc.c (getenv_internal):
7356         * callproc.c (init_callproc):
7357         * callproc.c (vars_of_callproc):
7358         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7359         __CYGWIN32__ -> CYGWIN.
7360         DOS_NT -> WIN32_NATIVE.
7361         Remove MSDOS support/references, converting to WIN32_NATIVE
7362           where correct.
7363         __MINGW32__ -> MINGW.
7364         Fix windows.h includes.
7365         Remove bogus HAVE_NTGUI.
7366
7367         * config.h.in:
7368         [2].
7369
7370         * console-msw.c:
7371         mswindows_message_outputted added for use in allowing startup
7372         errors on the console to be seen.
7373
7374         * console-msw.c (msw_ensure_console_allocated):
7375         * console-msw.c (msw_output_console_string):
7376         * console-msw.c (DHEADER):
7377         * console-msw.c (DOPAQUE_DATA):
7378         * console-msw.c (DEVENT):
7379         * console-msw.c (DCONS):
7380         * console-msw.c (DCONSCDR):
7381         * console-msw.c (DSTRING):
7382         * console-msw.c (DVECTOR):
7383         * console-msw.c (DSYMBOL):
7384         * console-msw.c (DSYMNAME):
7385         Fix warnings.
7386
7387         * console-stream.c (stream_init_console):
7388         Fix text/binary problems.
7389
7390         * device-msw.c:
7391         * device-msw.c (mswindows_finish_init_device):
7392         * device-msw.c (mswindows_delete_device):
7393         [1].
7394
7395         * device.c (handle_asynch_device_change):
7396         [3].
7397
7398         * dgif_lib.c:
7399         * dgif_lib.c (DGifOpenFileName):
7400         * dgif_lib.c (DGifOpenFileHandle):
7401         * dgif_lib.c (DGifGetLine):
7402         * dgif_lib.c (DGifGetPixel):
7403         Added config.h/lisp.h, fix up includes.
7404         [1].
7405
7406         * dired-msw.c:
7407         [4].
7408
7409         * dired.c:
7410         * dired.c (file_name_completion):
7411         * dired.c (Ffile_attributes):
7412         * dired.c (syms_of_dired):
7413         [1].
7414
7415         * dumper.c:
7416         * dumper.c (pdump_file_unmap):
7417         * dumper.c (pdump_load):
7418         [1].
7419
7420         * editfns.c:
7421         * editfns.c (Ftemp_directory):
7422         * editfns.c (user_login_name):
7423         * editfns.c (Fuser_real_login_name):
7424         * editfns.c (get_home_directory):
7425         [1].
7426
7427         * elhash.c (finish_marking_weak_hash_tables):
7428         [[[[5]]]]: Fix GCC warnings.
7429
7430         * emacs.c:
7431         * emacs.c (mswindows_handle_hardware_exceptions):
7432         * emacs.c (make_arg_list_1):
7433         * emacs.c (main_1):
7434         * emacs.c (Fkill_emacs):
7435         * emacs.c (Fdump_emacs):
7436         [1].
7437         Fix problems with nested crashes, add long comment.
7438
7439         * event-Xt.c (init_event_Xt_late):
7440         [1].
7441
7442         * event-msw.c:
7443         * event-msw.c (mswindows_dde_callback):
7444         * event-msw.c (mswindows_handle_sticky_modifiers):
7445         * event-msw.c (mswindows_wnd_proc):
7446         [1].
7447         [5].
7448
7449         * events.c (character_to_event):
7450         [1].
7451
7452         * fileio.c:
7453         * fileio.c (Ffile_name_directory):
7454         * fileio.c (Ffile_name_nondirectory):
7455         * fileio.c (directory_file_name):
7456         * fileio.c (Fexpand_file_name):
7457         * fileio.c (Fsubstitute_in_file_name):
7458         * fileio.c (Ffile_name_absolute_p):
7459         * fileio.c (check_executable):
7460         * fileio.c (Ffile_readable_p):
7461         * fileio.c (Ffile_accessible_directory_p):
7462         * fileio.c (Ffile_modes):
7463         * fileio.c (Funix_sync):
7464         * fileio.c (vars_of_fileio):
7465         [1]. [4].
7466
7467         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7468
7469         Expand getdefdir defn.
7470         Fix bogus rename() comment.
7471
7472         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7473         to use standard XEmacs include files, e.g. sysfile.h, rather
7474         than system-specific includes.
7475
7476         * fns.c:
7477         * fns.c (Fsubseq):
7478         [5]. [6].
7479
7480         * frame.c (vars_of_frame):
7481         [1].
7482
7483         * getloadavg.c:
7484         * getloadavg.c (getloadavg):
7485         [1]. [6].
7486         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7487         (We don't use it elsewhere in the code; just add a comment.)
7488
7489         * gif_io.c:
7490         [6].
7491         Add config.h.
7492
7493         * glyphs-msw.c:
7494         * glyphs-msw.c (mswindows_resource_instantiate):
7495         [1].
7496
7497         * glyphs-x.c (x_native_layout_instantiate):
7498         [5].
7499
7500         * gui-msw.c (Fmswindows_shell_execute):
7501         [1].
7502
7503         * insdel.c:
7504         [4].
7505
7506         * lisp.h:
7507         [4]. [5].
7508
7509         * lread.c (locate_file_in_directory_mapper):
7510         [1].
7511
7512         * lstream.c:
7513         [4].
7514
7515         * mem-limits.h:
7516         * mem-limits.h (get_lim_data):
7517         [1].
7518
7519         * menubar-msw.c:
7520         [4].
7521
7522         * ndir.h:
7523         [1].
7524
7525         * nt.c:
7526         * nt.c (getwd):
7527         * nt.c (closedir):
7528         * nt.c (rva_to_section):
7529         * nt.c (mswindows_executable_type):
7530         [1]. [6].
7531         Fix closedir() defn.
7532
7533         * nt.h:
7534         [[[[8]]]]: *_OK defs moved to sysfile.h.
7535
7536         * ntproc.c:
7537         [6]. [7].
7538
7539         * objects-x.c:
7540         [4].
7541
7542         * print.c:
7543         * print.c (std_handle_out_external):
7544         [1]. [4].
7545
7546         * process-nt.c:
7547         * process-nt.c (nt_create_process):
7548         [6].
7549         try to fix process quoting somewhat.
7550
7551         * process-unix.c (unix_create_process):
7552         [1].
7553
7554         * process.c:
7555         * process.c (vars_of_process):
7556         Add Vnull_device.
7557
7558         * process.h:
7559         [1].
7560
7561         * realpath.c:
7562         * realpath.c (xrealpath):
7563         [1].
7564
7565         * redisplay-tty.c (init_tty_for_redisplay):
7566         [3].
7567
7568         * redisplay.c:
7569         [4]. [6].
7570
7571         * scrollbar-msw.c:
7572         [4].
7573
7574         * sheap.c:
7575         * sheap.c (more_static_core):
7576         * sheap.c (report_sheap_usage):
7577         [5]. [6].
7578
7579         * signal.c:
7580         * signal.c (alarm_signal):
7581         [1]. [6].
7582
7583         * sound.c:
7584         [6].
7585
7586         * strftime.c:
7587         * strftime.c (zone_name):
7588         [1]. [5].
7589
7590         * symsinit.h (init_sunpro):
7591         [1].
7592
7593         * syscommctrl.h:
7594         commctrl.h not in Cygwin b20.1.
7595
7596         * sysdep.c:
7597         * sysdep.c (endif):
7598         * sysdep.c (sys_subshell):
7599         * sysdep.c (init_baud_rate):
7600         * sysdep.c (emacs_get_tty):
7601         * sysdep.c (emacs_set_tty):
7602         * sysdep.c (tty_init_sys_modes_on_device):
7603         * sysdep.c (init_system_name):
7604         * sysdep.c (sys_open):
7605         * sysdep.c (interruptible_open):
7606         * sysdep.c (sys_fopen):
7607         * sysdep.c (sys_mkdir):
7608         * sysdep.c (sys_rename):
7609         * sysdep.c (get_process_times_1):
7610         [1]. [6].
7611
7612         * sysdep.h:
7613         [1].
7614
7615         * sysdir.h:
7616         * sysdir.h (DIRENTRY_NONEMPTY):
7617         [1]. [6].
7618
7619         * sysdll.c (dll_init):
7620         * sysdll.h:
7621         [1].
7622
7623         * sysfile.h:
7624         [1]. [6]. [8].
7625         added text/binary defs.
7626
7627         * sysfloat.h:
7628         [1].
7629
7630         * sysproc.h:
7631         * sysproc.h (EDESTADDRREQ):
7632         * sysproc.h (poll_fds_for_input):
7633         [1]. [6].
7634
7635         * syspwd.h:
7636         [6].
7637
7638         * syssignal.h:
7639         [1].
7640
7641         * systime.h:
7642         [1]. [6].
7643
7644         * systty.h:
7645         [1].
7646
7647         * syswindows.h:
7648         [1].
7649         Always define WIN32_LEAN_AND_MEAN.
7650
7651         * unexcw.c (unexec):
7652         [5].
7653
7654         * unexec.c:
7655         * unexec.c (copy_text_and_data):
7656         * unexec.c (adjust_lnnoptrs):
7657         [1].
7658
7659         * unexnt.c:
7660         * unexnt.c (_start):
7661         [1].
7662
7663 2000-06-07  Ben Wing  <ben@xemacs.org>
7664
7665         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7666         was used only as a model.  We've long since extracted any useful
7667         logic or code out of this. (I just did an exhaustive search.)
7668
7669         * s\msdos.h: Removed.
7670
7671         * s\windows95.h: Removed.
7672
7673 2000-06-10  Ben Wing  <ben@xemacs.org>
7674
7675         * s\cygwin32.h:
7676         [1]. [5].
7677         Don't use extern with fun defs.
7678
7679         * s\mingw32.h:
7680         [1]. [7].
7681         Remove nt\inc include.
7682         Remove getdisk, getdefdir. (The former is unused, the latter
7683         expanded in fileio.h.)
7684
7685         * s\windowsnt.h:
7686         * s\windowsnt.h (WIN32_NATIVE):
7687         * s\windowsnt.h (HAVE_STRCASECMP):
7688         [1]. [7].
7689         Add long comment about preprocessor changes.
7690         Remove getdisk, getdefdir. (The former is unused, the latter
7691         expanded in fileio.h.)
7692
7693 2000-06-10  Ben Wing  <ben@xemacs.org>
7694
7695         * m\arm.h:
7696         * m\delta.h:
7697         * m\intel386.h:
7698         * m\sequent.h:
7699         * m\template.h:
7700         * m\windowsnt.h:
7701         [1].
7702         Remove bogus/unused NO_SOCK_SIGIO.
7703
7704 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7705
7706         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7707         not an Emchar.
7708
7709 2000-06-04  Mike Sperber <mike@xemacs.org>
7710
7711         * casetab.c (set_case_table): For `set-standard-case-table',
7712         actually deposit the new case tables where the rest of XEmacs can
7713         see them.
7714
7715 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7716
7717         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7718
7719 2000-06-05  Ben Wing  <ben@xemacs.org>
7720
7721         * callproc.c (child_setup): Don't do close_load_descs() under
7722         MS Windows.  Put in a comment explaining why.
7723
7724 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7725
7726         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7727         Toolkit shell" which breaks `kill-compilation' on Windows NT
7728         native, retaining STDERR handling improvements.
7729
7730 2000-06-01  Andreas Jaeger  <aj@suse.de>
7731
7732         * s/s390.h: Support for S390, based on a patch by Martin
7733         Schwidefsky <schwidefsky@de.ibm.com>.
7734
7735 2000-05-30  Andy Piper  <andy@xemacs.org>
7736
7737         * window.c (allocate_window):
7738         (make_dummy_parent):
7739         (Fset_window_configuration): use new hashtable type.
7740
7741         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7742         (struct image_instantiator_methods):
7743         (struct Lisp_Image_Instance): make instance geometry signed.
7744
7745         * glyphs.c (instantiate_image_instantiator):
7746         (image_instance_query_geometry):
7747         (image_instance_layout):
7748         (image_instance_layout):
7749         (query_string_geometry):
7750         (text_query_geometry):
7751         (image_instantiate):
7752         (image_instantiate):
7753         (cache_subwindow_instance_in_frame_maybe):
7754         (subwindow_query_geometry): make instance geometry signed.
7755
7756         * glyphs-widget.c (widget_query_geometry):
7757         (widget_layout):
7758         (button_query_geometry):
7759         (tree_view_query_geometry):
7760         (tab_control_query_geometry):
7761         (layout_query_geometry):
7762         (layout_layout):
7763         (native_layout_layout): make instance geometry signed.
7764
7765 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7766
7767         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7768         constant.
7769
7770         * general.c (syms_of_general): Add Qfull_assoc symbol.
7771
7772         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7773         correctly.
7774         (decode_weak_list_type): Decode full-assoc type.
7775         (encode_weak_list_type): Encode full-assoc type.
7776         (Fmake_weak_list): Update doc string.
7777
7778 2000-05-30  Andy Piper  <andy@xemacs.org>
7779
7780         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7781
7782         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7783         (decode_hash_table_weakness): ditto.
7784         (Fhash_table_weakness): ditto.
7785         (Fhash_table_type): ditto.
7786         (finish_marking_weak_hash_tables): ditto.
7787         (hash_table_weakness_validate): ditto.
7788         (syms_of_elhash): ditto.
7789
7790 2000-05-28  Martin Buchholz <martin@xemacs.org>
7791
7792         * XEmacs 21.2.34 is released.
7793
7794 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7795
7796         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7797         start cache.
7798         (updating_line_start_cache): Gone.
7799         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7800         generic code to force a minimum of 1 line laid out in the
7801         CMOTION_DISP case.
7802
7803 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7804
7805         * glyphs.c (instantiate_image_instantiator): Check for initialized
7806         height & width no longer special cases IMAGE_NOTHING.
7807         (nothing_instantiate): Set height and width of instance.
7808
7809 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7810
7811         * unexelf.c (unexec): Search for ".data" section.
7812         Initialize new_data2_offset from old_data_index.
7813         Remove redundant check for ElfW.
7814
7815 2000-05-23  Andy Piper  <andy@xemacs.org>
7816
7817         * glyphs.c (get_image_instantiator_governing_domain): allow more
7818         specific domains as the governing domain rather than expecting an
7819         exact match. This fixes problems with layouts.
7820
7821 2000-05-22  Andy Piper  <andy@xemacs.org>
7822
7823         * redisplay-output.c (compare_runes): check for non-images
7824
7825         * glyphs.c (set_glyph_dirty_p): ditto.
7826         (update_glyph_cachel_data): ditto.
7827
7828         * glyphs-widget.c (layout_post_instantiate): ditto.
7829         (layout_post_instantiate): ditto.
7830
7831         * event-msw.c (mswindows_wnd_proc): warning removal.
7832
7833 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7834
7835         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7836
7837         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7838
7839         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7840
7841         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7842         (mswindows_executable_type): mingw32 now has enough headers for
7843         this to work.
7844
7845 2000-05-20  Andy Piper  <andy@xemacs.org>
7846
7847         * console-msw.c (mswindows_output_last_error): ; -> ,
7848
7849 2000-05-12  Andy Piper  <andy@xemacs.org>
7850
7851         * console-msw.c (FROB): compare ints with ints.
7852
7853 2000-05-11  Andy Piper  <andy@xemacs.org>
7854
7855         * glyphs-x.c (x_finalize_image_instance): make minimal build
7856         happy.
7857
7858 2000-05-20  Ben Wing  <ben@xemacs.org>
7859
7860         * event-Xt.c:
7861         * event-Xt.c (vars_of_event_Xt):
7862         move modifier-keys-are-sticky to event-stream.c.
7863
7864         * event-msw.c:
7865         * event-msw.c (mswindows_enqueue_mouse_button_event):
7866         * event-msw.c (key_needs_default_processing_p):
7867         * event-msw.c (XEMSW_LCONTROL):
7868         * event-msw.c (mswindows_handle_sticky_modifiers):
7869         * event-msw.c (FROB):
7870         * event-msw.c (clear_sticky_modifiers):
7871         * event-msw.c (output_modifier_keyboard_state):
7872         * event-msw.c (output_alt_keyboard_state):
7873         * event-msw.c (mswindows_wnd_proc):
7874         * event-msw.c (mswindows_modifier_state):
7875         * event-msw.c (emacs_mswindows_handle_magic_event):
7876         implement sticky modifiers.
7877
7878         * event-stream.c:
7879         * event-stream.c (vars_of_event_stream):
7880         move modifier-keys-are-sticky here.
7881
7882         * lisp.h:
7883         add CHECK_FUNCTION.
7884
7885         * rangetab.c:
7886         implement map-range-table.
7887
7888
7889 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7890
7891         * redisplay-tty.c (reset_tty_modes):
7892         (tty_redisplay_shutdown): Adjust argument type to
7893         tty_frame_output_end.
7894
7895 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7896
7897         * eval.c (Fbacktrace): Don't output a line with only right
7898         parenthesis.
7899
7900 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
7901
7902         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
7903         (Fpq_reset_poll): Ditto.
7904
7905 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
7906
7907         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
7908
7909 2000-05-16  Ben Wing  <ben@xemacs.org>
7910
7911         * buffer.c:
7912         * buffer.c (dfc_convert_to/from_internal_format):
7913         * buffer.c (reinit_vars_of_buffer):
7914         Fix conversion functions to allow reentrancy.
7915
7916         * console-msw.c:
7917         * console-msw.c (mswindows_output_last_error):
7918         New fun, generally useful -- output a human-readable
7919         version of GetLastError() on the console.
7920
7921         * console-msw.h:
7922         * console-msw.h (struct mswindows_frame):
7923         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
7924
7925         * console-stream.c (stream_output_begin):
7926         * console-stream.c (stream_output_end):
7927         * console-stream.c (stream_output_vertical_divider):
7928         * console-stream.c (stream_clear_region):
7929         * console-stream.c (stream_flash):
7930         * console-stream.c (console_type_create_stream):
7931         Delete blank stream methods, not needed.
7932
7933         * console.h (struct console_methods):
7934         Split begin/end methods into window and frame.
7935
7936         * event-msw.c:
7937         * event-msw.c (mswindows_handle_paint):
7938         * event-msw.c (output_alt_keyboard_state):
7939         * event-msw.c (mswindows_wnd_proc):
7940         * event-msw.c (vars_of_event_mswindows):
7941         Comment about problems with ignored-expose.
7942         Define mswindows-debug-events; not really implemented.
7943
7944         * frame-msw.c (mswindows_init_frame_1):
7945         random cleanups.
7946
7947         * glyphs-msw.c:
7948         * glyphs-msw.c (begin_defer_window_pos):
7949         * glyphs-msw.c (mswindows_unmap_subwindow):
7950         * glyphs-msw.c (mswindows_map_subwindow):
7951         * glyphs-msw.c (mswindows_resize_subwindow):
7952         Use DeferWindowPos to reduce flashing when mapping/unmapping.
7953
7954         * glyphs.c (make_image_instance_1):
7955         Fix crash.
7956
7957         * gutter.c (Fredisplay_gutter_area):
7958         Use new begin/end methods.
7959
7960         * lisp.h (Dynarr_new2):
7961         New creation fun.
7962
7963         * redisplay-msw.c:
7964         * redisplay-msw.c (mswindows_frame_output_begin):
7965         * redisplay-msw.c (mswindows_frame_output_end):
7966         * redisplay-msw.c (console_type_create_redisplay_mswindows):
7967         New begin/end methods -- handle DeferWindowPos.
7968
7969         * redisplay-output.c (redisplay_move_cursor):
7970         * redisplay-output.c (redraw_cursor_in_window):
7971         * redisplay-output.c (redisplay_update_line):
7972         * redisplay-output.c (redisplay_output_window):
7973         New begin/end methods.
7974
7975         * redisplay-tty.c:
7976         * redisplay-tty.c (tty_frame_output_begin):
7977         * redisplay-tty.c (tty_frame_output_end):
7978         * redisplay-tty.c (console_type_create_redisplay_tty):
7979         New begin/end methods.
7980
7981         * redisplay-x.c:
7982         * redisplay-x.c (x_window_output_begin):
7983         * redisplay-x.c (x_window_output_end):
7984         * redisplay-x.c (console_type_create_redisplay_x):
7985         New begin/end methods.
7986
7987         * redisplay.c (redisplay_frame):
7988         * redisplay.c (Fredisplay_echo_area):
7989         New begin/end methods.
7990         use MAYBE_DEVMETH for clear_frame; it may not exist.
7991
7992         * window.h (WINDOW_XFRAME):
7993         WINDOW_XFOO macros -- get locale and decode struct pointer.
7994
7995
7996 2000-05-12  Ben Wing  <ben@xemacs.org>
7997
7998         * emacs.c:
7999         * emacs.c (ensure_no_quitting_from_now_on):
8000         * emacs.c (fatal_error_signal):
8001         * emacs.c (mswindows_handle_hardware_exceptions):
8002         * emacs.c (main):
8003         * emacs.c (Fkill_emacs):
8004         * emacs.c (shut_down_emacs):
8005         * emacs.c (assert_failed):
8006         various improvements in fatal error handling.
8007
8008         * eval.c:
8009         move preparing_for_armageddon to emacs.c.
8010
8011         * lisp.h:
8012         declare fatal_error_in_progress.
8013
8014         * print.c:
8015         * print.c (std_handle_out_external):
8016         * print.c (std_handle_out_va):
8017         * print.c (stderr_out):
8018         * print.c (stdout_out):
8019         use console under mswin when no standard output.
8020         don't do code conversion during fatal error.
8021
8022         * scrollbar.c (Fscrollbar_page_up):
8023         * scrollbar.c (Fscrollbar_page_down):
8024         fix missing else.  reindent.
8025
8026 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8027
8028         Emergency fix.
8029
8030         * glyphs.h (GLYPH_CACHEL_DESCENT):
8031         (GLYPH_CACHEL_DESCENT):
8032         (GLYPH_CACHEL_DESCENT):
8033         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8034         used in case these are inline functions.
8035         Use more absurd values to error check.
8036
8037         include window.h for error check functions.
8038
8039 2000-05-11  Ben Wing  <ben@xemacs.org>
8040
8041         * cmdloop.c (Freally_early_error_handler):
8042         Display message box under windows; otherwise, message will disappear
8043         before it can be viewed.
8044
8045         * console-msw.c:
8046         * console-msw.c (Fmswindows_message_box):
8047         * console-msw.c (FROB):
8048         * console-msw.c (syms_of_console_mswindows):
8049         Define new fun `mswindows-message-box'.
8050         #### I will merge this into `popup-dialog-box'; just give me
8051         a bit of time.
8052
8053         * general.c:
8054         * general.c (syms_of_general):
8055         Some new symbols used in `mswindows-message-box'.
8056
8057         * glyphs.c:
8058         * glyphs.c (Fset_image_instance_property):
8059         put warning in this fun.
8060
8061         * glyphs.h:
8062         * glyphs.h (GLYPH_CACHEL_WIDTH):
8063         * glyphs.h (GLYPH_CACHEL_ASCENT):
8064         * glyphs.h (GLYPH_CACHEL):
8065         * glyphs.h (GLYPH_CACHEL_GLYPH):
8066         define error-checking versions to try to catch a bug i've seen --
8067         redisplay gets in an infinite loop because the glyph width of the
8068         continuation glyph is 65535.
8069
8070         * lisp.h:
8071         Extern message-box stuff.
8072
8073         * window.c (allocate_window):
8074         * window.c (make_dummy_parent):
8075         * window.c (Fset_window_configuration):
8076         Use EQUAL not EQ for subwindow caches to make them work a bit
8077         better. (Something is still very broken.)
8078
8079
8080 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8081
8082         * glyphs.c (image_instantiate): Suppress gcc warnings.
8083         (Fmake_image_instance): Fix doc string.
8084         * specifier.c (Fmake_specifier): Ditto.
8085
8086 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8087
8088         * paths.h.in (PATH_LOCK): Removed.
8089         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8090         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8091
8092 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8093
8094         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8095         Document (featurep '(and xemacs 21.02)).
8096
8097 2000-05-09  Ben Wing  <ben@xemacs.org>
8098
8099         * buffer.c (complex_vars_of_buffer):
8100         update modeline-format doc.
8101
8102         * device.h:
8103         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8104
8105         * emacs.c:
8106         timeline of all released versions of Emacs, for use in creating
8107         authorship comments and in synching up.
8108
8109         * glyphs-widget.c (image_instantiator_buttons):
8110         * glyphs-widget.c (image_instantiator_edit_fields):
8111         * glyphs-widget.c (image_instantiator_combo_box):
8112         * glyphs-widget.c (image_instantiator_scrollbar):
8113         * glyphs-widget.c (image_instantiator_progress_guage):
8114         * glyphs-widget.c (image_instantiator_tree_view):
8115         * glyphs-widget.c (image_instantiator_tab_control):
8116         * glyphs-widget.c (image_instantiator_labels):
8117         * glyphs-widget.c (image_instantiator_layout):
8118         * glyphs-widget.c (image_instantiator_native_layout):
8119         rename decode_domain method to governing_domain.
8120
8121         * glyphs.c:
8122         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8123         * glyphs.c (add_entry_to_device_ii_format_list):
8124         make sure we don't put an entry more than once into the list.
8125         * glyphs.c (check_instance_cache_mapper):
8126         *************************************************************
8127         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8128         HAVE BEEN GETTING.
8129         *************************************************************
8130         * glyphs.c (get_image_instantiator_governing_domain):
8131         clean up, expand on new concept of governing domain.
8132         * glyphs.c (instantiate_image_instantiator):
8133         * glyphs.c (allocate_image_instance):
8134         use governing_domain instead of cache_domain in naming.
8135         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8136         * glyphs.c (make_image_instance_1):
8137         * glyphs.c (Fmake_image_instance):
8138         allow for any domain (not just device), and process the
8139         governing domain correctly.  very big doc fix.
8140         * glyphs.c (Fimage_instance_domain):
8141         new primitive, to retrieve the governing domain of an image instance.
8142         * glyphs.c (image_instantiate):
8143         use new governing_domain stuff.  this fixes a crash you could get
8144         by instantiating certain widget glyphs in frame locales. (should
8145         signal an error instead of crashing.)
8146         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8147         * glyphs.c (Fglyphp): clean up doc.
8148         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8149         * glyphs.c (syms_of_glyphs):
8150         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8151         * glyphs.c (image_instantiator_format_create): add some comments about
8152         bogus code.
8153         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8154         for current-display-table. (Apparently Hrjove implemented in 1998 a
8155         design I wrote up in 1996, but didn't update the doc string.)
8156
8157         * glyphs.h: clean up a doc string.
8158         * glyphs.h (governing_domain):
8159         * glyphs.h (struct image_instantiator_methods):
8160         changes for governing_domain stuff.
8161
8162         * gutter.c:
8163         * gutter.c (Fgutter_specifier_p):
8164         * gutter.c (Fgutter_size_specifier_p):
8165         * gutter.c (Fgutter_visible_specifier_p):
8166         * objects.c:
8167         * objects.c (Fcolor_specifier_p):
8168         * objects.c (Ffont_specifier_p):
8169         * objects.c (Fface_boolean_specifier_p):
8170         doc strings moved to make-*-specifier.
8171
8172         * redisplay.c (add_disp_table_entry_runes_1):
8173         * redisplay.c (generate_fstring_runes):
8174         * redisplay.c (screen):
8175         add random comments and doc strings.
8176
8177         * specifier.c:
8178         * specifier.c (Fmake_specifier):
8179         major overhaul of this doc string.
8180
8181         * specifier.c (Fvalid_specifier_domain_p):
8182         comment about the bogosity of image instances being domains.
8183         * specifier.c (decode_domain):
8184         now non-static, used in glyphs.c.
8185         * specifier.c (specifier_instance):
8186         comment about the bogosity of image instances being domains.
8187         * specifier.c (Fgeneric_specifier_p):
8188         move doc string to make-generic-specifier.
8189         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8190         rebackslashify.
8191
8192         * specifier.h:
8193         * specifier.h (DOMAIN_FRAME):
8194         * specifier.h (DOMAIN_LIVE_P):
8195         * specifier.h (DOMAIN_XDEVICE):
8196         rebackslashify.
8197         add comments about problems with these macros.
8198         prototype for decode_domain.
8199
8200         * toolbar.c:
8201         * toolbar.c (Ftoolbar_specifier_p):
8202         move doc string to `make-toolbar-specifier'.
8203
8204         * window.c (window_unmap_subwindows_cache_mapper):
8205         *************************************************************
8206         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8207         HAVE BEEN GETTING.
8208         *************************************************************
8209
8210 2000-05-09  Andy Piper  <andy@xemacs.org>
8211
8212         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8213
8214         * window.c (Fset_window_configuration): reset the frame subwindow
8215         cache and re-initialize the window subwindow caches.
8216
8217         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8218
8219 2000-05-09  Ben Wing  <ben@xemacs.org>
8220
8221         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8222         DWORD.
8223
8224 2000-04-26  Mike Woolley  <mike@bulsara.com>
8225
8226         * ntheap.c: Changed recreate_heap to limit the amount reserved
8227         for the heap to that which is actually available. Also now
8228         displays a message box (with some dignostics) in the event that
8229         it still can't start.
8230
8231 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8232
8233         * callproc.c (Fold_call_process_internal): GCPRO path
8234
8235 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8236
8237         Patch by Bill Perry.
8238
8239         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8240         back data instead of #ifdef.
8241         (Fscrollbar_page_down): ditto.
8242
8243 2000-05-07  Ben Wing  <ben@xemacs.org>
8244
8245         * buffer.h:
8246         Kludge for defining Qmswindows_tstr.
8247
8248         * nt.c:
8249         * nt.c (open_input_file):
8250         * nt.c (open_output_file):
8251         * nt.c (rva_to_section):
8252         * nt.c (mswindows_executable_type):
8253         Move all memory-mapped-file routines here (some were in unexnt.c,
8254         which is bad because they are used by process-nt.c, and unexnt
8255         won't be around when portable dumping).  Synched the above routines
8256         with FSF 20.6.
8257
8258         * nt.h:
8259         Removed ifdef'd out bogus code.
8260         Fixed some prototypes.
8261
8262         * nt.h (file_data):
8263         * nt.h (OFFSET_TO_RVA):
8264         * nt.h (RVA_TO_OFFSET):
8265         * nt.h (RVA_TO_PTR):
8266         Moved the memory-mapped-file structures, macros and prototypes
8267         here, to parallel nt.c.  ntheap.h should really be removed
8268         entirely, and it's a non-portable-dumper specific file.
8269
8270         * ntheap.h (round_to_next):
8271         Moved the memory-mapped-file structures, macros and prototypes
8272         to nt.h.
8273
8274         * ntproc.c (compare_env):
8275         Moved rva_to_section and mswindows_executable_type to nt.c.
8276         Moved compare_env to process-nt.c.
8277         ntproc.c will die, one day.
8278
8279         * ntproc.c (sys_spawnve):
8280         Account for win32_ -> mswindows_.
8281
8282         * process-nt.c:
8283         * process-nt.c (struct nt_process_data):
8284         * process-nt.c (ensure_console_window_exists):
8285         * process-nt.c (compare_env):
8286         * process-nt.c (nt_create_process):
8287         * process-nt.c (nt_kill_process_by_pid):
8288         * process-nt.c (syms_of_process_nt):
8289         * process-nt.c (vars_of_process_nt):
8290         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8291         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8292         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8293         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8294         Move compare_env here from ntproc.c.
8295
8296         * process.c (Fprocess_send_region):
8297         Takes an optional fourth argument, BUFFER, which should fix some
8298         problems with call-process.
8299
8300         * syscommctrl.h:
8301         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8302
8303         * syswindows.h:
8304         Move ICC_BAR_CLASSES to syscommctrl.h.
8305         Add preliminary macros for MSWindows/Mule.  More to come.
8306
8307         * unexnt.c:
8308         * unexnt.c (unexec):
8309         open_output_file moved to nt.c.
8310
8311
8312 2000-05-05  Andy Piper  <andy@xemacs.org>
8313
8314         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8315         instance from the frame cache also since GC may catch up too late
8316         to make frame deletion sane.
8317
8318 2000-05-04  Andy Piper  <andy@xemacs.org>
8319
8320         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8321         (x_finalize_image_instance): ungcpro on deletion.
8322
8323         * glyphs.c (image_instantiator_format_create): give pointers a
8324         query geometry method so that the geometry is at least set.
8325
8326         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8327         initialize layouts if using widgets.
8328
8329 2000-05-03  Andy Piper  <andy@xemacs.org>
8330
8331         * nt.c: remove bogus reference to sysmmsystem.h
8332
8333         * gui-x.c (popup_selection_callback): fix no selection abort.
8334
8335 2000-05-02  Andy Piper  <andy@xemacs.org>
8336
8337         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8338         (mswindows_widget_instantiate): ditto.
8339
8340         * glyphs-widget.c (initialize_widget_image_instance): initialize
8341         children correctly.
8342         (widget_instantiate): cope with children and items in the same
8343         instance.
8344
8345         * glyphs.c (mark_image_instance): cope with children as a first
8346         class member.
8347         (image_instance_equal): ditto.
8348         (image_instance_hash): ditto.
8349         (image_instance_changed): ditto.
8350
8351 2000-04-30  Andy Piper  <andy@xemacs.org>
8352
8353         * glyphs.c (subwindow_query_geometry): new function. Return some
8354         defaults.
8355         (subwindow_instantiate): don't assign dimensions if none have been
8356         given.
8357         (image_instantiator_format_create): add subwindow_query_geometry.
8358         (print_image_instance): cope with layouts as widgets.
8359
8360 2000-04-29  Andy Piper  <andy@xemacs.org>
8361
8362         * frame.c (delete_frame_internal): call
8363         free_frame_subwindow_instance_cache so that all subwindows are
8364         finalized before their parent.
8365         (mark_frame): remove subwindow_cachels.
8366         (Fmake_frame): remove subwindow_cachel manipulation.
8367         (allocate_frame_core): subwindow_instance_cache is a weak list.
8368         (delete_frame_internal): set subwindow_instance_cache to nil.
8369
8370         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8371         finalization safe.
8372         (mswindows_finalize_image_instance): use the device
8373         not the domain as the domain may have died already.
8374
8375         * glyphs-x.c (x_finalize_image_instance): ditto.
8376         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8377         HEIGHT.
8378
8379         * redisplay-output.c (redisplay_unmap_subwindows): update for
8380         subwindow instance cache as a weak list.
8381         (redisplay_unmap_subwindows_maybe): ditto.
8382         (redisplay_unmap_subwindows_except_us): ditto.
8383
8384         * glyphs.c (unmap_subwindow): error checking will check the domain
8385         so don't deal with it here. Don't use cachels anymore.
8386         (map_subwindow): ditto.
8387         (update_subwindow_cachel_data): remove old accessor names.
8388         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8389         (Fresize_subwindow): don't update cachel.
8390         (mark_subwindow_cachels):
8391         (update_subwindow_cachel_data):
8392         (add_subwindow_cachel):
8393         (get_subwindow_cachel_index):
8394         (update_subwindow_cachel):
8395         (reset_subwindow_cachels):
8396         (mark_subwindow_cachels_as_not_updated): deleted.
8397         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8398         subwindow instance to the frame cache.
8399         (find_matching_subwindow): update for subwindow instance cache as
8400         a weak list.
8401         (update_widget_instances): ditto.
8402         (image_instance_type_to_mask):inlined.
8403         (free_frame_subwindow_instance_cache): new function. finalize all
8404         subwindows that are instantiated.
8405
8406         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8407         of cachel information.
8408         (IMAGE_INSTANCE_DISPLAY_X):
8409         (IMAGE_INSTANCE_DISPLAY_Y):
8410         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8411         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8412         (XIMAGE_INSTANCE_DISPLAY_X):
8413         (XIMAGE_INSTANCE_DISPLAY_Y):
8414         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8415         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8416         remove subwindow_cachel structure and function references.
8417         (image_instance_type_to_mask): inline from glyphs.c
8418
8419         * redisplay.c (redisplay_frame): remove subwindow_cachel
8420         references.
8421
8422         * frame.h (struct frame): remove subwindow_cachels.
8423         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8424
8425         * frameslots.h: add subwindow_instance_cache.
8426
8427         * window.c (replace_window): check subwindow cache of replacement.
8428         (window_unmap_subwindows_cache_mapper):
8429         (window_unmap_subwindows): new functions. Unmap all subwindows
8430         cached on this window.
8431         (mark_window_as_deleted): unmap all subwindows.
8432
8433 2000-04-27  Andy Piper  <andy@xemacs.org>
8434
8435         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8436
8437         * glyphs-widget.c (widget_layout): return something.
8438         (layout_layout): return something. Fail if not initialized.
8439         (layout_query_geometry): ditto.
8440         (image_instantiator_native_layout): new function. Initialized the
8441         native layout type.
8442         (widget_instantiate): don't do layout stuff here.
8443
8444         * glyphs.c (instantiate_image_instantiator): reorded calling or
8445         instantiate and post_instantiate with layout in between.
8446         (image_instance_layout): be more selective about deciding whether
8447         the layout has been done or not.
8448
8449         * glyphs.h (struct image_instantiator_methods): return a value
8450         from layout_method.
8451
8452 2000-04-26  Andy Piper  <andy@xemacs.org>
8453
8454         * glyphs.c (allocate_image_instance): make initial width and
8455         height unspecified. Set initialized to 0.
8456
8457         * syscommctrl.h new file. Encapsulates commctrl.h.
8458
8459         * syswindows.h new file. Encapsulates windows.h.
8460
8461         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8462         * nt.c: ditto.
8463         * console-msw.h: ditto.
8464
8465         * redisplay-tty.c (tty_output_display_block): remove layout references.
8466
8467         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8468         window handle rather than just the frame.
8469
8470         * glyphs.c (mark_image_instance): remove layout references.
8471         (print_image_instance): ditto.
8472         (image_instance_equal): ditto.
8473         (image_instance_hash): ditto.
8474         (decode_image_instance_type): ditto.
8475         (encode_image_instance_type): ditto.
8476         (image_instantiate): ditto.
8477         (allocate_glyph): ditto.
8478         (Fimage_instance_height): ditto.
8479         (Fimage_instance_width): ditto.
8480         (update_subwindow): ditto.
8481
8482         * redisplay-x.c (x_output_display_block): recode for layouts as
8483         widgets.
8484
8485         * redisplay-output.c (redisplay_output_layout): recode for layouts
8486         as widgets.
8487         (compare_runes): remove layout references.
8488
8489         * redisplay-msw.c (mswindows_output_display_block): recode for
8490         layouts as widgets.
8491
8492         * glyphs-widget.c (image_instantiator_layout): remove
8493         layout_possible_dest_types.
8494         (layout_possible_dest_types): deleted.
8495
8496         * glyphs.h (image_instance_type): remove layout references.
8497         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8498         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8499         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8500
8501 2000-04-25  Andy Piper  <andy@xemacs.org>
8502
8503         * glyphs-widget.c (image_instantiator_buttons):
8504         (image_instantiator_edit_fields):
8505         (image_instantiator_combo_box):
8506         (image_instantiator_scrollbar):
8507         (image_instantiator_progress_guage):
8508         (image_instantiator_tree_view):
8509         (image_instantiator_tab_control):
8510         (image_instantiator_labels):
8511         (image_instantiator_layout): call default post_instantiate method.
8512         (widget_post_instantiate): new function. Simply lays out the
8513         widgets.
8514
8515         * glyphs.h (struct image_instantiator_methods): add
8516         post_instantiate method.
8517
8518         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8519         method calls.
8520
8521 2000-04-23  Andy Piper  <andy@xemacs.org>
8522
8523         * glyphs.h (struct image_instantiator_methods): add
8524         decode_domain_method.
8525         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8526         derived from the domain.
8527         (IMAGE_INSTANCE_FRAME): new accessor.
8528         (XIMAGE_INSTANCE_FRAME): ditto.
8529
8530         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8531         instead of _SUBWINDOW_FRAME.
8532         (finalize_image_instance): ditto.
8533         (Fimage_instance_foreground): ditto.
8534         (Fimage_instance_background): ditto.
8535         (image_instantiate): ditto.
8536         (update_subwindow_cachel): ditto.
8537         (update_subwindow): ditto.
8538         (unmap_subwindow): ditto.
8539         (map_subwindow): ditto
8540         (subwindow_instantiate): ditto.
8541         * glyphs-msw.c (mswindows_update_widget): ditto.
8542         (mswindows_progress_gauge_instantiate): ditto.
8543         (mswindows_tab_control_update): ditto.
8544         * glyphs-x.c (x_update_widget): ditto.
8545         (x_widget_instantiate): ditto.
8546         (x_tab_control_instantiate): ditto.
8547         (x_tab_control_update): ditto.
8548         * event-msw.c (mswindows_wnd_proc): ditto
8549
8550         * glyphs-widget.c (image_instantiator_layout): use
8551         subwindow_decode_domain.
8552         (image_instantiator_buttons): ditto.
8553         (image_instantiator_edit_fields): ditto.
8554         (image_instantiator_combo_box): ditto.
8555         (image_instantiator_scrollbar): ditto.
8556         (image_instantiator_progress_guage): ditto.
8557         (image_instantiator_tree_view): ditto.
8558         (image_instantiator_tab_control): ditto.
8559         (image_instantiator_labels): ditto.
8560         (image_instantiator_layout): ditto.
8561
8562         * glyphs.c: add instance error checking to many functions.
8563         (instantiate_image_instantiator): decode device from cache_domain.
8564         (image_instantiate): partially rewrite by using
8565         decode_image_instantiator_domain to determine what domain the
8566         instance needs to be cached in.
8567         (decode_image_instantiator_domain): new function. Determine what
8568         domain the image needs to be cached in.
8569         (check_window_subwindow_cache): new error checking function.
8570         (check_instance_cache_mapper): ditto.
8571         (check_image_instance_structure): ditto.
8572         (subwindow_decode_domain): new function. Encodes a window as a
8573         subwindow's cache domain.
8574         (image_instantiator_format_create): use it for text and
8575         subwindows.
8576
8577 2000-04-21  Andy Piper  <andy@xemacs.org>
8578
8579         * glyphs.c (image_instance_device): new function.
8580         (image_instance_frame): new function.
8581         (image_instance_window): new function.
8582         (image_instance_live_p): new function.
8583
8584         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8585         cache to nil.
8586
8587         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8588         (IMAGE_INSTANCE_DOMAIN): new accessor.
8589         (XIMAGE_INSTANCE_DOMAIN): ditto.
8590
8591         * glyphs-x.c (x_finalize_image_instance): device->domain.
8592
8593         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8594         (mswindows_finalize_image_instance): ditto.
8595
8596         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8597         (gif_instantiate): ditto.
8598         (png_instantiate): ditto.
8599         (tiff_instantiate): ditto.
8600
8601         * glyphs.c (instantiate_image_instantiator): use domain rather
8602         than device.
8603         (mark_image_instance): device -> domain.
8604         (print_image_instance): ditto.
8605         (finalize_image_instance): ditto.
8606         (image_instance_equal): ditto.
8607         (allocate_image_instance): ditto.
8608         (Fcolorize_image_instance): ditto.
8609         (query_string_geometry): ditto.
8610         (image_instantiate): ditto
8611         (query_string_font): ditto.
8612         (image_instantiate): ditto.
8613         (update_subwindow): ditto.
8614         (unmap_subwindow): ditto.
8615         (map_subwindow): ditto.
8616         (subwindow_instantiate): ditto.
8617
8618         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8619         (DOMAIN_FRAME): ditto.
8620         (DOMAIN_WINDOW): ditto.
8621         (DOMAIN_LIVE_P): ditto.
8622         (XDOMAIN_DEVICE): ditto.
8623         (XDOMAIN_FRAME): ditto.
8624         (XDOMAIN_WINDOW): ditto.
8625
8626         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8627         a valid specifier domain.
8628
8629 2000-04-19  Andy Piper  <andy@xemacs.org>
8630
8631         * glyphs-widget.c (syms_of_glyphs_widget): remove
8632         widget-callback-current-channel.
8633         (vars_of_glyphs_widget): ditto.
8634         * glyphs.h: ditto
8635
8636         * gui.c (get_gui_callback): revert to previous behaviour.
8637
8638 2000-04-18  Andy Piper  <andy@xemacs.org>
8639
8640         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8641         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8642         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8643
8644         * glyphs.c (image_instance_equal): add margin_width.
8645         (image_instance_hash): ditto.
8646
8647         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8648         (layout_query_geometry): ditto.
8649         (layout_layout): ditto.
8650         (syms_of_glyphs_widget): add margin-width.
8651         (image_instantiator_layout): allow margin-width.
8652
8653         * glyphs.c (update_widget_instances): make a normal function.
8654         (syms_of_glyphs): remove Qupdate_widget_instances.
8655         * glyphs.h: ditto.
8656
8657         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8658         so that we don't corrupt ideas about the last event or
8659         command. Remove widget-callback-current-channel fiddling.
8660         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8661
8662 2000-05-01  Martin Buchholz <martin@xemacs.org>
8663
8664         * XEmacs 21.2.33 is released.
8665
8666 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8667
8668         * make-src-depend: Allow dots in header file name.
8669
8670 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8671
8672         * mule-charset.h (struct charset_lookup): Add
8673         next_allocated_1_byte_leading_byte and
8674         next_allocated_2_byte_leading_byte.
8675         * mule-charset.c: Move above two variables so that those values
8676         will be dumped.
8677
8678 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8679
8680         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8681         when string length is zero.
8682         (find_charsets_in_emchar_string): Ditto.
8683
8684 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8685
8686         * lisp.h: extern Qdialog and Qmenubar.
8687
8688         * gui-x.c: added events.h.
8689                 also fixed typo which made the file uncompilable.
8690
8691         * general.c: Added Qmenubar and Qdialog
8692
8693 2000-04-28  Ben Wing  <ben@xemacs.org>
8694
8695         * frame-msw.c (mswindows_init_frame_1):
8696         * frame-msw.c (mswindows_mark_frame):
8697         * event-msw.c (mswindows_enqueue_dispatch_event):
8698         * console-msw.h:
8699         * console-msw.h (struct mswindows_frame):
8700         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8701         there are now three hash tables for callbacks.
8702         mswindows_enqueue_dispatch_event is no longer static.
8703
8704         * dialog-x.c (maybe_run_dbox_text_callback):
8705         * dialog-x.c (dbox_descriptor_to_widget_value):
8706         switch to new cons3 form for callbacks.
8707
8708         * glyphs-msw.c (mswindows_register_gui_item):
8709         * glyphs-msw.c (mswindows_widget_instantiate):
8710         * glyphs-msw.c (add_tree_item):
8711         * glyphs-msw.c (add_tab_item):
8712         new image instance parameter, so it can be passed to callback-ex.
8713         respect :callback-ex as well as :callback.
8714
8715         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8716         add :callback-ex.
8717
8718         * glyphs.c (print_image_instance):
8719         prettify, e.g. now prints widget type.
8720
8721         * gui-x.h:
8722         certain funs have new image instance parameter.
8723
8724         * gui.c:
8725         * gui.c (get_gui_callback):
8726         * gui.c (gui_item_add_keyval_pair):
8727         * gui.c (gui_item_init):
8728         * gui.c (gui_add_item_keywords_to_plist):
8729         * gui.c (mark_gui_item):
8730         * gui.c (gui_item_hash):
8731         * gui.c (gui_item_equal):
8732         * gui.c (copy_gui_item):
8733         * gui.c (syms_of_gui):
8734         recognize callback-ex in a number of places.
8735         also, fix the annoying "can't get out of yes-no dialog" bug.
8736
8737         * gui.h:
8738         * gui.h (struct Lisp_Gui_Item):
8739         recognize callback-ex in a number of places.
8740
8741         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8742         new parameter in button_item_to_widget_value.
8743
8744         * glyphs-x.c (x_update_widget):
8745         * glyphs-x.c (x_button_instantiate):
8746         * glyphs-x.c (x_button_update):
8747         * glyphs-x.c (x_progress_gauge_instantiate):
8748         * glyphs-x.c (x_edit_field_instantiate):
8749         * glyphs-x.c (x_combo_box_instantiate):
8750         * glyphs-x.c (x_tab_control_instantiate):
8751         * glyphs-x.c (x_label_instantiate):
8752         new image instance parameter in various places.
8753
8754         * event-Xt.c:
8755         * event-Xt.c (enqueue_Xt_dispatch_event):
8756         this fun gets exported.
8757
8758         * gui-msw.c:
8759         * gui-msw.c (mswindows_handle_gui_wm_command):
8760         handle both :callback and :callback-ex, and generate our own
8761         event because it's one of the callback-ex arguments.
8762
8763         * gui-x.c:
8764         * gui-x.c (popup_selection_callback):
8765         handle both :callback and :callback-ex, and generate our own
8766         event because it's one of the callback-ex arguments.
8767         * gui-x.c (button_item_to_widget_value):
8768         * gui-x.c (gui_items_to_widget_values_1):
8769         * gui-x.c (gui_item_children_to_widget_values):
8770         * gui-x.c (gui_items_to_widget_values):
8771         new image instance parameter in various places.
8772
8773         * fns.c (Freplace_list):
8774         fix small typo in doc string.
8775
8776         * lisp.h:
8777         declare enqueue_Xt_dispatch_event.
8778
8779 2000-04-28  Ben Wing  <ben@xemacs.org>
8780
8781         * buffer.c:
8782         * buffer.c (Frecord_buffer):
8783         * buffer.c (syms_of_buffer):
8784         delete record-buffer-hook.
8785
8786         * fns.c:
8787         * fns.c (Freplace_list):
8788         * fns.c (syms_of_fns):
8789         new primitive replace-list.
8790
8791         * frameslots.h:
8792         slot for old buffer-alist.
8793
8794         * lisp.h:
8795         exfun replace-list.
8796
8797         * redisplay.c:
8798         * redisplay.c (redisplay_frame):
8799         * redisplay.c (syms_of_redisplay):
8800         * redisplay.c (vars_of_redisplay):
8801         new hook buffer-list-changed-hook.
8802         call it.
8803
8804 2000-04-27  Ben Wing  <ben@xemacs.org>
8805
8806         * extents.h: extern in_modeline_generation.
8807
8808         * redisplay.c (generate_formatted_string_db): set
8809         in_modeline_generation.
8810
8811         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8812         flags if in modeline generation.  otherwise frame-modified-tick
8813         is ticked far too often.
8814         Declare in_modeline_generation.
8815
8816 2000-04-26  Ben Wing  <ben@xemacs.org>
8817
8818         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8819         option.
8820         (vars_of_emacs): add quick-build as an error-checking option.
8821         A bit kludgy, but there doesn't seem much point in creating
8822         a real var for this.
8823
8824         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8825
8826 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8827
8828         * redisplay.h (struct display_line): Add a new variable,
8829         line_continuation.
8830
8831         * redisplay.c (create_text_block): Set dl->line_continuation if
8832         the line continues.
8833         (create_string_text_block): Ditto.
8834         (regenerate_window_incrementally): Use line_continuation instead
8835         of searching continuation glyph.
8836         (add_margin_runes): Call add_glyph_rune.
8837         (add_glyph_rune): Handle margin glyph.
8838
8839 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8840
8841         * filelock.c (fill_in_lock_file_name):
8842         ANSIfy.
8843         Check for IS_ANY_SEP instead of '/'.
8844         (lock_file_1):
8845         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8846         Never check errno without first seeing that system call failed.
8847         (unlock_file): Add GCPRO.
8848         (Flock_buffer): Fix docstring.
8849         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8850
8851 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8852
8853         * sysdep.c (get_pty_max_bytes):
8854         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8855         strings longer than 252 bytes.
8856
8857         * md5.c: Unconditionally include ANSI header <limits.h>
8858
8859         * glyphs-x.c (convert_EImage_to_XImage):
8860         * lisp-union.h (union Lisp_Object):
8861         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8862
8863 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8864
8865         * filelock.c (current_lock_owner): Remove unused variable o, p.
8866
8867 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8868
8869         * callint.c: Remove multiply defined symbol Qlet
8870         (syms_of_callint): ditto.
8871
8872 2000-04-14  Andy Piper  <andy@xemacs.org>
8873
8874         * general.c (syms_of_general): add last-command, this-command, let
8875         and funcall.
8876
8877         * lisp.h: declare various symbols.
8878
8879         * glyphs.h: declare Qwidget_callback_current_channel;
8880
8881         * glyphs-widget.c (syms_of_glyphs_widget): add
8882         Qgui_callback_current_channel.
8883         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8884
8885         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8886         widget-callback-current-channel when invoking the interactive
8887         arg. Also bind last-command and next-command when invoking the
8888         widget updates.
8889         * gui-x.c (popup_selection_callback): ditto.
8890
8891         * gui.c (get_gui_callback): massage args so that we are always
8892         calling eval. This allows us to add our own variable bindings
8893         outside.
8894
8895         * glyphs-x.c (x_button_instantiate): use
8896         gui_items_to_widget_values since this is GC safe.
8897         (x_progress_gauge_instantiate): ditto.
8898         (x_edit_field_instantiate): ditto.
8899         (x_label_instantiate): ditto.
8900
8901         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
8902         (emacs_Xt_event_widget_focus_out): new function
8903         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
8904         focus.
8905         (emacs_Xt_event_add_widget_actions): new function. add focus
8906         functions as actions.
8907         (init_event_Xt_late): use it.
8908
8909 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
8910
8911         * event-stream.c (Fdispatch_event): Doc fix.
8912
8913 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
8914
8915         * postgresql.c: Remove all references to PQsetenv*.
8916
8917         * postgresql.h: Remove references to PGsetenvHandler object.
8918         * lrecord.h (lrecord_type): Ditto.
8919
8920 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8921
8922         * glyphs-msw.h (struct mswindows_image_instance_data): Added
8923         real_heigh and real_width members, and accessor macros for these.
8924
8925         * glyphs-msw.c (init_image_instance_geometry): New function.
8926         (init_image_instance_from_dibitmap): Use it.
8927         (mswindows_resource_instantiate): Use it.
8928         (init_image_instance_from_xbm_inline): Use it.
8929         (mswindows_initialize_image_instance_mask): Use real bitmap
8930         geometry.
8931         (mswindows_create_resized_bitmap): Ditto.
8932         (mswindows_create_resized_mask): Ditto.
8933
8934         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
8935         and bitmap to their surface size.
8936
8937 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
8938
8939         * process-unix.c (unix_send_process): Guard against process MIA
8940         after Faccept_process_output.
8941
8942 2000-04-11  Ben Wing  <ben@xemacs.org>
8943
8944         * eval.c (unbind_to_hairy): fix brokenness introduced by
8945         nanosecond speed improvements.
8946
8947 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
8948
8949         * sunplay.c (init_device): To play sounds correctly, the device
8950         apparently needs to be initialized at least once by XEmacs.  Make
8951         it so.
8952
8953 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8954
8955         * redisplay.c (add_margin_runes): Add text image glyph
8956           handling.
8957
8958 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8959
8960         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
8961         gcc is newer than 2.5.
8962
8963 2000-04-06  Colin Rafferty  <colin@xemacs.org>
8964
8965         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
8966
8967         * fns.c (size_bit_vector):
8968         * alloc.c (size_vector):
8969         (make_vector_internal):
8970         (make_bit_vector_internal):
8971         (sweep_bit_vectors_1):
8972         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
8973
8974 2000-04-06  Andy Piper  <andy@xemacs.org>
8975
8976         * gmalloc.c (malloc): undo previous change.
8977         (malloc): ditto.
8978         (free): ditto.
8979         (realloc): ditto.
8980
8981 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
8982
8983         * line-number.c (buffer_line_number): Revert to former version.
8984
8985 2000-04-06  Andy Piper  <andy@xemacs.org>
8986
8987         * gmalloc.c (malloc): add error checking.
8988         (malloc): ditto.
8989         (free): ditto.
8990         (realloc): ditto.
8991
8992         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
8993         button_item_to_widget_value arg.
8994
8995         * glyphs-x.c (x_button_instantiate): add extra
8996         button_item_to_widget_value arg.
8997         (x_progress_gauge_instantiate): ditto.
8998         (x_edit_field_instantiate): ditto.
8999         (x_label_instantiate): ditto.
9000
9001         * gui-x.c (gui_items_to_widget_values_1): add extra
9002         button_item_to_widget_value arg.
9003         (button_item_to_widget_value): add extra menu_item_p arg.
9004
9005         * gui-x.h: change signature of button_item_to_widget_value.
9006
9007         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9008         button_item_to_widget_value arg.
9009
9010 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9011
9012         * buffer.h (struct buffer): auto_save_modified should be long.
9013
9014 2000-04-05  Andy Piper  <andy@xemacs.org>
9015
9016         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9017         type.
9018         (button_query_geometry): give a little more room so that athena
9019         buttons fit.
9020
9021 2000-04-05  Andy Piper  <andy@xemacs.org>
9022
9023         * faces.c (complex_vars_of_faces): The widget face should inherit
9024         the font of the gui-element face.
9025
9026 2000-04-04  Andy Piper  <andy@xemacs.org>
9027
9028         * glyphs-x.c (x_button_update): new function. unconditionally
9029         update a button's state when the instance is dirty.
9030         (image_instantiator_format_create_glyphs_x): add x_button_update.
9031         (x_widget_instantiate): remove old resize cruft.
9032
9033 2000-04-02  Andy Piper  <andy@xemacs.org>
9034
9035         * frame.c (change_frame_size_1): The introduction of gutters means
9036         that we need to allow 0 as a potential frame dimension.
9037
9038 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9039
9040         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9041         image glyph if allow_cursor.
9042         (add_hscroll_rune): Don't allow cursor to border glyph.
9043         (create_text_block): Ditto.
9044
9045         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9046         text not in buffer.
9047         (redisplay_output_layout): Call ensure_face_cachel_complete for
9048         text image glyph.
9049
9050
9051 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9052
9053         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9054
9055         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9056         not in buffer
9057
9058         * redisplay-tty.c (tty_output_display_block): Delete the routine
9059         for text image glyph
9060         * redisplay-x.c (x_output_display_block): ditto
9061         * redisplay-msw.c (mswindows_output_display_block): ditto
9062
9063 2000-02-02  Mike Alexander  <mta@arbortext.com>
9064
9065         Note: Some of these were committed by accident as part of other
9066         patches.
9067
9068         * regex.c (regex_compile): Avoid compiler warnings.
9069
9070         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9071
9072         * nt.h: Declare term_ntproc correctly.
9073
9074         * nt.c: Remove incorrect declaration of get_home_directory which
9075         is declared correctly in lisp.h.
9076
9077         * keymap.c (get_keyelt): Avoid compiler warnings.
9078         (raw_lookup_key_mapper): Avoid compiler warnings.
9079
9080         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9081
9082         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9083
9084         * filemode.c (mode_string): Avoid compiler warnings.
9085
9086         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9087         avoid warning.
9088
9089         * events-mod.h: Undef some things that winuser.h defines differently.
9090
9091         * data.c (Faset): Avoid compiler warnings.
9092
9093         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9094
9095 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9096
9097         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9098         Fall through to simple beep on error.
9099         Replace "extern" by real header file.
9100
9101         * linuxplay.c: Use nativesound.h
9102         (play_sound_data): Return error code. Be less verbose on error.
9103
9104         * sunplay.c: Use nativesound.h
9105         (play_sound_data): Return error code. Be less verbose on error.
9106
9107         * ntplay.c: Use nativesound.h
9108         (play_sound_data): Return fake error code
9109
9110         * sgiplay.c: Use nativesound.h
9111         (play_sound_data): Return error code
9112
9113         * hpplay.c: Use nativesound.h, partially implement
9114         new error code. Break compilation until finished.
9115         (play_sound_data): error code.
9116
9117         * nativesound.h (play_sound_file):
9118           (play_sound_data): Prototype in new header.
9119
9120 2000-03-31  Andy Piper  <andy@xemacs.org>
9121
9122         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9123         for toggle and radio buttons.
9124         (image_instantiator_buttons): use it.
9125
9126 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9127
9128         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9129         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9130         found. Scrollbar event probably belonged to some old config.
9131
9132 2000-03-31  Andy Piper  <andy@xemacs.org>
9133
9134         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9135         than 1.
9136         (initialize_widget_image_instance): default layout to
9137         LAYOUT_HORIZONTAL rather than 0.
9138         (widget_instantiate): reverse the item list at the end rather than
9139         every iteration.
9140         (layout_layout): re-code for the border text at the front of the
9141         item list rather than at the end.
9142         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9143         provided by the user.
9144         (widget_query_geometry): comment.
9145
9146 2000-03-30  Andy Piper  <andy@xemacs.org>
9147
9148         * glyphs-widget.c (image_instantiator_layout): allow standard
9149         widget keywords in layouts.
9150
9151         * gutter.c (output_gutter): cope with nil gutter contents.
9152
9153         * frame.c (Fset_frame_properties): add gutter docs.
9154
9155 2000-03-29  Andy Piper  <andy@xemacs.org>
9156
9157         * toolbar-msw.c (TBSTYLE_FLAT): add.
9158         (mswindows_output_toolbar): minor fiddling.
9159
9160 2000-03-29  Andy Piper  <andy@xemacs.org>
9161
9162         * gutter.c (output_gutter): force gutter size recalculation if
9163         what we are trying to display won't fit.
9164         (update_gutter_geometry): new function. A per-gutter version of
9165         update_frame_gutter_geometry.
9166         (update_frame_gutter_geometry): use it.
9167         (redraw_exposed_gutter): add extra debugging output.
9168
9169 2000-03-28  Mike Alexander  <mta@arbortext.com>
9170
9171         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9172         (pdump_file_unmap): Implement it on Windows
9173         (pdump_file_get): Save alocated handles for pdump_file_unmap
9174
9175 2000-03-28  Andy Piper  <andy@xemacs.org>
9176
9177         * gui.c (get_gui_callback): treat Quit specially.
9178
9179 2000-03-27  Andy Piper  <andy@xemacs.org>
9180
9181         * glyphs.c (image_instantiate): be careful to check in the same
9182         way we assigned.
9183
9184 2000-03-27  Didier Verna  <didier@xemacs.org>
9185
9186         * config.h.in: define the proper SMART_INCLUDE macro.
9187         handle renaming of `foo_h_path' to `foo_h_file'.
9188
9189         * database.c: ditto.
9190
9191         * emacs.c: ditto.
9192
9193         * linuxplay.c: ditto.
9194
9195         * terminfo.c: ditto.
9196
9197         * tooltalk.h: ditto.
9198
9199 2000-03-27  Andy Piper  <andy@xemacs.org>
9200
9201         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9202         gets updated whenever the face might have changed.
9203
9204 2000-03-26  Mike Alexander  <mta@arbortext.com>
9205
9206         * dumper.c (pdump_resource_free): Fix the comment.
9207
9208 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9209
9210         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9211
9212 2000-03-22  Mike Alexander  <mta@arbortext.com>
9213
9214         * dumper.c: Include Windows headers on Windows
9215         (pdump_resource_free): Add a body to the function
9216         (pdump_load): exe_name -> exe_path and add some comments.
9217
9218 2000-03-25  Mike Alexander  <mta@arbortext.com>
9219
9220         * gui.c (copy_gui_item_tree): Return a value in all cases
9221
9222 2000-03-21  Didier Verna  <didier@xemacs.org>
9223
9224         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9225         lwlib/config.h.in.
9226         (SMART_INCLUDE): new macro.
9227         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9228         the proper location.
9229
9230         * postgresql.c: use it.
9231
9232         * inline.c: ditto.
9233
9234 2000-03-24  Andy Piper  <andy@xemacs.org>
9235
9236         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9237         do this.
9238
9239 2000-03-24  Andy Piper  <andy@xemacs.org>
9240
9241         * redisplay-output.c (compare_runes): use image_instance_changed
9242         to detect changes. Do not depend on glyphs_changed, only depend on
9243         dirtiness.
9244          (redisplay_output_layout): add debug messages.
9245         (compare_runes): ditto.
9246
9247         * glyphs.h: declare new functions.
9248         (struct Lisp_Image_Instance): remove percent and associated
9249         accessors.
9250
9251         * gui.h: declare new copying functions.
9252
9253         * gui.c (copy_gui_item_tree): new function.
9254         (copy_gui_item): new function.
9255         (gui_item_id_hash): revert to standard hash.
9256         (gui_item_hash): ditto.
9257         (gui_item_hash_internal): deleted.
9258         (mark_gui_item): mark value.
9259         (gui_item_add_keyval_pair): add value.
9260         (gui_item_init): ditto.
9261         (gui_add_item_keywords_to_plist): ditto.
9262         (gui_item_equal): ditto.
9263         (syms_of_gui): add Q_value.
9264
9265         * glyphs-x.c (x_progress_gauge_update): use pending items and
9266         value for setting the state.
9267         (x_update_widget): don't set items from pending here.
9268
9269         * glyphs-widget.c (update_widget): update items here.
9270         (progress_gauge_set_property): use items for storing value. Put
9271         new value in pending items.
9272
9273         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9274         items for new value. Convert percent -> value.
9275         (mswindows_tab_control_update): don't update items here.
9276
9277         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9278         (update_subwindow): ditto.
9279         (image_instance_changed): new function. Compare hash values and
9280         past and present widget items.
9281         (image_instantiate): We more careful about where we instantiate
9282         things.
9283         (image_instantiate): add error checking.
9284
9285         * gutter.c (syms_of_gutter): use -hook.
9286
9287 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9288
9289         * console-tty.c (Fset_console_tty_input_coding_system): Use
9290         Qkeyboard.
9291         (Fset_console_tty_output_coding_system): Use Qterminal.
9292         (tty_init_console): Use Qkeyboard and Qterminal.
9293
9294 2000-03-21  Ben Wing  <ben@xemacs.org>
9295
9296         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9297         From Mike Alexander <mta@arbortext.com>.
9298
9299 2000-03-21  Ben Wing  <ben@xemacs.org>
9300
9301         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9302         process brokenness.  Proper implementation to come.
9303         * callproc.c:
9304         Rename call-process-internal to old-call-process-internal.
9305         New impl. in process.el.
9306
9307 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9308
9309         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9310
9311 2000-03-20  Andy Piper  <andy@xemacs.org>
9312
9313         * glyphs.c (full_list_hash): make hashes of the same elements in
9314         different orders return different values.
9315
9316 2000-03-20  Martin Buchholz <martin@xemacs.org>
9317
9318         * XEmacs 21.2.32 is released.
9319
9320 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9321
9322         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9323         (DFC_MALLOC_USE_CONVERTED_DATA):
9324         Add aliasing-safe casts to allow use with char* or unsigned char*
9325         lvalues.
9326
9327         * eldap.c (Fldap_open):
9328         (Fldap_search_basic):
9329         (Fldap_add):
9330         (Fldap_modify):
9331         Make C++-compilable.
9332         Make sure GCPRO'ed variables are initialized.
9333         Use temp variables to avoid repeated calls to Flength.
9334
9335 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9336
9337         * sysfile.h:
9338         Make sure PATH_MAX is always defined.
9339         Include limits.h for PATH_MAX.
9340         Deprecate use of MAXPATHLEN.
9341
9342 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9343
9344         * emacs.c: Add reinit_vars_of_fileio.
9345         * symsinit.h: Add reinit_vars_of_fileio.
9346         * fileio.c (reinit_vars_of_fileio): New.
9347         * fileio.c (Fmake_temp_name):
9348         Initialize temp_name random number from microseconds to make
9349         collisions even less likely.  Initialize always at process startup
9350         time.  (make-temp-name) used to return the same file name twice in
9351         a row when PDUMP.
9352         Random stylistic fiddling.
9353         Comment fixes.
9354
9355 2000-03-20  Andy Piper  <andy@xemacs.org>
9356
9357         * glyphs.c (image_instantiate): allow text glyphs to be
9358         instantiated in the minibuffer window.
9359
9360 2000-03-19  Andy Piper  <andy@xemacs.org>
9361
9362         * glyphs.c (image_instance_hash): be careful about which items we
9363         hash on.
9364
9365         * glyphs-widget.c (tab_control_set_property): record into pending
9366         items rather than the actual items.
9367
9368         * glyphs-x.c (x_update_widget): use pending items to update with.
9369
9370         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9371         to update with.
9372
9373         * glyphs.c (mark_image_instance): mark pending items.
9374
9375         * window.c (Fset_window_configuration): record the buffer.
9376         (Fselect_window): totally revert previous change which breaks many
9377         things.
9378
9379 2000-03-18  Andy Piper  <andy@xemacs.org>
9380
9381         * glyphs-msw.c (mswindows_tab_control_update): force selected
9382         item.
9383
9384         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9385         window domain cache, otherwise we get inconsistencies at
9386         startup. There is something fishy at startup which can lead to the
9387         minibuffer being the selected window when the gutter content is
9388         instantiated.
9389
9390         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9391         gcpros.
9392         (parse_gui_item_tree_children): ditto.
9393         (parse_gui_item_tree_item): ditto.
9394
9395         * glyphs.c (Fupdate_widget_instances): return something.
9396
9397 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9398
9399         * window.c (Fselect_window): Undo 2000-03-17 change.
9400
9401 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9402
9403         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9404         against v7.0 libraries.  Insta-coredump city until the postgres
9405         folks fix it.
9406
9407 2000-03-17  Andy Piper  <andy@xemacs.org>
9408
9409         * faces.c (complex_vars_of_faces): don't give the widget face an
9410         inherited background pixmap.
9411
9412         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9413         selected item.
9414
9415         * event-stream.c (Fdispatch_non_command_events): return something.
9416
9417         * gutter.c (output_gutter): use widget face.
9418         (clear_gutter): ditto.
9419
9420         * NEWS: adjust again.
9421
9422         * window.c (Fselect_window): make sure this runs to completion to
9423         avoid oddities with Fset_window_configuration.
9424         (Fcurrent_window_configuration): in general do not save the
9425         minibuffer as the selected window.
9426
9427         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9428
9429 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9430
9431         * emacs.c (Frunning_temacs_p): Revert previous patch.
9432         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9433
9434 2000-03-16  Andy Piper  <andy@xemacs.org>
9435
9436         * glyphs-x.c (x_tab_control_update): if no widget values then
9437         return.
9438
9439         * NEWS: update for new features.
9440
9441         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9442         synthetic event to the native system.
9443         (reinit_vars_of_event_Xt): set force_event_pending to
9444         emacs_Xt_force_event_pending.
9445
9446         * events.h (struct event_stream): add force_event_pending.
9447
9448         * specifier.c (recompute_one_cached_specifier_in_window): add
9449         comment.
9450
9451         * redisplay.c (redisplay_frame): don't call
9452         update_frame_subwindows. Reset subwindow cachels when
9453         subwindows_changed, removing this was an optimization too far.
9454
9455         * redisplay-output.c (compare_runes): reorganize so that we catch
9456         glyph changes when we want them. Set optimize_output when this
9457         would help layouts.
9458         (redisplay_output_layout): remove frame_really_changed, use
9459         optimize_output instead.
9460
9461         * redisplay-msw.c (mswindows_output_display_block): reset
9462         optimize_output after outputting a glyph.
9463         * redisplay-x.c (x_output_display_block): ditto.
9464         * redisplay-tty.c (tty_output_display_block): ditto.
9465
9466         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9467         functions.
9468         (gutter_specs_changed): do specific gutter positions.
9469         (top_gutter_specs_changed): new function. Only update the
9470         specified gutter specs.
9471         (bottom_gutter_specs_changed): ditto.
9472         (left_gutter_specs_changed): ditto.
9473         (right_gutter_specs_changed): ditto.
9474
9475         * gui.c (gui_item_hash_internal): new function, does a real hash.
9476         (gui_item_id_hash): use it.
9477         (gui_item_hash): hash the eval'ed gui_item.
9478
9479         * gui-x.c (popup_selection_callback): send an eval event to call
9480         Fupdate_widget_instances.
9481
9482         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9483         to call Fupdate_widget_instances.
9484
9485         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9486         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9487
9488         * glyphs.c: (update_frame_subwindows): deleted.
9489         (Fupdate_widget_instances): new function for updating the dirty
9490         state of widgets that might have changed.
9491         (syms_of_glyphs): add Qupdate_widget_instances.
9492         (full_list_hash): hash a list completely.
9493         (image_instance_hash): use it for items and properties.
9494
9495         * frame-msw.c (mswindows_size_frame_internal): remove unused
9496         variable.
9497
9498         * faces.h (struct face_cachel): fix comment.
9499
9500         * event-stream.c (Fdispatch_non_command_events): new
9501         function. Process non-command events, forcing an event cycle
9502         beforehand.
9503         (syms_of_event_stream): declare.
9504         (event_stream_force_event_pending): new function. Force an event
9505         on the native event queue so that an event cycle will occur next
9506         time we check.
9507
9508         * event-msw.c:
9509         (struct ntpipe_shove_stream):
9510         (mswindows_enqueue_dispatch_event):
9511         (mswindows_dequeue_dispatch_event):
9512         (mswindows_cancel_dispatch_event):
9513         (mswindows_pump_outstanding_events):
9514         (mswindows_drain_windows_queue):
9515         (mswindows_handle_paint):
9516         (mswindows_wnd_proc):
9517         (mswindows_key_to_emacs_keysym):
9518         (get_process_input_waitable):
9519         (emacs_mswindows_delete_stream_pair): re-indent file.
9520         (mswindows_need_event): do not process further fds if the windows
9521         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9522         fixes the 100% cpu problem.
9523         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9524
9525 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9526
9527         * alloc.h: New.
9528         * dumper.h: New.
9529         * dumper.c: New.
9530
9531         * emacs.c: Moved dump file searching to dumper.c.
9532         (Frunning_temacs_p): Fixed.
9533
9534         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9535         last_lrecord_type_index_assigned.
9536
9537 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9538
9539         * symsinit.h: Added reinit parameter to init_console_stream
9540         declaration.
9541
9542         * lisp.h: Added file parameter to pdump_load declaration.
9543
9544         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9545         support.  Added dump file searching.
9546
9547         * config.h.in: Added EMACS_PROGNAME.
9548
9549         * console-stream.c (init_console_stream): Fix reinitialisation
9550         when running from temacs.
9551
9552         * alloc.c (pdump): Add id support.
9553         (pdump_load): Add file parameter and signature/id support.
9554
9555         * Makefile.in.in: Add full pdump support.
9556
9557 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9558
9559         * postgresql.c: Update documentation to reflect latest code
9560         status.
9561         (print_result): Show tuple counts in printed representation when
9562         appropriate.
9563         (Fpq_put_nbytes): MULE-ize.
9564         (Fpq_get_line_async): Ditto.
9565
9566 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9567
9568         * postgresql.c (Fpq_lo_import): Fix return value.
9569         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9570
9571 2000-03-13  Ben Wing  <ben@xemacs.org>
9572
9573         * alloc.c (pdump_load):
9574         Fix compile warning under mswin.
9575
9576 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9577
9578         * postgresql.c: Mule-ization, bug fixes.
9579         Use PG_CODING to encapsulate coding system name changes.
9580         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9581         (pg-coding-system): Create.
9582
9583         (Fpq_conn_defaults): Mule-ize.
9584         (Fpq_connectdb): Mule-ize & bug fix.
9585         (Fpq_connect_start): Mule-ize.
9586         (Fpq_set_client_encoding): Mule-ize.
9587         (Fpq_finish): Document `DEAD' connection status.
9588         (Fpq_clear): Ditto.
9589         (Fpq_pgconn): Mule-ize.
9590         (Fpq_exec): Mule-ize & bug fix.
9591         (Fpq_send_query): Ditto.
9592         (Fpq_get_result): Ditto.
9593         (Fpq_res_status): Mule-ize.
9594         (Fpq_result_error_message): Mule-ize.
9595         (Fpq_ntuples): fix comments.
9596         (Fpq_fname): Mule-ize.
9597         (Fpq_fnumber): Mule-ize.
9598         (Fpq_ftype): fix comments.
9599         (Fpq_get_value): Mule-ize.
9600         (Fpq_cmd_status): Ditto.
9601         (Fpq_cmd_tuples): Ditto.
9602         (Fpq_oid_value): Ditto.
9603         (Fpq_notifies): Ditto.
9604         (Fpq_lo_import): Ditto.
9605         (Fpq_lo_export): Ditto.
9606         (Fpq_get_line): Ditto.
9607         (Fpq_put_line): Mule-ize and bug fix.
9608         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9609
9610 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9611
9612         * postgresql.c (vars_of_postgresql): Mule-ize.
9613         (Fpq_conn_defaults): Ditto.
9614
9615 2000-03-12  Ben Wing  <ben@xemacs.org>
9616
9617         * alloc.c (Fmake_byte_code):
9618         * alloc.c (debug_string_purity_print):
9619         * alloc.c (pdump_backtrace):
9620         * alloc.c (pdump_get_indirect_count):
9621         * alloc.c (pdump_register_sub):
9622         * alloc.c (pdump_register_object):
9623         * alloc.c (pdump_register_struct):
9624         * alloc.c (pdump_dump_data):
9625         * alloc.c (pdump_reloc_one):
9626         Minor cleanups.
9627
9628         * console-msw.c:
9629         * console-msw.c (GetConsoleHwnd):
9630         * console-msw.c (msw_hide_console):
9631         * console-msw.c (msw_show_console):
9632         * console-msw.c (msw_ensure_console_buffered):
9633         * console-msw.c (msw_output_console_string):
9634         * console-msw.c (console_type_create_mswindows):
9635
9636         a) Added functions to manipulate the console window for use with
9637         shell support.
9638
9639         b) Added support for writing text to the console, which is now
9640         used under Windows when xemacs is not being run non-interactively,
9641         to write text that would otherwise be destined for stdout because
9642         under these circumstances, text written to stdout tends to
9643         disappear and not be seen.
9644
9645         * console-msw.h:
9646         * event-Xt.c:
9647         * event-Xt.c (x_event_to_emacs_event):
9648         * event-Xt.c (describe_event_window):
9649         * events-mod.h (XEMACS_MOD_CONTROL):
9650         * events.c:
9651         * events.c (Fmake_event):
9652         * events.c (character_to_event):
9653         * events.c (event_to_character):
9654         * events.c (format_event_object):
9655         * events.c (Fevent_modifiers):
9656         * events.h:
9657         * events.h (struct key_data):
9658         * events.h (struct button_data):
9659         * events.h (struct misc_user_data):
9660         * frame-x.c (Fcde_start_drag_internal):
9661         * frame-x.c (Foffix_start_drag_internal):
9662         * gpmevent.c (Freceive_gpm_event):
9663         * keymap.c:
9664         * keymap.c (bucky_sym_to_bucky_bit):
9665         * keymap.c (control_meta_superify):
9666         * keymap.c (make_key_description):
9667         * keymap.c (keymap_lookup_directly):
9668         * keymap.c (create_bucky_submap):
9669         * keymap.c (keymap_store):
9670         * keymap.c (define_key_check_and_coerce_keysym):
9671         * keymap.c (define_key_parser):
9672         * keymap.c (define_key_alternate_name):
9673         * keymap.c (Fdefine_key):
9674         * keymap.c (raw_lookup_key_mapper):
9675         * keymap.c (struct map_keymap_unsorted_closure):
9676         * keymap.c (map_keymap_unsorted_mapper):
9677         * keymap.c (map_keymap_sort_predicate):
9678         * keymap.c (map_keymap_sorted):
9679         * keymap.c (accessible_keymaps_mapper_1):
9680         * keymap.c (where_is_recursive_mapper):
9681         * keymap.c (describe_map_mapper):
9682         * keymap.c (describe_map_sort_predicate):
9683         * keymap.c (describe_map):
9684         * keymap.c (complex_vars_of_keymap):
9685         And a number of other files, the key modifier preprocessor
9686         constants that xemacs uses have names that conflict with constants
9687         defined under MS Windows for other purposes, so they were renamed
9688         to begin with the prefix XEMACS_. The variables that hold such
9689         modifiers were changed to consistently be of type int to fix
9690         various compile warnings.
9691
9692         * console.c (complex_vars_of_console):
9693         * device.c:
9694         * device-msw.c:
9695         * device-msw.c (mswindows_finish_init_device):
9696         * device-msw.c (msw_get_workspace_coords):
9697         * device-msw.c (mswindows_device_system_metrics):
9698         and various other files, added support for a new
9699         device property called offset-workspace which returns the position
9700         of the upper left corner of the workspace area and goes along with
9701         the existing size-workspace property.
9702
9703         * dialog-msw.c:
9704         * dialog-msw.c (push_bufbyte_string_as_unicode):
9705         * dialog-msw.c (mswindows_popup_dialog_box):
9706         Added support for XEmacs-style accelerator specifications in
9707         button text.  Note: I didn't add support for this under X Windows,
9708         and somebody needs to do this.
9709
9710         * dialog.c:
9711         * dialog.c (Fpopup_dialog_box):
9712         Documented the support for accelerators that was just mentioned.
9713
9714         editfns.c (get_home_directory): Changed behavior under Windows
9715         when HOME not defined; former behavior was irretrievably broken.
9716
9717         * emacs.c:
9718         * emacs.c (main_1):
9719         * emacs.c (main):
9720         * minibuf.c (clear_echo_area_internal):
9721         * minibuf.c (echo_area_append):
9722         * print.c:
9723         * print.c (std_handle_out_external):
9724         * print.c (std_handle_out_va):
9725         * print.c (fatal):
9726         * print.c (write_string_to_stdio_stream):
9727         * print.c (output_string):
9728         * print.c (debug_print):
9729         * print.c (debug_backtrace):
9730         * print.c (debug_short_backtrace):
9731         Cleaned up the code that prints text to stdout so that this can be
9732         changed to output into a console window instead under MS Windows,
9733         as described above.
9734
9735         * eval.c:
9736         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9737         * eval.c (internal_catch):
9738         * eval.c (unwind_to_catch):
9739         * eval.c (throw_or_bomb_out):
9740         * eval.c (condition_case_1):
9741         * eval.c (signal_1):
9742         * eval.c (check_error_state_sanity):
9743         * eval.c (call_with_suspended_errors_1):
9744         * eval.c (call_with_suspended_errors):
9745         * eval.c (reinit_vars_of_eval):
9746         Added code to catch throw loops and check for a pesky bug that may
9747         be gone now.
9748
9749         * event-msw.c:
9750         * event-msw.c (key_needs_default_processing_p):
9751         * event-msw.c (mswindows_wnd_proc):
9752         * event-msw.c (mswindows_modifier_state):
9753         * event-msw.c (emacs_mswindows_quit_p):
9754         * event-msw.c (vars_of_event_mswindows):
9755         a) Added support for using the alt key to select menu items as is
9756         standard under MS Windows.  This is controlled using the variable
9757         menu-accelerator-enabled, just like under X Windows.  There is an
9758         option on the options menu to turn this support on.  I really
9759         think that it should be on by default under Windows, but I'm not
9760         going to make this change yet.
9761
9762         b)  Added support for dynamic display size changes under Windows.
9763
9764         * event-stream.c:
9765         * event-stream.c (maybe_echo_keys):
9766         * event-stream.c (Fnext_event):
9767         * event-stream.c (command_builder_find_leaf):
9768         * event-stream.c (lookup_command_event):
9769         * event-stream.c (execute_command_event):
9770         * event-stream.c (pre_command_hook):
9771         * event-stream.c (post_command_hook):
9772         * event-stream.c (syms_of_event_stream):
9773         * event-stream.c (vars_of_event_stream):
9774         * event-stream.c (complex_vars_of_event_stream):
9775         * events.h (struct command_builder):
9776
9777         a) Tried to clean up a little bit the horribly written x-specific
9778         accelerator code that crept into this file.  I moved this code
9779         into menubar-x.c where it belongs. I also needed to move the
9780         command builder structure into the file events.h because it is
9781         accessed directly by this accelerator code.  What I didn't do, but
9782         which should be done at some point, is to properly abstract this
9783         code using device methods instead of the kludgy way that it
9784         currently hooks into the event code.
9785
9786         b) Added the lisp variables this-command-properties and
9787         last-command- properties, which should be used to synchronize two
9788         adjacent commands in preference to playing games with the variable
9789         this-command, which is typically what happens.
9790
9791         c) Added some slightly nasty code to hook into the lisp support
9792         for shifted- motion-key selection.  This is actually necessary for
9793         somewhat complicated reasons, which are described in
9794         simple.el. (NB: I think the proper thing would be to have the code
9795         that calls the pre and post command hooks also call out to generic
9796         lisp functions in simple.el, where all built-in stuff could be
9797         added.  I will think about this more.)
9798
9799         * event-unixoid.c (poll_fds_for_input):
9800         * lread.c (readchar):
9801         * redisplay-tty.c (tty_clear_frame):
9802         * redisplay-x.c (x_get_gc):
9803         * signal.c (interrupt_signal):
9804         And a whole bunch of other files: fixed up places that printed
9805         directly to stderr to instead call the function stderr_out so that
9806         the changes I made under Windows work correctly.
9807
9808         * filemode.c (mode_string):
9809         Warning fixes.
9810
9811         * frame-msw.c:
9812         * frame-msw.c (mswindows_size_frame_internal):
9813         Fixed the computation of frame size and position to keep the frame
9814         within the workspace area, rather than within the physical
9815         dimensions of the screen, so that the frame doesn't overlap window
9816         manager decorations, such as the start menu and toolbar, typically
9817         at the bottom of the screen.
9818
9819         * frame.c (vars_of_frame):
9820         Changed the default frame title format under MS Windows to consist
9821         of buffername-XEmacs, which is standard under MS Windows.  I think
9822         it might be a good idea to change this everywhere because I think
9823         it is superior to the current frame title format, but this is the
9824         kind of change that is likely to cause some people to get annoyed,
9825         so I'm not making it.
9826
9827         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9828
9829         * gui-msw.c (mswindows_handle_gui_wm_command):
9830         Fixed compile warnings.
9831
9832         * gui-x.c:
9833         * gui-x.c (strdup_and_add_accel):
9834         * gui-x.c (button_item_to_widget_value):
9835         * gui-x.h:
9836         Added code to automatically put an accelerator onto the beginning
9837         of menu items that don't have one as is now the standard, and is
9838         described more later.  Also fixed things so that the menu item
9839         name can be an evaluated expression, again a new standard.
9840
9841         * gui.c:
9842         * gui.c (gui_item_add_keyval_pair):
9843         * gui.c (make_gui_item_from_keywords_internal):
9844         * gui.c (gui_add_item_keywords_to_plist):
9845         * gui.c (gui_item_accelerator):
9846         * gui.c (gui_name_accelerator):
9847         * gui.c (gui_item_included_p):
9848         * gui.c (gui_item_display_flush_left):
9849         * gui.c (gui_item_display_flush_right):
9850         * gui.c (parse_gui_item_tree_item):
9851         * gui.c (parse_gui_item_tree_children):
9852         * gui.c (parse_gui_item_tree_list):
9853         Mule-ized.  Cleanup.  GCPRO addition.
9854
9855         * line-number.c (buffer_line_number):
9856         * lisp.h:
9857         * lisp.h (EMACS_INT_MAX):
9858         Added the manifest constant EMACS_INT_MIN corresponding to the
9859         existing constant EMACS_INT_MAX.  This is partially to fix compile
9860         warnings under Windows, and partly for cleanliness.
9861
9862         * menubar-msw.c:
9863         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9864         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9865         * menubar-msw.c (displayable_menu_item):
9866         * menubar-msw.c (populate_menu_add_item):
9867         * menubar-msw.c (populate_or_checksum_helper):
9868         * menubar-msw.c (populate_menu):
9869         * menubar-msw.c (update_frame_menubar_maybe):
9870         * menubar-msw.c (prune_menubar):
9871         * menubar-msw.c (msw_char_is_accelerator):
9872         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9873         * menubar-msw.c (mswindows_handle_wm_command):
9874         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9875         * menubar-msw.c (mswindows_handle_wm_initmenu):
9876         * menubar-msw.c (mswindows_update_frame_menubars):
9877         * menubar-msw.c (mswindows_free_frame_menubars):
9878         * menubar-msw.c (mswindows_popup_menu):
9879         Fixed a bug in handling accelerators where an extra character
9880         would be displayed in the menu item.  Also generalized the
9881         function displayable_menu_item because it is now used by the
9882         dialog box code as well.  And finally, added code in the functions
9883         that create the menubar to extract a list of accelerators for the
9884         top level menubar, which is used in the event code to determine
9885         whether a particular alt-key combination should be used to invoke
9886         a menu item, or should be passed through to access the standard
9887         XEmacs keymap binding for this key combination.
9888
9889         Much needed GCPROing.
9890
9891         * menubar-x.c:
9892         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9893         * menubar-x.c (menu_item_descriptor_to_widget_value):
9894         * menubar-x.c (restore_in_menu_callback):
9895         * menubar-x.c (x_popup_menu):
9896         * menubar-x.c (menu_move_up):
9897         * menubar-x.c (menu_move_down):
9898         * menubar-x.c (menu_move_left):
9899         * menubar-x.c (menu_move_right):
9900         * menubar-x.c (menu_select_item):
9901         * menubar-x.c (command_builder_operate_menu_accelerator):
9902         * menubar-x.c (menu_accelerator_junk_on_error):
9903         * menubar-x.c (command_builder_find_menu_accelerator):
9904         * menubar-x.c (Faccelerate_menu):
9905         * menubar.h:
9906         Moved a whole bunch of code here that was previously in
9907         event-stream.c as described above.  There is also code connected
9908         to the new standard of adding an accelerator to the beginning of
9909         menu items that don't have one as described above and below.
9910
9911         * menubar.c:
9912         * menubar.c (menu_parse_submenu_keywords):
9913         * menubar.c (Fmenu_find_real_submenu):
9914         * menubar.c (Fnormalize_menu_item_name):
9915         * menubar.c (syms_of_menubar):
9916         * menubar.c (vars_of_menubar):
9917         * menubar.c (complex_vars_of_menubar):
9918
9919         a) Cleaned up a bunch of documentation and improved it.
9920
9921         b) XEmacs now automatically adds an accelerator onto the beginning
9922         of any menu items that don't have one.  I did this because there
9923         will inevitably be some menu items on the main menubar that don't
9924         have accelerators on them because the package that adds that
9925         particular menu item hasn't yet been fixed up to have accelerators
9926         in them and it looked rather strange to have some items with and
9927         some items without accelerators, especially since even in items
9928         without accelerators, you can, at least under windows, still
9929         access the item through an accelerator corresponding to the first
9930         character in the item's name.  If people don't like this behavior,
9931         I can add a variable to turn it off optionally, but I'm not sure
9932         this is a good idea because we really do need to have accelerators
9933         on all of the menu items, and if a package doesn't like the
9934         accelerators being put on the first character, then it should put
9935         the accelerators where they belong.
9936
9937         c) I made a behavior change, which is that the descriptor that
9938         specifies the text of the menu item, which formerly was just a
9939         string, can now also be an evaluated expression.  This makes this
9940         descriptor parallel with all of the others, which could also be
9941         evaluated expressions.  This also obviates the need for the
9942         keyword :label, which was previously listed in the documentation
9943         as unimplemented, and which was for the same purpose.
9944
9945         d) GCPROing.
9946
9947         * ntproc.c:
9948         * ntproc.c (new_child):
9949         * ntproc.c (sys_spawnve):
9950         * ntproc.c (find_child_console):
9951         * ntproc.c (sys_kill):
9952         Fixed compile warnings.  By the way, this file should really go
9953         away entirely, and this will happen as soon as Kirill makes his
9954         final round of process cleanups, which affect the function
9955         call-process.
9956
9957         * process-nt.c:
9958         * process-nt.c (struct nt_process_data):
9959         * process-nt.c (find_process_from_pid):
9960         * process-nt.c (send_signal_the_nt_way):
9961         * process-nt.c (enable_child_signals):
9962         * process-nt.c (find_child_console):
9963         * process-nt.c (send_signal_the_95_way):
9964         * process-nt.c (nt_finalize_process_data):
9965         * process-nt.c (ensure_console_window_exists):
9966         * process-nt.c (nt_create_process):
9967         * process-nt.c (nt_kill_child_process):
9968         * process-nt.c (nt_kill_process_by_pid):
9969         * process-nt.c (nt_open_network_stream):
9970         * process-nt.c (vars_of_process_nt):
9971         Copied over code from Emacs 20.5 to correctly send signals to sub-
9972         processes under Windows 95.  Also added code to automatically
9973         create and hide console window when a sub-process is created under
9974         Windows 95, which obviates the need for the separate runemacs.exe
9975         executable, and finally implemented some variables that were
9976         implemented in Emacs 20.5, but previously not in XEmacs.  These
9977         include mswindows- start-process-share-console and
9978         mswindows-start-process-inherit-error-mode. (Both of these only
9979         apply to Windows 95.)
9980
9981         * regex.c (regex_compile): Fixed a compile warning.
9982
9983         * select-msw.c:
9984         * select-msw.c (mswindows_own_selection):
9985         * select-msw.c (mswindows_get_foreign_selection):
9986         * select-msw.c (mswindows_disown_selection):
9987         * select-msw.c (console_type_create_select_mswindows):
9988         * select-msw.c (syms_of_select_mswindows):
9989         Cleaned up the file and implemented the device method
9990         selection_exists_p, which had accidentally been left out.  Also
9991         removed four lisp functions that were remnants from before the
9992         time when the selection code was properly device abstracted.
9993         These functions are no longer needed because there are generic
9994         equivalents, and because they were added recently and don't exist
9995         in FSF Emacs, I don't think there's any problem with just deleting
9996         them.
9997
9998         * sysdep.c:
9999         * sysdep.c (sys_subshell):
10000         Fixed a compile warning, although in this case there's probably
10001         something wrong with this code, and it ought to be looked into
10002         more thoroughly by somebody who understands it.
10003
10004         * window.c:
10005         * window.c (Fwindow_text_area_height):
10006         * window.c (Fwindow_width):
10007         * window.c (Fwindow_full_width):
10008         * window.c (Fwindow_pixel_width):
10009         * window.c (debug_print_window):
10010         * window.c (syms_of_window):
10011         Added functions window-text-area-height and window-full-width,
10012         which are functions for returning various width and height
10013         characteristics of a window. (One of these functions is necessary
10014         for making the file dialog box work correctly, and the other one
10015         was added for completeness.)  Also added a table to the
10016         documentation for window-height which describes the entire scheme
10017         for accessing width and height characteristics of a window.
10018
10019 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10020
10021         * nt.c (fstat): Added a comment for another problem with
10022         non-encapsulated [f]stat(), reported by Adrian Aichner
10023         <aichner@ecf.teradyne.com>.
10024
10025 2000-03-11  Andy Piper  <andy@xemacs.org>
10026
10027         * window.c (make_dummy_parent): initialize subwindow instance
10028         cache.
10029         (Fset_window_configuration): zero extent_modiff.
10030
10031 2000-03-10  Andy Piper  <andy@xemacs.org>
10032
10033         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10034         more changes can be triggered.
10035         (Fredisplay_frame): ditto.
10036         (Fredraw_device): ditto.
10037         (Fredisplay_device): ditto.
10038         (redisplay_frame): make non-static.
10039         (redisplay_frame): call update_frame_gutter_geometry outside of
10040         display proper.
10041
10042         * gutter.h: declare update_frame_gutter_geometry.
10043
10044         * redisplay.h: declare redisplay_frame.
10045
10046         * gutter.c (update_frame_gutter_geometry): move geometry changes
10047         in update_frame_gutters here. Geometry changes can only occur
10048         outside of redisplay.
10049         (update_frame_gutters): remove geometry change code.
10050         (Fredisplay_gutter_area): make sure that we are in display when we
10051         update and that we have flushed any size changes.
10052
10053 2000-03-11  Andy Piper  <andy@xemacs.org>
10054
10055         * alloc.c (pdump_dump_data): remove i & count shadows.
10056
10057 2000-02-27  Mike Alexander  <mta@arbortext.com>
10058
10059         * sysdep.h: Declare pdump_read_file
10060
10061         * sysdep.c (pdump_read_file): New function
10062
10063         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10064         dump data
10065
10066 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10067
10068         * lrecord.h: add `lrecord_type_pgsetenv'.
10069
10070 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10071
10072         * symsinit.h: declare (vars|syms)_of* functions.
10073         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10074
10075 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10076
10077         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10078
10079         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10080         GCCs.
10081
10082         * emacs.c (main_1): Call postgres initialization code.
10083
10084         * postgresql.h: New file.  PostgreSQL RDBMS support.
10085         * postgresql.c: New file.
10086
10087 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10088
10089         * redisplay-output.c (redisplay_output_display_block): Disable
10090         redundant code.
10091
10092 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10093
10094         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10095         (Fcanna_henkan_next): Ditto.
10096         (Fcanna_bunsetu_henkou): Ditto.
10097         (Fcanna_henkan_kakutei): Ditto.
10098         (Fcanna_henkan_end): Ditto.
10099         (Fcanna_henkan_quit): Ditto.
10100         (Fcanna_henkan_next): Set retun value correctly.
10101         (c2mu): Use unsigned char instead of signed char.
10102
10103 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10104
10105         * emacs.c (main_1): Always call syms_of_gui.
10106         * inline.c: include gui.h
10107
10108 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10109
10110         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10111         converted to Lisp_Object.
10112         (Qtop_bottom): New variable.
10113         (syms_of_redisplay): Initialize it.
10114         * redisplay.h (Vvisible_bell): Ditto.
10115         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10116         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10117         only flash top and bottom.
10118
10119 2000-03-08  Andy Piper  <andy@xemacs.org>
10120
10121         * buffer.c (Frename_buffer): record new buffer name the right way.
10122
10123 2000-03-08  Andy Piper  <andy@xemacs.org>
10124
10125         * glyphs.c (update_subwindow): increase hash depth so that widget
10126         items get picked up properly.
10127
10128         * redisplay-output.c (compare_runes): increase hash depth so that
10129         widget items get picked up properly.
10130
10131 2000-03-08  Andy Piper  <andy@xemacs.org>
10132
10133         * gutter.c (output_gutter): add some debug.
10134
10135         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10136         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10137         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10138
10139         * redisplay-output.c (compare_runes): use display_hash to
10140         determine if glyphs really are not the same.
10141
10142         * glyphs.c (update_subwindow): check display_hash to see if
10143         anything really needs to be updated. If not then do
10144         nothing. Record the display_hash after updating.
10145         (image_instance_equal): compare the image_instance face also.
10146
10147 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10148
10149         * redisplay.h: Fix comment style.
10150
10151 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10152
10153         * consle-msw.h (struct mswindows_frame):
10154         Added new member paint_pending to indicate whether a WM_PAINT
10155         magic event has been queued for this frame.
10156
10157         * event-msw.c (mswindows_drain_windows_queue):
10158         Don't queue a WM_PAINT magic event if one is already queued.
10159         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10160
10161         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10162
10163 2000-03-07  Didier Verna  <didier@xemacs.org>
10164
10165         * dired.c: #include `regex.h' after `sysfile.h'.
10166
10167 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10168
10169         * sound.c (init_nas_sound): Fix compiler warning.
10170
10171         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10172         (FREE_STRUCT_P):
10173         (MARK_STRUCT_AS_FREE):
10174         (MARK_STRUCT_AS_NOT_FREE):
10175         Make `gcc -fstrict-aliasing' work properly.
10176
10177 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10178
10179         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10180         (mswindows_delete_device): Call CoUnnitialize().
10181
10182         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10183
10184 2000-02-25    <CraigL@DyCon.com>
10185
10186         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10187         <errno.h>.
10188
10189         * sysdep.c: This extern declaration for environ prevents MinGW
10190         from finding the variable in CRTDLL.DLL.
10191
10192         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10193         windows headers.
10194         (SHGFI_EXETYPE): ..
10195         (WM_MOUSEWHEEL): ..
10196         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10197         definitions.
10198         (MMRESULT): Removed, now defined in cygwin's windows headers.
10199         (TIMECAPS): ..
10200         (uid_t,gid_t,pid_t,ssize_t): ..
10201         (_timeb): Removed, MinGW defines both _timeb and timeb.
10202         (HAVE_H_ERRNO): Added.
10203         (HAVE_TZNAME): Added, configure is not detecting this.
10204
10205 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10206
10207         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10208         * syntax.c (syntax_match): Use it.
10209
10210         * cmds.c: Import auto-fill-chars from FSF Emacs.
10211         (Vauto_fill_chars): New variables.
10212         (internal_self_insert): Check Vauto_fill_chars.
10213         (vars_of_cmds):
10214         Declare auto-fill-chars as a Lisp variable and initialize it.
10215
10216 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10217
10218         * fileio.c (Fmake_symbolic_link):
10219         (Ffile_symlink_p):
10220         Run handlers even if local machine doesn't have symlinks.
10221
10222 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10223
10224         * event-msw.c (mswindows_drain_windows_queue):
10225         Don't generate paint magic events for non-XEmacs frames.
10226
10227 2000-03-05  Andy Piper  <andy@xemacs.org>
10228
10229         * redisplay.c (redisplay_frame): generate_displayable_area and
10230         friends assumes that we are not in GC, we therefore have to make
10231         sure that this doesn't happen.
10232
10233         * gutter.c (calculate_gutter_size): generate_displayable_area
10234         assumes that we are not in GC, we therefore have to make sure that
10235         this doesn't happen.
10236
10237 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10238
10239         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10240
10241 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10242
10243         * redisplay.c (regenerate_window): Make sure we set a sane value
10244         for end_pos even if we jump out of the loop.
10245         (regenerate_window): Answer Ben's question :-).
10246         (start_end_of_last_line): Add may_error argument.
10247         (start_of_last_line):
10248         (end_of_last_line): Pass may_error = 0.
10249         (end_of_last_line_may_error): New function.
10250         (pixel_to_glyph_translation): Use it, so we don't crash in
10251         event_to_glyph.
10252
10253 2000-03-04  Andy Piper  <andy@xemacs.org>
10254
10255         * window.h (struct window): add gutter_extent_modiff.
10256
10257         * window.c (allocate_window): zero out gutter_extent_modiff.
10258
10259         * redisplay.h: declare sync_display_line_structs.
10260
10261         * redisplay.c (add_glyph_rune): add a better comment.
10262
10263         * redisplay-output.c (sync_display_line_structs): made non-static.
10264         (compare_runes): remove unneccesary glyph cachel access.
10265
10266         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10267
10268         * gutter.c (output_gutter): don't output the gutter if extent
10269         changes only involve extents in buffers. use 4 sets of display
10270         lines.
10271         (gutter_extent_signal_changed_region_maybe): new function. Mark
10272         extents in gutters as changed.
10273         (update_frame_gutters): use 4 sets of display lines.
10274         (reset_gutter_display_lines): ditto.
10275         (free_frame_gutters): ditto.
10276         (redraw_exposed_gutter): force output of gutters.
10277
10278         * frame.h (struct frame): add 4 sets of gutter display lines.
10279
10280         * extents.c: (extent_changed_for_redisplay): signal changes to
10281         extents in strings in the gutter as well as extents in buffers.
10282
10283 2000-03-02  Andy Piper  <andy@xemacs.org>
10284
10285         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10286
10287         * frame.c (Fmake_frame): make sure the gutters get initialized
10288         after the frame is visible.
10289         (set_frame_selected_window): re-arrange compilation macros a
10290         little.
10291         (change_frame_size_1): mark gutters changed.
10292
10293         * device.c (Fset_device_class): mark gutters changed.
10294
10295 2000-03-01  Andy Piper  <andy@xemacs.org>
10296
10297         * window.c (window_top_frame_gutter_height): deleted.
10298         (window_bottom_frame_gutter_height): ditto.
10299         (window_left_frame_gutter_height): ditto.
10300         (window_right_frame_gutter_height): ditto.
10301         (window_top_gutter_height): don't use them.
10302         (window_bottom_gutter_height): ditto.
10303         (window_left_gutter_width): ditto.
10304         (window_right_gutter_width): ditto.
10305         (Fsplit_window): ditto.
10306         (Fwindow_pixel_edges): don't use border dimensions here.
10307
10308         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10309         (update_scrollbar_instance): ditto.
10310
10311         * redisplay.c (generate_modeline): don't take gutters into account.
10312         (generate_modeline): ditto.
10313         (redisplay_frame): small gutter display optimization.
10314
10315         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10316
10317         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10318         gutters into account.
10319
10320         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10321         for window position and type.
10322
10323         * gutter.c (get_gutter_coords): fix for frame gutters.
10324         (update_frame_gutters): update frame geometry if the gutters have
10325         changed.
10326         (init_frame_gutters): record current gutter geometries.
10327
10328         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10329         var.
10330         (mswindows_widget_instantiate): ditto.
10331
10332         * frame.h (struct frame): add current_gutter_bounds.
10333
10334         * frame.c (change_frame_size_1): position window and minibuffer
10335         appropriately taking into account the frame gutters.
10336
10337         * frame-x.c: (x_initialize_frame_size): take into account the
10338         frame gutters.
10339
10340 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10341
10342         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10343
10344 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10345
10346         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10347
10348 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10349
10350         * file-coding.c (reset_decoding_stream): Clear previous
10351         detection state when autodetect.
10352
10353 2000-02-29  Didier Verna  <didier@xemacs.org>
10354
10355         * extents.c (set_extent_glyph_1): don't require extents to be
10356         attached.
10357
10358 2000-02-27  Andy Piper  <andy@xemacs.org>
10359
10360         * gutter.c (Fset_default_gutter_position): don't default left and
10361         right gutter visibility to t.
10362         (Fset_default_gutter_position): run
10363         default-gutter-position-changed-hook.
10364         (syms_of_gutter): add default-gutter-position-changed-hook.
10365
10366 2000-02-26  Andy Piper  <andy@xemacs.org>
10367
10368         * specifier.c (Fmake_specifier): add gutter references.
10369
10370         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10371
10372         * lisp.h: declare Fvalid_plist_p.
10373
10374         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10375         as changed.
10376         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10377         well as its visibility so that it gets reconstructed.
10378         (construct_window_gutter_spec): new function. Construct a string
10379         to be displayed in the gutter from a plist of strings. Take care
10380         to only use elements that are declared as visible.
10381         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10382         WINDOW_GUTTER.
10383         (gutter_validate): allow plists of strings in the specifier.
10384         (gutter_specs_changed): construct the real_gutter from the gutter
10385         specs using construct_window_gutter_spec.
10386         (gutter_visible_validate): gutter-visible is a new specifier type.
10387         (Fgutter_visible_specifier_p): new function for the new specifier.
10388         (syms_of_gutter): declare gutter-visible and
10389         Fgutter_visible_specifier_p.
10390         (specifier_type_create_gutter): intitalize new gutter-visible
10391         specifier.
10392         (reinit_specifier_type_create_gutter): ditto.
10393         (specifier_vars_of_gutter): use new specifier type for gutter
10394         visibility.
10395         (init_frame_gutters): construct real_gutter correctly.
10396         (Fgutter_specifier_p): beef up documentation.
10397         (Fgutter_size_specifier_p): ditto.
10398
10399         * winslots.h: add real_gutter slots.
10400
10401 2000-02-25  Andy Piper  <andy@xemacs.org>
10402
10403         * device-msw.c: Be kind to older cygwin versions. From Raymond
10404         Toy <toy@rtp.ericsson.se>.
10405
10406         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10407         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10408
10409 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10410
10411         * elhash.c (MARK_OBJ): Practice macro hygiene.
10412
10413 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10414
10415         * miscplay.c: s/__inline__/inline/g;
10416         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10417         (get_device_compdc): INLINE ==> static inline
10418         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10419         find -name '*.h' | \
10420         xargs global-replace \
10421         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10422
10423 2000-02-25  Andy Piper  <andy@xemacs.org>
10424
10425         * window.c (window_top_frame_gutter_height): new function.
10426         (window_top_window_gutter_height): ditto.
10427         (window_top_gutter_height): use them.
10428         (window_bottom_frame_gutter_height): new function.
10429         (window_bottom_window_gutter_height): ditto.
10430         (window_bottom_gutter_height): use them.
10431         (window_left_window_gutter_width): new function.
10432         (window_left_frame_gutter_width): ditto.
10433         (window_left_gutter_width): use them.
10434         (window_right_window_gutter_width): new function.
10435         (window_right_frame_gutter_width): ditto.
10436         (window_right_gutter_width): use them.
10437         (window_pixel_height): new function. calulate window pixel height
10438         with frame gutter involvement.
10439         (Fsplit_window): calculate new sizes taking frame gutters into
10440         account.
10441         (window_char_height_to_pixel_height): don't include frame gutters.
10442         (window_char_height): use window_pixel_height.
10443         (window_pixheight): rename from window_pixel_height.
10444         (change_window_height): use it.
10445         (window_pixel_height_to_char_height): don't include frame gutters.
10446         (window_char_width_to_pixel_width): ditto.
10447
10448 2000-02-25  Andy Piper  <andy@xemacs.org>
10449
10450         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10451         if it is.
10452
10453 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10454
10455         * alloc.c (staticpro):
10456         (staticpro_nodump):
10457         (dumpstruct):
10458         (dumpopaque):
10459         (pdump_wire):
10460         (pdump_wire_list):
10461         (compact_string_chars):
10462         (pdump_dump_wired):
10463         Convert:  if (foo) abort();  ==>  assert (! foo);
10464
10465         * eldap.c (Fldap_search_basic):
10466         (Fldap_add):
10467         (Fldap_modify):
10468         (Fldap_delete):
10469         Fix compiler warnings, and possible crashes if (random) return
10470         value were to be used.
10471
10472 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10473
10474         * device-msw.c: Workaround ResetDC failure.
10475
10476         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10477         applying a devmode.
10478
10479         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10480         (mswindows_text_width): Do not start printer page.
10481
10482         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10483
10484         * glyphs-msw.c: Added image methods to msprinter console and
10485         msprinter-specific image instantiation.
10486
10487 2000-02-20  Mike Alexander  <mta@arbortext.com>
10488
10489         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10490         to avoid crashes when selection-sets-clipboard is on
10491         (mswindows_own_selection): ditto
10492
10493 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10494
10495         * glyphs-msw.c:
10496         * redisplay-msw.c (get_frame_dc):
10497         (get_frame_compdc):
10498         * console-msw.h:
10499         * device-msw.c (mswindows_init_device):
10500         (mswindows_delete_device):
10501         (msprinter_init_device):
10502         (msprinter_delete_device):
10503         * frame-msw.c (mswindows_init_frame_1):
10504         (mswindows_delete_frame):
10505         (msprinter_init_frame_3):
10506         (msprinter_delete_frame): Move compatible DC to device object from
10507         frame object, for both mswindows and msprinter. Only one at a time
10508         is needed, it is a real waste to have one per frame!
10509
10510 2000-02-23  Andy Piper  <andy@xemacs.org>
10511
10512         * glyphs.c: add dynamic width and height elements.
10513         (image_instance_equal): ditto.
10514
10515         * glyphs-widget.c (widget_query_geometry): calculate width and
10516         height dynamically if required.
10517         (initialize_widget_image_instance): initialize dynamic dimensions.
10518         (widget_instantiate): pick-up dynamic dimensions.
10519
10520         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10521         dynamic determination. Add appropriate macros.
10522
10523         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10524         dimensions safe.
10525         (WINDOW_GUTTER_SIZE): ditto.
10526         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10527
10528         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10529         inline.
10530         (get_frame_dc): ditto.
10531
10532         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10533         here.
10534
10535 2000-02-23  Martin Buchholz <martin@xemacs.org>
10536
10537         * XEmacs 21.2.31 is released.
10538
10539 2000-02-22  Ben Wing <ben@xemacs.org>
10540
10541         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10542
10543 2000-02-22  Andy Piper  <andy@xemacs.org>
10544
10545         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10546
10547 2000-02-21  Mike Sperber <mike@xemacs.org>
10548
10549         * .dbxrc:
10550         * .gdbinit:
10551         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10552         variables.
10553
10554 2000-02-21  Mike Sperber <mike@xemacs.org>
10555
10556         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10557
10558 2000-02-21  Martin Buchholz <martin@xemacs.org>
10559
10560         * XEmacs 21.2.30 is released.
10561
10562 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10563
10564         Performance hacking.
10565         * *.c (syms_of_*):
10566         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10567         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10568         * emacs.c (main_1):
10569         * lisp.h (DEFUN):
10570         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10571         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10572         * symeval.h (DEFVAR_SYMVAL_FWD):
10573         * symbols.c (guts_of_unbound_marker):
10574         Make all c_readonly objects also lisp_readonly and marked for life.
10575         * lrecord.h (struct lrecord_implementation):
10576         Document flags better.
10577         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10578         * lrecord.h (DECLARE_LRECORD):
10579         * lrecord.h (XSETRECORD):
10580         * lrecord.h (RECORDP):
10581         * lrecord.h (RECORD_TYPEP):
10582         * lrecord.h (RECORD_MARKER): New.
10583         * lrecord.h (error_check_*):
10584         * lrecord.h (CONCHECK_NONRECORD):
10585         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10586         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10587         * lrecord.h (set_lheader_implementation):
10588         * lrecord.h (enum lrecord_type): New.
10589         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10590         * alloc.c (disksave_object_finalization_1):
10591         * alloc.c (mark_object):
10592         * alloc.c (lrecord_type_index):
10593         * alloc.c (tick_lcrecord_stats):
10594         * alloc.c (Fgarbage_collect):
10595         * alloc.c (init_alloc_once_early):
10596         * alloc.c (pdump_load):
10597         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10598         * alloc.c (lrecord_type_index): Delete.
10599         Make lisp object type indexes be constant.
10600           Makes (byte-compile) 5% faster.
10601         Put all marker functions into their own array.
10602           Makes (garbage-collect) 5% faster.
10603         Optimize SYMBOL_VALUE_MAGIC_P.
10604           Makes (byte-compile) 2-3% faster.
10605         * config.h.in (gc_checking_assert): New.
10606         * alloc.c: Use gc_checking_assert().
10607         * .dbxrc: Make compatible with new object type implementation.
10608         * .gdbinit: Make compatible with new object type implementation.
10609         * alloc.c: Delete all symbols defined only for debugging, such as
10610         Lisp_Type_Vector and lrecord_charset.
10611
10612 2000-02-21  Andy Piper  <andy@xemacs.org>
10613
10614         * gui-msw.c (Fmswindows_shell_execute): fix file location
10615         problems.
10616
10617         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10618         unshowing so that set_window_buffer doesn't undo
10619         kill_buffer_hook's hard work.
10620
10621         * glyphs-widget.c (tab_control_query_geometry): don't count the
10622         first item when calculating geometry.
10623
10624         * glyphs.c (map_subwindow): remove redundant code.
10625         (update_frame_subwindows): be more circumspect about when to
10626         update subwindows.
10627
10628         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10629         when items haven't changed. Update faces if faces have changed as
10630         well as just the widget face.
10631         (x_tab_control_update): Update faces if faces have changed as well
10632         as just the widget face.
10633
10634 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10635
10636         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10637         registration.
10638         (build_syscolor_string): Use mswindows_color_to_string to try to
10639         get a named color.
10640         (mswindows_device_system_metrics): Reverse the foreground and
10641         background colors so that they match the documentation.
10642
10643         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10644         they match the default Windows palette.
10645         (mswindows_color_to_string): New function.
10646
10647 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10648
10649         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10650
10651 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10652
10653         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10654         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10655
10656         * symbols.c (init_symbols_once_early): Removed obsolete
10657         DATA_SEG_BITS related kludge.
10658         (defvar_magic): Ditto.
10659
10660         * malloc.c: Removed obsolete DATA_SEG_BITS
10661         * ralloc.c: Ditto.
10662         * mem-limits.h: Ditto.
10663
10664         * Makefile.in.in: Removed obsolete HAVE_SHM
10665         * emacs.c: Ditto.
10666
10667 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10668
10669         *  device-msw.c (mswindows_delete_device): Free DDE string
10670         handles.
10671
10672 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10673
10674         * keymap.c (get_keyelt):
10675         * unexnt.c (unexec):
10676         * vm-limit.c (memory_warnings):
10677         * ntheap.c (recreate_heap):
10678         * ntheap.h (UNINIT_PTR):
10679         * select-msw.c (Fmswindows_get_clipboard):
10680         (Fmswindows_set_clipboard):
10681         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10682         * objects-msw.c:
10683         * menubar-msw.c (displayable_menu_item):
10684         * glyphs-msw.c:
10685         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10686         * sysdep.c (sys_subshell):
10687         * process-nt.c (nt_create_process):
10688         * nt.c (normalize_filename):
10689         (dostounix_filename):
10690         (unixtodos_filename):
10691         * ntproc.c (win32_executable_type):
10692         * ntplay.c (play_sound_data_1):
10693         (play_sound_file):
10694         * editfns.c (get_home_directory):
10695         * event-msw.c (struct winsock_stream):
10696         (mswindows_dde_callback):
10697         * device-msw.c (msprinter_init_device):
10698         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10699
10700         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10701         mswindows_clear_toolbar were swapped!
10702
10703         * objects-msw.c:(colormap_t):
10704         (fontmap_t):
10705         * emacs.c (struct standard_args): Fixed const jumble.
10706
10707         * glyphs-widget.c (update_widget): Fixed comparison notation.
10708
10709         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10710
10711         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10712         __declspec(noreturn) syntax.
10713
10714 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10715
10716         * eldap.c (Fldap_open):
10717         (Fldap_search_basic):
10718         (Fldap_add):
10719         (Fldap_modify):
10720         Use new coding system conversion macros.
10721
10722 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10723
10724         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10725
10726 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10727
10728         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10729         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10730
10731         * eldap.c (Qadd, Qreplace): New constant symbols
10732         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10733         interruptions by XEmacs signals
10734         Remove unnecessary calls to slow_down_interrupts and
10735         speed_up_interrupts
10736         (Fldap_search_basic): Renamed from Fldap_search_internal
10737         Added new optional parameter VERBOSE that triggers the
10738         display of progress messages
10739         Remove unnecessary calls to slow_down_interrupts and
10740         speed_up_interrupts
10741         LDAP result code analysis rewritten
10742         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10743         (syms_of_eldap): Define the new symbols and functions
10744
10745
10746 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10747
10748         * realpath.c: Determine PATH_MAX maximally portably.
10749
10750         * insdel.c (bytecount_to_charcount): Optimize.
10751         The function used to be optimized for entirely ASCII sequences.
10752         Now it is optimized for successive characters from the same
10753         charset.  This also wins big for _mostly_ ASCII sequences.
10754
10755         * fileio.c (Ffile_truename): convert return from realpath() using
10756         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10757         - Rewrite GCPROing slightly.
10758
10759         * sysdep.c (sys_open): Do filename conversion, like all other
10760         sys_* functions.  Fixes bug:
10761         (let ((file-name-coding-system 'iso-8859-2))
10762            (write-region x y latin2-name))
10763         ==> writes filename using internal encoding.
10764
10765 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10766
10767         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10768         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10769         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10770         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10771         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10772         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10773         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10774         (CONST_IF_NOT_DEBUG): Delete.
10775         * alloc.c (this_one_is_unmarkable): Delete.
10776         (mark_object): Don't check for this_one_is_unmarkable. Use the
10777         c_readonly flag instead.
10778         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10779
10780 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10781
10782         * event-msw.c (mswindows_drain_windows_queue):
10783         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10784         away redundant repaint events.
10785
10786 2000-02-17  Andy Piper  <andy@xemacs.org>
10787
10788         * redisplay.h: declare mark_redisplay_structs.
10789
10790         * redisplay.c (redisplay_window):
10791         (redisplay_frame): don't check subwindows_state_changed.
10792         (mark_redisplay): mark gutters here.
10793
10794         * glyphs.c: (instantiate_image_instantiator): always layout if we
10795         haven't done so already.
10796         (allocate_image_instance): don't mark as dirty.
10797         (update_subwindow): bind inhibit_quit.
10798
10799         * gutter.c (mark_gutters): new function.
10800
10801         * glyphs-x.c (x_update_widget): Always resize to get round a
10802         widget bug.
10803
10804         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10805         breaking absolutely everything.
10806
10807         * gutter.h: declare mark_gutters.
10808
10809 2000-02-16  Martin Buchholz <martin@xemacs.org>
10810
10811         * XEmacs 21.2.29 is released.
10812
10813 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10814
10815         * fns.c (size_bit_vector): Fix computation of the size.
10816
10817 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10818
10819         * *.[ch]: Change CONST to const globally.
10820         find -name '*.[ch]' | \
10821         xargs global-replace \
10822         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10823         - Remove vestigial references to CONST_IS_LOSING
10824
10825 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10826
10827         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10828         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10829         events instead of dispatching them directly.
10830         (mswindows_handle_paint): New function to do repainting.
10831         (mswindows_wnd_proc):
10832         (emacs_mswindows_handle_magic_event): Call above function.
10833
10834 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10835
10836         * objects-msw.c (mswindows_create_font_variant): Return the new
10837         font handle.
10838         (initialize_font_instance): Get font metrics from the underlined
10839         variant of the font to cope with the case where the underlined
10840         font has a bigger descent.
10841
10842 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10843
10844         * gui.c (gui_item_accelerator): Return the first underlined
10845         character in item name.
10846
10847 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10848
10849         * lisp.h: Added Qprinter.
10850
10851         * general.c (syms_of_general): Initialized it.
10852
10853         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10854         (get_frame_dc):
10855         (get_frame_compdc): Made inline.
10856
10857         * console.h (struct console_methods): Added eject_page method.
10858
10859         * frame.h: Added FRAME_DISPLAY_P and friends.
10860         Aligned backslahes in many macros in more readable fashion.
10861         Added page_number to struct frame, and an accessor macro
10862         for it.
10863
10864         * defice.h: Added DEVICE_DISPLAY_P and friends.
10865
10866         * device.c (Fdevice_printer_p): Used these.
10867
10868         * frame.c (allocate_frame_core): Initialize page number.
10869         (Fprint_job_page_number):
10870         (Fprint_job_eject_page): Implemented.
10871
10872         * frame-msw.c (msprinter_eject_page): Added method.
10873         (msprinter_start_page): Added.
10874
10875         * window.c (Fwindow_truncated_p): Fixed docstring.
10876         (Fwindow_last_line_visible_height): Implemented.
10877
10878 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10879
10880         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10881
10882 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10883
10884         * syntax.c (scan_words): Always advance at least one character.
10885
10886 2000-02-13  Andy Piper  <andy@xemacs.org>
10887
10888         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10889         to make sure the glyph is in the cachels.
10890
10891         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
10892         global image instance flag.
10893         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
10894         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
10895
10896         * glyphs.c (allocate_image_instance): set dirty bits correctly.
10897         (Fset_image_instance_property): mark layout as changed.
10898         (invalidate_glyph_geometry_maybe): mark layout as changed.
10899         (glyph_width): use new NEEDS_LAYOUT macro.
10900         (glyph_ascent): ditto.
10901         (glyph_descent): ditto.
10902         (glyph_height): ditto.
10903         (image_instance_layout): mark layout as clean after laying out.
10904         (update_subwindow): don't mark layout as clean here.
10905
10906         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
10907         should no longer be needed.
10908
10909         * glyphs-x.c (x_update_widget): sanitize asserts.
10910         (x_finalize_image_instance): sanitize assignment to widgets.
10911
10912         * glyphs-widget.c (widget_instantiate): don't need to clear the
10913         layout flag here.
10914
10915 2000-02-13  Martin Buchholz  <martin@xemacs.org>
10916
10917         * sysdep.c (getcwd): Use standard prototype.
10918         * sysdep.h (getcwd): Use standard prototype.
10919
10920         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
10921         (sequence, start, end).
10922         Remove redundant type checking.
10923         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
10924         view of `caller-protects') to avoid a crash where the real fix was
10925         found elsewhere.
10926
10927 2000-02-12  Martin Buchholz  <martin@xemacs.org>
10928
10929         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
10930
10931         * s/sol2.h: Remove feature macro initialization.
10932
10933         * alloc.c (alloc_lcrecord): Add more type checking assertions.
10934         (vector_hash): New.  Code from internal_hash.
10935         * lrecord.h:
10936         Fix up allocation subsystem comments.
10937
10938         * config.h.in: Add __EXTENSIONS__ for Solaris.
10939
10940         * systime.h (EMACS_GETTIMEOFDAY): New.
10941         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
10942         Remove Solaris-specific code.
10943         Use void* for the (ignored) second arg for gettimeofday().
10944
10945         * elhash.c (hash_table_hash): Implement it, finally.
10946         * elhash.c:  Use hashcode_t.
10947
10948         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
10949         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
10950
10951         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
10952         * fns.c (size_bit_vector):
10953         * alloc.c (size_vector):
10954         (make_vector_internal):
10955         (make_bit_vector_internal):
10956         (sweep_bit_vectors_1):
10957         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
10958
10959 2000-02-10  Martin Buchholz  <martin@xemacs.org>
10960
10961         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
10962         Include strings.h to avoid warnings for bzero and strcasecmp.
10963
10964 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10965
10966         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
10967         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
10968
10969         * fns.c (size_bit_vector): New.  Declare bit vectors as a
10970         sequence.
10971
10972 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10973
10974         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
10975         use a value field instead.
10976         (symbol_value_forward_forward): Use value field.
10977         (DEFVAR_SYMVAL_FWD): Use value field.
10978         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
10979         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
10980         (DEFVAR_CONST_INT): Ditto.
10981         (DEFVAR_BOOL): Ditto.
10982         (DEFVAR_CONST_BOOL): Ditto.
10983         (DEFVAR_INT_MAGIC): Ditto.
10984         (DEFVAR_BOOL_MAGIC): Ditto.
10985
10986         * symbols.c (guts_of_unbound_marker): Use value field.
10987         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
10988         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
10989
10990         * lisp.h: Declare dumpopaque and noninteractive1.
10991
10992         * alloc.c (dumpopaque): Added.
10993         (pdump_dump_opaquevec): Added.
10994         (pdump): Call pdump_dump_opaquevec to dump opaque data.
10995         (pdump_load): Reload opaque data.  Sync noninteractive1 with
10996         noninteractive.
10997
10998 2000-02-10  Andy Piper  <andy@xemacs.org>
10999
11000         * glyphs.c (image_instance_layout): if the size changes, mark it
11001         as such.
11002
11003         * redisplay-output.c (redisplay_output_layout): Update the
11004         subwindow here.
11005         (redisplay_output_subwindow): ditto.
11006
11007         * glyphs.c (update_subwindow): make sure we reset flags for
11008         layouts as well as everything else.
11009
11010         * glyphs-widget.c (layout_layout): don't need to set the instances
11011         dimensions here.
11012
11013 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11014
11015         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11016         not HAVE_DLOPEN, which is a lower-level thing.
11017
11018         * .cvsignore: Ignore gmon.out
11019
11020 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11021
11022         * .cvsignore: Ignore portable dumper xemacs.dmp file
11023
11024 2000-02-09  Andy Piper  <andy@xemacs.org>
11025
11026         * redisplay-output.c (redisplay_output_layout): be more clever
11027         about when we output based on the changed flags.
11028
11029         * glyphs.h (struct image_instantiator_methods): add update_method.
11030         (struct Lisp_Image_Instance): add changed flags. Declare new
11031         macros for manipulating them.
11032
11033         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11034         (image_instance_parent_glyph): find an image_instance's parent
11035         glyph or image_instance.
11036         (image_instance_layout): mark the size as changed.
11037         (set_image_instance_dirty_p): new function. mark an image
11038         instance, plus all of its parents, as dirty.
11039         (Fset_image_instance_property): use it.
11040         (Fglyph_animated_timeout_handler): use it.
11041         (update_subwindow): call update_widget and device methods for
11042         update_subwindow. Mark all changed flags as clean.
11043         (Fresize_subwindow): mark size as changed.
11044
11045         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11046         failures.
11047         (x_update_subwindow): only resize subwindows here.
11048         (x_update_widget): new function. Update all changed properties of
11049         a widget.
11050         (x_resize_subwindow): deleted.
11051         (x_widget_set_property): deleted.
11052         (x_progress_gauge_set_property): deleted.
11053         (x_progress_gauge_update): new function. Implement recorded
11054         changes.
11055         (x_tab_control_update): ditto.
11056         (x_tab_control_set_property): deleted.
11057         (console_type_create_glyphs_x): declare new functions.
11058         (image_instantiator_format_create_glyphs_x): ditto.
11059
11060         * glyphs-widget.c (widget_set_property): mark text changed.
11061         (update_widget): new function. Update properties of a widget.
11062         (widget_instantiate): for layouts make sure we set their
11063         children's parent correctly.
11064         (tab_control_set_property): new function. Record changes that will
11065         take place under redisplay's control.
11066         (progress_gauge_set_property): ditto.
11067         (image_instantiator_progress_guage): declare new functions.
11068         (image_instantiator_tab_control): ditto.
11069
11070         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11071         now.
11072         (mswindows_update_widget): new function. Update all properties on
11073         a widget that have changed.
11074         (mswindows_button_update): new function. Update a button's set
11075         state.
11076         (mswindows_tab_control_update): new function. Update the items in
11077         a tab.
11078         (mswindows_tab_control_set_property): deleted.
11079         (mswindows_progress_gauge_update): new function. Update the
11080         progress gauge's progress.
11081         (mswindows_widget_set_property): deleted. This is all done
11082         asynchronously now.
11083         (mswindows_progress_gauge_set_property): ditto.
11084         (console_type_create_glyphs_mswindows): declare new methods.
11085         (image_instantiator_format_create_glyphs_mswindows): ditto.
11086
11087         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11088         (msprinter_set_frame_properties): ditto.
11089
11090         * console.h (struct console_methods): Add update_widget_method.
11091
11092 2000-02-09  Andy Piper  <andy@xemacs.org>
11093
11094         * gui-msw.c (Fmswindows_shell_execute): Make
11095         mswindows-shell-execute industrial strength.
11096
11097 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11098
11099         * lrecord.h: Make macro argument `props' match member function `plist'.
11100         * fns.c (Fget):
11101         * fns.c (Fput):
11102         * fns.c (Fremprop):
11103         * fns.c (Fobject_plist):
11104         * alloc.c:
11105         * symbols.c:
11106         Object property list frobbing cleanup.
11107         - Allow any lisp object (compared with `eq'), not just symbols, as
11108           keys in object plists.
11109         - Move symbol plist frobbing into symbols.c, where it belongs.
11110         - Move string plist frobbing into alloc.c, where it belongs.
11111         - Everything's an lrecord now, so no need to test for symbolp, etc.
11112         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11113
11114         * extents.c: Reorder code to remove declarations.
11115
11116         * frame.h (store_in_alist): Remove useless declaration.
11117
11118 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11119
11120         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11121         * config.h.in: Add HAVE_XCONVERTCASE.
11122
11123 2000-02-07  Andy Piper  <andy@xemacs.org>
11124
11125         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11126         it breaks many things.
11127
11128 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11129
11130         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11131         actually can start a common comment type.
11132         * src/syntax.h (SYNTAX_END_P): ditto for end.
11133
11134 2000-02-07  Martin Buchholz <martin@xemacs.org>
11135
11136         * XEmacs 21.2.28 is released.
11137
11138 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11139
11140         * event-Xt.c (x_keysym_to_character): New.
11141         (maybe_define_x_key_as_self_inserting_character): New.
11142         (x_has_keysym): New.
11143         Auto-define all keys on the keyboard as self-insert-key.
11144
11145 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11146
11147         * menubar.c (vars_of_menubar): A small code simplification.
11148
11149         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11150
11151         * ExternalShell.c:
11152         * ExternalClient.c:
11153         * EmacsShell-sub.c:
11154         * EmacsManager.c:
11155         * EmacsFrame.c:
11156         Use consistent style for specifying X resources.
11157
11158         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11159         This makes (dontusethis-set-symbol-value-handler) actually usable.
11160
11161         * lrecord.h (lrecord_decription_type):
11162         * alloc.c (pdump_register_sub):
11163         (pdump_dump_data):
11164         (pdump_reloc_one):
11165         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11166         Comply with XEmacs coding style.
11167         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11168         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11169
11170         * keymap.c (Faccessible_keymaps):
11171         Make (accessible-keymaps map "\C-h") do the Right Thing.
11172         Make (accessible-keymaps map []) do the Right Thing.
11173         Make (accessible-keymaps map "") do the Right Thing.
11174         (check_keymap_definition_loop): New function.
11175         (keymap_store_internal): Keep luser from shooting self in foot,
11176           via (define-key ctl-x-4-map "p" global-map).
11177         Remove fullness slot from struct Lisp_Keymap, since hash tables
11178         are now reliable.
11179         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11180
11181 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11182
11183         * redisplay.c (init_redisplay): Fix small memory leak.
11184         * elhash.h:
11185         * elhash.c (pdump_reorganize_hash_table):
11186         Rename from reorganize_hash_table. Change prototype.
11187         Reuse the original memory for hentries.  Save 100k.
11188         * alloc.c (PDUMP_READ): new macro.
11189         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11190         * alloc.c: No need to #ifndef before #undef.
11191
11192         * print.c: Allow debug_print() to print readably by modifying
11193         debug_print_readably.  Use consistent variable names.
11194
11195         * .dbxrc: Try to get things to work even if stopped in a function
11196         without source available by explicitly specifying source files.
11197 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11198
11199         * unexnt.c (_start): Removed bogus code which caused loading heap
11200         from differrent executable file.
11201         Removed bogus assignment to _fmode, which caused inconsistencies.
11202
11203 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11204
11205         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11206         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11207         Do not preliminary `#define signal sigset'.
11208
11209         * systime.h: Do not prototype environ on windows nt and cygwin,
11210         this conflicts with system header.
11211
11212         * syssignal.h: Use correct define for WINDOWSNT
11213
11214         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11215         with system header.
11216
11217         * sysdep.c (near start of file): Fixed commentary and rearranged
11218         ifdefs in readable order.
11219         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11220         (start_of_text):
11221         (end_of_text):
11222         (end_of_data): Do not compile in if using PDUMP.
11223
11224         * symsinit.h: Prototyped vars_of_nt().
11225
11226         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11227         (find_child_console): Use it.
11228         (sys_kill): Use it.
11229
11230         * ntheap.h: Do not extern os_subtype.
11231
11232         * ntheap.c (cache_system_info): Do not cache unneeded:
11233         nt_major_version, nt_minor_version and os_subtype.
11234         (recreate_heap): Do not compile in when PDUMPing.
11235
11236         * nt.c (geteuid and friends): Use the new varibale
11237         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11238         (init_user_info): Removed the above mentioned hackery.
11239         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11240         stat has been fixed in the C runtime.
11241         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11242
11243         * file-coding.c (struct file_coding_dump): Do not define
11244         ucs_to_mule_table in the struct if not MULE.
11245         (struct struct lrecord_description fcd_description_1): Do not dump
11246         the above.
11247
11248         * emacs.c (main_1): Call vars_of_nt().
11249         (right before Fdump_emacs_data): Don't need lastfile if using both
11250         portabe dumper and system malloc.
11251
11252         * alloc.c (Fmemory_limit): Conditionalized out.
11253         (pdump): Use OPEN_BINARY for the portable dump file.
11254         (pdump_load): Ditto.
11255
11256 2000-02-02  Mike Alexander  <mta@arbortext.com>
11257
11258         * nt.c (convert_time): Set tm_isdst before calling mktime and
11259         avoid calling it at all if the compiler supports 64 bit integers.
11260         Also initialize utc_base_ft before using it.
11261
11262 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11263
11264         * frame.c (change_frame_size_1): Take f->internal_border_width
11265         into consideration when calculating the width of the frame.
11266
11267 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11268
11269         * window.c (frame_min_height):
11270         (frame_size_valid_p):
11271         (frame_pixsize_valid_p): Added.
11272         (check_frame_size): Generalized.
11273
11274         * window.h: Prototyped the above.
11275
11276         * lisp.h:
11277         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11278         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11279         Deleted Vwin32_* and Vbinary_process_* unused variables.
11280
11281         * device-msw.c (msprinter_init_device): Do not get printer font
11282         list; Added DEVMODE functions.
11283
11284         * frame-msw.c: Added lots of printer code.
11285
11286         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11287         general.c.
11288
11289         * console-msw.h: Added more msprinter device private slots.
11290
11291 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11292
11293         * event-msw.c (key_needs_default_processing_p): Added.
11294         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11295
11296 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11297
11298         * glyphs.c (image_instance_layout): Mark image instance as clean
11299         after layout.
11300         (glyph_dirty_p): Removed redundant function.
11301         (invalidate_glyph_geometry_maybe): Added.
11302         (update_glyph_cachel_data): Call it.
11303
11304         * glyphs.h: Prototyped it.
11305
11306         * redisplay.c (add_glyph_rune): Call it.
11307         (redisplay_window): Reset glyphs cachels when frame faces have
11308         changed, thus forcing recomputation of built-in border glyphs.
11309
11310 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11311
11312         * Makefile.in.in: Make portable dumper and purify play well together.
11313         Add imperfect, but better than nothing, support for pdump.
11314         Remove xemacs.dmp when temacs is re-generated.
11315         Don't ignore errors when dumping xemacs.
11316
11317         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11318
11319 2000-01-28  Andy Piper  <andy@xemacs.org>
11320
11321         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11322         (setup_normal_frame): ditto.
11323         (setup_frame_without_minibuffer): ditto.
11324         (setup_minibuffer_frame): ditto.
11325         (delete_frame_internal): ditto.
11326         (Fmake_frame_invisible): ditto.
11327         (Ficonify_frame): ditto.
11328
11329         * window.h: change Fset_window_buffer signature.
11330
11331         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11332         (Fset_window_buffer): allow recording of buffer if the window is
11333         the selected window.
11334         (window_loop): Use new Fset_window signature.
11335
11336 2000-01-23  Daniel Pittman  <daniel@danann.net>
11337
11338         * config.h.in: Added template for `HAVE_ATHENA_3D'
11339
11340 2000-01-29  Andy Piper  <andy@xemacs.org>
11341
11342         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11343
11344         * gutter.c (output_gutter): Don't output if the window isn't live.
11345
11346 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11347
11348         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11349         of 01/12/00: Moved SetFocus back here where it belongs.
11350
11351 2000-01-23  Andy Piper  <andy@xemacs.org>
11352
11353         * s/cygwin32.h: declare printer things.
11354
11355 2000-01-26  Andy Piper  <andy@xemacs.org>
11356
11357         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11358         Alexander.
11359
11360 2000-01-24  Andy Piper  <andy@xemacs.org>
11361
11362         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11363         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11364
11365         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11366
11367         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11368
11369         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11370
11371         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11372         (mswindows_output_display_block): Avoid local shadows.
11373
11374         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11375         (mswindows_enqueue_mouse_button_event): ditto.
11376         (mswindows_handle_gui_wm_command): remove declaration.
11377
11378         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11379         warnings.
11380
11381         * console-msw.h: Avoid shadows.
11382         (mswindows_get_toolbar_button_text):
11383         (emacs_mswindows_create_stream_pair):
11384         (emacs_mswindows_delete_stream_pair):
11385         (mswindows_handle_toolbar_wm_command): declare.
11386
11387         * device-msw.c (build_syscolor_string): Avoid shadows.
11388
11389 2000-01-23  Andy Piper  <andy@xemacs.org>
11390
11391         * glyphs-widget.c (widget_instantiate): reverse the items for
11392         layouts so that children are in the expected order.
11393
11394 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11395
11396         * ralloc.c: safe_bcopy ==> memmove
11397         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11398         * s/msdos.h: Remove BCOPY macros.
11399         * insdel.c (gap_right): Remove BCOPY conditional code.
11400         * insdel.c (gap_left): Remove BCOPY conditional code.
11401         XEmacs demands a working ANSI C compiler - hence memmove.
11402
11403         * regex.c (regex_compile): Remove accidental use of trigraphs.
11404
11405 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11406
11407         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11408         event timestamp.
11409
11410 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11411
11412         * event-msw.c (mswindows_drain_windows_queue): Added the
11413         parameter.
11414         (mswindows_need_event): Commented the call to
11415         mswindows_drain_windows_queue().
11416         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11417         only.
11418
11419         * console-msw.h: Moved a few function prototypes here from
11420         event-msw.c.
11421
11422         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11423         parameter from unsigned short to unsigned long.
11424         (Fmswindows_shell_execute): Added return value.
11425
11426 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11427
11428         * sysdep.c (init_system_name):
11429           process-unix.c (unix_canonicalized_host_name):
11430         Don't call freeaddrinfo() if getaddrinfo() fails.
11431
11432         * process-unix.c (unix_open_unix_network_stream):
11433         Moved the code to get a port # into address loop.
11434
11435 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11436
11437         * buffer.c (reinit_vars_of_buffer):
11438         The right place to initialize conversion_in_dynarr and
11439         conversion_out_dynarr.
11440
11441         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11442
11443         * process-unix.c (unix_canonicalize_host_name): Muleize.
11444         (unix_open_network_stream): Muleize.
11445
11446         * buffer.h: Fix up prototypes for ralloc.c functions.
11447
11448 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11449         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11450         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11451                 instead of gethostbyname()
11452         * process-unix.c: In unix_canonicalize_host_name() and
11453                 unix_open_network_stream(), add code to use getaddrinfo()
11454                 instead of gethostbyname().
11455
11456 2000-01-27  Daniel Pittman <daniel@danann.net>
11457
11458         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11459         libs when built with flat Athena.
11460
11461 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11462
11463         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11464         Use coding standards for function prototypes.
11465
11466 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11467
11468         * dialog-msw.c (push_lisp_string_as_unicode):
11469         * doc.c (unparesseuxify_doc_string):
11470         * dired.c (Fuser_name_completion_1):
11471         * dired.c (Fuser_name_all_completions):
11472         * dired.c (free_user_cache):
11473         * dired.c (user_name_completion):
11474         * console-x.c (get_display_arg_connection):
11475         * minibuf.c (clear_echo_area_internal):
11476         * minibuf.c (echo_area_append):
11477         * eldap.c (Fldap_open):
11478         * eldap.c (Fldap_search_internal):
11479         * frame-x.c (x_set_frame_text_value):
11480         * frame-x.c (x_set_frame_properties):
11481         * frame-x.c (x_create_widgets):
11482         * redisplay-tty.c (term_get_fkeys_1):
11483         * objects-x.c (x_parse_nearest_color):
11484         * objects-x.c (x_valid_color_name_p):
11485         * objects-x.c (x_initialize_font_instance):
11486         * objects-x.c (x_list_fonts):
11487         * objects-x.c (x_find_charset_font):
11488         * tooltalk.c (Fadd_tooltalk_message_arg):
11489         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11490         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11491         * process-unix.c (unix_create_process):
11492         * ntproc.c (sys_spawnve):
11493         * sound.c (Fplay_sound_file):
11494         * sound.c (Fplay_sound):
11495         * buffer.c (init_initial_directory):
11496         * buffer.c (init_buffer):
11497         * editfns.c (init_editfns):
11498         * editfns.c (Ftemp_directory):
11499         * editfns.c (Fuser_full_name):
11500         * editfns.c (uncache_home_directory):
11501         * editfns.c (get_home_directory):
11502         * editfns.c (Fuser_home_directory):
11503         * editfns.c (Fformat_time_string):
11504         * editfns.c (Fcurrent_time_string):
11505         * gui-x.c (button_item_to_widget_value):
11506         * database.c (Fopen_database):
11507         * event-Xt.c (x_to_emacs_keysym):
11508         * event-Xt.c (x_event_to_emacs_event):
11509         * event-Xt.c (describe_event_window):
11510         * event-msw.c (mswindows_wnd_proc):
11511         * glyphs-eimage.c (jpeg_instantiate):
11512         * glyphs-eimage.c (gif_instantiate):
11513         * glyphs-eimage.c (png_instantiate):
11514         * glyphs-eimage.c (tiff_instantiate):
11515         * glyphs-x.c (xbm_instantiate_1):
11516         * glyphs-x.c (x_xbm_instantiate):
11517         * glyphs-x.c (x_xface_instantiate):
11518         * glyphs-x.c (autodetect_instantiate):
11519         * glyphs-x.c (cursor_font_instantiate):
11520         * glyphs-x.c (x_widget_instantiate):
11521         * glyphs-x.c (x_widget_set_property):
11522         * glyphs-x.c (x_widget_property):
11523         * glyphs-x.c (BUILD_GLYPH_INST):
11524         * print.c (write_string_to_stdio_stream):
11525         * print.c (output_string):
11526         * print.c (Falternate_debugging_output):
11527         * print.c (Fexternal_debugging_output):
11528         * glyphs-msw.c (extract_xpm_color_names):
11529         * glyphs-msw.c (mswindows_xpm_instantiate):
11530         * glyphs-msw.c (bmp_instantiate):
11531         * glyphs-msw.c (resource_name_to_resource):
11532         * glyphs-msw.c (mswindows_resource_instantiate):
11533         * glyphs-msw.c (xbm_instantiate_1):
11534         * glyphs-msw.c (mswindows_xbm_instantiate):
11535         * glyphs-msw.c (mswindows_xface_instantiate):
11536         * glyphs-msw.c (mswindows_widget_instantiate):
11537         * glyphs-msw.c (add_tree_item):
11538         * glyphs-msw.c (add_tab_item):
11539         * glyphs-msw.c (mswindows_combo_box_instantiate):
11540         * glyphs-msw.c (mswindows_widget_property):
11541         * glyphs-msw.c (mswindows_combo_box_property):
11542         * glyphs-msw.c (mswindows_widget_set_property):
11543         * console.c (stuff_buffered_input):
11544         * objects-msw.c (mswindows_initialize_color_instance):
11545         * objects-msw.c (mswindows_valid_color_name_p):
11546         * objects-msw.c (mswindows_list_fonts):
11547         * objects-msw.c (mswindows_font_instance_truename):
11548         * bytecode.c (optimize_compiled_function):
11549         * select-x.c (symbol_to_x_atom):
11550         * select-x.c (x_atom_to_symbol):
11551         * select-x.c (hack_motif_clipboard_selection):
11552         * select-x.c (selection_data_to_lisp_data):
11553         * select-x.c (lisp_data_to_selection_data):
11554         * select-x.c (Fx_get_cutbuffer_internal):
11555         * select-x.c (Fx_store_cutbuffer_internal):
11556         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11557         * buffer.h (TO_INTERNAL_FORMAT): New function.
11558         * emacs.c (make_arg_list_1):
11559         * emacs.c (make_argc_argv):
11560         * emacs.c (main_1):
11561         * emacs.c (Fdump_emacs):
11562         * emacs.c (split_string_by_emchar_1):
11563         * file-coding.h:
11564         * lisp.h:
11565         * lstream.h:
11566         * symsinit.h:
11567         * device-x.c (x_init_device):
11568         * device-x.c (Fx_valid_keysym_name_p):
11569         * device-x.c (Fx_get_font_path):
11570         * device-x.c (Fx_set_font_path):
11571         * glyphs.c (bitmap_to_lisp_data):
11572         * glyphs.c (pixmap_to_lisp_data):
11573         * alloc.c (make_ext_string): Use coding system arguments.  Update
11574         all callers.
11575         * alloc.c (build_string):
11576         * callproc.c (child_setup):
11577         * callproc.c (init_callproc):
11578         * fileio.c (lisp_strerror):
11579         * fileio.c (directory_file_name):
11580         * fileio.c (Fexpand_file_name):
11581         * fileio.c (Ffile_truename):
11582         * fileio.c (Fsysnetunam):
11583         * fileio.c (Fdo_auto_save):
11584         * sysdep.c (sys_readdir):
11585         * tests.c: New file.  Allow adding C tests.
11586         Replace GET_* macros with a more comprehensible and flexible
11587         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11588         Modify all calls.
11589         Any coding system can be used to do format conversion.
11590         Eliminate enum external_data_format.
11591         Eliminate convert_to_external_format.
11592         Eliminate convert_to_internal_format.
11593         Make sure file-name, keyboard, terminal, and ctext are always
11594         defined as coding systems or aliases.  Make
11595         file-name-coding-system, terminal-coding-system, and
11596         keyboard-coding-system magical variables that are equivalent to
11597         defining the corresponding coding system aliases.
11598
11599         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11600         * file-coding.c (Fcoding_system_alias_p): New function.
11601         * file-coding.c (Fcoding_system_aliasee): New function.
11602         * file-coding.c (append_suffix_to_symbol): New function.
11603         * file-coding.c (dangling_coding_system_alias_p): New function.
11604         * file-coding.c (Ffind_coding_system):
11605         * file-coding.c (Fcopy_coding_system):
11606         * file-coding.c (encode_coding_no_conversion):
11607         * file-coding.c (syms_of_file_coding):
11608         * file-coding.c (vars_of_file_coding):
11609         Rewrite coding system alias code.
11610         Allow nested aliases, like symbolic links.
11611         Allow redefinition of coding system aliases.
11612         Prevent existence of dangling coding system aliases.
11613
11614         * dired.c (Fuser_name_completion_1):
11615         * dired.c (Fuser_name_all_completions):
11616         A crash would happen if user did QUIT in the middle of building
11617         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11618
11619         * lisp.h:
11620         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11621
11622         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11623         an unsigned char *.  Update all callers.
11624
11625 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11626
11627         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11628
11629 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11630
11631         * elhash.c (hentry_description): Use more portable definition.
11632         (resize_hash_table): Initialize new hentries using
11633         xnew_array_and_zero, thereby simplifying the code.
11634
11635         * mule-charset.c (make_charset): Make sure entire object is
11636         initialized, to avoid Purify warnings.
11637
11638         * alloc.c (resize_string): Fix unlikely crash with big strings.
11639
11640 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11641
11642         * realpath.c (xrealpath):
11643         Don't call getwd().
11644
11645 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11646
11647         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11648
11649 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11650
11651         * unexelfsgi.c (unexec): Change the way we decide which segment
11652         should be extended.
11653
11654         Assumption that .bss section should be outside the PT_LOADable
11655         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11656         it's present) is inside the 'data' segment. This would fail the
11657         test which was used to find a segment to grow and cover new
11658         heap. Instead of this assumption, I created another one - on IRIX
11659         the segment to grow should start below .bss and it's address
11660         should extent above the end of .bss. Once this segment is
11661         identified, it's grown to accommodate the new heap and new
11662         zero-length .bss section is added at the end of .data2.
11663
11664 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11665
11666         * eval.c (Feval): Wrong number of arguments should use original
11667         function, not the indirect_function version of it.
11668
11669 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11670
11671         * glyphs-x.c (x_button_instantiate): Don't add image if
11672         it is not a pixmap.
11673         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11674         is relative.
11675
11676 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11677
11678         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11679         declaration.
11680         (DEFVAR_INT_MAGIC): Ditto.
11681         (DEFVAR_BOOL_MAGIC): Ditto.
11682         * glyphs.h: Reindent backslash.
11683
11684 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11685
11686         * glyphs-widget.c (layout_query_geometry):
11687         (layout_layout): Use correct types for gheight, gwidth.
11688
11689 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11690
11691         * EmacsManager.c (QueryGeometry): Purified.
11692
11693 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11694
11695         * alloc.c (make_float): Make sure entire object is initialized, to
11696         avoid Purify warnings.
11697         (pdump_register_sub): Remove useless assignment.
11698         (pdump): Use xmalloc, not malloc.
11699         (pdump_load): Use xmalloc, not malloc.
11700
11701 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11702
11703         * callproc.c:
11704         * dired-msw.c:
11705         * fileio.c:
11706         * process-nt.c:
11707         * redisplay-msw.c:
11708         * sysdep.c: Removed redundant #include <windows.h>
11709
11710 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11711
11712         * frame.c (delete_frame_internal): Do not delete device when its
11713         implementation so declares.
11714         (delete_frame_internal): Set device selected frame to nil when
11715         last frame goes away.
11716
11717         * device-msw.c (msprinter_device_system_metrics): Implemented.
11718         (mswindows_device_system_metrics): Added 'device-dpi property.
11719
11720         * device.c: (Fdevice_printer_p): Added.
11721         Added 'offset-workspace device metric.
11722
11723         * console.h (device_metrics): Declared DM_offset_workspace.
11724
11725 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11726
11727         * fileio.c (Ffile_truename): Remove pointless and confusing
11728         initialization of elen.
11729
11730         * glyphs-widget.c: Compiler warning fixes.
11731
11732 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11733
11734         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11735         instead of a Lisp_Object as argument to make it consistent with
11736         the other LIVE_P macros.
11737         (CHECK_LIVE_PROCESS): New macro.
11738
11739         * process.c: Declare Qprocess_live_p.
11740         (Fprocess_live_p): New function.
11741         (create_process): Use PROCESS_LIVE_P.
11742         (read_process_output): Ditto.
11743         (set_process_filter): Ditto.
11744         (Fdelete_process): Ditto.
11745         (kill_buffer_processes): Ditto
11746         (process_send_signal): Use CHECK_LIVE_PROCESS.
11747         (Fprocess_input_coding_system): Check whether process is still
11748         alive (fix PR#1061).
11749         (Fprocess_output_coding_system): Ditto.
11750         (Fprocess_coding_system): Ditto.
11751         (Fset_process_input_coding_system): Ditto.
11752         (Fset_process_output_coding_system): Ditto.
11753
11754 2000-01-23  Andy Piper  <andy@xemacs.org>
11755
11756         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11757         layout and widget.
11758
11759         * glyphs.c (mark_image_instance): take into account changed
11760         image_instance format.
11761         (image_instance_equal): ditto.
11762         (image_instance_hash): ditto.
11763
11764         * glyphs-widget.c (widget_instantiate): Incorporate layout
11765         instantiation here. Delay layout of the layout until later.
11766         (layout_instantiate): deleted.
11767         (layout_query_geometry): new function. get the geometry of a
11768         layout.
11769         (layout_layout): layout a layout dynamically.
11770         (image_instantiator_widget): New function - splitting up
11771         image_instantiator_format_create_glyphs_widget for netwinder
11772         compilation.
11773         (image_instantiator_buttons):
11774         (image_instantiator_edit_fields):
11775         (image_instantiator_combo_box):
11776         (image_instantiator_scrollbar):
11777         (image_instantiator_progress_guage):
11778         (image_instantiator_tree_view):
11779         (image_instantiator_tab_control):
11780         (image_instantiator_labels):
11781         (image_instantiator_layout): ditto.
11782         (image_instantiator_format_create_glyphs_widget): Call preceding
11783         functions.
11784
11785 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11786
11787         * process.c (Fset_process_coding_system):
11788         * device-x.c (Fx_keysym_hash_table):
11789         Docstring fixes.
11790
11791         * lstream.c (Lstream_write): Return documented value, not 0.
11792
11793         * fileio.c (directory_file_name):
11794         (Fsubstitute_in_file_name):
11795         (Fsubstitute_insert_file_contents_internal):
11796         (Fwrite_region_internal):
11797         * emacs.c:
11798         * sysdep.c:
11799         * getloadavg.c:
11800         * systty.h:
11801         Remove vestigial APOLLO-conditional code.
11802
11803 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11804
11805         * getpagesize.h: Add guard macros.
11806         * libsst.h: Add guard macros.
11807         * libst.h: Add guard macros.
11808         * line-number.h: Add guard macros.
11809         * ndir.h: Add guard macros.
11810         * sysfloat.h: Add guard macros.
11811         * sysfile.h: Add guard macros.
11812         * sysproc.h: Add guard macros.
11813         * syswait.h: Add guard macros.
11814         * xintrinsic.h: Add guard macros.
11815         * xintrinsicp.h: Add guard macros.
11816         * xmmanager.h: Add guard macros.
11817         * xmmanagerp.h: Add guard macros.
11818         * xmprimitive.h: Add guard macros.
11819         * xmu.h: Add guard macros.
11820         * gpmevent.h: Add copyright statement. Add guard macros.
11821         * miscplay.h: Add guard macros.
11822         * *.h: Use consistent C-standards-approved guard macro names.
11823
11824         * opaque.c (make_opaque): Switch parameter order.
11825         * opaque.h (make_opaque): Switch parameter order.
11826         Update all callers.
11827         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11828
11829         * config.h.in (type_checking_assert): Added.
11830         (bufpos_checking_assert): Added.
11831
11832 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11833
11834         * alloc.c: Harmless pdump changes.
11835         - Use countof().
11836         - spell alignment correctly.
11837         * sysdep.c: Use countof()
11838
11839 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11840
11841         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11842         initially_selected_for_input() console method, default to 0.
11843         (semi_canonicalize_console_connection): Try to delegate to
11844         canonicalize_console_connection if no such console method.
11845         (canonicalize_console_connection): Vice versa.
11846         (print_console): Do not print nil connection.
11847
11848         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11849         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11850         (XDEVIMPF_FRAMELESS_OK): Added.
11851         (CONSOLE_INHERITS_METHOD): Added.
11852
11853         * console-msw.c (mswindows_canonicalize_console_connection):
11854         Added.
11855         (mswindows_canonicalize_device_connection): Added.
11856
11857         * console-msw.h (struct msprinter_device): Added this struct and
11858         accessor macros.
11859         (mswindows_device): Made fontlist a lisp object.
11860
11861         * device.c (semi_canonicalize_device_connection):  Try to delegate
11862         to canonicalize_device_connection if no such console method.
11863         (canonicalize_device_connection): Vice versa.
11864         (print_device): Do not print nil connection.
11865
11866         * device-msw.c (mswindows_init_device): Call InitCommonControls
11867         when have widgets.
11868         (mswindows_delete_device): Removed fontlist deallocation.
11869         (mswindows_mark_device): Added.
11870
11871         * events.c (event_equal): Added abort() at unreached code.
11872         (event_hash): Ditto.
11873
11874         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11875         fallback tags of Windows devices.
11876
11877         * general.c (syms_of_general): Initialized Qmsprinter.
11878
11879         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11880         of fallback tags of Windows devices.
11881
11882         * lisp.h: Declared Qmsprinter.
11883
11884         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11885         of strings.
11886         (mswindows_list_fonts): Ditto.
11887         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11888         that it can be used by both mswindows and msprinter devices.
11889         (initialize_font_instance): Added.
11890         (mswindows_initialize_font_instance): Use it.
11891         (msprinter_initialize_font_instance): Added.
11892
11893         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
11894         and implementation flags check.
11895         (redisplay_without_hooks): Changed the call to the above.
11896         (Fredraw_device): Ditto.
11897         (Fredisplay_device): Ditto.
11898
11899         * redisplay-msw.c (get_frame_dc): Implemented.
11900         (get_frame_compdc): Implemented.
11901         (many functions): Use the two functions above to get device
11902         contexts, ether for a window or a printer.
11903
11904 2000-01-21  Olivier Galibert  <galibert@pobox.com>
11905
11906         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
11907         initialization here.
11908         (init_symbols_once_early): Call it.
11909         * emacs.c (main_1): Call it.
11910         * symsinit.h: Declare it.
11911
11912 2000-01-19  Olivier Galibert  <galibert@pobox.com>
11913
11914         * alloc.c: Use a lrecord_header * in the backtrace instead of a
11915         Lisp_Object.
11916         (pdump_backtrace): Ditto.
11917         (pdump_register_object): Ditto.  Cleanup use of the pointers.
11918         (pdump_get_entry): Abort if trying to register a null pointer.
11919         (pdump_dump_data): Cleanup types when relocating.
11920         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
11921         (pdump_dump_rtables): Remove bad casts.
11922         (pdump_load): Cleanup relocation w.r.t union type.  Use a
11923         Lisp_Object instead of a EMACS_INT for the hashtable
11924         reorganization.
11925
11926 2000-01-20  Martin Buchholz  <martin@xemacs.org>
11927
11928         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
11929
11930         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
11931
11932         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
11933
11934         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
11935
11936 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11937
11938         * faces.h (FACE_STRIKETHRU_P): Added.
11939
11940         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
11941         of font variants.
11942
11943         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
11944         (mswindows_set_dc_font): New function, aware of font variants,
11945         separated from mswindows_update_dc.
11946
11947         * objects-msw.h (struct mswindows_font_instance_data): Added
11948         definition.
11949
11950         * objects-msw.c (mswindows_finalize_font_instance): Delete all
11951         cached fonts and the data structure.
11952         (mswindows_initialize_font_instance): Added creation of font data
11953         structure.
11954         (mswindows_print_font_instance): Print at least something.
11955         (mswindows_create_font_variant): Implemented.
11956         (mswindows_get_hfont): Implemented.
11957
11958 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
11959
11960         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
11961         prototyping problem with msvc.
11962
11963         * emacs.c (main_1): added syms_of_gui_mswindows() call
11964
11965         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
11966         syms_of_gui_mswindows() function
11967
11968         * symsinit.h: added the prototype for syms_of_gui_mswindows()
11969
11970 2000-01-18  Martin Buchholz <martin@xemacs.org>
11971
11972         * XEmacs 21.2.27 is released.
11973
11974 2000-01-18  Martin Buchholz  <martin@xemacs.org>
11975
11976         * glyphs-eimage.c (struct tiff_error_struct):
11977         (tiff_error_func):
11978         (tiff_warning_func):
11979         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
11980
11981         * unexmips.c:
11982         * unexhp9k3.c:
11983         * unexfreebsd.c:
11984         * unexec.c: Remove vestigial Lucid C code.
11985         * unexalpha.c:
11986         * unexaix.c:
11987         * termcap.c:
11988         * libsst.c: Ansify.
11989         Remove declarations of errno and strerror().
11990
11991         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
11992
11993         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
11994
11995 2000-01-16  Martin Buchholz  <martin@xemacs.org>
11996
11997         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
11998         Optimize.
11999
12000 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12001
12002         * md5.c:
12003         * file-coding.c:
12004         * file-coding.h:
12005         Change enum eol_type to eol_type_t.
12006
12007 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12008
12009         * gui.c (get_gui_callback): Check cons before accessing car.
12010
12011 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12012
12013         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12014         (XSETSPECIFIER_TYPE): Ditto.
12015
12016 2000-01-17  Didier Verna  <didier@xemacs.org>
12017
12018         * redisplay.c (generate_fstring_runes): compute string size in
12019         characters, not bytes.
12020
12021 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12022
12023         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12024
12025 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12026
12027         * print.c (print_error_message): Call print_prepare().
12028
12029 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12030
12031         * .dbxrc: Renamed from dbxrc.
12032
12033         * events.c (event_to_character):
12034         Use `assert (foo)' instead of `if (!foo) abort()'
12035
12036         * .gdbinit (xtype): Add documentation.
12037         * .gdbinit (check-temacs): New function.
12038         * .gdbinit (check-xemacs): New function.
12039         * dbxrc (check-xemacs): New function.
12040         * dbxrc (check-xemacs): New function.
12041
12042 2000-01-14  Andy Piper  <andy@xemacs.org>
12043
12044         * glyphs-widget.c (widget_query_geometry): Make sure that we
12045         calculate default dimensions correctly.
12046
12047 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12048
12049         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12050
12051         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12052         pdump_wire'd variable.
12053
12054         * emacs.c: (main_1): Conditionalized calls to
12055         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12056
12057 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12058
12059         * window.c (Fset_window_configuration):
12060         * sysdep.c (_start):
12061         * input-method-motif.c (res):
12062         * event-Xt.c (Xt_process_to_emacs_event):
12063         Simple compiler warning fixes.
12064
12065         * bytecode.c (funcall_compiled_function): Use the original
12066         function symbol on the backtrace list in preference to the
12067         compiled_function object in error messages.
12068
12069 2000-01-13  Andy Piper  <andy@xemacs.org>
12070
12071         * glyphs-x.c (update_widget_face): Make sure we update the widget
12072         background as well as foreground.
12073
12074 2000-01-13  Andy Piper  <andy@xemacs.org>
12075
12076         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12077         fields to subwindow.
12078         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12079         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12080         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12081         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12082
12083         * glyphs-widget.c (check_valid_tab_orientation): new function.
12084         (initialize_widget_image_instance): zero orientation and
12085         justification.
12086         (widget_instantiate): pick up orientation.
12087         (tab_control_query_geometry): return appropriate values for
12088         vertical tabs.
12089
12090         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12091         appropriate creation flags for left, right and bottom tabs.
12092
12093         * s/cygwin32.h: add tab definitions.
12094
12095 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12096
12097         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12098         frame upon hiding a subwindow.
12099         (mswindows_button_instantiate): Changed the push button style to
12100         BS_PUSHBUTTON.
12101         (mswindows_button_instantiate): Removed button BS_NOTIFY
12102         style.
12103         (mswindows_button_instantiate): Removed redundant check for
12104         a disabled gui item.
12105         (mswindows_button_instantiate): Made use of WS_TABSTOP
12106         consistent: "operable" controls (edit, button, tree, scroll) have
12107         this style, "display-only" ones (static, progress gauge) do
12108         not. This style is currently ignored by XEmacs though. Also,
12109         removed the WS_EX_CONTROLPARENT style - it is not for children,
12110         it is for their parents!
12111         (mswindows_edit_field_instantiate): Ditto.
12112         (mswindows_progress_gauge_instantiate): Ditto.
12113         (mswindows_tree_view_instantiate): Ditto.
12114         (mswindows_tab_control_instantiate): Ditto.
12115         (mswindows_scrollbar_instantiate): Ditto.
12116         (mswindows_combo_box_instantiate): Ditto.
12117         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12118         style to the "clip" window.
12119         (mswindows_button_instantiate): Removed compilation warning by
12120         equally typing terms of the ?: operator.
12121
12122 2000-01-12  Didier Verna  <didier@xemacs.org>
12123
12124         * redisplay.c (generate_fstring_runes): new parameter holding the
12125         last modeline-format extent.
12126         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12127         extent, fill the glyph block with it.
12128         (generate_fstring_runes): handle these parameters.
12129         (generate_formatted_string_db): ditto.
12130
12131         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12132         glyphs'extents in the modeline.
12133
12134 1999-01-11  Mike Woolley  <mike@bulsara.com>
12135
12136         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12137         256Mb, as a workaround for the non-starting problem many people
12138         have experienced.
12139
12140 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12141
12142         * console-tty.c (Fset_console_tty_output_coding_system):
12143         Force redrawing tty frame.
12144
12145 2000-01-10  Didier Verna  <didier@xemacs.org>
12146
12147         * redisplay.c (generate_fstring_runes): fix size computation bug.
12148
12149 2000-01-09  William M. Perry <wmperry@aventail.com>
12150
12151         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12152
12153 2000-01-09  Andy Piper  <andy@xemacs.org>
12154
12155         * glyphs-msw.c: index -> i to avoid shadows.
12156         (xbm_create_bitmap_from_data): make static.
12157         (check_valid_string_or_int): deleted.
12158         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12159
12160         * glyphs-x.c (x_update_subwindow): remove unused args.
12161
12162         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12163         back pointer - this is done in allocate_image_instance.
12164         (query_string_font): return Qnil to make the compiler happy.
12165         (unmap_subwindow): set to ~0 to make the compiler happy.
12166         (glyph_query_geometry): comment out until used.
12167         (glyph_layout): ditto.
12168
12169 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12170
12171         * insdel.c (signal_after_change): Remove extraneous unbind_to().