update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
4         (cs) == 0.
5
6 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * text-coding.c (char_encode_big5): Prefer charset-g1 than
9         `chinese-big5'.
10
11 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
12
13         * chartab.c (uint8_byte_table_description): New constant.
14         (uint8-byte-table): Use `uint8_byte_table_description'.
15         (uint16_byte_table_description): New constant.
16         (uint16-byte-table): Use `uint16_byte_table_description'.
17
18 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
19
20         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
21         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
22
23 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
24
25         * mule-charset.c (Vcharset_ucs_ks): New variable.
26         (Qucs_ks): New variable.
27         (syms_of_mule_charset): Add new symbol `ucs-ks'.
28         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
29
30         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
31
32 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
33
34         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
35         (Fdecode_char): Likewise.
36
37         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
38         chartab.h.
39         (Fdefine_char): Modify for Fdecode_char.
40         (Ffind_char): Likewise.
41
42         * mule-charset.c (Fdecode_char): Add new optional argument
43         `defined-only'.
44         (Fdecode_builtin_char): Modify for `Fdecode_char'.
45
46 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
47
48         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
49         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
50         (allocate_coding_system): Initialize initial-charsets of
51         CODESYS_BIG5 in XEmacs UTF-2000.
52         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
53         CODESYS_BIG5 in XEmacs UTF-2000.
54         (decode_coding_big5): Use initial-charset-g0 and -g1 of
55         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
56
57         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
58         variables.
59         (Qideograph_hanziku_{1 .. 12}): Likewise.
60         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
61         .. 12}'.
62         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
63         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
64         `ideograph-hanziku-{1 .. 12}'.
65
66         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
67         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
68         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
69         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
70         (DECODE_DEFINED_CHAR): New inline function.
71         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
72
73 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
74
75         * mule-charset.c (Vcharset_china3_jef): Renamed from
76         `Vcharset_japanese_jef_china3'.
77         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
78         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
79         `{MIN|MAX}_CHAR_JEF_CHINA3'..
80         (syms_of_mule_charset): Rename `china3-jef' from
81         `japanese-jef-china3'.
82         (complex_vars_of_mule_charset): Likewise; rename
83         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
84
85         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
86         `LEADING_BYTE_JEF_CHINA3'.
87         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
88         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
89
90 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
91
92         * mule-charset.c (encode_builtin_char_1): Comment out special code
93         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
94
95         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
96         (MAX_CHAR_MOJIKYO_0): Comment out.
97         (MIN_CHAR_CBETA): Changed to 0x00E20000.
98         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
99         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
100         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
101
102 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
103
104         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
105         (Qideograph_cbeta): New variable.
106         (encode_builtin_char_1): Comment out special code for
107         coded-charset `mojikyo' and `japanese-jef-china3'.
108         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
109         (complex_vars_of_mule_charset): Add new coded-charset
110         `ideograph-cbeta'.
111
112         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
113         (MIN_CHAR_CBETA): New macro.
114         (MAX_CHAR_CBETA): New macro.
115
116 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
117
118         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
119         (LEADING_BYTE_JEF_CHINA3): New macro.
120         (MIN_CHAR_JEF_CHINA3): New macro.
121         (MAX_CHAR_JEF_CHINA3): Likewise.
122         (DECODE_CHAR): Fixed.
123
124 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
125
126         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
127         (Qjapanese_jef_china3): New variable.
128         (encode_builtin_char_1): Support `japanese-jef-china3'.
129         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
130         (complex_vars_of_mule_charset): Add new coded-charset
131         `japanese-jef-china3'.
132
133 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
134
135         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
136         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
137         94^4, 96^3, 96^4, 128^n and 256^n set.
138         (put_char_table): Use `XCHARSET_CELL_RANGE'.
139         (map_char_table): Likewise.
140
141 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
142
143         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
144         UTF-2000.
145
146 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
147
148         * chartab.h (get_char_id_table): New inline function.
149
150         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
151         function.
152
153 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
154
155         * chartab.h (decode_char_table_range): New prototype in XEmacs
156         UTF-2000.
157         (put_char_id_table): New inline function in XEmacs UTF-2000.
158
159         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
160         function.
161         (decode_char_table_range): Delete static declaration in XEmacs
162         UTF-2000.
163
164 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
165
166         * chartab.c (put_char_id_table): Use `put_char_table'.
167
168 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
169
170         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
171         (map_over_uint16_byte_table): Likewise.
172         (map_over_byte_table): Likewise.
173         (map_char_table): Modify for `map_over_uint8_byte_table',
174         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
175         UTF-2000.
176
177 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
178
179         * chartab.c (struct map_char_table_for_charset_arg): New
180         structure.
181         (map_char_table_for_charset_fun): New function.
182         (map_char_table): Use `map_char_table' for encoding_table of
183         `range->charset'.
184
185 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
186
187         * chartab.c (map_char_table): Check a character is found in
188         range->charset instead of non default value is defined in
189         char-table when range is CHARTAB_RANGE_ROW.
190
191 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
192
193         * chartab.c (map_char_id_table): Deleted.
194         (Fmap_char_attribute): Use `map_char_table' instead of
195         `map_char_id_table'.
196
197 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
198
199         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
200         UTF-2000.
201         (update_syntax_table): Deleted in XEmacs UTF-2000.
202
203         * syntax.c (find_defun_start): Use `syntax_table' instead of
204         `mirror_syntax_table' in XEmacs UTF-2000.
205         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
206         UTF-2000.
207         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
208         XEmacs UTF-2000.
209         (Fmatching_paren): Likewise.
210         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
211         in XEmacs UTF-2000.
212         (find_start_of_comment): Likewise.
213         (find_end_of_comment): Likewise.
214         (Fforward_comment): Likewise.
215         (scan_lists): Likewise.
216         (char_quoted): Likewise.
217         (Fbackward_prefix_chars): Likewise.
218         (scan_sexps_forward): Likewise.
219         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
220         (update_syntax_table): Likewise.
221
222         * search.c (skip_chars): Use `syntax_table' instead of
223         `mirror_syntax_table' in XEmacs UTF-2000.
224         (wordify): Likewise.
225         (Freplace_match): Likewise.
226
227         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
228         `mirror_syntax_table' in XEmacs UTF-2000.
229         (WORDCHAR_P_UNSAFE): Likewise.
230         (re_match_2_internal): Likewise.
231
232         * font-lock.c (find_context): Use `buf->syntax_table' instead of
233         `buf->mirror_syntax_table' in XEmacs UTF-2000.
234
235         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
236         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
237
238         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
239         XEmacs UTF-2000.
240
241         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
242         UTF-2000.
243         (print_char_table): Print `default_value' in XEmacs UTF-2000.
244         (char_table_description): Delete `mirror_table' in XEmacs
245         UTF-2000.
246         (fill_char_table): Don't call `update_syntax_table' in XEmacs
247         UTF-2000.
248         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
249         (Fcopy_char_table): Likewise.
250         (put_char_table): Don't call `update_syntax_table' in XEmacs
251         UTF-2000.
252
253         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
254         `buf->mirror_syntax_table' in XEmacs UTF-2000.
255         (casify_region_internal): Likewise.
256
257         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
258
259         * buffer.c (common_init_complex_vars_of_buffer): Don't use
260         `mirror_syntax_table' in XEmacs UTF-2000.
261
262         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
263         `buf->mirror_syntax_table' in XEmacs UTF-2000.
264         (Fexpand_abbrev): Likewise.
265
266 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
267
268         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
269
270 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
271
272         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
273         (map_over_uint16_byte_table): Likewise.
274         (map_over_byte_table): Likewise.
275         (get_char_id_table): Refer `cit->default_value'.
276         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
277         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
278         of character-id ranges.
279         (mark_char_table): Mark `ct->default_value'.
280         (char_table_description): Add `default_value'.
281         (fill_char_table): Use `default_value'.
282         (decode_char_table_range): Decode `nil' as
283         `CHARTAB_RANGE_DEFAULT'.
284         (get_char_id_table): Refer `cit->default_value'.
285         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
286         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
287         temporary hack; check value of char-table is bound or not.
288         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
289
290         * chartab.h (struct Lisp_Char_Table): Add new member
291         `default_value' in XEmacs UTF-2000.
292         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
293         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
294         UTF-2000.
295
296 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
297
298         * chartab.h (Lisp_Char_ID_Table): Deleted.
299
300         * chartab.c (char_table_description): Fix typo.
301         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
302         `Lisp_Char_ID_Table'.
303
304 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
305
306         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
307         `CHAR_ID_TABLE_P'.
308
309         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
310         `CHAR_ID_TABLE_P'.
311
312         * chartab.h (XCHAR_ID_TABLE): Deleted.
313         (XSETCHAR_ID_TABLE): Deleted.
314         (CHAR_ID_TABLE_P): Deleted.
315
316         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
317         `CHAR_ID_TABLE_P'.
318         (Fget_composite_char): Likewise.
319         (put_char_table): Likewise.
320         (add_char_attribute_alist_mapper): Fixed.
321         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
322         `CHAR_ID_TABLE_P'.
323         (Fget_char_attribute): Likewise.
324         (Fget_char_attribute): Likewise.
325         (Fmap_char_attribute): Likewise.
326
327         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
328         `CHAR_ID_TABLE_P'.
329         (encode_char_1): Likewise.
330
331 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
332
333         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
334         `XCHAR_ID_TABLE'.
335
336         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
337         instead of `XCHAR_ID_TABLE'.
338         (remove_char_ccs): Likewise.
339
340         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
341         `XCHAR_ID_TABLE'.
342         (Fget_composite_char): Likewise.
343         (Fchar_variants): Likewise.
344         (put_char_table): Likewise.
345         (add_char_attribute_alist_mapper): Likewise.
346         (Fchar_attribute_alist): Likewise.
347         (Fget_char_attribute): Likewise.
348         (Fput_char_attribute): Likewise.
349         (Fmap_char_attribute): Likewise.
350         (Fmap_char_attribute): Likewise.
351
352         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
353         `XCHAR_ID_TABLE'.
354         (encode_char_1): Likewise.
355
356 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
357
358         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
359         `Lisp_Char_ID_Table'.
360         (mark_char_id_table): Deleted.
361         (print_char_id_table): Likewise.
362         (char_id_table_equal): Likewise.
363         (char_id_table_hash): Likewise.
364         (char_id_table_description): Likewise.
365         (char_id_table): Likewise.
366         (make_char_id_table): Use `Fmake_char_table' and
367         `fill_char_table'.
368         (get_char_id_table): Use `Lisp_Char_Table' instead of
369         `Lisp_Char_ID_Table'.
370         (put_char_id_table): Likewise.
371         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
372         `XCHAR_ID_TABLE'.
373         (Fremove_char_attribute): Likewise.
374         (syms_of_chartab): Don't define type `char-id-table'.
375
376         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
377         (char_id_table): Likewise.
378         (GC_CHAR_ID_TABLE_P): Likewise.
379         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
380         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
381         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
382         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
383         (get_char_id_table): Use `Lisp_Char_Table' instead of
384         `Lisp_Char_ID_Table'.
385         (put_char_id_table_0): Likewise.
386         (put_char_id_table): Likewise.
387
388 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
389
390         * chartab.h: Lisp_Byte_Table related codes are moved from
391         chartab.h.
392
393         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
394
395 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
396
397         * chartab.h: Don't include "chartab.h".
398         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
399         (Lisp_Char_ID_Table): Likewise.
400         (char_id_table): Likewise.
401         (XCHAR_ID_TABLE): Likewise.
402         (XSETCHAR_ID_TABLE): Likewise.
403         (CHAR_ID_TABLE_P): Likewise.
404         (GC_CHAR_ID_TABLE_P): Likewise.
405         (get_char_id_table): Likewise.
406
407         * char-ucs.h: Include "chartab.h".
408         (struct Lisp_Char_ID_Table): Moved to chartab.h.
409         (Lisp_Char_ID_Table): Likewise.
410         (char_id_table): Likewise.
411         (XCHAR_ID_TABLE): Likewise.
412         (XSETCHAR_ID_TABLE): Likewise.
413         (CHAR_ID_TABLE_P): Likewise.
414         (GC_CHAR_ID_TABLE_P): Likewise.
415         (get_char_id_table): Likewise.
416
417 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
418
419         * chartab.c (copy_uint8_byte_table): New function.
420         (copy_uint16_byte_table): New function.
421         (copy_byte_table): New function.
422         (map_over_uint8_byte_table): Modify to avoid huge numbers of
423         characters to call.
424         (map_over_uint16_byte_table): Likewise.
425         (map_over_byte_table): Likewise.
426         (get_byte_table): Move prototype to chartab.h.
427         (put_byte_table): Likewise.
428         (put_char_id_table_0): Moved to chartab.h.
429         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
430         (char_table_entry_equal): Likewise.
431         (char_table_entry_hash): Likewise.
432         (char_table_entry_description): Likewise.
433         (char_table_entry): Likewise.
434         (make_char_table_entry): Likewise.
435         (copy_char_table_entry): Likewise.
436         (get_non_ascii_char_table_value): Likewise.
437         (map_over_charset_ascii): Likewise.
438         (map_over_charset_control_1): Likewise.
439         (map_over_charset_row): Likewise.
440         (map_over_other_charset): Likewise.
441         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
442         (print_char_table): Likewise.
443         (char_table_equal): Likewise.
444         (char_table_hash): Likewise.
445         (char_table_description): Likewise.
446         (fill_char_table): Likewise.
447         (Fcopy_char_table): Likewise.
448         (get_char_table): Likewise.
449         (Fget_range_char_table): Likewise.
450         (put_char_table): Likewise.
451         (map_char_table): Likewise.
452         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
453         UTF-2000.
454
455 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
456
457         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
458         `Vauto_fill_chars' in XEmacs UTF-2000.
459
460         * chartab.h (get_byte_table): New prototype [moved from
461         chartab.c].
462         (put_byte_table): Likewise [moved from chartab.c].
463         (put_char_id_table_0): New inline function [moved from chartab.c].
464         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
465         (Lisp_Char_Table_Entry): Likewise.
466         (char_table_entry): Likewise.
467         (XCHAR_TABLE_ENTRY): Likewise.
468         (XSETCHAR_TABLE_ENTRY): Likewise.
469         (CHAR_TABLE_ENTRYP): Likewise.
470         (CHECK_CHAR_TABLE_ENTRY): Likewise.
471         (NUM_ASCII_CHARS): Likewise.
472         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
473         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
474
475 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
476
477         * chartab.c (get_char_id_table): Change interface.
478         (put_char_id_table_0): New function.
479         (put_char_id_table): Change interface; new implementation.
480         (Fget_composite_char): Modify for interface change of
481         `get_char_id_table'.
482         (Fchar_variants): Likewise.
483         (add_char_attribute_alist_mapper): Likewise.
484         (Fchar_attribute_alist): Likewise.
485         (Fget_char_attribute): Likewise.
486         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
487         as same as character as the first argument like `put-char-table';
488         modify for interface change of `put_char_id_table'.
489         (Fremove_char_attribute): Modify for interface change of
490         `put_char_id_table'.
491
492 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
493
494         * text-coding.c: Sync up with XEmacs 21.2.41.
495         (COMPOSE_ADD_CHAR): Modify for interface change of
496         `get_char_id_table'.
497
498         * mule-charset.c (put_char_ccs_code_point): Modify for interface
499         change of `put_char_id_table'.
500         (remove_char_ccs): Likewise.
501
502         * chartab.h (put_char_id_table): Change interface.
503
504         * char-ucs.h (get_char_id_table): Change interface.
505         (charset_code_point): Modify for interface change of
506         `get_char_id_table'.
507         (encode_char_1): Likewise.
508
509 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
510
511         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
512         argument `ccs'.
513         (map_over_uint16_byte_table): Likewise.
514         (map_over_byte_table): Likewise.
515         (map_char_id_table): Add new argument `range' like
516         `map_char_table'.
517         (Fmap_char_attribute): Add new argument `range' like
518         `Fmap_char_table'.
519
520 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
521
522         * chartab.c (map_over_uint8_byte_table): Change interface of
523         mapping function to use struct chartab_range instead of Emchar.
524         (map_over_uint16_byte_table): Likewise.
525         (map_over_byte_table): Likewise.
526         (map_char_id_table): Likewise.
527         (struct slow_map_char_id_table_arg): Deleted.
528         (slow_map_char_id_table_fun): Deleted.
529         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
530         function `slow_map_char_table_fun' instead of struct
531         `slow_map_char_id_table_arg' and function
532         `slow_map_char_id_table_fun'.
533
534 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
535
536         * mule-charset.c: Move char-it-table related codes to chartab.c.
537         (Vutf_2000_version): Moved to chartab.c.
538         (Fdefine_char): Likewise.
539         (Ffind_char): Likewise.
540         (syms_of_mule_charset): Move types `uint8-byte-table',
541         `uint16-byte-table', `byte-table' and `char-id-table' to
542         chartab.c; move functions `char_attribute_list,
543         `find_char_attribute_table, `char_attribute_alist,
544         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
545         `map_char_attribute, `define_char, `find_char, `char_variants and
546         `get_composite_char to chartab.c; move symbols `=>ucs',
547         `->decomposition', `compat', `isolated', `initial', `medial',
548         `final', `vertical', `noBreak', `fraction', `super', `sub',
549         `circle', `square', `wide', `narrow', `small' and `font' to
550         chartab.c.
551         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
552         setting codes for `Vcharacter_composition_table' and
553         `Vcharacter_variant_table' to chartab.c.
554         (complex_vars_of_mule_charset): Move setting code for
555         `Vchar_attribute_hash_table' to chartab.c.
556
557         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
558         (make_char_id_table): New prototype.
559         (put_char_id_table): Likewise.
560         (Fget_char_attribute): Likewise.
561
562         * chartab.c: Move char-id-table related code from mule-charset.c.
563         (Vutf_2000_version): Moved from mule-charset.c.
564
565         * char-ucs.h (Qucs): New external variable.
566         (put_char_ccs_code_point): New prototype.
567         (remove_char_ccs): Likewise.
568
569 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
570
571         * mule-charset.c (Vcharset_ucs_jis): New variable.
572         (Qucs_jis): Likewise.
573         (syms_of_mule_charset): Add new symbol `ucs-jis'.
574         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
575
576         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
577
578 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
579
580         * mule-charset.c (map_over_uint8_byte_table): New function.
581         (map_over_uint16_byte_table): Likewise.
582         (map_over_byte_table): Likewise.
583         (map_char_id_table): Likewise.
584         (slow_map_char_id_table_fun): Likewise.
585         (Fmap_char_attribute): Likewise.
586         (syms_of_mule_charset): Add new function `map-char-attribute'.
587
588 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
589
590         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
591         (syms_of_mule_charset): Add new function `find-char'.
592
593 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
594
595         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
596         XEmacs UTF-2000.
597         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
598         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
599         XEmacs UTF-2000.
600         (complex_vars_of_mule_charset): Add new coded-charset
601         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
602         `ideograph-gt-pj-*'.
603
604         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
605
606 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
607
608         * mule-charset.c (encode_builtin_char_1): Purge codes about
609         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
610         {MIN|MAX}_CHAR_HEBREW.
611         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
612         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
613
614         * char-ucs.h (MIN_CHAR_GREEK): Purged.
615         (MAX_CHAR_GREEK): Purged.
616         (MIN_CHAR_CYRILLIC): Purged.
617         (MAX_CHAR_CYRILLIC): Purged.
618         (MIN_CHAR_HEBREW): Commented out.
619         (MAX_CHAR_HEBREW): Likewise.
620
621 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
622
623         * mule-charset.c (Qto_ucs): New variable.
624         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
625         (Fdefine_char): Likewise.
626         (syms_of_mule_charset): Add new symbol `=>ucs'.
627
628 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
629
630         * mule-charset.c (Fdecode_char): Fixed.
631
632 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
633
634         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
635         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
636         "tcvn5712-1".
637
638 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
639
640         * mule-charset.c (Vcharset_ucs_big5): New variable.
641         (Qucs_big5): Likewise.
642         (syms_of_mule_charset): Add new symbol `ucs-big5'.
643         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
644
645         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
646
647 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
648
649         * mule-charset.c (decode_builtin_char): Check Big5 code range
650         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
651
652 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
653
654         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
655         (Qchinese_gb12345): Likewise.
656         (Fdecode_builtin_char): Fixed.
657         (syms_of_mule_charset): Add `chinese-gb12345'.
658         (complex_vars_of_mule_charset): Add coded-charset
659         `chinese-gb12345'.
660
661         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
662         (LEADING_BYTE_CHINESE_GB12345): New macro.
663
664 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
665
666         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
667         and `latin-viscii-upper' for `latin-viscii'.
668
669 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
670
671         * mule-charset.c (Fdecode_builtin_char): Comment out
672         regularization code for ISO-IR GR representation.
673
674 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
675
676         * mule-charset.c (decode_builtin_char): New function; renamed from
677         `make_builtin_char'; return -1 instead of signal.
678         (Fdecode_builtin_char): Use `decode_builtin_char'.
679
680         * char-ucs.h (decode_builtin_char): New prototype; renamed from
681         `make_builtin_char'.
682         (DECODE_CHAR): Use `decode_builtin_char' instead of
683         `make_builtin_char'; use mapping table of `chinese-big5' for
684         `chinese-big5-{1,2}'.
685
686 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
687
688         * text-coding.c (char_encode_big5): New function.
689         (char_finish_big5): Likewise.
690         (reset_encoding_stream): Use `char_encode_big5' and
691         `char_finish_big5' for CODESYS_BIG5.
692         (mule_encode): Don't use `encode_coding_big5'.
693         (encode_coding_big5): Deleted.
694
695 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
696
697         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
698         0x81- in XEmacs UTF-2000.
699         (detect_coding_big5): Likewise.
700
701 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
702
703         * mule-charset.c (Fdefine_char): Don't use a CCS property to
704         generate character-id if the CCS property does not have
705         corresponding predefined character.
706         (make_builtin_char): Return -1 if corresponding predefined
707         character is not found.
708         (Fdecode_char): Return nil if corresponding character is not
709         found.
710         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
711         don't map to builtin ucs space.
712
713 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
714
715         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
716         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
717
718 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
719
720         * mule-charset.c (Vcharset_ideograph_gt): New variable.
721         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
722         (Qideograph_gt): Likewise.
723         (Qideograph_gt_pj_{1..11}): Likewise.
724         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
725         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
726         `ideograph-gt-pj-11'.
727         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
728         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
729         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
730
731         * char-ucs.h (LEADING_BYTE_GT): New macro.
732         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
733         (MIN_CHAR_GT): Likewise.
734         (MAX_CHAR_GT): Likewise.
735
736 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
737
738         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
739         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
740
741         * doprnt.c (unsigned_int_converters): Add `c'.
742         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
743
744         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
745         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
746         `MIN_CHAR_MOJIKYO'.
747         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
748         (MAX_CHAR_MOJIKYO_0): New macro.
749         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
750
751 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
752
753         * mule-charset.c (Fdefine_char): Delete cemented out code.
754         (encode_builtin_char_1): Modify for new allocation of builtin
755         Mojikyo characters.
756
757         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
758
759 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
760
761         * mule-charset.c (Vcharset_ucs_cns): New variable.
762         (Qucs_cns): New variable.
763         (syms_of_mule_charset): Add new symbol `ucs-cns'.
764         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
765
766 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
767
768         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
769
770 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
771
772         * search.c (search_buffer): Make `charset_base_code' as
773         character-id >> 6 to eliminate the corresponding last byte in
774         UTF-8 representation [I'm not sure it is right thing].
775         (boyer_moore): Likewise.
776
777 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
778
779         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
780         representation in MULE.
781
782 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
783
784         * text-coding.c (Fmake_coding_system): Use
785         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
786         `EXTERNAL_PROPERTY_LIST_LOOP'.
787
788 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
789
790         * text-coding.c (decode_output_utf8_partial_char): New function.
791         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
792
793 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
794
795         * text-coding.c (decode_coding_utf8): Output original byte
796         sequence if it is broken; change order of conditions.
797
798         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
799         of conditions.
800
801         * mb-multibyte.h (BYTE_ASCII_P):
802         Use bit ops for char-signedness safety.
803         (BYTE_C0_P): Use bit ops for char-signedness safety.
804         (BYTE_C1_P): Use bit ops for char-signedness safety.
805
806         * character.h: (XCHAR_OR_CHAR_INT):
807         Always use inline function.
808         Remove redundant type checking assert() - XINT will abort quite
809         nicely.
810
811 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
812
813         * text-coding.c: (Fencode_shift_jis_char):
814         (Fencode_big5_char):
815         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
816         Replace 0 with '\0' when working with bytes.
817         Replace initial "(" with "\(" in docstrings.
818
819         (Fmake_coding_system):
820         When type is ccl and value is vector, register it with a proper
821         symbol.  And checks whether the given ccl program is valid.
822         (mule_decode): When calling ccl_driver, if src indicates
823         NULL pointer, set an empty string instead.
824         (mule_encode): Likewise.
825
826         (detect_eol_type):
827         (detect_coding_sjis):
828         (decode_coding_sjis):
829         (detect_coding_big5):
830         (decode_coding_big5):
831         (detect_coding_ucs4):
832         (decode_coding_ucs4):
833         (detect_coding_utf8):
834         (decode_coding_utf8):
835         (detect_coding_iso2022):
836         (decode_coding_iso2022):
837         (decode_coding_no_conversion):
838         (mule_decode):
839         Make all detecting and decoding functions take an Extbyte * arg.
840         (text_encode_generic):
841         (encode_coding_big5):
842         (encode_coding_no_conversion):
843         (mule_encode):
844         Make all encoding functions take a Bufbyte * arg.
845         Use size_t instead of unsigned int for memory sizes.
846         Only cast to unsigned char whenever dereferencing Extbyte *.
847
848         (struct lrecord_description fcd_description_1): Use countof.
849         (complex_vars_of_file_coding):
850         Use countof instead of sizeof.
851         Use CHECK_NATNUM instead of CHECK_INT.
852
853 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
854
855         * mule-charset.c (Fget_char_attribute): Add new optional argument
856         `default-value'.
857         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
858         (remove_char_ccs): Likewise.
859
860 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
861
862         * text-coding.c (char_encode_shift_jis): New implementation in
863         UTF-2000.
864         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
865         ...)'.
866
867         * mule-charset.c (Vcharset_chinese_big5): New variable in
868         UTF-2000.
869         (Qchinese_big5): New variable in UTF-2000.
870         (BIG5_SAME_ROW): New macro in UTF-2000.
871         (make_builtin_char): Use builtin characters of
872         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
873         characters of `Vcharset_chinese_big5'.
874         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
875         (complex_vars_of_mule_charset): Add new coded-charset
876         `chinese-big5' in UTF-2000.
877
878         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
879         (Vcharset_chinese_big5): New external variable declaration.
880         (Vcharset_japanese_jisx0208_1990): Likewise.
881
882 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
883
884         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
885         function.
886         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
887
888 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
889
890         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
891         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
892         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
893         `mojikyo-pj-*'.
894
895 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
896
897         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
898
899 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
900
901         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
902         to 0.17.
903
904 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
905
906         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
907         for `CHARSET_BY_ATTRIBUTES'.
908         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
909         `CHARSET_BY_ATTRIBUTES'.
910
911         * text-coding.c (struct decoding_stream): Rename member `CH' to
912         `CPOS'.
913         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
914         (decode_coding_sjis): Likewise.
915         (decode_coding_big5): Likewise.
916         (decode_coding_ucs4): Likewise.
917         (decode_coding_utf8): Likewise.
918         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
919         `CHARSET_BY_ATTRIBUTES'.
920         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
921         `str->counter'; decode 3, 4 bytes sets.
922         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
923         sets.
924         (decode_coding_no_conversion): Use `str->cpos' instead of
925         `str->ch'.
926
927         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
928         (Qmojikyo_2022_1): New variable.
929         (make_charset): Don't use `CHARSET_TYPE_*'.
930         (range_charset_code_point): Support coded-charset
931         `mojikyo-2022-1'.
932         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
933         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
934         `CHARSET_BY_ATTRIBUTES'.
935         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
936         `CHARSET_BY_ATTRIBUTES'.
937         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
938         (complex_vars_of_mule_charset): Add new coded-charset
939         `mojikyo-2022-1'.
940
941         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
942         interface; changed to inline function.
943
944         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
945         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
946         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
947         (CHARSET_TYPE_94): Deleted.
948         (CHARSET_TYPE_94X94): Deleted.
949         (CHARSET_TYPE_96): Deleted.
950         (CHARSET_TYPE_96X96): Deleted.
951         (CHARSET_TYPE_128): Deleted.
952         (CHARSET_TYPE_128X128): Deleted.
953         (CHARSET_TYPE_256): Deleted.
954         (CHARSET_TYPE_256X256): Deleted.
955         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
956         to inline function.
957         (DECODE_MOJIKYO_2022): New inline function.
958         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
959         `Vcharset_mojikyo_2022_1'.
960
961 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
962
963         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
964         instead of `EQ'.
965         (put_byte_table): Likewise.
966         (char_id_table_equal): Use `get_byte_table' [new implementation].
967
968 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
969
970         * mule-charset.c: Include <limits.h> in UTF-2000.
971         (BT_UINT8_MIN): New macro in UTF-2000.
972         (BT_UINT8_MAX): New macro in UTF-2000.
973         (BT_UINT8_t): New macro in UTF-2000.
974         (BT_UINT8_nil): New macro in UTF-2000.
975         (BT_UINT8_unbound): New macro in UTF-2000.
976         (INT_UINT8_P): New inline function in UTF-2000.
977         (UINT8_VALUE_P): New inline function in UTF-2000.
978         (UINT8_ENCODE): New inline function in UTF-2000.
979         (UINT8_DECODE): New inline function in UTF-2000.
980         (mark_uint8_byte_table): New function in UTF-2000.
981         (print_uint8_byte_table): New function in UTF-2000.
982         (uint8_byte_table_equal): New function in UTF-2000.
983         (uint8_byte_table_hash): New function in UTF-2000.
984         (make_uint8_byte_table): New function in UTF-2000.
985         (uint8_byte_table_same_value_p): New function in UTF-2000.
986         (BT_UINT16_MIN): New macro in UTF-2000.
987         (BT_UINT16_MAX): New macro in UTF-2000.
988         (BT_UINT16_t): New macro in UTF-2000.
989         (BT_UINT16_nil): New macro in UTF-2000.
990         (BT_UINT16_unbound): New macro in UTF-2000.
991         (INT_UINT16_P): New inline function in UTF-2000.
992         (UINT16_VALUE_P): New inline function in UTF-2000.
993         (UINT16_ENCODE): New inline function in UTF-2000.
994         (UINT16_DECODE): New inline function in UTF-2000.
995         (UINT8_TO_UINT16): New inline function in UTF-2000.
996         (mark_uint16_byte_table): New function in UTF-2000.
997         (print_uint16_byte_table): New function in UTF-2000.
998         (uint16_byte_table_equal): New function in UTF-2000.
999         (uint16_byte_table_hash): New function in UTF-2000.
1000         (make_uint16_byte_table): New function in UTF-2000.
1001         (uint16_byte_table_same_value_p): New function in UTF-2000.
1002         (print_byte_table): New function in UTF-2000.
1003         (byte-table): Use `print_byte_table' as printer.
1004         (make_byte_table): Delete second argument `older'.
1005         (byte_table_same_value_p): New function in UTF-2000.
1006         (copy_byte_table): Deleted.
1007         (get_byte_table): New function in UTF-2000.
1008         (put_byte_table): New function in UTF-2000.
1009         (print_char_id_table): New function in UTF-2000.
1010         (char-id-table): Use `print_char_id_table' as printer.
1011         (make_char_id_table): Delete second argument `older'.
1012         (get_char_id_table): Use `get_byte_table [new implementation].
1013         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1014         implementation].
1015         (Ffind_char_attribute_table): New function in UTF-2000.
1016         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1017         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1018         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1019         (syms_of_mule_charset): Add new function
1020         `find-char-attribute-table' in UTF-2000.
1021
1022         * lrecord.h (enum lrecord_type): Add
1023         `lrecord_type_uint16_byte_table' and
1024         `lrecord_type_uint8_byte_table'.
1025
1026         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1027         (Lisp_Uint8_Byte_Table): New type.
1028         (XUINT8_BYTE_TABLE): New macro.
1029         (XSETUINT8_BYTE_TABLE): New macro.
1030         (UINT8_BYTE_TABLE_P): New macro.
1031         (GC_UINT8_BYTE_TABLE_P): New macro.
1032         (struct Lisp_Uint16_Byte_Table): New structure.
1033         (Lisp_Uint16_Byte_Table): New type.
1034         (XUINT16_BYTE_TABLE): New macro.
1035         (XSETUINT16_BYTE_TABLE): New macro.
1036         (UINT16_BYTE_TABLE_P): New macro.
1037         (GC_UINT16_BYTE_TABLE_P): New macro.
1038
1039 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1040
1041         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1042         (Vcharacter_ideographic_strokes_table): Deleted.
1043         (Vcharacter_total_strokes_table): Deleted.
1044         (Vcharacter_morohashi_daikanwa_table): Deleted.
1045         (Vcharacter_decomposition_table): Deleted.
1046         (Qname): Deleted because it is duplicated.
1047         (Qideographic_radical): Deleted.
1048         (Qideographic_strokes): Deleted.
1049         (Qtotal_strokes): Deleted.
1050         (Qmorohashi_daikanwa): Deleted.
1051         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1052         `ideographic-radical', `ideographic-strokes', `total-strokes',
1053         `morohashi-daikanwa' and `->decomposition'.
1054         (Fget_char_attribute): Likewise.
1055         (Fput_char_attribute): Likewise; use `make-vector' instead of
1056         `make_older_vector' for `->decomposition' value.
1057         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1058         `ideograph-daikanwa'.
1059         (syms_of_mule_charset): Delete builtin symbols `name',
1060         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1061         `morohashi-daikanwa'.
1062         (vars_of_mule_charset): Don't setup
1063         `Vcharacter_ideographic_radical_table',
1064         `Vcharacter_ideographic_strokes_table',
1065         `Vcharacter_total_strokes_table',
1066         `Vcharacter_morohashi_daikanwa_table' and
1067         `Vcharacter_decomposition_table'.
1068
1069 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1070
1071         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1072         `make_older_vector', `make_vector_newer_1' and
1073         `make_vector_newer'.
1074
1075         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1076         `make_older_vector' and `make_vector_newer'.
1077
1078         * config.h.in (HAVE_GGC): New macro.
1079
1080 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1081
1082         * mule-charset.c (struct char_attribute_list_closure): New
1083         structure in UTF-2000.
1084         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1085         (Fchar_attribute_list): Likewise.
1086         (Fset_charset_mapping_table): Use `make_vector_newer'.
1087         (Fdecode_builtin_char): New function in UTF-2000.
1088         (syms_of_mule_charset): Add new function `char-attribute-list' and
1089         `decode-builtin-char' in UTF-2000.
1090
1091         * lisp.h (make_vector_newer): New prototype.
1092
1093         * alloc.c (make_vector_newer_1): New function.
1094         (make_vector_newer): New function.
1095
1096 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1097
1098         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1099         50100)'.
1100
1101 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1102
1103         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1104         (Vcharacter_attribute_table): Deleted.
1105         (Vcharacter_name_table): Deleted.
1106         (put_char_attribute): Deleted.
1107         (remove_char_attribute): Deleted.
1108         (struct char_attribute_alist_closure): New structure.
1109         (add_char_attribute_alist_mapper): New function.
1110         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1111         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1112         (Fget_char_attribute): Likewise.
1113         (Fput_char_attribute): Likewise.
1114         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1115         of `remove_char_attribute'.
1116         (Fdefine_char): Return character.
1117         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1118         and `Vcharacter_name_table'.
1119         (complex_vars_of_mule_charset): Likewise
1120         `Vchar_attribute_hash_table'.
1121
1122 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1123
1124         * character.h (CHARC_CHARSET): New macro.
1125         (CHARC_CHARSET_ID): New macro.
1126         (CHARC_CODE_POINT): New macro.
1127         (CHARC_COLUMNS): New macro.
1128         (CHARC_TO_CHAR): New inline function.
1129         (CHARC_EQ): New inline function.
1130         (CHARC_ASCII_EQ): New inline function.
1131         (CHARC_IS_SPACE): New inline function.
1132         (ASCII_TO_CHARC): New inline function.
1133
1134         * char-ucs.h (encode_char_2): Deleted.
1135         (ENCODE_CHAR): Use `encode_char_1' again.
1136         (breakup_char_1): Likewise.
1137         (CHAR_TO_CHARC): New inline function.
1138
1139         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1140
1141 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1142
1143         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1144         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1145         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1146         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1147         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1148         `CHARC_IS_SPACE'.
1149         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1150
1151         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1152         `CHARC_CODE_POINT'.
1153         (x_output_display_block): Use `CHARC_CHARSET' and
1154         `CHARC_ASCII_EQ'.
1155
1156         * redisplay-tty.c (tty_output_display_block): Use
1157         `CHARC_ASCII_EQ'.
1158         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1159
1160         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1161
1162         * insdel.c (find_charsets_in_charc_string): Use
1163         `CHARC_CHARSET_ID'.
1164         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1165         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1166         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1167         (convert_charc_string_into_malloced_string): Likewise.
1168
1169 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1170
1171         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1172         instead of <Emchar_dynarr *> for buf; use
1173         `convert_bufbyte_string_into_charc_dynarr' instead of
1174         `convert_bufbyte_string_into_emchar_dynarr'; use
1175         `find_charsets_in_charc_string' instead of
1176         `find_charsets_in_emchar_string'.
1177
1178         * redisplay.h:
1179         - Include "character.h".
1180         (struct rune): New member `cglyph'; delete member `chr'.
1181
1182         * redisplay.c (redisplay_text_width_charc_string): New function;
1183         delete `redisplay_text_width_emchar_string'.
1184         (rtw_charc_dynarr): New variable; renamed from
1185         `rtw_emchar_dynarr'.
1186         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1187         `rtw_emchar_dynarr'; use
1188         `convert_bufbyte_string_into_charc_dynarr' instead of
1189         `convert_bufbyte_string_into_emchar_dynarr'; use
1190         `redisplay_text_width_charc_string' instead of
1191         `redisplay_text_width_emchar_string'.
1192         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1193         instead of `rtw_emchar_dynarr'; use
1194         `convert_bufbyte_string_into_charc_dynarr' instead of
1195         `convert_bufbyte_string_into_emchar_dynarr'.
1196         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1197         `redisplay_text_width_charc_string' instead of
1198         `redisplay_text_width_emchar_string'.
1199         (create_text_block): Modify for <struct rune> change.
1200         (generate_formatted_string_db): Likewise.
1201         (create_string_text_block): Likewise.
1202         (pixel_to_glyph_translation): Likewise.
1203
1204         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1205         instead of <const Emchar *>.
1206         (x_text_width): Likewise.
1207         (x_output_display_block): Use <Charc_dynarr *> instead
1208         <Emchar_dynarr *>; modify for <structure rune> change.
1209         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1210         *>.
1211
1212         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1213         <const Emchar *>; use `charc_string_displayed_columns' instead of
1214         `emchar_string_displayed_columns'.
1215         (tty_output_display_block): Use <Charc_dynarr *> instead of
1216         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1217         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1218         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1219         `tty_output_emchar_dynarr_dynarr'.
1220         (tty_output_charc_dynarr): New function; delete
1221         `tty_output_charc_dynarr'.
1222
1223         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1224         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1225         <Emchar_dynarr *> for buf; use
1226         `convert_bufbyte_string_into_charc_dynarr' instead of
1227         `convert_bufbyte_string_into_emchar_dynarr'.
1228
1229         * frame.c (title_string_charc_dynarr): New variable; renamed from
1230         `title_string_emchar_dynarr'.
1231         (generate_title_string): Use `title_string_charc_dynarr' instead
1232         of `title_string_emchar_dynarr'; use
1233         `convert_charc_string_into_malloced_string' instead of
1234         `convert_emchar_string_into_malloced_string'.
1235         (init_frame): Use `title_string_charc_dynarr' instead of
1236         `title_string_emchar_dynarr'.
1237
1238         * console.h:
1239         - Include "character.h".
1240         (struct console_methods): Use <const Charc *> instead of <const
1241         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1242         <Emchar_dynarr *> in output_string_method.
1243
1244         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1245         <Emchar_dynarr *>.
1246
1247         * console-stream.c (stream_text_width): Use <const Charc *>
1248         instead of <const Emchar *>.
1249
1250         * character.h (Charc_dynarr): New type.
1251
1252         * char-ucs.h (structure Charc): New structure; define new type
1253         `Charc'.
1254
1255         * char-lb.h (DECODE_CHAR): New inline function.
1256         (encode_char_1): New inline function.
1257         (ENCODE_CHAR): New macro.
1258         (structure Charc): New structure; define new type `Charc'.
1259
1260         * char-1byte.h (Vcharset_control_1): New macro.
1261         (Vcharset_latin_iso8859_1): New macro.
1262         (DECODE_CHAR): New inline function.
1263         (encode_char_1): New inline function.
1264         (ENCODE_CHAR): New macro.
1265         (structure Charc): New structure; define new type `Charc'.
1266
1267         * insdel.c (find_charsets_in_charc_string): New function; delete
1268         `find_charsets_in_emchar_string'.
1269         (charc_string_displayed_columns): New function; delete
1270         `emchar_string_displayed_columns'.
1271         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1272         `convert_bufbyte_string_into_emchar_dynarr'.
1273         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1274         `convert_charc_string_into_bufbyte_dynarr'.
1275         (convert_charc_string_into_malloced_string): New function; delete
1276         `convert_charc_string_into_malloced_string'.
1277
1278         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1279         `find_charsets_in_emchar_string'.
1280         (charc_string_displayed_columns): New prototype; delete
1281         `emchar_string_displayed_columns'.
1282         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1283         `convert_charc_string_into_bufbyte_dynarr'.
1284         (convert_charc_string_into_malloced_string): New prototype; delete
1285         `convert_charc_string_into_malloced_string'.
1286
1287 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1288
1289         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1290
1291 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1292
1293         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1294
1295         * char-ucs.h: Use <short> for <Charset_ID>.
1296
1297         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1298         <Charset_ID>.
1299
1300 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1301
1302         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1303         to 0.16.
1304
1305 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1306
1307         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1308         variable.
1309         (Qmorohashi_daikanwa): New variable.
1310         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1311         for `morohashi-daikanwa' attribute.
1312         (Fget_char_attribute): Likewise.
1313         (Fput_char_attribute): Likewise.
1314         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1315         has the same value of `ideograph-daikanwa'.
1316         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1317         (vars_of_mule_charset): Setup
1318         `Vcharacter_morohashi_daikanwa_table'.
1319
1320 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1321
1322         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1323         attributes.
1324         (add_charset_to_list_mapper): Add `key' instead of
1325         `XCHARSET_NAME (value)' to return aliases.
1326
1327 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1328
1329         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1330         variable.
1331         (Vcharacter_ideographic_strokes_table): New variable.
1332         (Qideographic_radical): New variable.
1333         (Qideographic_strokes): New variable.
1334         (Fchar_attribute_alist): Use
1335         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1336         attribute; use `Vcharacter_ideographic_strokes_table' for
1337         `ideographic-strokes' attribute.
1338         (Fget_char_attribute): Likewise.
1339         (Fput_char_attribute): Likewise.
1340         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1341         `ideographic-strokes'.
1342         (vars_of_mule_charset): Setup
1343         `Vcharacter_ideographic_radical_table' and
1344         `Vcharacter_ideographic_strokes_table'.
1345
1346 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1347
1348         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1349         (Qtotal_strokes): New variable.
1350         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1351         `total-strokes' attribute.
1352         (Fget_char_attribute): Likewise.
1353         (Fput_char_attribute): Likewise.
1354         (syms_of_mule_charset): Add new symbol `total-strokes'.
1355         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1356
1357 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1358
1359         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1360         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1361         are found.
1362         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1363         `->decomposition' attribute.
1364         (Fput_char_attribute): Likewise.
1365         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1366
1367 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1368
1369         * mule-charset.c (decoding_table_check_elements): New function.
1370         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1371
1372 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1373
1374         * mule-charset.c (Fset_charset_mapping_table): Use
1375         `put_char_ccs_code_point'.
1376
1377 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1378
1379         * mule-charset.c (decoding_table_put_char): New inline function.
1380         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1381
1382 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1383
1384         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1385         (XCHARSET_BYTE_SIZE): New macro.
1386         (decoding_table_remove_char): New inline function.
1387         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1388         `decoding_table_remove_char'.
1389         (remove_char_ccs): Use `decoding_table_remove_char'.
1390         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1391
1392 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1393
1394         * mule-charset.c (Vcharacter_name_table): New variable.
1395         (Qname): New variable.
1396         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1397         attribute.
1398         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1399         `Vcharacter_name_table' for `name' attribute.
1400         (Fremove_char_attribute): Use function `remove_char_ccs'.
1401         (put_char_ccs_code_point): New function.
1402         (remove_char_ccs): New function.
1403         (syms_of_mule_charset): Add new symbol `name'.
1404         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1405
1406 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1407
1408         * mule-charset.c (make_byte_table): Add new argument `older'.
1409         (make_char_id_table): Likewise.
1410         (copy_char_id_table): Comment out because it is not used.
1411         (put_char_id_table): Modify for `make_byte_table'.
1412         (Fput_char_attribute): Make encoding_table as older object;
1413         inherit older bit of `Vcharacter_composition_table'.
1414         (mark_charset): Don't mark `cs->encoding_table'.
1415         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1416         normal object; make `Vcharacter_composition_table' as an older
1417         object; delete staticpro for `Vcharacter_composition_table'; make
1418         `Vcharacter_variant_table' as a normal object.
1419
1420         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1421         (mark_object): Don't check older object in UTF-2000.
1422
1423         * lrecord.h (struct lrecord_header): Add new member `older' in
1424         UTF-2000.
1425         (set_lheader_implementation): Setup `SLI_header->older' in
1426         UTF-2000.
1427         (set_lheader_older_implementation): New macro in UTF-2000.
1428         (OLDER_RECORD_P): New macro in UTF-2000.
1429         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1430         (alloc_older_lcrecord): New prototype in UTF-2000.
1431         (alloc_older_lcrecord_type): New macro in UTF-2000.
1432
1433 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1434
1435         * mule-charset.c (byte_table_description): Use
1436         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1437         (char_id_table_description): Delete bogus `, 1'.
1438         (Fget_char_attribute): Refer encoding_table of each coded-charset
1439         to get value of coded-charset attribute of a character.
1440         (Fput_char_attribute): Use `make_older_vector' instead of
1441         `make_vector'; use encoding_table of each coded-charset to store
1442         value of coded-charset attribute of a character.
1443         (Fremove_char_attribute): Use encoding_table of each coded-charset
1444         to store value of coded-charset attribute of a character.
1445         (mark_charset): Mark `cs->encoding_table'; don't mark
1446         `cs->decoding_table'.
1447         (charset_description): Add description of new member
1448         `encoding_table'.
1449         (make_charset): Initialize `encoding_table'.
1450
1451         * char-ucs.h (struct Lisp_Charset): Add new member
1452         `encoding_table'.
1453         (CHARSET_ENCODING_TABLE): New macro.
1454         (XCHARSET_ENCODING_TABLE): New macro.
1455         (charset_code_point): New implementation.
1456         (encode_char_1): Likewise.
1457
1458         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1459         (disksave_object_finalization_1): Call finalizers of
1460         `all_older_lcrecords' in UTF-2000.
1461         (make_older_vector): New function in UTF-2000.
1462         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1463         UTF-2000.
1464
1465         * lisp.h (make_older_vector): New prototype in UTF-2000.
1466
1467 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1468
1469         * lrecord.h (enum lrecord_type): Rename
1470         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1471
1472         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1473         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1474         `get_char_code_table'.
1475
1476         * mule-charset.c (mark_char_id_table): Renamed from
1477         `mark_char_code_table'.
1478         (char_id_table_equal): Renamed from `char_code_table_equal'.
1479         (char_id_table_hash): Renamed from `char_code_table_hash'.
1480         (make_char_id_table): Renamed from `make_char_code_table'.
1481         (copy_char_id_table): Renamed from `copy_char_code_table'.
1482         (get_char_id_table): Renamed from `get_char_code_table'.
1483         (put_char_id_table): Renamed from `put_char_code_table'.
1484         (to_char_id): Renamed from `to_char_code'.
1485
1486         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1487         `Lisp_Char_Code_Table'.
1488         (char_id_table): Renamed from `char_code_table'.
1489         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1490         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1491         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1492         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1493         (get_char_id_table): Renamed from `get_char_code_table'.
1494
1495 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1496
1497         * lrecord.h (enum lrecord_type): Rename
1498         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1499
1500         * mule-charset.c (mark_byte_table): Renamed from
1501         `mark_char_byte_table'.
1502         (byte_table_equal): Renamed from `char_byte_table_equal'.
1503         (byte_table_hash): Renamed from `byte_table_hash'.
1504         (make_byte_table): Renamed from `make_byte_table'.
1505         (copy_byte_table): Renamed from `copy_char_byte_table'.
1506
1507         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1508         `Lisp_Char_Byte_Table'.
1509         (byte_table): Renamed from `char_byte_table'.
1510         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1511         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1512         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1513         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1514
1515 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1516
1517         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1518         (dfc_convert_to_internal_format): Likewise.
1519         
1520         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1521         * text-coding.c (Fcoding_system_alias_p): New function.
1522         * text-coding.c (Fcoding_system_aliasee): New function.
1523         * text-coding.c (append_suffix_to_symbol): New function.
1524         * text-coding.c (dangling_coding_system_alias_p): New function.
1525         * text-coding.c (Ffind_coding_system):
1526         * text-coding.c (Fcopy_coding_system):
1527         * text-coding.c (encode_coding_no_conversion):
1528         * text-coding.c (syms_of_file_coding):
1529         * text-coding.c (vars_of_file_coding):
1530         Rewrite coding system alias code.
1531         Allow nested aliases, like symbolic links.
1532         Allow redefinition of coding system aliases.
1533         Prevent existence of dangling coding system aliases.
1534         Eliminate convert_to_external_format.
1535         Eliminate convert_to_internal_format.
1536         
1537         * text-coding.c: Change enum eol_type to eol_type_t.
1538
1539 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1540
1541         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1542         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1543
1544         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1545         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1546
1547 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1548
1549         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1550         `ideograph-daikanwa'.
1551
1552         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1553         (Vcharset_ucs_bmp): Likewise.
1554         (Vcharset_mojikyo): Add new extern variable definition.
1555         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1556         (Vcharset_latin_iso8859_3): Likewise.
1557         (Vcharset_latin_iso8859_4): Likewise.
1558         (Vcharset_latin_iso8859_9): Likewise.
1559         (Vcharset_latin_viscii_lower): Likewise.
1560         (Vcharset_latin_viscii_upper): Likewise.
1561         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1562         `mojikyo' code-point is used to decode.
1563         (encode_char_2): New function [to convert `mojikyo' code-point to
1564         Mojikyo font encoding].
1565         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1566         (breakup_char_1): Likewise.
1567         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1568
1569 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1570
1571         * text-coding.c (Fmake_coding_system): Add document about
1572         `disable-composition' property.
1573
1574 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1575
1576         * text-coding.c (Qdisable_composition): New variable; delete
1577         `Qcomposite'.
1578         (Fmake_coding_system): Add new property `disable-composite';
1579         delete property `composite'.
1580         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1581         instead of `!CODING_SYSTEM_COMPOSITE'.
1582         (syms_of_file_coding): Add new symbol `disable-composition';
1583         delete symbol `composite'.
1584
1585         * file-coding.h (struct Lisp_Coding_System): Add
1586         `disable_composition'; delete `enable_composition'.
1587         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1588         `CODING_SYSTEM_COMPOSITE'.
1589         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1590         `XCODING_SYSTEM_COMPOSITE'.
1591
1592 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1593
1594         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1595         to 0.15.
1596
1597 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1598
1599         * text-coding.c (Qcomposite): New variable.
1600         (Fmake_coding_system): Add new property `composite'.
1601         (struct decoding_stream): Add `combined_char_count',
1602         `combined_chars' and `combining_table' in UTF-2000.
1603         (COMPOSE_FLUSH_CHARS): New macro.
1604         (COMPOSE_ADD_CHAR): New macro.
1605         (reset_decoding_stream): Reset `str->combined_char_count' and
1606         `str->combining_table' in UTF-2000.
1607         (decode_coding_iso2022): Modify for character-decomposition.
1608         (syms_of_file_coding): Add new symbol `composite'.
1609
1610 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1611
1612         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1613         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1614         of `Vcharacter_composition_table' if `->decomposition' property
1615         has only 1 element.
1616         (Qlatin_tcvn5712): New variable.
1617         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1618         (complex_vars_of_mule_charset): Add new coded-charset
1619         `latin-tcvn5712'.
1620
1621         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1622
1623 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1624
1625         * file-coding.h (struct Lisp_Coding_System): Add
1626         `enable_composition'.
1627         (CODING_SYSTEM_COMPOSITE): New macro.
1628         (XCODING_SYSTEM_COMPOSITE): New macro.
1629
1630 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1631
1632         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1633
1634 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1635
1636         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1637         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1638
1639 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1640
1641         * mule-charset.c (Vcharset_mojikyo): New variable.
1642         (Fdefine_char): Don't use coded-charset which does not have
1643         non-builtin character range to allocate character-id.
1644         (Qmojikyo): New variable.
1645         (syms_of_mule_charset): Add new symbol `mojikyo'.
1646         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1647
1648         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1649         (LEADING_BYTE_MOJIKYO): New macro.
1650         (MIN_CHAR_MOJIKYO): New macro.
1651         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1652         (MAX_CHAR_MOJIKYO): New macro.
1653
1654 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1655
1656         * mule-charset.c (remove_char_attribute): Fixed.
1657
1658 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1659
1660         * mule-charset.c (remove_char_attribute): New function.
1661         (Fremove_char_attribute): New function.
1662         (encode_builtin_char_1): Comment out builtin-support for
1663         greek-iso8859-7 and cyrillic-iso8859-5.
1664         (Fdecode_char): Check `code' is an integer.
1665         (syms_of_mule_charset): Add `remove-char-attribute'.
1666         (MIN_CHAR_GREEK): Deleted.
1667         (MAX_CHAR_GREEK): Likewise.
1668         (MIN_CHAR_CYRILLIC): Likewise.
1669         (MAX_CHAR_CYRILLIC): Likewise.
1670         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1671         MAX_CHAR_GREEK for `greek-iso8859-7'.
1672
1673         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1674         (MAX_CHAR_GREEK): Likewise.
1675         (MIN_CHAR_CYRILLIC): Likewise.
1676         (MAX_CHAR_CYRILLIC): Likewise.
1677
1678 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1679
1680         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1681         format is used without `ucs' property.
1682         (Fdecode_char): Fix problem with GR representation.
1683         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1684         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1685
1686 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1687
1688         * mule-charset.c (make_builtin_char): New function.
1689         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1690         (Fset_charset_mapping_table): Modify for new representation of
1691         code-point.
1692         (Fdecode_char): New function.
1693         (syms_of_mule_charset): Add new builtin function `decode-char' in
1694         UTF-2000.
1695
1696         * char-ucs.h (make_builtin_char): New prototype.
1697         (DECODE_CHAR): New inline function.
1698         (MAKE_CHAR): Use `DECODE_CHAR'.
1699
1700 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1701
1702         * text-coding.c (parse_charset_conversion_specs): Use
1703         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1704         `XCHARSET_TYPE'.
1705         (iso2022_designate): Likewise.
1706
1707         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1708         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1709
1710         * mule-charset.c (Vcharset_ucs): New variable.
1711         (print_charset): Change design; use `CHARSET_CHARS' and
1712         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1713         (make_charset): Change signature to specify `chars' and
1714         `dimension' instead of `type'.
1715         (range_charset_code_point): Modify for 256^n-set.
1716         (encode_builtin_char_1): Encode as `ucs' in default.
1717         (Fmake_charset): Modify for `make_charset'.
1718         (Fmake_reverse_direction_charset): Likewise.
1719         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1720         UTF-2000.
1721         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1722         for `make_charset'.
1723
1724         * char-ucs.h (Vcharset_ucs): New variable.
1725         (LEADING_BYTE_UCS): New macro.
1726         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1727         and `chars' to `unsigned short' from `unsigned int'.
1728         (CHARSET_TYPE): Deleted.
1729         (XCHARSET_TYPE): Deleted.
1730
1731 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1732
1733         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1734
1735         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1736         (ENCODE_CHAR): New macro.
1737
1738 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1739
1740         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1741         to 0.14 (Kawachi-Katakami).
1742
1743 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1744
1745         * text-coding.c (char_encode_shift_jis): Modify for
1746         `charset_code_point'.
1747         (char_encode_iso2022): Likewise.
1748
1749         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1750         (integer) instead of list of <Lisp_Object>s (integers) as the
1751         format of code-point of a coded-charset.
1752         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1753         (encode_builtin_char_1): New function; delete
1754         `split_builtin_char'.
1755         (charset_code_point): Return <int> instead of <Lisp_Object>.
1756         (Fsplit_char): Don't use `SPLIT_CHAR'.
1757
1758         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1759         prototype for `split_builtin_char'.
1760         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1761         (charset_code_point): Likewise.
1762         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1763         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1764
1765 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1766
1767         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1768         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1769
1770 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1771
1772         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1773
1774         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1775         (MAX_CHAR_OBS_94x94): Deleted.
1776
1777 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1778
1779         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1780
1781         * char-ucs.h (MAX_CHAR_BMP): New macro.
1782
1783 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1784
1785         * text-coding.c: Sync with r21-2-24.
1786
1787 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1788
1789         * file-coding.c: Modify for UTF-2000.
1790
1791 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1792
1793         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1794         to 0.13 (Takaida).
1795
1796 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1797
1798         * mule-charset.c (split_builtin_char): Delete builtin support for
1799         `katakana-jisx0201'.
1800         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1801         BMP area in builtin representation.
1802
1803         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1804         `Vcharset_katakana_jisx0201'.
1805
1806 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1807
1808         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1809         (Qisolated): New variable.
1810         (Qinitial): New variable.
1811         (Qmedial): New variable.
1812         (Qfinal): New variable.
1813         (Qvertical): New variable.
1814         (Qsmall): New variable.
1815         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1816         `Qvertical' and `Qsmall'.
1817         (Qmojikyo_pj_[1 .. 21]): New variable.
1818         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1819         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1820         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1821         .. 21]'.
1822
1823 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1824
1825         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1826         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1827         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1828
1829 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1830
1831         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1832         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1833         BMP.
1834         (Qjapanese_jisx0208_1990): New variable.
1835         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1836         (complex_vars_of_mule_charset): Add new coded-charset
1837         `japanese-jisx0208-1990'.
1838
1839         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1840         (MIN_CHAR_JIS_X0208_1990): New macro.
1841         (MAX_CHAR_JIS_X0208_1990): New macro.
1842
1843 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1844
1845         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1846         coded-charset is not found.
1847
1848 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1849
1850         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1851         (Fdefine_char): Use `Fmake_char'.
1852
1853 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1854
1855         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1856         (Vcharset_hiragana_jisx0208): Deleted.
1857         (Vcharset_katakana_jisx0208): Deleted.
1858         (Qideograph_daikanwa): New variable.
1859         (Qhiragana_jisx0208): Deleted.
1860         (Qkatakana_jisx0208): Deleted.
1861         (split_builtin_char): Split `ideograph-daikanwa'.
1862         (Fsplit_char): New implementation for UTF-2000.
1863         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1864         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1865         (complex_vars_of_mule_charset): Add new coded-charset
1866         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1867         `katakana-jisx0208'.
1868
1869         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1870         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1871         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1872         (MIN_CHAR_DAIKANWA): New macro.
1873         (MAX_CHAR_DAIKANWA): New macro.
1874
1875 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1876
1877         * data.c (Fstring_to_number): Don't recognize floating point if
1878         base is not 10.
1879
1880 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1881
1882         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1883
1884 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1885
1886         * mule-charset.c (Qsquare): New variable.
1887         (to_char_code): Add `Qsquare'.
1888         (syms_of_mule_charset): Add new symbol `square'.
1889
1890 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1891
1892         * mule-charset.c (Qcircle): New variable.
1893         (to_char_code): Add `Qcircle'.
1894         (syms_of_mule_charset): Add new symbol `circle'.
1895
1896 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1897
1898         * mule-charset.c (Qfont): New variable.
1899         (to_char_code): Add `Qfont'.
1900         (syms_of_mule_charset): Add new symbol `font'.
1901
1902 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1903
1904         * mule-charset.c (Qsub): New variable.
1905         (to_char_code): Add `Qsub'.
1906         (syms_of_mule_charset): Add new symbol `sub'.
1907
1908 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1909
1910         * mule-charset.c (Fput_char_attribute): Convert each element of
1911         VALUE to GL position if ATTRIBUTE is a GR-set,
1912
1913 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1914
1915         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1916         coded-charset is a GR-set.
1917
1918 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1919
1920         * mule-charset.c (Fput_char_attribute): Check each element of
1921         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1922
1923 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1924
1925         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1926         UTF-2000.
1927         (Qethiopic_ucs): New variable in UTF-2000.
1928         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1929         (complex_vars_of_mule_charset): Add new coded-charset
1930         `ethiopic-ucs' in UTF-2000.
1931
1932         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1933         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1934         9)'.
1935         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1936         10)'.
1937         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1938
1939 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1940
1941         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1942         `ascii'.
1943
1944 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1945
1946         * mule-charset.c (Vcharacter_variant_table): New variable.
1947         (Q_ucs): New variable.
1948         (Fchar_variants): New function.
1949         (Fput_char_attribute): Register `->ucs' value to
1950         `Vcharacter_variant_table'.
1951         (syms_of_mule_charset): Add new function `char-variants' and new
1952         symbol `->ucs'.
1953         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
1954
1955 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1956
1957         * mule-charset.c (get_char_code_table): Allow negative character
1958         code.
1959         (put_char_code_table): Likewise.
1960         (Vcharacter_composition_table): New variable.
1961         (Q_decomposition): New variable.
1962         (Qwide): New variable.
1963         (Qnarrow): New variable.
1964         (Qcompat): New variable.
1965         (QnoBreak): New variable.
1966         (Qsuper): New variable.
1967         (Qfraction): New variable.
1968         (to_char_code): New function.
1969         (Fget_composite_char): New function.
1970         (Fput_char_attribute): Register `->decomposition' value to
1971         `Vcharacter_composition_table'.
1972         (syms_of_mule_charset): Add new function `get-composite-char', new
1973         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
1974         `super' and `fraction'.
1975         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
1976
1977 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1978
1979         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
1980         character; copy the return value.
1981
1982 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1983
1984         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
1985
1986         * mule-charset.c (range_charset_code_point): Must use make_int.
1987         (split_builtin_char): New function.
1988
1989 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1990
1991         * mule-charset.c (char_byte_table): Change name from
1992         "char-code-table" to "char-byte-table".
1993         (mark_char_code_table): New function.
1994         (char_code_table_equal): New function.
1995         (char_code_table_hash): New function.
1996         (char_code_table_description): New constant.
1997         (char_code_table): New type.
1998         (make_char_code_table): New function.
1999         (copy_char_code_table): New function.
2000         (get_char_code_table): Modify for `char_code_table' type.
2001         (put_char_code_table): Likewise.
2002         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2003         (Kashiwara).
2004
2005         * char-ucs.h (char_code_table): New type.
2006         (XCHAR_CODE_TABLE): New macro.
2007         (XSETCHAR_CODE_TABLE): New macro.
2008         (CHAR_CODE_TABLE_P): New macro.
2009         (GC_CHAR_CODE_TABLE_P): New macro.
2010         (struct Lisp_Char_Code_Table): New structure.
2011
2012 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2013
2014         * mule-charset.c (Fmake_charset): Setup byte_offset for
2015         {94|96}^n-set.
2016
2017 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2018
2019         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2020         character.
2021
2022 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2023
2024         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2025         is found.
2026
2027 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2028
2029         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2030         charset, it is regarded as a charset.
2031         (put_char_attribute): New function in UTF-2000.
2032         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2033         charset, mapping-table of the charset is modified.
2034         (Fdefine_char): New function in UTF-2000.
2035         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2036         `Fput_char_attribute'.
2037         (syms_of_mule_charset): Add new function `define-char' and new
2038         symbol `ucs' in UTF-2000.
2039         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2040
2041 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2042
2043         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2044         non-UTF-2000 configuration.
2045
2046 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2047
2048         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2049         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2050
2051         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2052         deleted.
2053         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2054         (Fset_charset_mapping_table): Likewise.
2055
2056         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2057         (CHARSET_ENCODING_TABLE): Delete.
2058         (XCHARSET_ENCODING_TABLE): Delete.
2059         (charset_code_point): New interface.
2060
2061 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2062
2063         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2064         instead of `charset_get_byte1' and `charset_get_byte2'.
2065
2066         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2067         (charset_get_byte2): Deleted.
2068
2069 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2070
2071         * char-ucs.h (SPLIT_CHAR): New inline function.
2072         (breakup_char_1): Use `SPLIT_CHAR'.
2073
2074         * mule-charset.c (range_charset_code_point): New function.
2075         (charset_code_point): New function.
2076
2077         * char-ucs.h (range_charset_code_point): New interface.
2078         (breakup_char_1): Use `range_charset_code_point'.
2079
2080 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2081
2082         * mule-charset.c (Fmake_charset): Delete unused local variable
2083         `code_offset'.
2084
2085         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2086         (breakup_char_1): Find a charset and code-point in
2087         `Vcharacter_attribute_table'.
2088
2089 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2090
2091         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2092         to 0.10 (Yao).
2093
2094 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2095
2096         * mule-charset.c (Vcharacter_attribute_table): New variable.
2097         (Fchar_attribute_alist): New function.
2098         (Fget_char_attribute): New function.
2099         (Fput_char_attribute): New function.
2100         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2101         too.
2102         (syms_of_mule_charset): Add new function `char-attribute-alist',
2103         `get-char-attribute' and `put-char-attribute'.
2104         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2105
2106 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2107
2108         * mule-charset.c (Fmake_charset): Just use
2109         `get_unallocated_leading_byte'.
2110
2111         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2112         sets; don't use final-byte based number for private sets.
2113
2114 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2115
2116         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2117         integer.
2118
2119 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2120
2121         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2122         to 0.9.
2123
2124 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2125
2126         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2127         of `CHAR_LEADING_BYTE' in UTF-2000.
2128
2129         * insdel.c (find_charsets_in_bufbyte_string): Use
2130         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2131         (find_charsets_in_emchar_string): Likewise.
2132
2133         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2134         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2135
2136         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2137         (CHAR_CHARSET_ID): New macro.
2138
2139 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2140
2141         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2142         charset-id - MIN_LEADING_BYTE.
2143         (put_char_table): Likewise.
2144
2145 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2146
2147         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2148         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2149         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2150         (CHARSET_ID_OFFSET): New macro.
2151         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2152         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2153         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2154         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2155         4).
2156         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2157         5).
2158         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2159         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2160         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2161         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2162         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2163
2164 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2165
2166         * mule-charset.c (next_allocated_leading_byte): New variable in
2167         UTF-2000.
2168         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2169         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2170         (get_unallocated_leading_byte): Simply use
2171         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2172         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2173         UTF-2000.
2174
2175         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2176         (MAX_LEADING_BYTE_PRIVATE): New macro.
2177         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2178         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2179
2180 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2181
2182         * mule-charset.c (Fmake_charset): Allocate final-byte based
2183         charset-id for 94-set, 96-set and 94x94-set.
2184
2185 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2186
2187         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2188         ambiguous `else'.
2189         (Fmake_charset): Likewise.
2190         (complex_vars_of_mule_charset): Modify the font registry of
2191         `ucs-bmp' not to match `Ethiopic-Unicode'.
2192
2193 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2194
2195         * mule-charset.c (complex_vars_of_mule_charset): Add font
2196         registory of `ucs-bmp'.
2197
2198 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2199
2200         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2201         coded-charsets in `default-coded-charset-priority-list' when
2202         breaking up a character.
2203
2204         * mule-charset.c (Vcharset_latin_viscii): New variable.
2205         (Qlatin_viscii): New variable.
2206         (make_charset): Don't use `decoding_table'.
2207         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2208         byte_offset.
2209         (Fset_charset_mapping_table): New implementation.
2210         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2211         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2212         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2213         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2214         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2215         charset `latin_viscii'.
2216
2217         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2218         (CHARSET_TYPE_94X94): Change to 1 from 2.
2219         (CHARSET_TYPE_96): Change to 2 from 1.
2220         (CHARSET_TYPE_128): New macro.
2221         (CHARSET_TYPE_128X128): Change to 5 from 4.
2222         (CHARSET_TYPE_256): New macro.
2223         (CHARSET_TYPE_256X256): Change to 7 from 5.
2224         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2225
2226 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2227
2228         * text-coding.c (char_encode_shift_jis): Refer
2229         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2230         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2231
2232         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2233         (char_byte_table_equal): New function in UTF-2000.
2234         (char_byte_table_hash): New function in UTF-2000.
2235         (char_byte_table_description): New constant in UTF-2000.
2236         (char_byte_table): New type in UTF-2000.
2237         (make_char_byte_table): New function in UTF-2000.
2238         (copy_char_byte_table): New function in UTF-2000.
2239         (make_char_code_table): New macro in UTF-2000.
2240         (get_char_code_table): New function in UTF-2000.
2241         (put_char_code_table): New function in UTF-2000.
2242         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2243         (charset_description): Add setting in UTF-2000.
2244         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2245         `CHARSET_TO_BYTE1_TABLE(cs)'.
2246         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2247         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2248         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2249         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2250         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2251         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2252         `CHARSET_TO_BYTE2_TABLE(cs)'.
2253
2254         * char-ucs.h (char_byte_table): New type.
2255         (XCHAR_BYTE_TABLE): New macro.
2256         (XSETCHAR_BYTE_TABLE): New macro.
2257         (CHAR_BYTE_TABLE_P): New macro.
2258         (GC_CHAR_BYTE_TABLE_P): New macro.
2259         (struct Lisp_Char_Byte_Table): New structure.
2260         (get_char_code_table): New interface.
2261         (Emchar_to_byte_table): Deleted.
2262         (get_byte_from_character_table): Deleted.
2263         (struct Lisp_Charset): Add `encoding_table'; delete
2264         `to_byte1_table' and `to_byte2_table'.
2265         (CHARSET_ENCODING_TABLE): New macro.
2266         (CHARSET_TO_BYTE1_TABLE): Deleted.
2267         (CHARSET_TO_BYTE2_TABLE): Deleted.
2268         (XCHARSET_ENCODING_TABLE): New macro.
2269         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2270         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2271
2272 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2273
2274         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2275         `vietnamese-viscii-*'.
2276
2277 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2278
2279         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2280         (Qvietnamese_viscii_upper): New variable.
2281         (Fdefine_charset_alias): New function.
2282         (syms_of_mule_charset): Add new function `define-charset-alias'.
2283         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2284         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2285         `latin-viscii-*'.
2286
2287 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2288
2289         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2290         (MAX_CHAR_OBS_94x94): New macro.
2291         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2292         for 94x94 sets.
2293
2294         * mule-charset.c (put_byte_from_character_table): Change unit size
2295         from 128 to 256.
2296         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2297         not defined.
2298         (Fmake_reverse_direction_charset): Modify dummy argument of
2299         `make_charset' for non-UTF-2000 environment.
2300
2301 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2302
2303         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2304
2305         * mule-charset.c (destroy_byte_from_character_table): New macro.
2306         (latin_jisx0201_to_ucs): Deleted.
2307         (latin_iso8859_2_to_ucs): Deleted.
2308         (latin_iso8859_3_to_ucs): Deleted.
2309         (latin_iso8859_4_to_ucs): Deleted.
2310         (latin_iso8859_9_to_ucs): Deleted.
2311         (latin_viscii_lower_to_ucs): Deleted.
2312         (latin_viscii_upper_to_ucs): Deleted.
2313         (mark_charset): Mark `cs->decoding_table'.
2314         (Fcharset_mapping_table): Fix DOC-string.
2315         (Fset_charset_mapping_table): New function.
2316         (syms_of_mule_charset): Add nwe function
2317         `set-charset-mapping-table'.
2318         (complex_vars_of_mule_charset): Don't setup and use
2319         `latin_*_to_ucs'.
2320
2321 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2322
2323         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2324         charset.
2325
2326 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2327
2328         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2329         (Vcharset_katakana_jisx0208): New variable.
2330         (Qhiragana_jisx0208): New variable.
2331         (Qkatakana_jisx0208): New variable.
2332         (make_charset): Add new argument `byte_offset'.
2333         (charset_get_byte1): Modify for new coded-charset definition; use
2334         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2335         `XCHARSET_BYTE_OFFSET'.
2336         (Fmake_charset): Modify for `make_charset'.
2337         (Fmake_reverse_direction_charset): Likewise.
2338         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2339         `katakana-jisx0208'.
2340         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2341         `.'  in font registry of charset `katakana-jisx0201',
2342         `latin-jisx0201', `vietnamese-viscii-lower' and
2343         `vietnamese-viscii-upper'; modify DOC-string of charset
2344         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2345         registry of charset `japanese-jisx0208' not to use font for JIS
2346         X0208:1990; add new charset `hiragana-jisx0208' and
2347         `katakana-jisx0208'.
2348
2349         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2350         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2351         (struct Lisp_Charset): Add `byte_offset'.
2352         (CHARSET_BYTE_OFFSET): New macro.
2353         (XCHARSET_UCS_MIN): New macro.
2354         (XCHARSET_UCS_MAX): New macro.
2355         (XCHARSET_CODE_OFFSET): New macro.
2356         (XCHARSET_BYTE_OFFSET): New macro.
2357         (MIN_CHAR_HIRAGANA): New macro.
2358         (MAX_CHAR_HIRAGANA): New macro.
2359         (MIN_CHAR_KATAKANA): New macro.
2360         (MAX_CHAR_KATAKANA): New macro.
2361         (MAKE_CHAR): Modify for new coded-charset definition; use
2362         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2363         `XCHARSET_BYTE_OFFSET'.
2364
2365 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2366
2367         * mule-charset.c (CHAR96): Deleted.
2368         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2369         <Lisp_Object>.
2370         (latin_iso8859_2_to_ucs): Likewise.
2371         (latin_iso8859_3_to_ucs): Likewise.
2372         (latin_iso8859_4_to_ucs): Likewise.
2373         (latin_iso8859_9_to_ucs): Likewise.
2374         (latin_viscii_lower_to_ucs): Likewise.
2375         (latin_viscii_upper_to_ucs): Likewise.
2376         (latin_tcvn5712_to_ucs): Commented out.
2377         (make_charset): Change type of argument `decoding_table' from
2378         <Emchar*> to <Lisp_Object> [vector of characters].
2379         (Fmake_charset): Modify for `make_charset'.
2380         (Fmake_reverse_direction_charset): Likewise.
2381         (Fcharset_mapping_table): New function in UTF-2000.
2382         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2383         UTF-2000.
2384         (complex_vars_of_mule_charset): Modify for type change of
2385         `*_to_ucs'; modify for `make_charset'.
2386
2387         * char-ucs.h (struct Lisp_Charset): Change type of
2388         `decoding_table' from <Emchar*> to <Lisp_Object>.
2389         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2390
2391 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2392
2393         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2394         error with non-UTF-2000-Mule.
2395
2396 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2397
2398         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2399         in lisp again].
2400         (Vcharset_chinese_cns11643_4): Likewise.
2401         (Vcharset_chinese_cns11643_5): Likewise.
2402         (Vcharset_chinese_cns11643_6): Likewise.
2403         (Vcharset_chinese_cns11643_7): Likewise.
2404         (Qchinese_cns11643_3): Likewise.
2405         (Qchinese_cns11643_4): Likewise.
2406         (Qchinese_cns11643_5): Likewise.
2407         (Qchinese_cns11643_6): Likewise.
2408         (Qchinese_cns11643_7): Likewise.
2409         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2410         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2411         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2412         (complex_vars_of_mule_charset): Likewise.
2413
2414 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2415
2416         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2417         96-set.
2418         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2419         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2420
2421 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2422
2423         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2424         0xFF60.
2425         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2426         (breakup_char_1): Likewise.
2427
2428         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2429         one of them includes the specified character.
2430
2431 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2432
2433         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2434
2435 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2436
2437         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2438
2439 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2440
2441         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2442         definition for non-UTF-2000 Mule.
2443         (latin_iso8859_3_to_ucs): Likewise.
2444         (latin_iso8859_4_to_ucs): Likewise.
2445         (latin_iso8859_9_to_ucs): Likewise.
2446         (latin_jisx0201_to_ucs): Likewise.
2447         (MIN_CHAR_THAI): Likewise.
2448         (MAX_CHAR_THAI): Likewise.
2449         (MIN_CHAR_GREEK): Likewise.
2450         (MAX_CHAR_GREEK): Likewise.
2451         (MIN_CHAR_HEBREW): Likewise.
2452         (MAX_CHAR_HEBREW): Likewise.
2453         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2454         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2455         (MIN_CHAR_CYRILLIC): Likewise.
2456         (MAX_CHAR_CYRILLIC): Likewise.
2457
2458 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2459
2460         * char-ucs.h (breakup_char_1): Use
2461         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2462         thai-tis620 and katakana-jisx0201 area.
2463
2464 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2465
2466         * char-ucs.h (breakup_char_1): Use
2467         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2468         area.
2469
2470         * text-coding.c (reset_encoding_stream): Fixed.
2471         (char_encode_ucs4): Delete `& 255'.
2472
2473         * char-ucs.h (breakup_char_1): Use
2474         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2475
2476 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2477
2478         * file-coding.c (Fmake_coding_system): Don't set up
2479         `codesys->fixed.size'.
2480         (encode_coding_no_conversion): Don't refer
2481         `str->codesys->fixed.size'.
2482
2483 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2484
2485         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2486         (latin_a_char_to_byte1): Deleted.
2487         (latin_a_char_to_byte2): Deleted.
2488
2489 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2490
2491         * mule-charset.c (make_charset): Add new argument `ucs_min',
2492         `ucs_max' and `code_offset'.
2493         (charset_get_byte1): New implementation [delete specific charset
2494         depended implementations].
2495         (Fmake_charset): Modify for `make_charset'.
2496         (Fmake_reverse_direction_charset): Likewise.
2497         (complex_vars_of_mule_charset): Likewise.
2498
2499         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2500         `code_offset'.
2501         (CHARSET_UCS_MIN): New macro.
2502         (CHARSET_UCS_MAX): New macro.
2503         (CHARSET_CODE_OFFSET): New macro.
2504         (MAKE_CHAR): Delete charset depended definitions [except
2505         katakana-jisx0201].
2506
2507 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2508
2509         * char-ucs.h (breakup_char_1): Use
2510         `Vdefault_coded_charset_priority_list' for C0-Controls,
2511         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2512
2513 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2514
2515         * char-ucs.h (charset_get_byte1): New function.
2516         (XCHARSET_GET_BYTE1): Deleted.
2517         (charset_get_byte2): New function.
2518         (XCHARSET_GET_BYTE2): Deleted.
2519         (Vdefault_coded_charset_priority_list): New external variable.
2520         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2521         `Vdefault_preferred_coded_charset_list'.
2522
2523         * mule-charset.c (charset_get_byte1): New function.
2524         (charset_get_byte2): New function.
2525         (Vdefault_coded_charset_priority_list): New variable.
2526         (vars_of_mule_charset): Add new variable
2527         `default-coded-charset-priority-list'.
2528
2529 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2530
2531         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2532         (XCHARSET_GET_BYTE2): New inline function.
2533         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2534         `XCHARSET_GET_BYTE2'.
2535
2536 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2537
2538         * mule-charset.c (make_charset): Initialize
2539         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2540         NULL if table is not defined.
2541
2542 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2543
2544         * text-coding.c (char_encode_shift_jis): Use
2545         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2546         `ucs_to_latin_jisx0201'.
2547
2548         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2549         (ucs_to_latin_iso8859_2): Deleted.
2550         (ucs_to_latin_iso8859_3): Deleted.
2551         (ucs_to_latin_iso8859_4): Deleted.
2552         (ucs_to_latin_iso8859_9): Deleted.
2553         (ucs_to_latin_viscii_lower): Deleted.
2554         (ucs_to_latin_viscii_upper): Deleted.
2555         (ucs_to_latin_tcvn5712): Deleted.
2556         (make_charset): Add new argument `decoding_table'; set up
2557         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2558         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2559         `decoding_table' is defined in UTF-2000.
2560         (Fmake_charset): Modify for `make_charset'.
2561         (Fmake_reverse_direction_charset): Likewise.
2562         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2563         and `GENERATE_96_SET'.
2564
2565         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2566         (ucs_to_latin_jisx0201): Deleted.
2567         (latin_iso8859_2_to_ucs): Deleted.
2568         (ucs_to_latin_iso8859_2): Deleted.
2569         (latin_iso8859_3_to_ucs): Deleted.
2570         (ucs_to_latin_iso8859_3): Deleted.
2571         (latin_iso8859_4_to_ucs): Deleted.
2572         (ucs_to_latin_iso8859_4): Deleted.
2573         (latin_iso8859_9_to_ucs): Deleted.
2574         (ucs_to_latin_iso8859_9): Deleted.
2575         (latin_viscii_lower_to_ucs): Deleted.
2576         (ucs_to_latin_viscii_lower): Deleted.
2577         (latin_viscii_upper_to_ucs): Deleted.
2578         (ucs_to_latin_viscii_upper): Deleted.
2579         (struct Lisp_Charset): Renamed `encoding_table' to
2580         `to_byte1_table'; add `to_byte2_table'.
2581         (CHARSET_DECODING_TABLE): New macro.
2582         (CHARSET_TO_BYTE1_TABLE): New macro.
2583         (CHARSET_TO_BYTE2_TABLE): New macro.
2584         (XCHARSET_DECODING_TABLE): New macro.
2585         (XCHARSET_TO_BYTE1_TABLE): New macro.
2586         (XCHARSET_TO_BYTE2_TABLE): New macro.
2587         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2588         tables.
2589         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2590         don't use `ucs_to_*' tables.
2591
2592 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2593
2594         * text-coding.c (Fmake_coding_system): Don't set up
2595         `codesys->fixed.size'.
2596         (encode_coding_no_conversion): Use `if' instead of `switch'.
2597
2598         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2599
2600 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2601
2602         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2603         (Fmake_charset): Modify for `make_charset'.
2604         (Fmake_reverse_direction_charset): Likewise.
2605         (complex_vars_of_mule_charset): Likewise.
2606
2607 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2608
2609         * text-coding.c (char_encode_shift_jis): Use table
2610         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2611
2612 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2613
2614         * text-coding.c (text_encode_generic): Use `if' instead of
2615         `switch'.
2616         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2617         decode JIS-Latin.
2618
2619 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2620
2621         * text-coding.c (encode_coding_sjis): Deleted.
2622         (char_encode_shift_jis): New function.
2623         (char_finish_shift_jis): New function.
2624         (reset_encoding_stream): Set up `encode_char' and `finish' for
2625         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2626         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2627         (char_encode_utf8): Treat `eol_type'.
2628
2629 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2630
2631         * file-coding.c (decode_coding_iso2022): Use
2632         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2633
2634 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2635
2636         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2637         to 0.7 (Hirano).
2638
2639 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2640
2641         * char-lb.h (CHAR_COLUMNS): New macro.
2642
2643 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2644
2645         * text-coding.c (char_encode_ucs4): New function.
2646         (char_finish_ucs4): New function.
2647         (encode_coding_ucs4): Deleted.
2648         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2649         (text_encode_generic): Delete local variable `charset' and `half'.
2650         (ucs_to_mule_table): Deleted.
2651         (mule_to_ucs_table): Deleted.
2652         (Fset_ucs_char): Deleted.
2653         (ucs_to_char): Deleted.
2654         (Fucs_char): Deleted.
2655         (Fset_char_ucs): Deleted.
2656         (Fchar_ucs): Deleted.
2657         (decode_ucs4): Deleted.
2658         (mule_char_to_ucs4): Deleted.
2659         (encode_ucs4): Deleted.
2660         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2661         (decode_coding_utf8): Likewise.
2662         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2663         (char_encode_iso2022): Fixed.
2664         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2665         `Fset_char_ucs' and `Fchar_ucs'.
2666         (complex_vars_of_file_coding): Don't initialize
2667         `ucs_to_mule_table'.
2668
2669         * objects-tty.c (tty_initialize_font_instance): Don't use
2670         `XCHARSET_COLUMNS'.
2671
2672         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2673         UTF-2000.
2674
2675         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2676         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2677
2678         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2679         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2680         (emchar_string_displayed_columns): Likewise.
2681
2682         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2683         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2684         (string_column_at_point): Likewise.
2685         (Fmove_to_column): Likewise.
2686
2687         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2688         `encoding_table' and `decoding_table'.
2689         (CHARSET_REP_BYTES): Deleted.
2690         (XCHARSET_REP_BYTES): Deleted.
2691         (XCHARSET_COLUMNS): Deleted.
2692         (CHAR_COLUMNS): New macro.
2693         (lookup_composite_char): Deleted unconditionally.
2694         (composite_char_string): Likewise.
2695
2696 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2697
2698         * char-ucs.h (Emchar_to_byte_table): New type.
2699         (get_byte_from_character_table): New function interface.
2700         (Vcharset_latin_jisx0201): New variable.
2701         (latin_jisx0201_to_ucs): New variable.
2702         (ucs_to_latin_jisx0201): New variable.
2703         (Vcharset_latin_iso8859_2): New variable.
2704         (latin_iso8859_2_to_ucs): New variable.
2705         (ucs_to_latin_iso8859_2): New variable.
2706         (Vcharset_latin_iso8859_3): New variable.
2707         (latin_iso8859_3_to_ucs): New variable.
2708         (ucs_to_latin_iso8859_3): New variable.
2709         (Vcharset_latin_iso8859_4): New variable.
2710         (latin_iso8859_4_to_ucs): New variable.
2711         (ucs_to_latin_iso8859_4): New variable.
2712         (Vcharset_latin_iso8859_9): New variable.
2713         (latin_iso8859_9_to_ucs): New variable.
2714         (ucs_to_latin_iso8859_9): New variable.
2715         (Vcharset_latin_viscii_lower): New variable.
2716         (latin_viscii_lower_to_ucs): New variable.
2717         (ucs_to_latin_viscii_lower): New variable.
2718         (Vcharset_latin_viscii_upper): New variable.
2719         (latin_viscii_upper_to_ucs): New variable.
2720         (ucs_to_latin_viscii_upper): New variable.
2721         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2722         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2723         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2724         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2725         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2726         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2727         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2728         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2729         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2730         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2731
2732         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2733         (Vcharset_latin_viscii_upper): New variable.
2734         (make_byte_from_character_table): New function.
2735         (put_byte_from_character_table): New function.
2736         (get_byte_from_character_table): New function.
2737         (CHAR96): New macro.
2738         (ucs_to_latin_jisx0201): New variable.
2739         (latin_jisx0201_to_ucs): New variable.
2740         (ucs_to_latin_iso8859_2): New variable.
2741         (latin_iso8859_2_to_ucs): New variable.
2742         (ucs_to_latin_iso8859_3): New variable.
2743         (latin_iso8859_3_to_ucs): New variable.
2744         (ucs_to_latin_iso8859_4): New variable.
2745         (latin_iso8859_4_to_ucs): New variable.
2746         (ucs_to_latin_iso8859_9): New variable.
2747         (latin_iso8859_9_to_ucs): New variable.
2748         (ucs_to_latin_viscii_lower): New variable.
2749         (latin_viscii_lower_to_ucs): New variable.
2750         (ucs_to_latin_viscii_upper): New variable.
2751         (latin_viscii_upper_to_ucs): New variable.
2752         (ucs_to_latin_tcvn5712): New variable.
2753         (latin_tcvn5712_to_ucs): New variable.
2754         (Qlatin_viscii_lower): New variable.
2755         (Qlatin_viscii_upper): New variable.
2756         (syms_of_mule_charset): Set up new symbol
2757         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2758         (complex_vars_of_mule_charset): Set up new charset
2759         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2760         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2761         `ucs_to_<CHARSET>' tables.
2762
2763 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2764
2765         * text-coding.c: New file.
2766
2767 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2768
2769         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2770
2771         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2772         (MAKE_CHAR): Modify for `ucs-bmp'.
2773         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2774         non-MULE characters of BMP.
2775
2776 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2777
2778         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2779         to 0.6.
2780
2781 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2782
2783         * lstream.h:
2784         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2785         - Include character.h for `CHAR_ASCII_P'.
2786
2787         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2788
2789         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2790         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2791
2792         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2793         (BYTE_C0_P): Likewise.
2794         (BYTE_C1_P): Likewise.
2795         (Lstream_get_emchar_1): Likewise.
2796         (Lstream_fput_emchar): Likewise.
2797         (Lstream_funget_emchar): Likewise.
2798         (copy_internal_to_external): Likewise.
2799         (copy_external_to_internal): Likewise.
2800
2801         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2802         (BYTE_C0_P): Likewise.
2803         (BYTE_C1_P): Likewise.
2804         (Lstream_get_emchar_1): Likewise.
2805         (Lstream_fput_emchar): Likewise.
2806         (Lstream_funget_emchar): Likewise.
2807         (copy_internal_to_external): Likewise.
2808         (copy_external_to_internal): Likewise.
2809
2810         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2811         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2812
2813         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2814         (BYTE_ASCII_P): Moved to mb-1byte.h.
2815
2816 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2817
2818         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2819
2820         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2821         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2822         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2823         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2824         (VALIDATE_CHARPTR_FORWARD): Likewise.
2825         (simple_charptr_emchar): Moved to mb-multibyte.h.
2826         (simple_set_charptr_emchar): Likewise.
2827         (simple_charptr_copy_char): Likewise.
2828         (non_ascii_charptr_emchar): Likewise.
2829         (non_ascii_set_charptr_emchar): Likewise.
2830         (non_ascii_charptr_copy_char): Likewise.
2831         (charptr_emchar): Moved to mb-*byte.h.
2832         (set_charptr_emchar): Likewise.
2833         (charptr_copy_char): Likewise.
2834
2835         * mb-1byte.h, mb-multibyte.h: New files.
2836
2837 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2838
2839         * mb-utf-8.h (MULTIBYTE): New macro.
2840         (MAX_EMCHAR_LEN): Moved from buffer.h.
2841         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2842
2843         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2844
2845         * mb-lb.h, multibyte.h: New files.
2846
2847         * char-1byte.h (Charset_ID): Moved from buffer.h.
2848         (MIN_LEADING_BYTE): Likewise.
2849         (LEADING_BYTE_ASCII): Likewise.
2850         (NUM_LEADING_BYTES): Likewise.
2851         (CHARSETP): Likewise.
2852         (CHARSET_BY_LEADING_BYTE): Likewise.
2853         (XCHARSET_LEADING_BYTE): Likewise.
2854         (XCHARSET_GRAPHIC): Likewise.
2855         (XCHARSET_COLUMNS): Likewise.
2856         (XCHARSET_DIMENSION): Likewise.
2857         (CHAR_CHARSET): Likewise.
2858         (CHAR_LEADING_BYTE): Likewise.
2859         (BREAKUP_CHAR): Likewise.
2860         (Vcharset_ascii): Likewise.
2861
2862         * buffer.h: Include multibyte.h unconditionally.
2863         (VALID_CHARPTR_P): Moved to multibyte.h.
2864         (ASSERT_VALID_CHARPTR): Likewise.
2865         (REAL_INC_CHARPTR): Likewise.
2866         (REAL_INC_CHARBYTIND): Likewise.
2867         (REAL_DEC_CHARPTR): Likewise.
2868         (INC_CHARPTR): Likewise.
2869         (INC_CHARBYTIND): Likewise.
2870         (DEC_CHARPTR): Likewise.
2871         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2872         (VALIDATE_CHARPTR_FORWARD): Likewise.
2873         (charptr_n_addr): Likewise.
2874         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2875         (simple_charptr_emchar): Moved to multibyte.h.
2876         (simple_set_charptr_emchar): Likewise.
2877         (simple_charptr_copy_char): Likewise.
2878         (non_ascii_charptr_emchar): Likewise.
2879         (non_ascii_set_charptr_emchar): Likewise.
2880         (non_ascii_charptr_copy_char): Likewise.
2881         (charptr_emchar): Likewise.
2882         (set_charptr_emchar): Likewise.
2883         (charptr_copy_char): Likewise.
2884         (charptr_emchar_n): Likewise.
2885         (Charset_ID): Moved to char-1byte.h.
2886         (Vcharset_ascii): Likewise.
2887         (CHAR_CHARSET): Likewise.
2888         (CHAR_LEADING_BYTE): Likewise.
2889         (LEADING_BYTE_ASCII): Likewise.
2890         (NUM_LEADING_BYTES): Likewise.
2891         (MIN_LEADING_BYTE): Likewise.
2892         (CHARSETP): Likewise.
2893         (CHARSET_BY_LEADING_BYTE): Likewise.
2894         (XCHARSET_LEADING_BYTE): Likewise.
2895         (XCHARSET_GRAPHIC): Likewise.
2896         (XCHARSET_COLUMNS): Likewise.
2897         (XCHARSET_DIMENSION): Likewise.
2898         (BREAKUP_CHAR): Likewise.
2899
2900 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2901
2902         * character.h: Add document about interface for characters.
2903
2904         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2905         (MAKE_CHAR): Delete comment about
2906         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2907         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2908         (BREAKUP_CHAR): Modify name of arguments.
2909         (CHAR_CHARSET): Modify name of argument.
2910
2911         * buffer.h: Delete document about Emchar accessors.
2912
2913 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2914
2915         * character.h (CHAR_INTP): Moved from buffer.h
2916         (CHAR_OR_CHAR_INTP): Likewise.
2917         (XCHAR_OR_CHAR_INT): Likewise.
2918         (CHECK_CHAR_COERCE_INT): Likewise.
2919
2920         * buffer.h (CHAR_INTP): Moved to character.h
2921         (CHAR_OR_CHAR_INTP): Likewise.
2922         (XCHAR_OR_CHAR_INT): Likewise.
2923         (CHECK_CHAR_COERCE_INT): Likewise.
2924
2925 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2926
2927         * character.h:
2928         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2929         - Include char-1byte.h, char-lb.h or char-ucs.h.
2930
2931         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2932
2933         * buffer.h: Include character unconditionally.
2934         (valid_char_p): Moved to char-*.h.
2935         (non_ascii_valid_char_p): Moved to char-lb.h.
2936
2937         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2938
2939 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2940
2941         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2942         in UTF-2000 because it is not ported yet and not to use
2943         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2944         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2945         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2946
2947         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2948         (CHAR_ASCII_P): Moved from character.h.
2949
2950         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
2951         (CHAR_ASCII_P): Likewise.
2952         (CHAR_FIELD1_MASK): Deleted.
2953         (CHAR_FIELD2_MASK): Deleted.
2954         (CHAR_FIELD3_MASK): Deleted.
2955         (MAX_CHAR_BASIC_LATIN): New macro.
2956         (CHAR_FIELD1): Deleted.
2957         (CHAR_FIELD2_INTERNAL): Deleted.
2958         (CHAR_FIELD3_INTERNAL): Deleted.
2959         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
2960         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
2961         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
2962         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
2963         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
2964         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
2965         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
2966         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
2967         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
2968         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
2969         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
2970         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
2971         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
2972         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
2973         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
2974         (MIN_CHAR_COMPOSITION): Deleted.
2975         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
2976         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
2977
2978 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
2979
2980         * buffer.h: Include mb-utf-8.h in UTF-2000.
2981
2982         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
2983
2984         * mb-utf-8.h: New file.
2985
2986 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
2987
2988         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
2989         instead of `int'.
2990
2991         * mule-charset.h, buffer.h (Charset_ID): New type.
2992
2993 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2994
2995         * mule-canna.c (c2mu): Use `MAKE_CHAR',
2996         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
2997         instead of `MULE_CHAR_PRIVATE_OFFSET',
2998         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
2999         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3000         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3001
3002         * character.h (Vcharset_japanese_jisx0212): New variable
3003         definition.
3004
3005 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3006
3007         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3008         (charset_by_attributes): Delete array about direction.
3009         (latin_a_char_to_charset): New variable in UTF-2000.
3010         (latin_a_char_to_byte1): New variable in UTF-2000.
3011         (latin_a_char_to_byte2): New variable in UTF-2000.
3012         (Qucs_bmp): New variable.
3013         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3014         `Bufbyte'.
3015         (next_allocated_2_byte_leading_byte): Likewise.
3016         (non_ascii_set_charptr_emchar): Likewise.
3017         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3018         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3019         `charset_by_attributes'.
3020         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3021         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3022         and `CHARSET_BY_LEADING_BYTE'.
3023         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3024         `utf-2000-version' to `vars_of_mule_charset'.
3025         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3026         define `leading-code-private-11' in UTF-2000; move setting of
3027         `utf-2000-version' from `syms_of_mule_charset'.
3028         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3029         UTF-2000.
3030
3031         * character.h (Charset_ID): New type.
3032         (LEADING_BYTE_UCS_BMP): New macro.
3033         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3034         (CHARSET_ID_OFFSET_94): New macro.
3035         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3036         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3037         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3038         final-byte.
3039         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3040         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3041         (CHARSET_ID_OFFSET_96): New macro.
3042         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3043         CHARSET_ID_OFFSET_96 and final-byte.
3044         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3045         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3046         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3047         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3048         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3049         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3050         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3051         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3052         (LEADING_BYTE_THAI_TIS620): Likewise.
3053         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3054         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3055         (CHARSET_ID_OFFSET_94x94): New macro.
3056         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3057         CHARSET_ID_OFFSET_94x94 and final-byte.
3058         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3059         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3060         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3061         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3062         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3063         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3064         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3065         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3066         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3067         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3068         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3069         (CHARSET_TYPE_128X128): New macro.
3070         (CHARSET_TYPE_256X256): New macro.
3071         (XCHARSET_PRIVATE_P): Delete unconditionally.
3072         (charset_by_attributes): Delete array about direction.
3073         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3074         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3075         (MIN_CHAR_94): New macro.
3076         (MAX_CHAR_94): New macro.
3077         (MIN_CHAR_96): New macro.
3078         (MAX_CHAR_96): New macro.
3079         (MIN_CHAR_94x94): New macro.
3080         (MAX_CHAR_94x94): New macro.
3081         (MIN_CHAR_96x96): New macro.
3082         (MAX_CHAR_96x96): New macro.
3083         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3084         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3085         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3086         - 32)'.
3087         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3088         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3089         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3090         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3091         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3092         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3093         `XCHARSET_LEADING_BYTE' to make code-point.
3094         (latin_a_char_to_charset): New variable.
3095         (latin_a_char_to_byte1): New variable.
3096         (latin_a_char_to_byte2): New variable.
3097         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3098         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3099         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3100
3101         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3102         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3103         (find_charsets_in_emchar_string): Likewise.
3104         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3105
3106         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3107         `int'.
3108         (decode_coding_iso2022): Likewise.
3109
3110         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3111         of `unsigned char'.
3112
3113         * redisplay.c (redisplay_text_width_emchar_string): Use
3114         `Charset_ID' instead of `unsigned char'.
3115         (redisplay_frame_text_width_string): Likewise.
3116
3117         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3118         `unsigned char'.
3119
3120         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3121         instead of `unsigned char'.
3122         (face_cachel_charset_font_metric_info): Likewise.
3123
3124         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3125         (get_non_ascii_char_table_value): Likewise.
3126         (get_char_table): Likewise.
3127         (put_char_table): Likewise.
3128         (map_over_other_charset): Likewise.
3129         (map_char_table): Likewise.
3130
3131         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3132         instead of `unsigned char'.
3133
3134 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3135
3136         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3137         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3138
3139         * mule-charset.c (leading_code_private_11): Don't define in
3140         UTF-2000.
3141
3142         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3143         in UTF-2000 because it is not ported yet and not to use
3144         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3145
3146 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3147
3148         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3149
3150 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3151
3152         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3153         in UTF-2000.
3154
3155         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3156         of unsigned char to store leading-byte.
3157
3158         * chartab.c (get_non_ascii_char_table_value): Don't use
3159         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3160
3161         * file-coding.c (encode_coding_big5): Delete bogus implementation
3162         in UTF2000.
3163
3164         * character.h (LEADING_BYTE_*): Delete definition for
3165         non-UTF-2000.
3166         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3167         (LEADING_BYTE_PREFIX_P): Deleted.
3168         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3169         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3170         (BUFBYTE_LEADING_BYTE_P): Deleted.
3171         (CHARSET_PRIVATE_P): Deleted unconditionally.
3172         (rep_bytes_by_first_byte): Deleted unconditionally.
3173         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3174         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3175         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3176         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3177         (CHAR_FIELD2): Deleted.
3178         (CHAR_FIELD3): Deleted.
3179         (MAKE_CHAR): Delete definition for non-UTF-2000.
3180         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3181         (breakup_char_1): New implementation.
3182         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3183         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3184
3185 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3186
3187         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3188         condition.
3189
3190 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3191
3192         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3193         (CHARSET_PRIVATE_P): Likewise.
3194         (XCHARSET_PRIVATE_P): Likewise.
3195         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3196
3197         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3198         UTF2000.
3199         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3200
3201 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3202
3203         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3204         (NUM_LEADING_BYTES): Changed from 128 to 256.
3205         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3206         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3207         UTF2000.
3208         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3209
3210         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3211         UTF2000.
3212         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3213         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3214         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3215         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3216         (Qchinese_cns11643_3): New variable in UTF2000.
3217         (Qchinese_cns11643_4): New variable in UTF2000.
3218         (Qchinese_cns11643_5): New variable in UTF2000.
3219         (Qchinese_cns11643_6): New variable in UTF2000.
3220         (Qchinese_cns11643_7): New variable in UTF2000.
3221         (syms_of_mule_charset): Define `chinese-cns11643-3',
3222         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3223         and `chinese-cns11643-7' in UTF2000.
3224         (vars_of_mule_charset): Initialize
3225         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3226         + 1 in UTF2000.
3227         (complex_vars_of_mule_charset): Setup charset
3228         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3229         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3230
3231 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3232
3233         * mule-charset.c: Move setting for `leading-code-private-11' from
3234         `syms_of_mule_charset' to `vars_of_mule_charset'.
3235
3236 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3237
3238         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3239         and `NUM_LEADING_BYTES' in assert.
3240
3241 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3242
3243         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3244         instead of 128.
3245         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3246         `NUM_LEADING_BYTES' instead of 128.
3247
3248 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3249
3250         * mule-charset.h (charset_by_leading_byte): Use
3251         `NUM_LEADING_BYTES' instead of 128.
3252         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3253
3254         * mule-charset.c (charset_by_leading_byte): Use
3255         `NUM_LEADING_BYTES' instead of 128.
3256         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3257
3258         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3259         128.
3260
3261 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3262
3263         * mule-charset.c (syms_of_mule_charset): Update to
3264         0.4 (Shin-Imamiya).
3265
3266 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3267
3268         * file-coding.c (encode_coding_sjis): New implementation for
3269         UTF2000.  (decode_coding_sjis): Ditto.
3270
3271 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3272
3273         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3274         Don't define in UTF2000.
3275
3276         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3277         defined.
3278
3279         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3280         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3281         MULE.
3282
3283 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3284
3285         * config.h.in (CHAR_IS_UCS4): New macro.
3286
3287         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3288         conventional MULE representation.
3289         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3290
3291         * mule-charset.h: Reverted to original.
3292
3293         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3294         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3295         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3296
3297         * character.h: New file.
3298
3299         * file-coding.c (Fmake_coding_system): Set 1 to
3300         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3301         defined.
3302         (encode_coding_no_conversion): New implementation for UTF2000.
3303
3304         * file-coding.h (struct Lisp_Coding_System): Add new member
3305         `fixed.size'.
3306
3307 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3308
3309         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3310         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3311         (encode_coding_iso2022): New implementation for UTF2000.
3312
3313 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3314
3315         * mule-canna.c (c2mu): New implementation for UTF2000.
3316         (m2c): Likewise.
3317
3318 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3319
3320         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3321
3322 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3323
3324         * file-coding.c (reset_encoding_stream): Set 0 to
3325         `str->iso2022.current_char_boundary' in UTF2000.
3326         (encode_utf8): Don't define in UTF2000.
3327         (encode_coding_utf8): New implementation for UTF-8 representation
3328         of UTF2000.
3329         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3330
3331 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3332
3333         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3334
3335         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3336         UTF2000.
3337         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3338
3339         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3340
3341         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3342         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3343         as UTF-8 in UTF2000.
3344         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3345         (non_ascii_valid_char_p): Don't define in UTF2000.
3346         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3347         (Lstream_get_emchar_1): Likewise.
3348         (utf-2000-version): New variable in UTF2000.
3349
3350         * lread.c (read_escape): Add new reader `u'.
3351
3352         * insdel.c (three_to_one_table): Don't define in UTF2000.
3353         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3354         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3355         UTF2000.
3356         (bytind_to_bufpos_func): Likewise.
3357         (buffer_mule_signal_inserted_region): Likewise.
3358         (vars_of_insdel): Don't initialize `three_to_one_table'.
3359         (init_buffer_text): Use `buf->text->mule_size' instead of
3360         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3361         UTF2000.
3362
3363         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3364         UTF-8 representation in UTF2000.
3365         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3366         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3367         (decode_coding_iso2022): Don't define local variable `lb' in
3368         UTF2000; don't use LEADING_BYTE in UTF2000; use
3369         `DECODE_ADD_UCS_CHAR' in UTF2000.
3370         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3371
3372         * config.h.in (UTF2000): New macro.
3373
3374         * buffer.h (struct buffer_text): Add new member `mule_size' and
3375         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3376         (valid_char_p): Return always 1 in UTF2000.
3377         (MAX_EMCHAR_LEN): 6 in UTF2000.
3378         (three_to_one_table): Don't define in UTF2000.
3379         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3380         UTF2000.
3381         (real_bytind_to_bufpos): Likewise.
3382
3383         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3384
3385 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3386
3387         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3388         representation change.
3389         (Vutf_2000_version): New variable.
3390         (leading_code_private_11): New variable.
3391         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3392         `leading-code-private-11'.
3393
3394         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3395         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3396         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3397         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3398         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3399         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3400         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3401         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3402         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3403         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3404         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3405         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3406         (MIN_CHAR_GREEK): New macro.
3407         (MAX_CHAR_GREEK): New macro.
3408         (MIN_CHAR_CYRILLIC): New macro.
3409         (MAX_CHAR_CYRILLIC): New macro.
3410         (MIN_CHAR_HEBREW): New macro.
3411         (MAX_CHAR_HEBREW): New macro.
3412         (MIN_CHAR_THAI): New macro.
3413         (MAX_CHAR_THAI): New macro.
3414         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3415         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3416         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3417         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3418         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3419         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3420         (CHAR_FIELD2): New inline function.
3421         (CHAR_FIELD3): New inline function.
3422         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3423         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3424         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3425         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3426         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3427         (MIN_CHAR_COMPOSITION): Likewise.
3428         (CHAR_LEADING_BYTE): Modified for character representation change.
3429         (MAKE_CHAR): Likewise.
3430
3431         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3432         (Vcharset_greek_iso8859_7): Likewise.
3433         (Vcharset_cyrillic_iso8859_5): Likewise.
3434         (Vcharset_hebrew_iso8859_8): Likewise.
3435         (Vcharset_thai_tis620): Likewise.
3436         (Vcharset_katakana_jisx0201): Likewise.
3437
3438 2001-01-26  Martin Buchholz <martin@xemacs.org>
3439
3440         * XEmacs 21.2.43 "Terspichore" is released.
3441
3442 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3443
3444         Type fiddling for window_config.saved_windows_count
3445         * window.c (struct window_config): 
3446         Make saved_windows_count member unsigned.
3447         * window.c (sizeof_window_config_for_n_windows): 
3448         Make parameter unsigned.
3449         * window.c (mark_window_config):
3450         * window.c (window_config_equal):
3451         * window.c (free_window_configuration):
3452         * window.c (Fset_window_configuration):
3453         * window.c (count_windows):
3454         * window.c (Fcurrent_window_configuration):
3455         * window.c (reinit_vars_of_window):
3456         Update all callers and users.
3457
3458 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3459
3460         Alignment correctness for flexible arrays.
3461         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
3462         Make alignment-correct. Add interesting comments.
3463         * alloc.c (size_vector):
3464         * alloc.c (make_vector_internal):
3465         * alloc.c (make_bit_vector_internal):
3466         * alloc.c (sweep_bit_vectors_1):
3467         * fns.c (size_bit_vector):
3468         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
3469         * window.c (sizeof_window_config_for_n_windows): 
3470         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
3471
3472 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3473
3474         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
3475
3476 2001-01-23  Andy Piper  <andy@xemacs.org>
3477
3478         * select.c (Fown_selection_internal): pass owned_p
3479
3480         * select-msw.c (mswindows_own_selection): New Signature.
3481
3482         * console.h (struct console_methods): add owned_p to
3483         _own_selection.
3484
3485         * select-x.c (x_own_selection): pass owned_p
3486         (hack_motif_clipboard_selection): use owned_p
3487         (vars_of_select_x): new variable -
3488         x_selection_strict_motif_ownership.
3489
3490 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3491
3492         * specifier.h (specifier_data_offset): Remove pointless parens.
3493         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
3494
3495 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3496
3497         Make Lisp_Object sizeof methods be alignment-correct.
3498         pdump must restore objects to the same alignment as the C compiler
3499         assumes.  It really matters on SGIs.
3500         * lstream.c (aligned_sizeof_lstream): New.
3501         (sizeof_lstream): Use aligned_sizeof_lstream.
3502         (Lstream_new): Likewise.
3503         * opaque.c (aligned_sizeof_opaque): New.
3504         (sizeof_opaque): Use aligned_sizeof_opaque.
3505         (make_opaque): Likewise.
3506         * specifier.c (aligned_sizeof_specifier): New.
3507         (sizeof_specifier): Use aligned_sizeof_specifier.
3508         (make_specifier_internal): Likewise.
3509
3510 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3511
3512         * lstream.h (struct lstream): Use max_align_t for trailing data.
3513         * specifier.h (struct Lisp_Specifier): Likewise.
3514
3515 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3516
3517         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
3518         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
3519         (CCL_SUSPEND): Likewise.
3520         (CCL_INVALID_CMD): Likewise.
3521         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
3522         (ccl_driver): Likewise.
3523         (CCL_WRITE_CHAR): Macro hygiene.
3524         (CCL_WRITE_STRING): Macro hygiene.
3525
3526 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3527
3528         Port "portable" dumper to SunOS 4 and HP-UX.
3529         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
3530         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
3531         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
3532
3533 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3534
3535         * lisp.h (ALIGNOF): A better definition for C++.
3536
3537 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3538
3539         Macro hygiene.
3540         Fix printf warnings: int format, long int arg.
3541         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
3542         (PUSH_FAILURE_POINT): Use correct printf formats.
3543         (POP_FAILURE_POINT): Use correct printf formats.  
3544         Use do {...} while (0)
3545
3546 2001-01-20  Martin Buchholz <martin@xemacs.org>
3547
3548         * XEmacs 21.2.42 "Poseidon" is released.
3549
3550 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3551
3552         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
3553
3554 2001-01-19  Martin Buchholz  <martin@xemacs.org>
3555
3556         De-kludgify FIXED_TYPE free list frobbing.
3557         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
3558         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
3559         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
3560         * alloc.c (Lisp_Free): New pseudo lisp object definition.
3561         * alloc.c (LRECORD_FREE_P): New.
3562         * alloc.c (MARK_LRECORD_AS_FREE): New.
3563         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
3564         * alloc.c (STRUCT_FREE_P): Deleted.
3565         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
3566         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
3567         * alloc.c (STRING_CHARS_FREE_P): New.
3568         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
3569         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
3570         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
3571         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
3572         * alloc.c (resize_string): Use new definitions.
3573         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
3574         * alloc.c (verify_string_chars_integrity): Use new definitions.
3575         * alloc.c (compact_string_chars): Use new definitions.
3576         * alloc.c: Update monster comments.
3577         * lrecord.h (lrecord_type): Add some new lrecord types for
3578         alloc.c's use.
3579
3580 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3581
3582         Improve alignment hackery.
3583         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
3584         (max_align_t): Moved from opaque.h - general purpose.
3585         (ALIGN_PTR): Use size_t, not long.
3586         * opaque.h (max_align_t): Move to lisp.h.
3587
3588 2001-01-18  Norbert Koch  <nk@LF.net>
3589
3590         * gui.h: Fix and add prototypes to fix build problems.
3591
3592 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3593
3594         temacs is going away, so `dump-temacs' is now a bad name.
3595         * .dbxrc (dump-temacs): Rename to `dmp'.
3596         * .gdbinit (dump-temacs): Rename to `dmp'.
3597
3598 2001-01-17  Andy Piper  <andy@xemacs.org>
3599
3600         * glyphs.c (print_image_instance): comment to make martin happy.
3601
3602         * glyphs-x.c (x_redisplay_widget): update faces after a frame
3603         change.
3604
3605         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
3606         activation.
3607         (mswindows_tab_control_redisplay): warning suppression.
3608
3609         * glyphs-widget.c (widget_update): re-write to cope with updated
3610         items.
3611         (widget_instantiate): use new gui_item functions.
3612         (tab_control_update): deleted.
3613         (progress_gauge_update): deleted.
3614         (image_instantiator_progress_guage): take out update reference.
3615         (image_instantiator_tree_view): ditto.
3616         (image_instantiator_tab_control): ditto.
3617
3618         * gui.c (widget_gui_parse_item_keywords): new function. Do things
3619         Right the new way.
3620         (gui_item_add_keyval_pair): re-write to cope with descriptors and
3621         return whether anything was changed.
3622         (update_gui_item_keywords): as it sounds.
3623
3624         * gui.h: declare widget_gui_parse_item_keywords.
3625
3626         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
3627         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
3628
3629 2001-01-17  Martin Buchholz <martin@xemacs.org>
3630
3631         * XEmacs 21.2.41 "Polyhymnia" is released.
3632
3633 2001-01-16  Didier Verna  <didier@xemacs.org>
3634
3635         * glyphs.c (image_instantiate): don't use fallbacks when
3636         instantiating a face's background pixmap by inheritance.
3637
3638 2001-01-14  Mike Sperber <mike@xemacs.org>
3639
3640         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3641         Conditionalize accordingly.
3642
3643 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3644
3645         * dumper.c (pdump_file_get): Fix a compiler warning.
3646
3647 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3648
3649         Make Purify happy when pdumping.
3650         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3651         iniitalizing all bits of new lisp object memory.
3652         * symbols.c (Fmake_local_variable): Likewise.
3653         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3654         * symbols.c (Fdefvaralias): Likewise.
3655         * mule-charset.c (vars_of_mule_charset): Likewise.
3656
3657 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3658         Add the `-nd' flag when running pre-dump operations under the debugger.
3659         * .dbxrc (run-temacs): Add `-nd'.
3660         * .dbxrc (update-elc): Likewise.
3661         * .dbxrc (dump-temacs): Likewise.
3662         * .gdbinit (run-temacs): Likewise.
3663         * .gdbinit (check-temacs): Likewise.
3664         * .gdbinit (update-elc): Likewise.
3665         * .gdbinit (dump-temacs): Likewise.
3666
3667 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3668
3669         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3670         export OBJECT_MODE=64
3671         configure --pdump --use-union-type=no
3672         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3673         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3674
3675         * miscplay.c (sndcnv8U_2mono):
3676         Avoid two uses of `++' in the same expression.
3677         Suppresses a GCC warning.
3678
3679 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3680
3681         Make sure future compilers don't miscompile alloc.c.
3682         * alloc.c:
3683         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3684         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3685
3686 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3687
3688         * dumper.c: A little post-pdump-rename comment fixup.
3689
3690 2001-01-09  Jerry James  <james@eecs.ku.edu>
3691
3692         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3693
3694 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3695
3696         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3697         script:
3698         #!/bin/sh
3699         replace_symbol () {
3700           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3701         }
3702
3703         replace_symbol pdump_wire_lists pdump_weak_object_chains
3704         replace_symbol pdump_wire_list dump_add_weak_object_chain
3705
3706         replace_symbol pdump_wires pdump_root_objects
3707         replace_symbol pdump_wire dump_add_root_object
3708
3709         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3710         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3711
3712         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3713         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3714         replace_symbol dumpstructinfo pdump_root_struct_ptr
3715         replace_symbol dumpstruct dump_add_root_struct_ptr
3716
3717         replace_symbol dumpopaque dump_add_opaque
3718         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3719         replace_symbol dumpopaqueinfos pdump_opaques
3720         replace_symbol dumpopaqueinfo pdump_opaque
3721
3722         replace_symbol nb_structdump nb_root_struct_ptrs
3723         replace_symbol nb_opaquedump nb_opaques
3724
3725         replace_symbol align_table pdump_align_table
3726         replace_symbol dump_header pdump_header
3727
3728         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3729         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3730
3731
3732 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3733
3734         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3735         optimizing bytecount_to_charcount().
3736
3737 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3738
3739         * config.h.in:
3740         (HAVE_DLFCN_H): Removed.
3741         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3742
3743 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3744
3745         Portable dumper maintainability improvements.
3746         * alloc.c (staticpro):
3747         * alloc.c (staticpro_nodump):
3748         * alloc.c (garbage_collect_1):
3749         * alloc.c (reinit_alloc_once_early):
3750         * alloc.c (init_alloc_once_early):
3751         * alloc.c: Move dumper functions to alloc.c.
3752         * dumper.c (pdump_backtrace):
3753         * dumper.c (pdump_dump_structs):
3754         * dumper.c (pdump_dump_opaques):
3755         * dumper.c (pdump_dump_rtables):
3756         * dumper.c (pdump_dump_wired):
3757         * dumper.c (pdump):
3758         * dumper.c (pdump_load_check):
3759         * dumper.c (pdump_load_finish):
3760         * dumper.c (pdump_file_unmap):
3761         * dumper.c (pdump_file_get):
3762         * dumper.c (pdump_resource_free):
3763         * dumper.c (pdump_resource_get):
3764         * dumper.c (pdump_file_free):
3765         * dumper.c (pdump_file_try):
3766         * dumper.c (pdump_load):
3767         Remove fixed size limits on staticpro(), staticpro_nodump(),
3768         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3769         Remove custom code for dumping lrecord_implementations_table - use
3770         dumpopaque instead.
3771         Remove (most of the) custom code for dumping staticpros - dump it
3772         like any other dynarr.
3773
3774         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3775         * dumper.c: Moved functions from alloc.c.
3776         * alloc.c (dumpstruct): Moved to dumper.c.
3777         * alloc.c (dumpopaque): Likewise.
3778         * alloc.c (pdump_wire): Likewise.
3779         * alloc.c (pdump_wire_list): Likewise.
3780
3781         * lisp.h (Dynarr_sizeof): New.
3782         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3783         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3784         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3785
3786         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3787         * lisp.h (dumpopaque): ditto.
3788         * lisp.h (pdump_wire): ditto.
3789         * lisp.h (pdump_wire_list): ditto.
3790
3791 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3792
3793         * make-src-depend (PrintPatternDeps):
3794         Use `sort' to make output independent of perl version.
3795
3796 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3797
3798         Port to Netbsd 1.5.
3799         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3800         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3801
3802 2001-01-03  Didier Verna  <didier@xemacs.org>
3803
3804         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3805         that `focus_frame' is alive before thinking of calling
3806         `redisplay_redraw_cursor' on it.
3807
3808 2001-01-08  Martin Buchholz <martin@xemacs.org>
3809
3810         * XEmacs 21.2.40 is released.
3811
3812 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3813
3814         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3815
3816 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3817
3818         * alloc.c (dbg_valmask): Make const.
3819         * alloc.c (dbg_typemask): Make const.
3820         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3821         * alloc.c (dbg_valbits): Make const.
3822         * alloc.c (dbg_gctypebits): Make const.
3823
3824 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3825
3826         * redisplay-x.c (x_bevel_area):
3827         redisplay.h (struct rune):
3828         Typo fixes in comments.
3829
3830 2001-01-05  Andy Piper  <andy@xemacs.org>
3831
3832         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3833         adjustment.
3834
3835         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3836
3837 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3838
3839         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3840
3841         * mule-ccl.c (stack_idx_of_map_multiple):
3842         Non const global data must not be initialized!
3843         Found by MIYASHITA Hisashi.
3844
3845 2001-01-02  Andy Piper  <andy@xemacs.org>
3846
3847         * frame.c (change_frame_size): make sure frame size is always
3848         marked as changed.
3849
3850         * glyphs.c (image_instance_layout): minor code reuse.
3851
3852         * window.c (Fcurrent_window_configuration): revert previous
3853         change.
3854
3855 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3856
3857         * glyphs.h:
3858         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3859
3860 2000-12-31  Andy Piper  <andy@xemacs.org>
3861
3862         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3863         when widget gets unmapped.
3864
3865         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3866         function. Make sure widgets losing focus don't just drop it.
3867         (handle_focus_event_1): record the widget with focus.
3868
3869 2000-12-31  Andy Piper  <andy@xemacs.org>
3870
3871         * window.c (allocate_window): use
3872         make_image_instance_cache_hash_table.
3873         (make_dummy_parent): ditto.
3874         (Fset_window_configuration): ditto.
3875
3876         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3877
3878         * glyphs.c (process_image_string_instantiator): use
3879         INSTANTIATOR_TYPE.
3880         (get_image_instantiator_governing_domain): ditto.
3881         (normalize_image_instantiator): ditto.
3882         (instantiate_image_instantiator): ditto.
3883         (make_image_instance_1): ditto.
3884         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3885         (instantiator_eq_equal): new function for use with instance hash
3886         tables.
3887         (instantiator_eq_hash): ditto.
3888         (make_image_instance_cache_hash_table): create a suitable hash
3889         table for storing image instances.
3890
3891         * elhash.h (hash_table_weakness): new internal weakness type
3892         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3893         declare new functions.
3894
3895         * elhash.c (finish_marking_weak_hash_tables): introduce yet
3896         another weakness type for glyphs.
3897         (make_standard_lisp_hash_table): new function split out from
3898         make_general_lisp_hash_table.
3899         (make_lisp_hash_table): call make_standard_lisp_hash_table.
3900         (hash_table_instantiate): ditto.
3901         (Fmake_hash_table): ditto.
3902
3903 2000-12-31  Martin Buchholz <martin@xemacs.org>
3904
3905         * XEmacs 21.2.39 is released.
3906
3907 2000-12-29  Andy Piper  <andy@xemacs.org>
3908
3909         * menubar.c (menubar_visible_p_changed): signal the frame changed.
3910
3911         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
3912         the frame has changed so that we pick up geometry changes such as
3913         menubar visibility.
3914
3915 2000-12-28  Andy Piper  <andy@xemacs.org>
3916
3917         * lastfile.c (my_ebss): make a char array so we can pad the
3918         bss. Fixes cygwin unexec.
3919
3920         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
3921
3922 2000-12-26  Andy Piper  <andy@xemacs.org>
3923
3924         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
3925         comments and try and be more precise about a non-/SIGIO world.
3926         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
3927         SIGIO.
3928
3929         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
3930         we don't normalize to zero width or height.
3931
3932 2000-12-24  Andy Piper  <andy@xemacs.org>
3933
3934         * Makefile.in.in (ldflags): add -mwindows when appropriate.
3935
3936 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
3937
3938         * s/sco5.h: SCO 5 has pty support.
3939
3940 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
3941
3942         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
3943         input-method-xlib.c contains whole contents of input-method-xfs.c,
3944         so we can use input-method-xlib.c's code for USE_XFONTSET
3945         using #ifdefs.
3946         * input-method-xfs.c: removed.
3947
3948 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
3949
3950         * file-coding.h (enum coding_category_type): reorder enumerators to
3951         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
3952         (now one greater than largest real coding_category_type enumerator).
3953         * file-coding.c (coding_category_symbol, coding_category_by_priority,
3954         coding_category_system, fcd_descriptihon_1, decode_coding_category,
3955         Fcoding_category_list, Fset_coding_priority_list,
3956         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
3957         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
3958
3959 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3960
3961         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
3962         * redisplay-output.c (redisplay_output_window): Clear top of window
3963         when face is changed.
3964         * redisplay-x.c (x_redraw_exposed_window): Call
3965         redisplay_clear_top_of_window.
3966         * redisplay.h: Publish redisplay_clear_top_of_window.
3967
3968 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3969
3970         * buffer.c (Fkill_buffer): Map over all devices.
3971         * window.c (window_loop): Remove UNSHOW_BUFFER code.
3972         (list_windows): New function.
3973         (list_all_windows): Ditto.
3974         (Freplace_buffer_in_windows): Use them.
3975
3976 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3977
3978         * database.c (berkdb_subtype): Recognize new subtype `queue'.
3979         (Fopen_database): Use `db_create' instead of `db_open'.
3980         (syms_of_database): Initialize Qqueue.
3981
3982 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3983
3984         * buffer.c (common_init_complex_vars_of_buffer): Initialize
3985         buffer_local_face_property.
3986         * buffer.h (struct buffer): New member buffer_local_face_property.
3987         * window.c (Fset_window_buffer):  Mark window's face as changed
3988         when buffer has buffer local face.
3989         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
3990         * objects.c (color_after_change): Set buffer_local_face_property
3991         when locale of face specifier is buffer.
3992         * objects.c (font_after_change): Ditto.
3993         * objects.c (face_boolean_after_change): Ditto.
3994         * glyphs.c (image_after_change): Ditto.
3995
3996 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3997
3998         * nt.c (mswindows_fstat): Report file permissions, volume serial
3999         number, etc. Code adapted from FSF Emacs 20.7.
4000
4001 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4002
4003         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4004         of stat when we don't have symbolic links, to make sure
4005         mswindows_stat is called on mswindows.
4006
4007 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4008
4009         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4010
4011 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4012
4013         * doprnt.c (emacs_doprnt_1): More printing fixes.
4014         Make printing of numbers compatible with libc and FSF Emacs.
4015         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4016         Use the system printf to do most of the hard work of formatting,
4017         instead of doprnt_1().
4018         Calculate memory to allocate for format string.
4019         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4020         (doprnt_1): Cleaner code and documentation.
4021
4022 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4023
4024         * Makefile.in.in: Use the loop variable to install headers.
4025
4026 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4027
4028         * window.c (Fsplit_window): Don't invalidate face cache.
4029
4030 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4031
4032         * minibuf.c (Fall_completions): Undo the previous change
4033         which removed checking elements start with space.
4034
4035 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4036
4037         * mule-canna.c: Didier suppression.
4038
4039 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4040
4041         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4042         (warning suppression).  Add English comment translations.
4043
4044 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4045
4046         * unexelfsgi.c (unexec): Better test for mmap failure.
4047
4048 2000-12-05  Martin Buchholz <martin@xemacs.org>
4049
4050         * XEmacs 21.2.38 is released.
4051
4052 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4053
4054         * redisplay.c (bar-cursor): Make a user variable.
4055
4056         * symsinit.h: Add init_postgresql_from_environment.
4057
4058 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4059
4060         * regex.c: Convert to clean C.
4061
4062 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4063
4064         * realpath.c:
4065         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4066         initialization.
4067         (sys_readlink): renamed to system_readlink to avoid conflict with
4068         the other sys_readlink.
4069
4070 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4071
4072         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4073
4074 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4075
4076         * postgresql.c (init_postgresql_from_environment): new function.
4077         (vars_of_postgresql): Move code initializing Lisp variables out and
4078         into init_postgresql_from_environment.
4079         emacs.c (main_1): Call init_postgresql_from_environment if and only
4080         if running a dumped XEmacs.
4081
4082 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4083
4084         * buffer.c: Make find-file-compare-truenames default to true on
4085         windows.
4086
4087         * realpath.c (win32_abs_start):
4088         (cygwin_readlink):
4089         (win32_readlink): New functions.
4090         (xrealpath): Return really real filenames on windows.
4091
4092         * fileio.c (Ffile_truename): Make file-truename work on windows.
4093
4094 2000-11-29  Didier Verna  <didier@xemacs.org>
4095
4096         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4097         * faces.c (update_face_cachel_data): use it.
4098         * faces.c (add_face_cachel): use it. Complete background pixmap
4099         frobbing in face cache if `update_face_cachel_data' has not done so.
4100
4101 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4102
4103         * search.c (string_match_1): Don't set last_thing_searched
4104         when search failed.
4105
4106 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4107
4108         * buffer.c: Include casetab.h
4109         (common_init_complex_vars_of_buffer): Use new case-table object.
4110         * buffer.h: Include casetab.h
4111         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4112         (DOWNCASE_TABLE_OF): Ditto.
4113         * bufslots.h: Remove char-tables and add case-table.
4114         * casetab.c: Include casetab.h
4115         (CASE_TABLE_P): Removed.
4116         (mark_case_table): New function.
4117         (allocate_case_table): New function.
4118         (Fcase_table_p): Use new case-table.
4119         (case_table_char): New function.
4120         (Fget_case_table): Ditto.
4121         (Fput_case_table): Ditto.
4122         (Fput_case_table_pair): Ditto.
4123         (Fcopy_case_table): Ditto.
4124         (Fcurrent_case_table): Return case-table.
4125         (Fstandard_case_table): Return case-table.
4126         (Fset_case_table): Fix doc-string.
4127         (set_case_table): Use case-table
4128         (syms_of_casetab): DEFSUBR new functions.
4129         (complex_vars_of_casetab): Set up standard case-table.
4130         * casetab.h: New file.
4131         * editfns.c: Include casetab.h
4132         (Fcompare_buffer_substrings): Use case-table.
4133         * inline.c: Include casetab.h
4134         * lisp.h: Remove bogus extern.
4135         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4136         * search.c: Include casetab.h
4137         (TRANSLATE_ASCII): Removed.
4138         (TRANSLATE): Unconditionally translate character.
4139         (looking_at_1): Use case-table.
4140         (string_match_1): Ditto.
4141         (fast_string_match): Ditto.
4142         (search_command): Ditto.
4143         (search_buffer): Separate boyer_moore.  Check whether
4144         boyer_moore is possible.
4145         (simple_search): New function.
4146         (boyer_moore): Separated from search_buffer. Translate char.
4147
4148 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4149
4150         * regex.c (RE_TR_ASCII): Removed.
4151         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4152         (PATFETCH): Call PATFETCH_RAW.
4153         (PATFETCH_RAW): Fetch Emchar.
4154         (PATUNFETCH): Decrement charptr.
4155         (GET_BUFFER_SPACE): Rename b to buf_end.
4156         (BUF_PUSH): Ditto.
4157         (BUF_PUSH_2): Ditto.
4158         (BUF_PUSH_3): Ditto.
4159         (EXTEND_BUFFER): Ditto.
4160         (SET_LIST_BIT): Ditto.
4161         (regex_compile): Ditto.  Translate non ASCII char.
4162         (compile_range): Ditto.
4163         (re_search_2): Ditto.
4164         (re_match_2_internal): Compare Emchar.
4165         (bcmp_translate): Ditto.
4166
4167 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4168
4169         * lisp.h (basic char/int typedefs):  comment improvement.
4170
4171 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4172
4173         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4174         unstomp inhibit_site_lisp.  Improve comments.
4175
4176 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4177
4178         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4179
4180 2000-11-28  Andy Piper  <andy@xemacs.org>
4181
4182         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4183         clipped display for windows in the gutter also.
4184         (redisplay_display_boxes_in_window_p): change semantics of return
4185         codes to be more intuitive.
4186
4187         * gutter.h: declare display_boxes_in_gutter_p.
4188
4189         * gutter.c (display_boxes_in_gutter_p): new function for
4190         redisplay.
4191
4192 2000-11-22  Andy Piper  <andy@xemacs.org>
4193
4194         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4195         autodetect domain.
4196
4197 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4198
4199         * callproc.c (Fold_call_process_internal):
4200         * gpm.c (Freceive_gpm_event):
4201         (tty_get_foreign_selection): Might be just warning supression.
4202         * fileio.c (Fwrite_region_internal):
4203         (Fset_visited_file_modtime):
4204         * keymap.c (event_matches_key_specifier_p):
4205         Initialize GCPROed variable.
4206
4207         * menubar-x.c (command_builder_find_menu_accelerator):
4208         Initialize before use.
4209
4210 2000-11-23  Andy Piper  <andy@xemacs.org>
4211
4212         * unexcw.c (unexec): make the resulting executable executable.
4213
4214 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4215
4216         * doc.c (get_doc_string):
4217         Use size_t, not int, for result of XSTRING_LENGTH.
4218
4219         * cmds.c (Fdelete_char):
4220         * cmds.c (Fpoint_at_eol):
4221         * cmds.c (Fself_insert_command):
4222         Use EMACS_INT, not int, for result of XINT.
4223         Someday, someone will want to insert more than 2**31 identical characters.
4224
4225         * cmds.c (Fdelete_char):
4226         * cmds.c (Fdelete_backward_char):
4227         * syntax.c (Fforward_word):
4228         * syntax.c (Fforward_comment):
4229         Make COUNT argument optional, for consistency with forward-char et al.
4230
4231 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4232
4233         * lisp.h:
4234         * print.c (long_to_string):
4235         Return a useful value: the pointer at end of data written.
4236
4237         * doprnt.c:
4238         Use `static const char * const' for constant strings.
4239         (union printf_arg): Delete `i', `ui' members.
4240         (get_doprnt_args):
4241         (emacs_doprnt_1):
4242         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4243         Do all printf-ing via the `l' specifier.
4244         Use EMACS_INT instead of int.
4245         Optimize.
4246
4247 2000-11-20  Didier Verna  <didier@xemacs.org>
4248
4249         * faces.c (update_face_cachel_data): don't frob the background
4250         pixmap when the window is being created. The face is needed but
4251         does not exist yet.
4252
4253 2000-11-20  Andy Piper  <andy@xemacs.org>
4254
4255         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4256         messing with a debug environment.
4257
4258 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4259
4260         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4261
4262 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4263
4264         * casetab.c (Fcase_table_p): Fix compile error and crash.
4265
4266 2000-11-18  Philip Aston  <philipa@mail.com>
4267
4268         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4269
4270 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4271
4272         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4273         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4274
4275 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4276
4277         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4278         * unexelf.c: Use HAVE_ELF_H.
4279         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4280         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4281         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4282         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4283         for testing.
4284         So this is an unexelfsgi.c from a different line of development.
4285
4286 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4287
4288         * regex.c (RE_TR_ASCII): New function.
4289         (RE_TRANSLATE): Call it.
4290
4291 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4292
4293         * buffer.h (TRT_TABLE_OF): Remove assert.
4294         (IN_TRT_TABLE_DOMAIN): Removed.
4295
4296 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4297
4298         * free-hook.c (log_gcpro):
4299         (show_gcprohist): Add support for GCPRO5.
4300
4301 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4302
4303         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4304
4305 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4306
4307         * symeval.h: Declare flush_all_buffer_local_cache.
4308
4309         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4310         (flush_buffer_local_cache): Added.
4311         (flush_all_buffer_local_cache): Added.
4312
4313         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4314
4315         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4316         (pdump_dump_data): Ditto.
4317         (pdump_reloc_one): Ditto.
4318         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4319         before dumping.
4320
4321
4322 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4323
4324         * buffer.c: Remove if 0'ed entry.
4325         * buffer.h: Rewrite TRT to use char-table.
4326         * bufslots.h: Remove mirror tables.
4327         * casetab.c: Remove mirror tables.
4328         (CASE_TABLE_P): New macro.
4329         (Fcase_table_p): Element of a case table is string or char-table.
4330         (make_mirror_trt_table): Removed.
4331         (set_case_table): Setup char-table from strings for backward
4332         compatibility.
4333         * dired.c (Fdirectory_files):
4334         * dired-msw.c: (mswindows_get_files):
4335         * lisp.h: Change prototype of re_pattern_buffer.
4336         * regex.c: (RE_TRANSLATE): New macro.
4337         (TRANSLATE_P): Ditto.
4338         Change translate to type RE_TRANSLATE_TYPE.
4339         * regex.h: Define RE_TRANSLATE_TYPE
4340         * search.c (TRANSLATE): New macro.
4341         (TRANSLATE_ASCII): New macro.
4342         Translate table is changed to Lisp_Object.
4343         (signal_failure): Inhibit return.
4344
4345 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4346
4347         * device-msw.c:
4348         * eldap.c:
4349         * event-Xt.c:
4350         * event-stream.c:
4351         * print.c:
4352         Do UNGCPRO before return.
4353
4354 2000-11-14  Martin Buchholz <martin@xemacs.org>
4355
4356         * XEmacs 21.2.37 is released.
4357
4358 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4359
4360         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4361         Add comments about discarded return value.
4362
4363 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4364
4365         * callint.c:
4366         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4367
4368 2000-10-27  Andy Piper  <andy@xemacs.org>
4369
4370         * gutter.c (Fset_default_gutter_position): default left and right
4371         gutters to visible.
4372         (calculate_gutter_size): calculate resonable heuristic for left
4373         and right gutter sizes.
4374         (specifier_vars_of_gutter): change left and right gutter sizes to
4375         autodetect.
4376         (calculate_gutter_size_from_display_lines): new function.
4377         (output_gutter): check for resizing on left and right gutters.
4378         (clear_gutter): don't special case top and left gutters.
4379         (specifier_vars_of_gutter): use new signature for
4380         set_specifier_caching.
4381
4382         * glyphs-x.c (x_redisplay_widget): spelling fix.
4383         * glyphs.c (specifier_vars_of_glyphs):
4384         * menubar.c (specifier_vars_of_menubar):
4385         * redisplay.c (specifier_vars_of_redisplay):
4386         * toolbar.c (specifier_vars_of_toolbar):
4387         * window.c (specifier_vars_of_window):
4388         * scrollbar.c (specifier_vars_of_scrollbar):
4389         (complex_vars_of_scrollbar): use new signature for
4390         set_specifier_caching.
4391
4392         * specifier.c (set_specifier_caching): include recompute flag.
4393         (recompute_one_cached_specifier_in_window): always recompute if
4394         flag set.
4395         (recompute_one_cached_specifier_in_frame): ditto.
4396
4397         * specifier.h (struct specifier_caching): add recompute flag.
4398
4399 2000-10-24  Andy Piper  <andy@xemacs.org>
4400
4401         * unexcw.c (copy_executable_and_dump_data_section): add new
4402         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4403         5.0 happy.
4404
4405 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4406
4407         * console-x.h (x_device): New member modifier_release_time.
4408         * event-Xt.c (x_handle_sticky_modifiers):
4409         Bound interval modifier keys are sticky.
4410         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4411         * events.h: extern it.
4412
4413 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4414
4415         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4416
4417 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4418
4419         * event-stream.c (execute_command_event): Preserve current_events
4420         and the like when event is misc-user-event.
4421         Inhibit quit during the call to maybe_echo_keys.
4422
4423 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4424
4425         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4426         symlink when buffer is killed.
4427         (inhibit_clash_detection): New variable.
4428
4429 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4430
4431         * console.c (Fset_input_method): Trigger redisplay on tty.
4432
4433 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4434
4435         * process.c (Fprocess_status): Revert to previous behavior:
4436         (process-status "nosuchprocess") ==> nil
4437
4438 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4439
4440         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4441         Work around another GCC 2.95.2 optimizer bug.
4442
4443 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4444
4445         * process.c (Fget_process): Use LIST_LOOP_2.
4446         (kill_buffer_processes): Use LIST_LOOP_2.
4447
4448         * minibuf.c (Fall_completions):
4449         Delete old non-functional code for FSF fourth argument.
4450
4451         * frame.c (frame_matches_frame_spec):
4452         Renamed from `frame_matches_frametype'.  Update all callers.
4453         (device_matches_device_spec):
4454         Renamed from 'device_matches_console_spec'.  Update all callers.
4455
4456         * doc.c (Fsubstitute_command_keys):
4457         Remove buffer overflow crash.  Small code cleanups.
4458
4459         * casetab.c (check_case_table): Simpler code.
4460
4461         * window.c (Freplace_buffer_in_windows):
4462         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4463         (and similar implementation) as Fdelete_windows_on.
4464         Update all callers.
4465
4466         * alloc.c (Fmake_list):
4467         * alloc.c (make_vector):
4468         * alloc.c (Fmake_vector):
4469         * alloc.c (make_bit_vector):
4470         * alloc.c (Fmake_bit_vector):
4471         * alloc.c (Fbit_vector):
4472         * alloc.c (Fmake_string):
4473         * alloc.c (Fpurecopy):
4474         * alloc.c (Fmemory_limit):
4475         * buffer.c:
4476         * buffer.c (Fget_buffer):
4477         * buffer.c (Fkill_buffer):
4478         * buffer.c (complex_vars_of_buffer):
4479         * bytecode.c (Fcompiled_function_stack_depth):
4480         * callint.c (Fprefix_numeric_value):
4481         * event-stream.c:
4482         * event-stream.c (Fread_key_sequence):
4483         * casetab.c:
4484         * casetab.c (Fcase_table_p):
4485         * casetab.c (check_case_table):
4486         * casetab.c (Fset_case_table):
4487         * casetab.c (Fset_standard_case_table):
4488         * chartab.c:
4489         * chartab.c (Fchar_table_type):
4490         * chartab.c (Freset_char_table):
4491         * chartab.c (Fget_char_table):
4492         * chartab.c (Fget_range_char_table):
4493         * chartab.c (Fput_char_table):
4494         * chartab.c (Fmap_char_table):
4495         * chartab.c (Fcategory_table_p):
4496         * chartab.c (Fcheck_category_at):
4497         * chartab.c (Fchar_in_category_p):
4498         * chartab.c (Fcategory_table):
4499         * chartab.c (Fcopy_category_table):
4500         * chartab.c (Fset_category_table):
4501         * chartab.c (Fcategory_designator_p):
4502         * chartab.c (Fcategory_table_value_p):
4503         * cmds.c (Fdelete_char):
4504         * cmds.c (Fdelete_backward_char):
4505         * cmds.c (Fself_insert_command):
4506         * cmds.c (Fself_insert_internal):
4507         * console.c (Fvalid_console_type_p):
4508         * console.c (Fcdfw_console):
4509         * console.c (Fconsole_type):
4510         * console.c (Fconsole_name):
4511         * console.c (Fconsole_device_list):
4512         * console.c (Fconsole_on_window_system_p):
4513         * data.c:
4514         * data.c (Feq):
4515         * data.c (Fold_eq):
4516         * data.c (Fsubr_interactive):
4517         * data.c (Fchar_to_int):
4518         * data.c (Fint_to_char):
4519         * data.c (Fsetcar):
4520         * data.c (Fsetcdr):
4521         * data.c (Fnumber_to_string):
4522         * data.c (Fstring_to_number):
4523         * data.c (Frem):
4524         * database.c (mark_database):
4525         * database.c (finalize_database):
4526         * database.c (Fdatabase_live_p):
4527         * database.c (Fdatabasep):
4528         * device-x.c (Fx_get_resource):
4529         * device.c (Fdfw_device):
4530         * dired.c:
4531         * dired.c (Ffile_name_completion):
4532         * dired.c (Ffile_name_all_completions):
4533         * dired.c (Fuser_name_completion):
4534         * dired.c (Fuser_name_completion_1):
4535         * dired.c (Fuser_name_all_completions):
4536         * doc.c (Fdocumentation):
4537         * doc.c (Fdocumentation_property):
4538         * doc.c (Fsubstitute_command_keys):
4539         * editfns.c:
4540         * editfns.c (Fchar_to_string):
4541         * editfns.c (Fstring_to_char):
4542         * editfns.c (Ftemp_directory):
4543         * editfns.c (Finsert_char):
4544         * editfns.c (Fbuffer_substring_no_properties):
4545         * editfns.c (Fnarrow_to_region):
4546         * editfns.c (Fchar_equal):
4547         * editfns.c (Fchar_Equal):
4548         * editfns.c (Ftranspose_regions):
4549         * emacs.c (Fdump_emacs):
4550         * eval.c (Fthrow):
4551         * eval.c (Fcommand_execute):
4552         * eval.c (Fautoload):
4553         * eval.c (Fbacktrace):
4554         * eval.c (Fbacktrace_frame):
4555         * events.c:
4556         * events.c (Fcopy_event):
4557         * events.c (Fcharacter_to_event):
4558         * events.c (Fevent_button):
4559         * events.c (Fevent_process):
4560         * extents.c:
4561         * extents.c (Fnext_extent_change):
4562         * extents.c (Fextent_property):
4563         * faces.c (Ffacep):
4564         * faces.c (Fmake_face):
4565         * file-coding.c:
4566         * file-coding.c (Fencode_shift_jis_char):
4567         * file-coding.c (Fencode_big5_char):
4568         * fileio.c (Ffile_name_directory):
4569         * fileio.c (Ffile_name_nondirectory):
4570         * fileio.c (Ffile_name_as_directory):
4571         * fileio.c (Fdirectory_file_name):
4572         * fileio.c (Ffile_truename):
4573         * fileio.c (Fsubstitute_in_file_name):
4574         * fileio.c (Ffile_modes):
4575         * fileio.c (Fset_file_modes):
4576         * fileio.c (Fset_default_file_modes):
4577         * fileio.c (Fverify_visited_file_modtime):
4578         * floatfns.c (Facos):
4579         * floatfns.c (Fasin):
4580         * floatfns.c (Fatan):
4581         * floatfns.c (Fcos):
4582         * floatfns.c (Fsin):
4583         * floatfns.c (Ftan):
4584         * floatfns.c (Fbessel_j0):
4585         * floatfns.c (Fbessel_j1):
4586         * floatfns.c (Fbessel_jn):
4587         * floatfns.c (Fbessel_y0):
4588         * floatfns.c (Fbessel_y1):
4589         * floatfns.c (Fbessel_yn):
4590         * floatfns.c (Ferf):
4591         * floatfns.c (Ferfc):
4592         * floatfns.c (Flog_gamma):
4593         * floatfns.c (Fexp):
4594         * floatfns.c (Fexpt):
4595         * floatfns.c (Flog):
4596         * floatfns.c (Flog10):
4597         * floatfns.c (Fsqrt):
4598         * floatfns.c (Fcube_root):
4599         * floatfns.c (Facosh):
4600         * floatfns.c (Fasinh):
4601         * floatfns.c (Fatanh):
4602         * floatfns.c (Fcosh):
4603         * floatfns.c (Fsinh):
4604         * floatfns.c (Ftanh):
4605         * floatfns.c (Fabs):
4606         * floatfns.c (Ffloat):
4607         * floatfns.c (Flogb):
4608         * floatfns.c (Fceiling):
4609         * floatfns.c (Ffloor):
4610         * floatfns.c (Fround):
4611         * floatfns.c (Ftruncate):
4612         * floatfns.c (Ffceiling):
4613         * floatfns.c (Fffloor):
4614         * floatfns.c (Ffround):
4615         * floatfns.c (Fftruncate):
4616         * fns.c (Fstring_equal):
4617         * fns.c (Fstring_lessp):
4618         * fns.c (concat2):
4619         * fns.c (concat3):
4620         * fns.c (vconcat2):
4621         * fns.c (vconcat3):
4622         * fns.c (Fsubstring):
4623         * fns.c (Fassoc):
4624         * fns.c (Fold_assoc):
4625         * fns.c (assoc_no_quit):
4626         * fns.c (Fassq):
4627         * fns.c (Fold_assq):
4628         * fns.c (assq_no_quit):
4629         * fns.c (Frassoc):
4630         * fns.c (Fold_rassoc):
4631         * fns.c (Frassq):
4632         * fns.c (Fold_rassq):
4633         * fns.c (rassq_no_quit):
4634         * fns.c (Fremassoc):
4635         * fns.c (remassoc_no_quit):
4636         * fns.c (Fremassq):
4637         * fns.c (remassq_no_quit):
4638         * fns.c (Fremrassoc):
4639         * fns.c (Fremrassq):
4640         * fns.c (remrassq_no_quit):
4641         * fns.c (Fsort):
4642         * fns.c (Fplist_get):
4643         * fns.c (Fplist_put):
4644         * fns.c (Fplist_remprop):
4645         * fns.c (Fplist_member):
4646         * fns.c (Flax_plist_get):
4647         * fns.c (Flax_plist_put):
4648         * fns.c (Flax_plist_remprop):
4649         * fns.c (Flax_plist_member):
4650         * fns.c (Fequal):
4651         * fns.c (Fold_equal):
4652         * fns.c (Frequire):
4653         * fns.c (Fbase64_encode_region):
4654         * fns.c (Fbase64_encode_string):
4655         * fns.c (Fbase64_decode_region):
4656         * frame.c:
4657         * frame.c (frame_matches_frame_spec):
4658         * frame.c (device_matches_device_spec):
4659         * frame.c (next_frame):
4660         * frame.c (previous_frame):
4661         * frame.c (Fnext_frame):
4662         * frame.c (Fprevious_frame):
4663         * frame.c (Fframe_property):
4664         * frame.c (Fset_frame_height):
4665         * frame.c (Fset_frame_size):
4666         * frame.h:
4667         * glyphs.c:
4668         * glyphs.c (if):
4669         * glyphs.c (decode_error_behavior_flag):
4670         * glyphs.c (Fmake_image_instance):
4671         * indent.c (Findent_to):
4672         * intl.c (Fignore_defer_gettext):
4673         * keymap.c (Fkeymapp):
4674         * keymap.c (Flookup_key):
4675         * lread.c:
4676         * lread.c (Fload_internal):
4677         * lread.c (Feval_buffer):
4678         * lread.c (Feval_region):
4679         * macros.c (Fexecute_kbd_macro):
4680         * marker.c (set_marker_internal):
4681         * marker.c (Fset_marker):
4682         * marker.c (set_marker_restricted):
4683         * marker.c (Fcopy_marker):
4684         * marker.c (noseeum_copy_marker):
4685         * menubar.c:
4686         * menubar.c (Fpopup_menu):
4687         * minibuf.c:
4688         * mule-charset.c (Fcharset_name):
4689         * mule-charset.c (Fchar_charset):
4690         * mule-charset.c (Fchar_octet):
4691         * mule-charset.c (Fsplit_char):
4692         * mule-wnnfns.c (Fwnn_open):
4693         * mule-wnnfns.c (Fwnn_dict_comment):
4694         * mule-wnnfns.c (Fwnn_quit_henkan):
4695         * mule-wnnfns.c (Fwnn_word_toroku):
4696         * mule-wnnfns.c (Fwnn_word_sakujo):
4697         * mule-wnnfns.c (Fwnn_word_use):
4698         * mule-wnnfns.c (Fwnn_hindo_set):
4699         * objects.c:
4700         * objects.c (Fmake_color_instance):
4701         * objects.c (Fmake_font_instance):
4702         * print.c (Fwrite_char):
4703         * process.c:
4704         * process.c (mark_process):
4705         * process.c (print_process):
4706         * process.c (get_process_from_usid):
4707         * process.c (Fprocessp):
4708         * process.c (Fprocess_live_p):
4709         * process.c (Fget_process):
4710         * process.c (Fget_buffer_process):
4711         * process.c (get_process):
4712         * process.c (Fprocess_id):
4713         * process.c (Fprocess_name):
4714         * process.c (Fprocess_command):
4715         * process.c (init_process_io_handles):
4716         * process.c (start_process_unwind):
4717         * process.c (Fstart_process_internal):
4718         * process.c (Fopen_multicast_group_internal):
4719         * process.c (Fset_process_window_size):
4720         * process.c (read_process_output):
4721         * process.c (send_process):
4722         * process.c (Fprocess_tty_name):
4723         * process.c (Fset_process_buffer):
4724         * process.c (Fprocess_buffer):
4725         * process.c (Fprocess_mark):
4726         * process.c (set_process_filter):
4727         * process.c (Fset_process_filter):
4728         * process.c (Fprocess_filter):
4729         * process.c (Fprocess_send_region):
4730         * process.c (Fprocess_send_string):
4731         * process.c (exec_sentinel):
4732         * process.c (Fset_process_sentinel):
4733         * process.c (Fprocess_sentinel):
4734         * process.c (status_notify):
4735         * process.c (Fprocess_status):
4736         * process.c (Fprocess_exit_status):
4737         * process.c (process_send_signal):
4738         * process.c (Fprocess_send_eof):
4739         * process.c (deactivate_process):
4740         * process.c (remove_process):
4741         * process.c (Fdelete_process):
4742         * process.c (kill_buffer_processes):
4743         * process.c (Fprocess_kill_without_query):
4744         * process.c (Fprocess_kill_without_query_p):
4745         * rangetab.c:
4746         * rangetab.c (Fget_range_table):
4747         * rangetab.c (Fput_range_table):
4748         * rangetab.c (Fremove_range_table):
4749         * rangetab.c (Fclear_range_table):
4750         * search.c:
4751         * search.c (Fskip_chars_forward):
4752         * search.c (Fskip_chars_backward):
4753         * search.c (Fskip_syntax_forward):
4754         * search.c (Fskip_syntax_backward):
4755         * search.c (search_command):
4756         * search.c (Freplace_match):
4757         * search.c (Fregexp_quote):
4758         * select.c (Fown_selection_internal):
4759         * select.c (Fselection_owner_p):
4760         * select.c (Fselection_exists_p):
4761         * select.c (Fget_selection_internal):
4762         * specifier.c:
4763         * symbols.c:
4764         * symbols.c (Fintern):
4765         * symbols.c (Fintern_soft):
4766         * symbols.c (Funintern):
4767         * symbols.c (Fapropos_internal):
4768         * symbols.c (Fset_default):
4769         * syntax.c:
4770         * syntax.c (Fsyntax_table_p):
4771         * syntax.c (Fcopy_syntax_table):
4772         * syntax.c (Fset_syntax_table):
4773         * syntax.c (Fchar_syntax):
4774         * syntax.c (syntax_match):
4775         * syntax.c (Fmatching_paren):
4776         * syntax.c (Fforward_word):
4777         * syntax.c (scan_lists):
4778         * syntax.c (Fscan_lists):
4779         * syntax.c (Fscan_sexps):
4780         * syntax.c (Fparse_partial_sexp):
4781         * toolbar.c (Fcheck_toolbar_button_syntax):
4782         * tooltalk.doc:
4783         * window.c:
4784         * window.c (Fwindowp):
4785         * window.c (Fwindow_live_p):
4786         * window.c (Fwindow_point):
4787         * window.c (Fdelete_window):
4788         * window.c (Fnext_window):
4789         * window.c (Fprevious_window):
4790         * window.c (Fother_window):
4791         * window.c (window_loop):
4792         * window.c (Fget_lru_window):
4793         * window.c (Fsplit_window):
4794         * window.c (Fenlarge_window):
4795         * window.c (Fenlarge_window_pixels):
4796         * window.c (Fshrink_window):
4797         * window.c (Fshrink_window_pixels):
4798         * window.c (change_window_height):
4799         * window.c (Fwindow_configuration_p):
4800         * window.c (Fcurrent_window_configuration):
4801         * window.h:
4802         * casefiddle.c (casify_object):
4803         * casefiddle.c (Fupcase):
4804         * casefiddle.c (Fdowncase):
4805         * casefiddle.c (Fcapitalize):
4806         * casefiddle.c (Fupcase_initials):
4807         * casefiddle.c (casify_region_internal):
4808         * casefiddle.c (casify_region):
4809         * casefiddle.c (Fupcase_region):
4810         * casefiddle.c (Fdowncase_region):
4811         * casefiddle.c (Fcapitalize_region):
4812         * casefiddle.c (Fupcase_initials_region):
4813         * casefiddle.c (Fupcase_word):
4814         * casefiddle.c (Fdowncase_word):
4815         * casefiddle.c (Fcapitalize_word):
4816         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4817         Replace 0 with '\0' when working with bytes.
4818         Replace initial "(" with "\(" in docstrings.
4819
4820 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4821
4822         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4823
4824         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4825
4826 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4827
4828         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4829
4830 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4831
4832         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4833         correctly.
4834
4835 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4836
4837         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4838         (inhibit_auto_save_session): New variable.
4839         (vars_of_fileio): Declare and initialize them.
4840         * fileio.c (Fdo_auto_save): Don't create session file if
4841         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4842
4843 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4844
4845         * sgiplay.c (play_internal): C++ compilability.
4846         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4847         * callproc.c (Fold_call_process_internal):
4848         Remove unused vars `env', `first'.
4849         * scrollbar.c (update_scrollbar_instance):
4850         #### unused var `current_window'.
4851         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4852         etc. within #ifdef NOT_YET.
4853         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4854         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4855         * specifier.c (specifier_instance):
4856         #### unused var `tag'.
4857         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4858
4859 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4860
4861         * fns.c (Fbutlast):
4862         * fns.c (list_sort):
4863         * fns.c (Ffillarray):
4864         * fns.c (bytecode_nconc2):
4865         * fns.c (Fnconc):
4866         * fns.c (mapcar1):
4867         * fns.c (Fmapconcat):
4868         Be pedantically 64-bit correct.  For the time when someone will
4869         want to have a list with length > 2**32.
4870
4871         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4872         Work around MIPSpro compiler bug.
4873
4874         * process-unix.c (unix_kill_child_process): Add snarky comment.
4875         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4876
4877         * config.h.in: Oops, _getpt ==> _getpty
4878
4879 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4880
4881         * config.h.in:
4882         * regex.c:
4883         Use void*, not char*, as return type of alloca().
4884
4885         * alloc.c (free_marker): Side effect inside assert expression!
4886
4887 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4888
4889         * mule-charset.c (Fset_charset_ccl_program): To check
4890         if the given ccl program is valid, use setup_ccl_program()
4891         instead of CHECK_VECTOR().
4892         (Fmake_charset): Likewise.
4893
4894 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4895
4896         * faces.c (get_extent_fragment_face_cache_index):
4897         Fix cachel.merged_faces memory leak.
4898
4899 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
4900
4901         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
4902         Reset MSB of octets obtained by DECODE_SJIS
4903         because of the incompatibility with Emacs.
4904         (ccl_driver)<CCL_ENCODE_SJIS>:
4905         Set MSB of octets before passing them to
4906         ENCODE_SJIS because of the incompatibility
4907         with Emacs.
4908
4909 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
4910
4911         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
4912         (DECLARE_LRECORD): Undo the last change.
4913         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
4914
4915 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
4916
4917         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
4918         the implementation to lrecord_implementations_table.
4919
4920 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
4921
4922         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
4923         initial value of `lrecord_type_##c_name' and
4924         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
4925         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
4926         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
4927         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
4928         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
4929
4930 2000-10-17  Martin Buchholz  <martin@xemacs.org>
4931
4932         * miscplay.c (sndcnv8S_2mono):
4933         (sndcnv2monounsigned):
4934         (sndcnvULaw_2linear):
4935         (sndcnv16swap):
4936         Remove implementation-defined behavior.
4937
4938 2000-10-12  Martin Buchholz  <martin@xemacs.org>
4939
4940         * input-method-xlib.c: Warning suppression.
4941
4942 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
4943
4944         * mule-ccl.c: Sync up with Emacs 21.0.90.
4945         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
4946         Do nothing.
4947         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
4948         Likewise.
4949         (ccl_driver[WriteMultibyteChar2]): Bug fix.
4950         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
4951         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
4952         leading char belongs to official 2-dimensional charset.
4953         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
4954         write the given character as is.  Otherwise,
4955         if it is a multibyte char, convert it by
4956         non_ascii_set_charptr_emchar, then write it.
4957         (CCL_WRITE_STRING): Likewise.
4958         (ccl_get_compiled_code): New function.
4959         (setup_ccl_program): When ccl_prog is invalid,
4960         return -1.
4961         (Fregister_code_conversion_map): New function.
4962         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
4963
4964         * mule-ccl.h: Sync up with Emacs 21.0.90.
4965         (Fregister_ccl_program): export it.
4966
4967         * redisplay-msw.c (separate_textual_runs):
4968         If ccl program is not valid, don't do ccl conversion.
4969
4970         * redisplay-x.c (separate_textual_runs): Ditto.
4971
4972         * file-coding.c (Fmake_coding_system):
4973         When type is ccl and value is vector, register it
4974         with a proper symbol.  And checks whether the
4975         given ccl program is valid.
4976         (mule_decode): When calling ccl_driver, if src indicates
4977         NULL pointer, set an empty string instead.
4978         (mule_encode): Likewise.
4979
4980 2000-10-11  Martin Buchholz  <martin@xemacs.org>
4981
4982         The following large batch of changes gets us back to a state of
4983         C++ compilability.  Extbyte is now a char, which means that
4984         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
4985
4986         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
4987
4988         * sound.c (Fplay_sound): Type correctness.
4989
4990         * select-x.c (hack_motif_clipboard_selection): Type correctness.
4991         (x_get_window_property): Type correctness.
4992         (receive_incremental_selection): unsigned char ==> Extbyte
4993         (selection_data_to_lisp_data): unsigned char ==> Extbyte
4994         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
4995         (Fx_store_cutbuffer_internal): Type correctness.
4996
4997         * process-unix.c (try_to_initialize_subtty): Type correctness.
4998
4999         * objects-x.c (x_print_color_instance): Type correctness.
5000         (x_print_font_instance): Type correctness.
5001         (x_list_fonts): SExtbyte ==> Extbyte.
5002         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5003         (x_find_charset_font): SExtbyte ==> Extbyte.
5004         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5005         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5006         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5007         Use bufbyte_strcmp.
5008
5009         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5010         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5011         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5012         (BYTE_C0_P): Use bit ops for char-signedness safety.
5013         (BYTE_C1_P): Use bit ops for char-signedness safety.
5014         (CHARSET_BY_LEADING_BYTE):
5015         (CHARSET_BY_ATTRIBUTES):
5016         Always use inline function.
5017         Use type_checking_assert.
5018         Hide chlook.
5019
5020         * mule-charset.c (non_ascii_charptr_copy_char):
5021         Modify to work with both ASCII and non-ASCII characters.
5022         Improve docs and variable names.
5023         Replace over-clever fall-through switch with a simple loop.
5024         (Lstream_get_emchar_1):
5025         Replace over-clever fall-through switch with a simple loop.
5026
5027         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5028         Warning suppression.
5029
5030         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5031         the return value of Lstream_getc, which could be EOF as well.
5032
5033         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5034
5035         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5036         APIs can be used on Extbytes without casts.  Risky!
5037         (SExtbyte): Remove.
5038         (UExtbyte): Remove.
5039
5040         * input-method-xlib.c (XIM_init_device):
5041         Use Xlib.h instead of IntrinsicP.h.
5042         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5043         which will break in X11R7.
5044         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5045         to call XRegisterIMInstantiateCallback with correct types.
5046
5047         * gui-x.c (button_item_to_widget_value): Type correctness.
5048
5049         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5050
5051         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5052         (xbm_instantiate_1): Type correctness.
5053         (BUILD_GLYPH_INST):  Type correctness.
5054
5055         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5056
5057         * file-coding.c:
5058         (decode_coding_sjis):
5059         (decode_coding_big5):
5060         (decode_coding_ucs4):
5061         (decode_coding_utf8):
5062         (decode_coding_iso2022):
5063         (decode_coding_no_conversion):
5064         Make all decoding functions take an Extbyte * arg.
5065         (encode_coding_sjis):
5066         (encode_coding_big5):
5067         (encode_coding_ucs4):
5068         (encode_coding_utf8):
5069         (encode_coding_iso2022):
5070         (encode_coding_no_conversion):
5071         Make all encoding functions take a Bufbyte * arg.
5072         Use size_t instead of unsigned int for memory sizes.
5073         Only cast to unsigned char whenever dereferencing Extbyte *.
5074
5075         * doc.c (unparesseuxify_doc_string): Type correctness.
5076
5077         * console-x.c (split_up_display_spec):
5078         Rewrite without using details of internal string representation.
5079         (x_semi_canonicalize_device_connection): Type correctness.
5080
5081         * config.h.in:
5082         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5083         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5084         (HAVE_XFREE386): Removed.
5085
5086         * buffer.h (DEC_CHARPTR): `const' correctness.
5087         (bufbyte_strcmp): New.
5088         (bufbyte_memcmp): New.
5089
5090         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5091
5092         * buffer.h (XCHAR_OR_CHAR_INT):
5093         Always use inline function.
5094         Remove redundant type checking assert() - XINT will abort quite nicely.
5095
5096 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5097
5098         * search.c (Freplace_match): Set newtext to an empty string.
5099
5100 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5101
5102         * s/decosf1-3.h: Remove #include of stropts.h
5103         * s/ptx.h: Remove #include of stropts.h
5104         * s/usg5-4.h: Remove #include of stropts.h
5105         * sysproc.h:
5106         * config.h.in:
5107         Use stropts.h, not sys/stropts.h.
5108         Use strtio.h, not sys/strtio.h.
5109
5110 2000-10-04  Martin Buchholz <martin@xemacs.org>
5111
5112         * XEmacs 21.2.36 is released.
5113
5114 2000-09-21  Andy Piper  <andy@xemacs.org>
5115
5116         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5117         changes still involve copying the widget tree.
5118         (update_widget_face): make sure a change is register in the widget
5119         tree. Call update_tab_widget_face appropriately.
5120         (update_tab_widget_face): ditto.
5121         (x_tab_control_redisplay): make sure non-structural changes still
5122         involve copying the widget tree.
5123
5124 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5125
5126         * lread.c (locate_file): Check the path element is non-nil.
5127
5128 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5129
5130         * lisp.h: Warning suppression for SCO compilers.
5131
5132         * redisplay-tty.c (reset_tty_modes): Fix crash.
5133         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5134
5135 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5136
5137         Big signal/process handling overhaul.  Bugs fixed:
5138         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5139         M-x comint-kill-subjob should work for both values nil and t of
5140         process-connection-type. It was broken on most platforms.
5141         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5142         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5143         * process-unix.c: Signal/Process handling overhaul.
5144         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5145         (allocate_pty): Use all available modern methods of allocating
5146         ptys, falling back to old style BSD allocation as a last resort.
5147         Use allegedly more secure Unix98 pty allocation by default.
5148         (allocate_pty_the_old_fashioned_way): New. the last resort.
5149         (unix_create_process): Push ptem, ldterm, ttcompat where
5150         available.  Autoconfiscate.
5151         (try_to_initialize_subtty): New.
5152         (unix_kill_child_process): Proper signal handling for ptys on most
5153         platforms, using special knowledge of AIX, BSD, etc...
5154         (unix_create_process): Always disconnect_controlling_terminal() for
5155         subprocesses, whether using ptys or not.
5156         * process.h: Remove old getpt-dependent PTY code.
5157         * process.c (Fprocess_send_signal): New, obvious generic function.
5158         (decode_signal): New.
5159         (Finterrupt_process):
5160         (Fkill_process):
5161         (Fquit_process):
5162         (Fstop_process):
5163         (Fcontinue_process):
5164         (Fsignal_process): Use decode_signal.
5165         (process_send_signal):
5166         Many docstring corrections.
5167         Allow any signal to be sent to a process object.
5168         * config.h.in: Add symbols for big signal/process overhaul.
5169         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5170         * sysproc.h: Include process-related headers, where available:
5171         sys/stropts.h sys/strtio.h pty.h libutil.h
5172         * s/irix4-0.h:
5173         * s/irix5-0.h:
5174         * s/cygwin32.h:
5175         * s/gnu.h:
5176         * s/linux.h:
5177         * s/hpux.h:
5178         * s/aix3-1.h:
5179         Remove old S&M pty stuff.
5180         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5181         * systty.h: Simplify cpp hackery, improve comments.
5182         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5183
5184         * editfns.c (Fformat_time_string):
5185         Be a little more paranoid with the return value of ctime.
5186
5187         * fileio.c (check_executable):
5188         (check_writable):
5189         Use symbolic constants X_OK, W_OK.
5190
5191         * console-x.c (split_up_display_spec): Fix a warning.
5192
5193 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5194
5195         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5196         * ntproc.c (sys_spawnve): make_string ==> build_string
5197         Small clarity improvements.
5198
5199 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5200
5201         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5202
5203         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5204
5205         * config.h.in (HAVE_STRCASECMP): Remove.
5206
5207 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5208
5209         * redisplay-output.c (redisplay_output_pixmap):
5210         Cleaner and possibly more 64-bit correct code.
5211
5212 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5213
5214         * dumper.c (pdump_load_finish): move restoration of
5215         `noninteractive1' to emacs.c (main_1).
5216         * emacs.c (main_1): protect LISP-visible command-line flags
5217         from pdump_load().
5218
5219 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5220
5221         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5222         DUMP_TARGET instead of literal program names.
5223
5224 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5225
5226         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5227
5228 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5229
5230         * *: Spelling mega-patch
5231
5232 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5233
5234         * fns.c (bad_bad_turtle):
5235         Delete "Eek!" comment, since we fixed the bug to which it refers.
5236
5237 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5238
5239         * alloca.c: Replace REGISTER with register.
5240
5241 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5242
5243         * file-coding.c (ucs_to_char): Use countof.
5244
5245 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5246
5247         * file-coding.c: (ucs_to_char):
5248         (complex_vars_of_file_coding):
5249         Use countof instead of sizeof.
5250         Use CHECK_NATNUM instead of CHECK_INT.
5251
5252         * sysdep.c (strcasecmp): Remove.
5253         * device-x.c (ascii_strcasecmp): New.
5254         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5255         Avoid using non-standard non-portable strcasecmp.
5256
5257 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5258
5259         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5260         * font-lock.c: remove reference to emacsfns.h.
5261         * search.c: small doc improvement.
5262         * event-Xt.c: correct file names in comments.
5263         * console-x.h Correct file names in comments.
5264         * frame.c: Correct file names in comments.
5265         * event-stream.c: remove Energize from comments.
5266
5267 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5268
5269         * symeval.h (DEFERROR_STANDARD):
5270         (DEFERROR):
5271         (DEFSYMBOL):
5272         (DEFSYMBOL_NO_DUMP):
5273         (DEFSYMBOL_MULTIWORD_PREDICATE):
5274         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5275         (DEFKEYWORD):
5276         The construct &##name is not sensible C.
5277         Fixes compilation errors with Unixware native compiler.
5278
5279 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5280
5281         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5282         (next_frame_internal): Removed.  We now just have next_frame.
5283         (next_frame):
5284         Write a simpler and cleaner one-pass algorithm.
5285         Remove called_from_delete_device arg and #ifdefed-out code.
5286         (previous_frame):
5287         Renamed from prev_frame.  Update callers.
5288         Cleaned up to have an analogous implementation to next_frame.
5289         (other_visible_frames_internal): Remove the
5290         called_from_delete_device bogus arg, and hence, remove this
5291         function.  Just use other_visible_frames().
5292
5293         * window.c (Fnext_window):
5294         Prettify docstring.
5295         Since next_frame() is guaranteed to return a frame, remove check
5296         for nil inserted in previous patch.
5297         (Fprevious_window):
5298         Prettify docstring.
5299         Make code look more like Fnext_window.
5300         (window_loop):
5301         Respect the `console' arg when iterating through windows.
5302         Fixes bug: (get-buffer-window buffer t device) not respecting
5303         the `device' arg.
5304         This function needs more work, as others have pointed out.
5305
5306         * frame.h: Rename prev_frame to previous_frame.
5307         device_matches_console_spec no longer takes a `frame' arg.
5308
5309         * s/gnu.h:
5310         * s/linux.h:
5311         * s/hpux.h:
5312         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5313         From "Golubev I. N." <gin@mo.msk.ru>.
5314
5315         * make-src-depend: Fix typo.
5316
5317 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5318
5319         * window.c (Fnext_window):
5320         next_frame() might return nil, not a frame.
5321         Fixes this crash:
5322         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5323
5324         * frame.c (next_frame_internal):
5325         We've passed a frame if we've passed its device.
5326         Fixes this crash:
5327         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5328 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5329
5330 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5331
5332         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5333         Allow option to suppress accelerators in menu/dialog items.
5334         (populate_or_checksum_helper): Pass dialog title through above.
5335
5336 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5337
5338         * event-msw.c (mswindows_key_to_emacs_keysym):
5339         Add "pause" key, fix "menu" key.
5340
5341 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5342
5343         * eval.c (reinit_vars_of_eval):
5344         Increase max_lisp_eval_depth to 1000,
5345         required for thai-xtis.el to byte-compile under some circumstances.
5346
5347 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5348
5349         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5350         From Kenichi Handa.
5351
5352 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5353
5354         * make-src-depend: Make the generated Makefiles smaller.
5355
5356         * s/hpux.h (SETUP_SLAVE_PTY):
5357         Provide a %d in the format string for the errno argument.
5358
5359         * editfns.c (Ftemp_directory):
5360         Warning fix.
5361         Avoid buffer overrun on very long file name.
5362
5363         * input-method-xlib.c (XIM_init_device):
5364         6th parameter of XRegisterIMInstantiateCallback has different
5365         pointer types on different OSes, so simply cast to (void *).
5366
5367         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5368
5369         * sysdll.c (dll_open):
5370         shl_load will hang hard if passed a NULL filename.
5371         Simply return NULL for compatibility with dlopen.
5372         * sysdll.c: Conform to XEmacs coding standards.
5373
5374         * sysdep.c (get_pty_max_bytes):
5375         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5376
5377 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5378
5379         * tooltalk.c: Add #include <syssignal.h>
5380
5381 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5382
5383         * s/hpux.h: Don't use undefined function sigunblock().
5384
5385 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5386
5387         * config.h.in: Add HAVE_BALLOON_HELP.
5388         * emacs.c: Use HAVE_BALLOON_HELP.
5389         * Makefile.in.in (x_objs):
5390         Make Balloon Help conditional on finding shape.h.
5391
5392 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5393
5394         * syntax.c (regex_emacs_buffer_p): New variable.
5395         * syntax.h (regex_emacs_buffer_p): extern.
5396         * search.c (looking_at_1):
5397         (string_match_1):
5398         (fast_string_match):
5399         (search_buffer): Set regex_emacs_buffer_p.
5400         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5401         when before_dot, at_dot, after_dot.
5402
5403 2000-08-23  Andy Piper  <andy@xemacs.org>
5404
5405         * gui-x.c (popup_selection_callback): Only set action_occurred
5406         when we really have an image instance.
5407         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5408
5409 2000-08-23  Andy Piper  <andy@xemacs.org>
5410
5411         * gui-msw.c (mswindows_handle_gui_wm_command): set
5412         action_occurred.
5413         * gui-x.c (popup_selection_callback): ditto.
5414
5415         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5416         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5417         (struct Lisp_Image_Instance): add action_occurred flag.
5418
5419         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5420         (image_instance_changed): ditto.
5421         (reset_frame_subwindow_instance_cache): only unmap windows - do
5422         not remove them from the cache also.
5423
5424         * glyphs-widget.c (tab_control_update): better debug.
5425         (progress_gauge_update): ditto.
5426         (layout_update): ditto.
5427         (layout_instantiate): ditto.
5428         (tab_control_order_only_changed): cope with null pending items.
5429
5430         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5431         debug. Force selection of an item when an action occurred. Cope
5432         with null pending_items.
5433         (mswindows_progress_gauge_redisplay): better debug.
5434         * glyphs-x.c (x_tab_control_redisplay): ditto.
5435
5436         * redisplay.c (redisplay_frame): reset the frame cache if the
5437         frame is garbaged.
5438
5439         * window.c (Fset_window_configuration): potentially re-enable
5440         frame cache reset.
5441         (window_unmap_subwindows): need to finalize instances here since
5442         it is only used in mark_window_as_deleted.
5443
5444 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5445
5446         * nas.c (SndOpenDataForReading):
5447         nas.c (WaveOpenDataForReading):
5448         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5449         Somehow escaped from the 2000-08-14 patch.
5450
5451 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5452
5453         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5454         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5455
5456 2000-08-21  Andy Piper  <andy@xemacs.org>
5457
5458         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5459         window if it is not already displayed.
5460
5461         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5462         it is not already displayed.
5463
5464         * window.c (Fset_window_configuration): don't reset the frame
5465         cache.
5466
5467         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5468         instances from the frame cache if we are actually finalizing them.
5469         (reset_frame_subwindow_instance_cache): reset frame cache only
5470         after unmapping everything.
5471         (map_subwindow): set displayed flag after mapping.
5472
5473 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5474
5475         * data.c (indirect_function):
5476         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5477
5478         * eval.c (function_argcount):
5479         Use original function when signaling errors.
5480
5481 2000-08-18  Andy Piper  <andy@xemacs.org>
5482
5483         * frame.c (delete_frame_internal): use new
5484         free_frame_subwindow_instances name.
5485
5486         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5487         (add_tab_item): make return type correct.
5488         (mswindows_tab_control_instantiate): assert index of tab.
5489         (mswindows_tab_control_redisplay): Re-code to use
5490         gui_item_equal_sans_selected and gui_item_list_find_selected.
5491
5492         * glyphs-widget.c (tab_control_update): Correct comment.
5493
5494         * window.c (window_unmap_subwindows): use new
5495         unmap_subwindow_instance_cache_mapper.
5496         (window_unmap_subwindows_cache_mapper): deleted.
5497         (Fset_window_configuration): comparisons should now be with
5498         EQ. Preserve the subwindow instance cache across configuration
5499         changes.
5500         (allocate_window): ditto.
5501         (make_dummy_parent): ditto.
5502
5503         * glyphs.c (free_frame_subwindow_instances): rename from
5504         free_frame_subwindow_instance_cache. finalize all instances rather
5505         than just those in the display cache.
5506         (finalize_all_subwindow_instances): walk windows unmapping and
5507         finalizing subwindows.
5508         (unmap_subwindow_instance_cache_mapper): moved from
5509         window.c. Allow finalization as well as unmapping.
5510
5511         * gui.c (gui_item_list_find_selected): new function.
5512
5513         * gui.h (gui_item_list_find_selected): declare.
5514
5515         * glyphs-x.c (x_tab_control_redisplay): pick tab
5516         explicitly. Re-code to use gui_item_equal_sans_selected and
5517         gui_item_list_find_selected.
5518
5519         * glyphs-x.h: add lwlib-utils.h
5520
5521         * buffer.c (Frecord_buffer): undo previous change.
5522
5523 2000-08-09  Vin Shelton  <acs@xemacs.org>
5524
5525         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5526         possible.  Create temporary files more securely.  The patch was
5527         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5528         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5529         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5530         for details.
5531
5532 2000-08-07  Ben Wing  <ben@xemacs.org>
5533
5534         * getloadavg.c: remove duplicate (and windows-breaking)
5535         includes of fcntl.h and sys/file.h.
5536
5537         * nt.c: remove duplicate getloadavg() definition.
5538
5539         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5540         encodings.
5541
5542 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5543
5544         * eval.c (function_argcount): If function needs to be autoloaded
5545         actually use the loaded definition.
5546         GCPRO function.
5547
5548 2000-08-05  Ben Wing  <ben@xemacs.org>
5549
5550         * getloadavg.c: add prototype for getloadavg().  remove
5551         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5552         of the code).  remove duplicate header includes.
5553
5554         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5555
5556         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5557         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5558         useful load average.
5559
5560         * alloc.c (reinit_alloc_once_early): removed references to
5561         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5562         the lisp vars are the only things referencing the malloc_sbrk_*
5563         vars, and they were already if 0'd out.  these vars only exist
5564         in the older malloc.c, which is basically unused, and they're
5565         only for informational purposes.
5566
5567         * m\*.h: removed useless VIRT_ADDR_VARIES.
5568
5569         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5570
5571 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5572
5573         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5574         color if the image is a mono pixmap.
5575
5576 2000-07-30  Ben Wing  <ben@xemacs.org>
5577
5578         * Makefile.in.in (release):
5579         Remove stray @.
5580
5581         * buffer.c (directory_is_current_directory):
5582         * dired-msw.c (mswindows_get_files):
5583         * dired.c:
5584         * dired.c (Fdirectory_files):
5585         * dired.c (file_name_completion_stat):
5586         * dired.c (Ffile_attributes):
5587         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5588         preprocessor tricks, to avoid problems on some machines
5589         (e.g. SCO).
5590
5591         * callproc.c (egetenv): GC docs.
5592
5593         * console-msw.h:
5594         * console-msw.h (struct mswindows_dialog_id):
5595         * lrecord.h (lrecord_type):
5596         New object for use with MSW dialogs.
5597
5598         * console.h (struct console_methods):
5599         New enable/disable frame methods, for proper modal dialogs.
5600
5601         * device-msw.c (msprinter_default_printer): Fix to follow
5602         proper Mule conventions.
5603
5604         * device-msw.c:
5605         * device-msw.c (signal_open_printer_error):
5606         * device-msw.c (msprinter_init_device):
5607         * device-msw.c (ensure_not_printing):
5608         * device-msw.c (plist_get_margin):
5609         * device-msw.c (Fmsprinter_select_settings):
5610         * device-msw.c (finalize_devmode):
5611         * device-msw.c (Fmsprinter_settings_despecialize):
5612         * device-msw.c (signal_enum_priner_error):
5613         * extents.c (decode_extent):
5614         * extents.c (decode_map_extents_flags):
5615         * extents.c (decode_extent_at_flag):
5616         * extents.c (Fextent_at):
5617         * extents.c (Fextents_at):
5618         * extents.c (symbol_to_glyph_layout):
5619         [[[[2]]]] Use structured errors.
5620
5621         * dialog-msw.c:
5622         * dialog-msw.c (mswindows_is_dialog_msg):
5623         * dialog-msw.c (mark_mswindows_dialog_id):
5624         * dialog-msw.c (dialog_proc):
5625         * dialog-msw.c (handle_question_dialog_box):
5626         * dialog-msw.c (syms_of_dialog_mswindows):
5627         Define new object to clean up marking; use it as a dialog identifier.
5628         Call new delete-dialog-box-hook.
5629
5630         * dialog-x.c (dbox_selection_callback):
5631         * dialog-x.c (dbox_descriptor_to_widget_value):
5632         * dialog-x.c (x_make_dialog_box_internal):
5633         Call new delete-dialog-box-hook.
5634         Return an id.
5635
5636         * dialog.c:
5637         * dialog.c (syms_of_dialog):
5638         * dialog.c (vars_of_dialog):
5639         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5640
5641         * eval.c:
5642         * eval.c (signal_call_debugger):
5643         when noninteractive, output stack traces on the console instead
5644         of in a (never-seen) buffer.
5645
5646         * eval.c (signal_type_error):
5647         * eval.c (invalid_argument_2):
5648         * lisp.h:
5649         new funs for use w/structured errors.
5650
5651         * event-Xt.c:
5652         * event-Xt.c (x_to_emacs_keysym):
5653         * event-Xt.c (describe_event):
5654         * event-Xt.c (emacs_Xt_event_handler):
5655         * event-Xt.c (vars_of_event_Xt):
5656         * event-msw.c:
5657         * event-msw.c (mswindows_wnd_proc):
5658         * event-msw.c (vars_of_event_mswindows):
5659         rename {x,mswindows}-debug-events to debug-{}-events for
5660         consistency with other debug-foo variables.
5661
5662         * event-stream.c:
5663         document next-event more clearly.
5664
5665         * fileio.c (Ffile_name_directory):
5666         * fileio.c (Ffile_name_nondirectory):
5667         * fileio.c (Funhandled_file_name_directory):
5668         * fileio.c (file_name_as_directory):
5669         * fileio.c (Ffile_name_as_directory):
5670         * fileio.c (directory_file_name):
5671         * fileio.c (Fdirectory_file_name):
5672         * fileio.c (Fmake_temp_name):
5673         * fileio.c (Ffile_truename):
5674         * fileio.c (Fsubstitute_in_file_name):
5675         * fileio.c (expand_and_dir_to_file):
5676         * fileio.c (barf_or_query_if_file_exists):
5677         * fileio.c (check_executable):
5678         * fileio.c (Ffile_exists_p):
5679         * fileio.c (Ffile_writable_p):
5680         * fileio.c (Ffile_directory_p):
5681         * fileio.c (Ffile_regular_p):
5682         * fileio.c (Ffile_modes):
5683         * fileio.c (Ffile_newer_than_file_p):
5684         * fileio.c (Fverify_visited_file_modtime):
5685         * fileio.c (Fset_visited_file_modtime):
5686         * fileio.c (auto_save_1):
5687         (1). (2).
5688         fix up gcpro's.
5689
5690         * frame-msw.c:
5691         * frame-msw.c (mswindows_init_frame_1):
5692         * frame-msw.c (mswindows_enable_frame):
5693         * frame-msw.c (error_frame_unsizable):
5694         * frame-msw.c (msprinter_init_frame_1):
5695         * frame-msw.c (msprinter_init_frame_3):
5696         * frame-msw.c (console_type_create_frame_mswindows):
5697         (2).
5698         implement new enable/disable frame methods.
5699
5700         * frame-x.c:
5701         * frame-x.c (x_enable_frame):
5702         * frame-x.c (console_type_create_frame_x):
5703         implement new enable/disable frame methods.
5704
5705         * frame.c:
5706         * frame.c (Fdisable_frame):
5707         * frame.c (syms_of_frame):
5708         * frame.h (struct frame):
5709         implement new enable/disable frame methods/functions.
5710
5711         * general-slots.h:
5712         add initial-focus.
5713
5714         * glyphs-msw.c (mswindows_widget_instantiate):
5715         comment that initial-focus should be implemented.
5716
5717         * glyphs-widget.c:
5718         * glyphs-widget.c (check_valid_instantiator):
5719         * glyphs-widget.c (check_valid_orientation):
5720         * glyphs-widget.c (check_valid_tab_orientation):
5721         * glyphs-widget.c (check_valid_justification):
5722         * glyphs-widget.c (check_valid_border):
5723         * glyphs-widget.c (check_valid_callback):
5724         * glyphs-widget.c (check_valid_int_or_function):
5725         * glyphs-widget.c (check_valid_string_or_vector):
5726         * glyphs-widget.c (check_valid_item_list_1):
5727         * glyphs-widget.c (widget_validate):
5728         * glyphs-widget.c (combo_box_validate):
5729         * glyphs-widget.c (widget_instantiate):
5730         * glyphs-widget.c (syms_of_glyphs_widget):
5731         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5732         * glyphs-widget.c (image_instantiator_combo_box):
5733         * glyphs-widget.c (image_instantiator_scrollbar):
5734         * glyphs-widget.c (image_instantiator_tab_control):
5735         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5736         (2).
5737         support (unimplemented) keyword initial-focus.
5738         reindent long macros.
5739
5740         * glyphs-x.c (x_redisplay_widget):
5741         * glyphs-x.c (x_button_instantiate):
5742         * glyphs-x.c (x_button_redisplay):
5743         * glyphs-x.c (x_progress_gauge_instantiate):
5744         * glyphs-x.c (x_edit_field_instantiate):
5745         * glyphs-x.c (x_combo_box_instantiate):
5746         * glyphs-x.c (x_tab_control_instantiate):
5747         * glyphs-x.c (x_label_instantiate):
5748         * gui-x.c:
5749         * gui-x.c (button_item_to_widget_value):
5750         * gui-x.c (gui_items_to_widget_values_1):
5751         * gui-x.c (gui_item_children_to_widget_values):
5752         * gui-x.c (gui_items_to_widget_values):
5753         * gui-x.h:
5754         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5755         add new flag to gui-parsing routines to indicate whether
5756         accelerator specs should be supported.
5757
5758         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5759
5760         * glyphs.h (struct Lisp_Image_Instance):
5761         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5762         add initial-focus flag.
5763
5764         * gui.c:
5765         * gui.c (syms_of_gui):
5766         * gui.c (vars_of_gui):
5767         clean up menu-no-selection-hook.
5768
5769         * gui.h:
5770         support delete-dialog-box-hook.
5771
5772         * lread.c (Fload_internal):
5773         * lread.c (locate_file_in_directory_mapper):
5774         (1).
5775
5776         * lrecord.h:
5777         * lrecord.h (struct toolbar_button):
5778         * lrecord.h (syms_of_toolbar):
5779         document how to create a new object.
5780
5781         * menubar-msw.c (mswindows_char_is_accelerator):
5782         may be called on frames w/o menus.
5783
5784         * menubar.c (vars_of_menubar):
5785         clean up :filter docs.
5786
5787         * nt.c (readdir):
5788         * ntproc.c:
5789         (1).
5790
5791         * process-nt.c:
5792         * process-nt.c (validate_signal_number):
5793         * process-nt.c (signal_cannot_launch):
5794         * process-nt.c (nt_create_process):
5795         * process-nt.c (nt_send_process):
5796         * process-nt.c (nt_kill_child_process):
5797         * process-nt.c (nt_open_network_stream):
5798         * process-nt.c (syms_of_process_nt):
5799         (2).
5800         delete quote-handling.  call new lisp code that does it better.
5801
5802         * process-unix.c (connect_to_file_descriptor):
5803         * process-unix.c (allocate_pty):
5804         * process-unix.c (unix_send_process):
5805         * process-unix.c (unix_kill_child_process):
5806         * process-unix.c (unix_open_network_stream):
5807         * process-unix.c (unix_open_multicast_group):
5808         (1). (2).
5809
5810         * process.c:
5811         * process.c (Fstart_process_internal):
5812         (2).  need to canonicalize process path even if absolute.
5813
5814         * select-msw.c (symbol_to_ms_cf):
5815         * select-msw.c (ms_cf_to_symbol):
5816         * select-msw.c (cf_is_autofreed):
5817         * select-msw.c (mswindows_destroy_selection):
5818         * select.c:
5819         * select.c (syms_of_select):
5820         * select.h:
5821         support dibv5, fix bugs. (from Mike Alexander)
5822
5823         * select.c (Fget_selection_internal):
5824         * select.c (select_convert_out):
5825
5826         * sysdep.c:
5827         * sysdep.c (xemacs_stat):
5828         renamed.
5829
5830         * sysdep.c (mkdir):
5831         * sysdep.c (rmdir):
5832         but keep original stat() here because we provide encapsulation
5833         around these funs.
5834
5835         * sysfile.h:
5836         * sysfile.h (fstat):
5837         remove stat garbage.
5838
5839         * syswindows.h:
5840         fix X/MSW conflict.
5841         don't include tchar.h.  it's inappropriate because it makes
5842         compile-time distinctions when we want runtime distinctions.
5843         (we provide our own tchar replacements)
5844
5845         * toolbar.c:
5846         use default object printer for toolbar-button.
5847
5848         * unexcw.c:
5849         make sure we don't encapsulate.
5850
5851         * window.c (vars_of_window):
5852         emphasize that temp-buffer-show-hook is obsolete.
5853
5854 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5855
5856         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5857         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5858
5859         * events.c (Fevent_timestamp_lessp):
5860         Not 64-bit clean.  Use EMACS_INT, not int.
5861
5862 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5863
5864         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5865         unsigned int and changed the last enum to
5866         lrecord_type_last_built_in_type.
5867         (lrecord_implementations_table): changed prototype to know how
5868         long the array is supposed to be.
5869         (lrecord_type_count): new unsigned int to keep track of the
5870         current number of lisp lrecord types.
5871         (DEFINE_EXTERNAL_LRECORD):
5872         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5873         dynamic-modules to declare new lisp types. They are the same
5874         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5875         int for each new type, and increment lrecord_type_count by 1.
5876
5877         * alloc.c (lrecord_implementations_table): Changed to reference
5878         lrecord_type_last_built_in_type for the size of the array.
5879         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5880
5881 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5882
5883         * glyphs.h (check_valid_item_list): Renamed from
5884         check_valid_item_list_1.
5885
5886 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5887
5888         * select.c (Qselect_coerce): New.
5889         * select.c (Vselection_coercion_alist): New.
5890         * select.c (syms_of_select): Declare.
5891         * select.c (get-selection-internal): Use it.
5892         Use the new select-coerce functionality.
5893
5894         * select.c (select_coerce): New.
5895         * select.h (select_coerce): Declare.
5896         New function to coerce one type of data into another.
5897
5898 2000-08-03  Martin Buchholz  <martin@xemacs.org>
5899
5900         * callproc.c (Fcall_process_internal):
5901         (Fcall_process_internal):
5902         * process-unix.c (unix_create_process):
5903         Save and restore the value of errno, so that error messages are accurate.
5904
5905 2000-08-01  Martin Buchholz  <martin@xemacs.org>
5906
5907         * elhash.c (print_hash_table):
5908         Fix printing of hash tables to also use `key-and-value' instead of `t'.
5909         Prettify docstrings and indentation.
5910
5911 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5912
5913         * window.c (Fwindow_pixel_edges): Subtract frame border and
5914         gutter size.
5915
5916 2000-07-31  Andy Piper  <andy@xemacs.org>
5917
5918         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
5919         will acknowledge the change.
5920
5921         * glyphs.h: declare tab_control_order_only_changed.
5922
5923         * glyphs-x.c (x_tab_control_redisplay): use
5924         tab_control_order_only_changed.
5925
5926         * glyphs-widget.c (tab_control_order_only_changed): new function.
5927
5928         * glyphs-msw.c (mswindows_tab_control_redisplay): use
5929         tab_control_order_only_changed.
5930
5931         * gui.c (gui_item_equal_sans_selected): new function.
5932         (gui_item_equal): use it.
5933
5934         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
5935         :properties in favor of :items..
5936
5937         * glyphs-widget.c (check_valid_item_list): rename from
5938         check_valid_item_list_1.
5939         (check_valid_item_list_1): renamed.
5940         (combo_box_validate): deprecate :properties in favor of :items.
5941         (widget_instantiate): ditto.
5942         (tab_control_update): ditto.
5943         (image_instantiator_combo_box): ditto.
5944         (image_instantiator_tree_view): ditto.
5945         (image_instantiator_tab_control): ditto.
5946         (layout_post_instantiate): remove dead code.
5947
5948         * print.c (debug_print_no_newline): only write to debugger if in
5949         WIN32_NATIVE.
5950
5951         * elhash.c (Fmake_hash_table): update doc string.
5952
5953         * event-msw.c (mswindows_wnd_proc): don't allow processing of
5954         messages whilst in GC. This at least stops XEmacs crashing but has
5955         the potential for wierd behaviour.
5956
5957 2000-07-31  Martin Buchholz  <martin@xemacs.org>
5958
5959         * config.h.in:
5960         Make existence of s&m files optional.
5961
5962         * s/bsd386.h: Remove HAVE_GETLOADAVG.
5963         * s/freebsd.h: Remove HAVE_GETLOADAVG.
5964         * s/gnu.h: Remove HAVE_GETLOADAVG.
5965         * s/netbsd.h: Remove HAVE_GETLOADAVG.
5966         * s/sol2.h: Remove HAVE_GETLOADAVG.
5967         * lisp.h: Remove getloadavg() declaration.
5968         * fns.c:
5969         Include <sys/loadavg.h> if available.
5970         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
5971         * config.h.in:  Group together getloadavg()-related macros.
5972         Use only configure-time tests to detect getloadavg().
5973
5974 2000-07-30  Martin Buchholz  <martin@xemacs.org>
5975
5976         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
5977
5978 2000-07-25  Andy Piper  <andy@xemacs.org>
5979
5980         * syswindows.h: add tchar.h for native builds.
5981
5982         * frame.c (syms_of_frame): remove set-glyph-image.
5983
5984         * general-slots.h: add Qset_glyph_image.
5985
5986         * glyphs-widget.c (layout_update): add domain arg to
5987         set-glyph-image.
5988         (syms_of_glyphs_widget): remove set-glyph-image.
5989
5990 2000-07-23  Ben Wing  <ben@xemacs.org>
5991
5992         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
5993         Vpopup_frame_list.
5994
5995 2000-07-22  Andy Piper  <andy@xemacs.org>
5996
5997         * symsinit.h: add syms_of_win32().
5998
5999         * gui-msw.c (syms_of_gui_mswindows): remove
6000         Fmswindows_shell_execute.
6001         (Fmswindows_shell_execute): moved to win32.c.
6002
6003         * emacs.c (main_1): add syms_of_win32 ().
6004
6005         * win32.c (init_potentially_nonexistent_functions): rewrite in
6006         compiler-friendly terms.
6007         (Fmswindows_shell_execute): move here from gui-msw.c.
6008         (syms_of_win32): new.
6009
6010         * device-msw.c (Fmswindows_printer_list): clean up args to
6011         EnumPrinters.
6012         Don't include tchar under cygwin or mingw.
6013         (msprinter_default_printer): make cygwin-friendly.
6014
6015 2000-07-21  Andy Piper  <andy@xemacs.org>
6016
6017         * glyphs-widget.c (image_instantiator_tree_view): use tab
6018         control's update function.
6019         (layout_property): new function. Retrieve items.
6020
6021         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6022         function. Re-populate the tree view from the pending items.
6023
6024         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6025         is designated the parent if the domain is an image instance. This
6026         is needed so that dirtiness can be cascade up the hierarchy and
6027         thus for layout children to be redisplayed correctly.
6028         (allocate_image_instance): rename glyph -> parent.
6029
6030         * redisplay.h: change redisplay_output_layout signature.
6031
6032         * redisplay-msw.c (mswindows_output_display_block): use domain
6033         arg.
6034
6035         * redisplay-x.c (x_output_display_block): use domain arg.
6036
6037 2000-07-10  Andy Piper  <andy@xemacs.org>
6038
6039         * window.c (Fset_window_configuration): add comment.
6040
6041         * redisplay-output.c (compare_runes):
6042         (redisplay_output_subwindow): redisplay rather than update subwindow.
6043         (redisplay_output_layout): ditto.
6044
6045         * redisplay-msw.c (mswindows_frame_output_end):
6046         (mswindows_frame_output_end): make defer window pos optional.
6047
6048         * lisp.h: add Flast.
6049
6050         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6051         normalize method. Change update method to be for changed
6052         instantiators. Add redisplay method. Change signature of layout
6053         method.
6054         (struct Lisp_Image_Instance): add instantiator.
6055         (IMAGE_INSTANCE_INSTANTIATOR): new.
6056         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6057         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6058         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6059
6060         * glyphs.c:
6061         (find_instantiator_differences): new function.
6062         (Fset_instantiator_property): new convenience function.
6063         (check_image_instance_structure): strictly check for vector
6064         instantiators.
6065         (normalize_image_instantiator): make non-static.
6066         (instantiate_image_instantiator): pass on dest_mask and use new
6067         signatures for image_instance_layout and friends.
6068         (mark_image_instance): mark the instantiator. Mark the subwindow
6069         face not the widget face.
6070         (image_instance_equal): add instantiator.
6071         (image_instance_hash): ditto.
6072         (allocate_image_instance): ditto.
6073         (Fset_image_instance_property): removed.
6074         (Fimage_instance_file_name): ditto.
6075         (Fcolorize_image_instance): ditto.
6076         (image_instance_layout): add offsets to be set.
6077         (update_image_instance): new function. update an image instance
6078         from its changed instantiator.
6079         (inherit_normalize): add dest_mask.
6080         (xbm_normalize): ditto.
6081         (xface_normalize): ditto.
6082         (xpm_normalize): ditto.
6083         (text_update): set_property -> update.
6084         (image_instantiate): use the glyph identity as a hash key, not the
6085         instantiator.
6086         (glyph_width): use new image_instance_layout signature.
6087         (glyph_ascent): ditto.
6088         (glyph_descent): ditto.
6089         (glyph_height): ditto.
6090         (glyph_query_geometry): ressurrect.
6091         (glyph_layout): ditto.
6092         (redisplay_subwindow): update -> redisplay.
6093         (syms_of_glyphs): add Fset_instantiator_property.
6094         (image_instantiator_format_create): set_property -> update.
6095
6096         * glyphs-x.c:
6097         (autodetect_normalize): add dest_maks to signature.
6098         (x_redisplay_subwindow): update -> redisplay.
6099         (x_redisplay_widget): ditto.
6100         (x_button_redisplay): ditto.
6101         (x_progress_gauge_redisplay): ditto.
6102         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6103         stacking order.
6104         (console_type_create_glyphs_x): update -> redisplay.
6105         (image_instantiator_format_create_glyphs_x): ditto.
6106
6107         * glyphs-widget.c:
6108         (check_valid_instantiator): disallow glyphs in the instantiator,
6109         they must now be vectors.
6110         (check_valid_instantiator_list): ditto.
6111         (glyph_instantiator_to_glyph): use internal symbol rather than
6112         intern.
6113         (widget_update): renamed from widget_set_property. Call cascaded
6114         update methods.
6115         (redisplay_widget): renamed from update_widget.
6116         (widget_layout): image_instance_layout now takes position as well
6117         as size.
6118         (widget_normalize): ditto.
6119         (widget_instantiate): ditto.
6120         (tab_control_query_geometry) ditto.:
6121         (tab_control_update): renamed from tab_control_set_property.
6122         (progress_gauge_update): set_property -> update.
6123         (layout_normalize): rewrite so that child instantiators are
6124         normalized also.
6125         (layout_update): new function. Create glyphs from the normalized
6126         children and cope with any other layout keywords. We do not
6127         instantiate children here that will be take care of by
6128         redisplay_output_layout.
6129         (layout_instantiate): call layout_update and not much else.
6130         (layout_post_instantiate): not sure whether this is needed
6131         anymore.
6132         (layout_query_geometry): query glyph geometry rather than
6133         image_instance geometry.
6134         (layout_layout): set offsets from pass in parameters. Use glyph
6135         geometry and layout functions rather than image instance ones.
6136         (native_layout_layout): ditto.
6137         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6138         (image_instantiator_widget): set_property -> update.
6139         (image_instantiator_buttons): ditto.
6140         (image_instantiator_progress_guage): ditto.
6141         (image_instantiator_tab_control): ditto.
6142         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6143         (image_instantiator_layout): add update method.
6144
6145         * glyphs-msw.c (bmp_normalize):
6146         (mswindows_resource_normalize): add dest_mask so that it can be
6147         proprogated by layout_normalize.
6148         (begin_defer_window_pos): make optional because it may not be the
6149         right thing to do and it introduces differences with X.
6150         (mswindows_unmap_subwindow): ditto.
6151         (mswindows_map_subwindow): ditto.
6152         (mswindows_redisplay_subwindow): renamed from
6153         mswindows_update_subwindow.
6154         (mswindows_redisplay_widget): ditto.
6155         (mswindows_button_redisplay): renamed from
6156         mswindows_button_update. Update is now what the instantiation
6157         function does for a changed instantiator.
6158         (mswindows_progress_gauge_instantiate): set the progress value
6159         here if appropriate.
6160         (mswindows_tab_control_redisplay): cope with re-ordering of the
6161         members of the tab widget by simply selecting the new top
6162         widget. This makes things appear ok if you click on a tab.
6163         (mswindows_combo_box_instantiate): image_instance_layout now takes
6164         position as well as size.
6165         (mswindows_progress_gauge_redisplay): renamed from
6166         mswindows_progress_gauge_update.
6167         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6168         (image_instantiator_format_create_glyphs_mswindows): ditto.
6169
6170         * glyphs-eimage.c (jpeg_normalize):
6171         (gif_normalize):
6172         (png_normalize):
6173         (tiff_normalize): add dest_mask so that it can be proprogated by
6174         layout_normalize.
6175
6176         * elhash.c:
6177         (print_hash_table):
6178         (hash_table_weakness_validate):
6179         (decode_hash_table_weakness):
6180         (Fhash_table_weakness):
6181         (Fhash_table_type):
6182         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6183
6184         * console.h (struct console_methods): move update_* to
6185         redisplay_*.
6186
6187 2000-07-20  Ben Wing  <ben@xemacs.org>
6188
6189         * *.[ch] (XSETOBJ): remove unused middle argument.
6190         lisp-disunion.h: correct wrap_object() to one argument.
6191
6192 2000-07-15  Ben Wing  <ben@xemacs.org>
6193
6194         * s/cygwin32.h:
6195         * s/cygwin32.h (CYGWIN_CONV_PATH):
6196         Add missing logb prototype for v1.1.
6197         Use post-b20 names and alias to pre-b20 names when pre-b20.
6198
6199         * s/windowsnt.h: [5].
6200
6201 2000-07-15  Ben Wing  <ben@xemacs.org>
6202
6203         * Makefile.in.in (x_objs):
6204         * Makefile.in.in (sheap_objs):
6205         * Makefile.in.in (objs):
6206         added win32.o, cosmetic cleanups.
6207
6208         * alloc.c (Fmake_byte_code):
6209         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6210         etc. macros which declare their own args now.
6211
6212         * alloc.c (syms_of_alloc):
6213         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6214
6215         * buffer.c:
6216         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6217
6218         * buffer.c (Fget_file_buffer):
6219         Fixed GCPRO problem.
6220
6221         * buffer.c (get_truename_buffer):
6222         Fixed comment about GC checking.
6223
6224         * buffer.c (syms_of_buffer):
6225         Undeclared those dedicated frame funs.
6226         [2].
6227
6228         * buffer.h:
6229         Define convenience macros for internal/external conversions.
6230         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6231         and Qenvironment_variable_encoding for cleaner code.
6232
6233         * bufslots.h:
6234         Remove dedicated-frame; in lisp.
6235
6236         * bytecode.c (funcall_compiled_function):
6237         [1].
6238
6239         * bytecode.c (syms_of_bytecode):
6240         [2].
6241
6242         * console-msw.c:
6243         * console-msw.c (mswindows_show_console): Rewrote.
6244
6245         * console-msw.c (Fmswindows_debugging_output): New.
6246         Sends to OutputDebugString (special MSWin debugger interface).
6247
6248         * console-msw.c (Fmswindows_message_box):
6249         Fixed stupid bugs so it works when called from kill-emacs.
6250
6251         * console-msw.c (syms_of_console_mswindows):
6252         Declare Fmswindows_debugging_output.
6253
6254         * console-msw.h:
6255         New MSWin prototypes.
6256
6257         * console-msw.h (struct mswindows_frame):
6258         New entry last-click-mods for improved button-modifier support.
6259
6260         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6261         New struct entry `popup' with corresponding accessor.
6262
6263         * console-x.c:
6264         * console-x.c (split_up_display_spec):
6265         * console-x.c (get_display_arg_connection):
6266         * console-x.c (x_semi_canonicalize_console_connection):
6267         * console-x.c (x_canonicalize_device_connection):
6268         [[[6]]]: Change char to more specific type.
6269         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6270
6271         * console-x.c (x_semi_canonicalize_console_connection):
6272         * console-x.c (x_canonicalize_device_connection):
6273         [[[9]]]: Fix up error signalling to use new structured error system.
6274
6275         * console-x.h:
6276         [[[4]]]: Define codesys aliases:
6277         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6278         Qx_color_name_encoding, Qx_display_name_encoding.
6279
6280         * console.h (struct console_methods):
6281         New method make_dialog_box_internal supersedes older
6282         popup_dialog_box method.
6283
6284         * data.c:
6285         Define many new errors, part of new structured errors.
6286
6287         * data.c (init_errors_once_early):
6288         * data.c (syms_of_data):
6289         [2].
6290
6291         * device-msw.c (mswindows_init_device):
6292         [[[5]]]: Cleanup to support NT 3.51.
6293
6294         * device-msw.c (decode_devmode): Cleanup.
6295
6296         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6297         * device-msw.c (mswindows_handle_print_dialog_box):
6298         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6299         * device-msw.c (syms_of_device_mswindows):
6300         Delete the dialog box primitives recently introduced by Kirill and
6301         instead interface to general dialog box interface.
6302
6303         * device-x.c:
6304         * device-x.c (compute_x_app_name):
6305         * device-x.c (x_init_device):
6306         * device-x.c (Fx_valid_keysym_name_p):
6307         * device-x.c (Fx_set_font_path):
6308         [6].
6309         [7].
6310
6311         * device.h (wrap_device): New.
6312         First of its kind; meant to replace XSETDEVICE.
6313
6314         * dialog-msw.c: Many file-dialog symbols.
6315
6316         * dialog-msw.c (mswindows_register_popup_frame): New.
6317         * dialog-msw.c (mswindows_is_dialog_msg): New.
6318         For supporting kbd traversal in dialog boxes.
6319
6320         * dialog-msw.c (dialog_proc):
6321         Support hitting ESC in dialogs.
6322
6323         * dialog-msw.c (struct):
6324         Common dialog box errors.
6325
6326         * dialog-msw.c (handle_file_dialog_box): New.
6327         Add file dialog code.
6328
6329         * dialog-msw.c (handle_question_dialog_box):
6330         Redo existing code to support new question dialog syntax.
6331
6332         * dialog-msw.c (console_type_create_dialog_mswindows):
6333         We support new dialog console method.
6334
6335         * dialog-msw.c (syms_of_dialog_mswindows):
6336         * dialog-msw.c (vars_of_dialog_mswindows):
6337         New file dialog symbols, vars.
6338
6339         * dialog-x.c:
6340         * dialog-x.c (maybe_run_dbox_text_callback):
6341         * dialog-x.c (dbox_descriptor_to_widget_value):
6342         * dialog-x.c (x_make_dialog_box_internal):
6343         * dialog-x.c (console_type_create_dialog_x):
6344         Mule-ize entire file.
6345         Redo to support question dialog syntax.
6346         [6].
6347
6348         * dialog.c:
6349         * dialog.c (Fmake_dialog_box_internal):
6350         * dialog.c (syms_of_dialog):
6351         Kill old popup-dialog-box, replace with new primitive.
6352         Just call device method or signal error.
6353
6354         * eldap.c (Fldap_open):
6355         * eldap.c (Fldap_search_basic):
6356         * eldap.c (Fldap_add):
6357         * eldap.c (Fldap_modify):
6358         [1].
6359         [7].
6360
6361         * emacs.c:
6362         * emacs.c (make_arg_list_1):
6363         * emacs.c (make_arg_list):
6364         Mule-ize call to dll_init().
6365         [6].
6366         [8].
6367
6368         * emacs.c (make_argc_argv):
6369         * emacs.c (free_argc_argv):
6370         * emacs.c (init_cmdargs):
6371         * emacs.c (main_1):
6372         * emacs.c (Fkill_emacs):
6373         * emacs.c (Fdump_emacs):
6374         Update comments about what can be used in syms_* etc.
6375         Call init_win32() when necessary.
6376         Fix up MS Win dialog box in kill-buffer to actually work right.
6377         [7].
6378
6379         * eval.c:
6380         * eval.c (For):
6381         * eval.c (Fand):
6382         * eval.c (Fprogn):
6383         * eval.c (Fprog1):
6384         * eval.c (Fprog2):
6385         * eval.c (FletX):
6386         * eval.c (Flet):
6387         * eval.c (condition_case_3):
6388         * eval.c (Feval):
6389         * eval.c (function_argcount):
6390         * eval.c (funcall_lambda):
6391         [1].
6392
6393         * eval.c (type_error): New.
6394         * eval.c (maybe_type_error): New.
6395         * eval.c (continuable_type_error): New.
6396         * eval.c (maybe_continuable_type_error): New.
6397         * eval.c (type_error_with_frob): New.
6398         * eval.c (maybe_type_error_with_frob): New.
6399         * eval.c (continuable_type_error_with_frob): New.
6400         * eval.c (maybe_continuable_type_error_with_frob): New.
6401         New functions for use with structured errors.
6402
6403         * event-Xt.c:
6404         * event-Xt.c (x_event_to_emacs_event):
6405         Buttons are now modifiers too.
6406
6407         * event-Xt.c (emacs_Xt_current_event_timestamp):
6408         Implement new event method.
6409         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6410
6411         * event-msw.c:
6412         * event-msw.c (ntpipe_shove_writer): [5].
6413         * event-msw.c (mswindows_enqueue_mouse_button_event):
6414         * event-msw.c (mswindows_drain_windows_queue):
6415         * event-msw.c (mswindows_wnd_proc): [7].
6416         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6417         * event-msw.c (mswindows_modifier_state):
6418         Throughout: support new button modifiers.
6419
6420         * event-msw.c (emacs_mswindows_current_event_timestamp):
6421         Implement new event method.
6422         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6423
6424         * event-stream.c:
6425         * event-stream.c (event_stream_current_event_timestamp): New.
6426         * event-stream.c (maybe_kbd_translate): New functionality.
6427         * event-stream.c (vars_of_event_stream):
6428         Document new kbd-translate-table functionality.
6429
6430         * event-stream.c (Fcurrent_event_timestamp): New.
6431         New primitive for use in fabricated events.
6432         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6433
6434         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6435
6436         * events.c:
6437         * events.c (Fmake_event):
6438         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6439         [1].
6440         [9].
6441
6442         * events.c (format_event_object): fix gcc warnings.
6443
6444         * events.c (Fevent_timestamp): Document new primitives.
6445
6446         * events.c (TIMESTAMP_HALFSPACE): New.
6447
6448         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6449         comparing timestamps correctly (half-space algorithm).
6450
6451         * events.c (Fevent_modifier_bits): Doc fix.
6452
6453         * events.c (Fevent_modifiers): Major doc addition.
6454         * events.c (event_x_y_pixel_internal): Typo fix.
6455         * events.c (syms_of_events): Declare new primitives.
6456
6457         * events.h:
6458         Update long comment for button modifiers, timestamps.
6459
6460         * events.h (struct event_stream):
6461         New current_event_timestamp method.
6462
6463         * extents.c:
6464         * extents.c (extent_in_region_p):
6465         * extents.c (decode_extent):
6466         * extents.c (Fset_extent_parent):
6467         * extents.c (decode_map_extents_flags):
6468         Fix gcc warnings.
6469         [9].
6470
6471         * extents.c (struct extent_at_arg):
6472         * extents.c (decode_extent_at_flag):
6473         * extents.c (extent_at_mapper):
6474         * extents.c (extent_at_bytind):
6475         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6476         * extents.c (Fextents_at): New primitive. [9].
6477         * extents.c (symbol_to_glyph_layout): [9].
6478         Support new primitive `extents-at'.
6479
6480
6481         * extents.c (get_text_property_bytind):
6482         extent_at_bytind has another arg.
6483         [9].
6484
6485         * extents.c (syms_of_extents): New primitive.
6486
6487         * file-coding.c (Fmake_coding_system): [1].
6488         * file-coding.c (subsidiary_coding_system): fix gcc warning
6489         * file-coding.c (syms_of_file_coding): [2].
6490
6491         * fileio.c (Fexpand_file_name):
6492         * fileio.c (Fsysnetunam):
6493         * fileio.c (Ffile_exists_p):
6494         * fileio.c (Ffile_executable_p):
6495         * fileio.c (Fverify_visited_file_modtime):
6496         Clean up GCPROing.
6497
6498         * fileio.c (syms_of_fileio): [2].
6499
6500         * filelock.c (lock_file_1):
6501         * filelock.c (current_lock_owner):
6502         * filelock.c (lock_if_free):
6503         * filelock.c (lock_file):
6504         * filelock.c (unlock_file):
6505         Clean up GCPROing.
6506
6507         * fns.c (concat): Fix gcc warning.
6508
6509         * fns.c (Fmember):
6510         * fns.c (Fold_member):
6511         * fns.c (Fmemq):
6512         * fns.c (Fold_memq):
6513         * fns.c (memq_no_quit):
6514         * fns.c (Fassoc):
6515         * fns.c (Fold_assoc):
6516         * fns.c (Fassq):
6517         * fns.c (Fold_assq):
6518         * fns.c (assq_no_quit):
6519         * fns.c (Frassoc):
6520         * fns.c (Fold_rassoc):
6521         * fns.c (Frassq):
6522         * fns.c (Fold_rassq):
6523         * fns.c (rassq_no_quit):
6524         * fns.c (Fdelete):
6525         * fns.c (Fold_delete):
6526         * fns.c (Fdelq):
6527         * fns.c (Fold_delq):
6528         * fns.c (delq_no_quit):
6529         * fns.c (Fremassoc):
6530         * fns.c (Fremassq):
6531         * fns.c (remassq_no_quit):
6532         * fns.c (Fremrassoc):
6533         * fns.c (Fremrassq):
6534         * fns.c (remrassq_no_quit):
6535         * fns.c (Freverse):
6536         * fns.c (mapcar1):
6537         [1].
6538
6539         * frame-msw.c (mswindows_init_frame_1):
6540         * frame-msw.c (mswindows_delete_frame):
6541         Register popups with dialog code so keyboard traversing works.
6542
6543         * frame-tty.c (tty_raise_frame_no_select): [1].
6544
6545         * frame-x.c:
6546         * frame-x.c (x_set_frame_text_value):
6547         * frame-x.c (x_set_frame_properties):
6548         * frame-x.c (x_create_widgets):
6549         [7].
6550
6551         * frame.c:
6552         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6553
6554         * frame.h (wrap_frame): New.
6555         Macro like wrap_device.
6556
6557         * general.c:
6558         * general.c (SYMBOL):
6559         * general.c (syms_of_general):
6560         Major reorg.  This is now just a wrapper and symbols themselves
6561         are listed in general-slots.h.
6562
6563         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6564         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6565
6566         * glyphs-msw.c (mswindows_native_layout_instantiate):
6567         Add DS_CONTROL so keyboard traversal will work.
6568
6569         * glyphs-widget.c:
6570         * glyphs-widget.c (syms_of_glyphs_widget):
6571         Move some symbols to general-slots.h.
6572
6573         * glyphs-x.c:
6574         * glyphs-x.c (xbm_instantiate_1):
6575         * glyphs-x.c (x_xbm_instantiate):
6576         * glyphs-x.c (x_xface_instantiate):
6577         * glyphs-x.c (autodetect_instantiate):
6578         * glyphs-x.c (cursor_font_instantiate):
6579         * glyphs-x.c (x_update_widget):
6580         * glyphs-x.c (x_widget_instantiate):
6581         * glyphs.c (bitmap_to_lisp_data):
6582         * glyphs.c (pixmap_to_lisp_data):
6583         [7].
6584
6585         * glyphs.c (syms_of_glyphs):
6586         [2].
6587
6588         * gui-x.c:
6589         * gui-x.c (print_widget_value):
6590         * gui-x.c (menu_separator_style_and_to_external):
6591         * gui-x.c (add_accel_and_to_external):
6592         * gui-x.c (button_item_to_widget_value):
6593         * gui-x.c (gui_items_to_widget_values_1):
6594         * gui-x.c (gui_items_to_widget_values):
6595         * gui-x.c (syms_of_gui_x):
6596         * gui-x.c (vars_of_gui_x):
6597         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6598         [9].
6599
6600         * gui-x.h:
6601         Muleize, prototype changes matching gui-x.c.
6602
6603         * gui.c:
6604         * gui.c (separator_string_p):
6605         * gui.c (gui_item_add_keyval_pair):
6606         * gui.c (make_gui_item_from_keywords_internal):
6607         * gui.c (signal_too_long_error):
6608         * gui.c (parse_gui_item_tree_item):
6609         * gui.c (syms_of_gui):
6610         * gui.c (vars_of_gui):
6611         * gui.h:
6612         menu-no-selection-hook moved here (used by MSWin).
6613         Move some symbols to general-slots.h.
6614         [6].
6615         [9].
6616
6617         * insdel.c (get_buffer_pos_char):
6618         * insdel.c (get_buffer_range_char):
6619         Add GC comments.
6620
6621         * keymap.c (keymap_lookup_directly):
6622         * keymap.c (keymap_store):
6623         * keymap.c (ensure_meta_prefix_char_keymapp):
6624         * keymap.c (describe_map):
6625         * keymap.h:
6626         Support new button modifiers.
6627
6628         * lisp-disunion.h (wrap_object):
6629         * lisp-disunion.h (XSETOBJ):
6630         Rename make_obj to wrap_object.
6631
6632         * lisp-union.h:
6633         * lisp-union.h (make_int):
6634         * lisp-union.h (make_char):
6635         Support wrap_object.
6636
6637         * lisp.h:
6638         * lisp.h (LIST_LOOP):
6639         * lisp.h (EXTERNAL_LIST_LOOP):
6640         * lisp.h (LIST_LOOP_2):
6641         * lisp.h (EXTERNAL_LIST_LOOP_1):
6642         * lisp.h (EXTERNAL_LIST_LOOP_2):
6643         * lisp.h (EXTERNAL_LIST_LOOP_3):
6644         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6645         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6646         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6647         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6648         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6649         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6650         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6651         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6652         * lisp.h (struct Lisp_Symbol):
6653         * lisp.h (maybe_continuable_error_with_frob):
6654         Fix up section comments.
6655         Add new types for char to indicate usage.
6656         Delete symbols auto-generated from general-slots.h.
6657         Add prototypes for structured error functions.
6658         Add long comments describing looping macros and change interface
6659         so that lvalues are automatically declared.
6660         Add NO_DECLARE macro in case callers want to declare lvalues
6661         themselves.
6662
6663         * lread.c (read_syntax_error):
6664         * lread.c (continuable_read_syntax_error):
6665         * lread.c (read_structure):
6666         * lread.c (sequence_reader):
6667         * lread.c (read_list_conser):
6668         * lread.c (read_compiled_function):
6669         Rename syntax_error and continuable_syntax_error to avoid clash
6670         with same-named structured error functions.
6671
6672         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6673         * menubar-msw.c (populate_menu_add_item):
6674         * menubar-msw.c (populate_or_checksum_helper):
6675         [5].
6676         [9].
6677
6678         * menubar-x.c:
6679         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6680         Mule-ize whole file.
6681
6682         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6683
6684         * mule-charset.c (Fmake_charset):
6685         * mule-wnnfns.c (Fwnn_set_param):
6686         [1].
6687
6688         * ntproc.c (create_child):
6689         * ntproc.c (Fwin32_set_current_locale):
6690         Add comments portending doom.
6691
6692         * objects-msw.c:
6693         * objects-msw.c (old_font_enum_callback_2):
6694         * objects-msw.c (font_enum_callback_1):
6695         * objects-msw.c (mswindows_enumerate_fonts):
6696         [5].
6697
6698         * objects-x.c:
6699         * objects-x.c (allocate_nearest_color):
6700         * objects-x.c (x_parse_nearest_color):
6701         * objects-x.c (x_initialize_color_instance):
6702         * objects-x.c (x_print_color_instance):
6703         * objects-x.c (x_finalize_color_instance):
6704         * objects-x.c (x_valid_color_name_p):
6705         * objects-x.c (x_initialize_font_instance):
6706         * objects-x.c (x_print_font_instance):
6707         * objects-x.c (valid_x_font_name_p):
6708         * objects-x.c (truename_via_FONT_prop):
6709         * objects-x.c (truename_via_random_props):
6710         * objects-x.c (truename_via_XListFonts):
6711         * objects-x.c (x_font_truename):
6712         * objects-x.c (x_font_instance_truename):
6713         * objects-x.c (x_font_instance_properties):
6714         * objects-x.c (x_list_fonts):
6715         * objects-x.c (x_find_charset_font):
6716         Mule-ize entire file.
6717         [7].
6718
6719         * objects-x.h:
6720         Mule-verify.
6721
6722         * print.c:
6723         * print.c (std_handle_out_external):
6724         * print.c (debug_print_no_newline):
6725         * print.c (syms_of_print):
6726         Output to all debugger kinds in debug-print.
6727         Fix console-output code under MSWin to actually work.
6728
6729         * process-nt.c (send_signal):
6730         * process-nt.c (nt_create_process):
6731         Use newer Unicode macros.
6732
6733         * process-unix.c (unix_create_process):
6734         * process-unix.c (unix_canonicalize_host_name):
6735         * process-unix.c (unix_open_network_stream):
6736         [7].
6737
6738         * scrollbar-x.c:
6739         Mule-verify.
6740
6741         * search.c (syms_of_search):
6742         [2].
6743
6744         * select-msw.c (mswindows_destroy_selection):
6745         Use LIST_LOOP_2.
6746
6747         * select-x.c (symbol_to_x_atom):
6748         [7].
6749
6750         * select.c (syms_of_select):
6751         [2].
6752
6753         * sound.c (Fplay_sound_file):
6754         [7].
6755
6756         * specifier.c:
6757         * specifier.c (decode_specifier_type):
6758         * specifier.c (Fvalid_specifier_locale_type_p):
6759         * specifier.c (check_valid_locale_or_locale_type):
6760         * specifier.c (decode_locale):
6761         * specifier.c (decode_locale_type):
6762         * specifier.c (decode_locale_list):
6763         * specifier.c (check_valid_domain):
6764         * specifier.c (decode_specifier_tag_set):
6765         * specifier.c (Fcanonicalize_tag_set):
6766         * specifier.c (Fdefine_specifier_tag):
6767         * specifier.c (Fspecifier_tag_predicate):
6768         * specifier.c (check_valid_inst_list):
6769         * specifier.c (check_valid_spec_list):
6770         * specifier.c (decode_how_to_add_specification):
6771         * specifier.c (check_modifiable_specifier):
6772         * specifier.c (specifier_add_spec):
6773         * specifier.c (boolean_validate):
6774         * specifier.c (display_table_validate):
6775         [9].
6776
6777         * specifier.c (syms_of_specifier):
6778         Move some symbols to general-slots.h.
6779         [2].
6780
6781         * symbols.c:
6782         * symbols.c (Fmapatoms):
6783         * symbols.c (Fapropos_internal):
6784         Add GCPROs.
6785
6786         * symbols.c (set_default_buffer_slot_variable):
6787         * symbols.c (set_default_console_slot_variable):
6788         [1].
6789
6790         * symbols.c (defsymbol_massage_name_1):
6791         * symbols.c (defkeyword_massage_name):
6792         * symbols.c (deferror_1):
6793         * symbols.c (deferror):
6794         * symbols.c (deferror_massage_name_and_message):
6795         * symeval.h:
6796         * symeval.h (DEFSYMBOL):
6797         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6798
6799         * symbols.c (syms_of_symbols):
6800         [2].
6801
6802         * symsinit.h:
6803         * symsinit.h (init_win32): New.
6804         Also new is syms_of_dialog_mswindows.
6805
6806         * syswindows.h:
6807         Add new Unicode macros, missing Cygwin wide-char functions,
6808         convenience conversion macros for Qmswindows_tstr, macros for
6809         encapsulating required MSWin <-> Cygwin filename conversions,
6810         prototype for dynamically-extracted (not in NT 3.51) functions.
6811
6812         * toolbar-x.c:
6813         Mule-verify.
6814
6815         * tooltalk.c (Fadd_tooltalk_message_arg):
6816         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6817         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6818         [7].
6819
6820         * tooltalk.c (syms_of_tooltalk):
6821         [2].
6822
6823         * unexnt.c:
6824         * unexnt.c (unexec):
6825         Fix up headers, declaration of unexec() to be more standard.
6826
6827 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6828
6829         * offix.h: Revert change to guard macros - they're used in offix.c!
6830
6831 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6832
6833         * lisp.h: Defsubred Fdelete.
6834
6835         * console-msw.h:  (msprinter_default_printer): Added.
6836
6837         * console-msw.c (msprinter_canonicalize_console_connection):
6838         (msprinter_canonicalize_device_connection): Added.
6839
6840         * device-msw.c (msprinter_default_printer):
6841         (Fmswingows_get_default_printer):
6842         (signal_enum_priner_error):
6843         (Fmswingows_printer_list): Added.
6844
6845 2000-07-19  Martin Buchholz <martin@xemacs.org>
6846
6847         * XEmacs 21.2.35 is released.
6848
6849 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6850
6851         * select-x.c (x_handle_selection_request):
6852         Text selected in xemacs and pasted into xterm failed to appear.
6853         Spelling fixes and cosmetic changes.
6854
6855 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6856
6857         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6858         XEmacs frame (fix for doubling chars in dialog boxes).
6859
6860 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6861
6862         * select.c (select_convert_in, select_convert_out):
6863         Don't call intern() every time.
6864
6865         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6866         * select.c (vars_of_select): Initialise them.
6867
6868 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6869
6870         * select.c (selection-coercible-types): New.
6871
6872         * select.c (own-selection-internal):
6873         * select.c (get-selection-internal):
6874         MULE bug fix - these should default to COMPOUND_TEXT and not
6875         STRING for MULE. I think.
6876
6877         * select.c (select_convert_out): Use selection-coercible-types
6878         to find types that we can attempt to perform coercions on.
6879
6880 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6881
6882         * mule-wnnfns.c:
6883         * mule-canna.c:
6884         Add coding: cookie to identify encoding.
6885
6886         * mule-canna.c (CANNA_mode_keys): make static.
6887         Use proper prototypes, even for functions of no arguments.
6888         Remove external prototype for Fding().
6889
6890         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6891
6892         * select.c (syms_of_select): Add missing DEFSUBR.
6893
6894 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6895
6896         * select.c (get_selection_internal, own_selection_internal):
6897         Make the type default to STRING, rather than placing a nil type
6898         into Vselection_alist.
6899
6900 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6901
6902         * gpmevent.c (tty_selection_exists_p):
6903         * gpmevent.c (tty_own_selection):
6904         Updated parameter lists.
6905
6906 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
6907
6908         * select.h (selection-alist): Removed declaration.
6909
6910         * select.h (get_local_selection):
6911         * select.c (get_local_selection):
6912         Made static.
6913
6914         * select.h (convert_selection): Removed declaration.
6915         * select.c (convert_selection): Removed.
6916         This function belongs in Lisp.
6917
6918         * select.h (select_convert_in): Declare.
6919         * select.h (select_convert_out): Declare.
6920         * select.c (select_convert_in): New.
6921         * select.c (select_convert_out): New.
6922         New conversion functions for other files to call.
6923
6924         * select.h (select_notify_buffer_kill): Declare.
6925         * select.c (select_notify_buffer_kill): New.
6926         New functions that get called from kill-buffer.
6927
6928         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
6929         X-specific lisp code.
6930
6931         * select.h: Declare some of the lisp-visible functions for
6932         external use.
6933
6934         * select.c (clean_local_selection_data): Removed. This was
6935         a disgusting function, and previously should have been in
6936         select-x.c in any case. The functionality is now provided
6937         in select-convert-from-integer (select.el).
6938
6939         * select.c (available-selection-types): Fixed stupidity where
6940         INTEGER and ATOM got added twice. Also add STRING when we see an
6941         extent.
6942
6943         * select.c (get-selection-internal): Removed symbol stripping. No
6944         longer causes conversion when data comes from the internal cache.
6945
6946         * select.c (syms_of_select): Added new functions.
6947
6948         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
6949         error checking - previously this called abort!
6950
6951         * select-x.c (x_own_selection): Changed comment.
6952
6953         * select-x.c (x_handle_selection_request): Use select_convert_out.
6954         Don't mess with selection-alist; it's an internal variable of select.c.
6955
6956         * select-x.c (x_get_foreign_selection): Use select_convert_in.
6957
6958         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
6959         rather than messing with selection-alist.
6960
6961         * select-msw.c (mswindows_get_foreign_selection):
6962         Use TO_INTERNAL_FORMAT rather than hacking.
6963
6964 2000-07-14  Martin Buchholz  <martin@xemacs.org>
6965
6966         * process-unix.c (unix_open_multicast_group):
6967         (unix_open_multicast_group): Remove useless casts.
6968
6969 2000-07-13  Martin Buchholz  <martin@xemacs.org>
6970
6971         * sound.c (Fplay_sound): Fix `unused variable' warning.
6972
6973         * emacs.c (main): Use correct type for _environ on SCO5.
6974
6975 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
6976
6977         * console.h (own_selection_method):
6978         * console.h (selection_exists_p_method):
6979         * console.h (available_selection_types_method): New.
6980         * console.h (register_selection_data_type_method): New.
6981         * console.h (selection_data_type_name): New.
6982
6983         * console-msw.h (mswindows_destroy_selection): Declare it.  New
6984         function & alist to track GlobalAlloc()'d handles that need
6985         releasing when the clipboard data gets replaced or emptied.
6986
6987         * event-msw.c (mswindows_wnd_proc): Call it.
6988
6989         * lisp.h, general.c (Qappend): New symbol representing a
6990         `how-to-add' mode.
6991
6992         * select.c (own-selection-internal):
6993         * select.c (selection-exists-p):
6994         * select.c (available-selection-types): New.
6995         * select.c (register-selection-data-type): New.
6996         * select.c (selection-data-type-name): New.  New functions to deal
6997         with device-specific selection data formats.
6998         * select.c (selection-converter-out-alist): Renamed.
6999         * select.c (selection-converter-in-alist): New.
7000         * select.c (selection-appender-alist): New.  Added new alists.
7001         * select.c (syms_of_select, vars_of_select): Added new symbols &
7002         variables.
7003         * select.c (get_local_selection): Split.
7004         * select.c: Removed spurious type checking - selections may now be
7005         of any type, not just strings.
7006         * select.c (own-selection-internal):
7007
7008         * select.h, select.c (convert_selection): New. Created
7009         convert_selection() function based on get_local_selection().
7010         * select.h, select.c (QCF_*): New symbols representing mswindows
7011         clipboard formats.
7012         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7013         symbols representing `how-to-add' modes.
7014
7015         * select-msw.c (x_sym_p): New.
7016         * select-msw.c (symbol_to_ms_cf): New.
7017         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7018         symbols & clipboard formats. Can also handle string names.
7019         * select-msw.c (mswindows_own_selection):
7020         * select-msw.c (mswindows_selection_exists_p):
7021         Added `data-type' parameter. Use it.
7022         * select-msw.c (mswindows_available_selection_types): New.
7023         * select-msw.c (mswindows_register_selection_data_type): New.
7024         * select-msw.c (mswindows_selection_data_type_name): New.
7025         * select-msw.c (mswindows_own_selection):
7026         * select-msw.c (mswindows_get_foreign_selection):
7027         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7028         * select-msw.c (console_create_select_mswindows): Added new methods.
7029         * select-msw.c (mswindows_destroy_selection): New.
7030         * select-msw.c (Vhandle_alist): New list.
7031         * select-msw.c (mswindows_own_selection):
7032
7033         * select-x.c (x_own_selection):
7034         * select-x.c (x_selection_exists_p):
7035         * select-x.c: Added some comments about maybe using new
7036         functionality.
7037         * select-x.c (x_own_selection):
7038
7039         * specifier.c: Remove definition of Qappend (now in general.c)
7040         * specifier.c (syms_of_specifier): Remove Qappend.
7041
7042 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7043
7044         * config.h.in: Add socklen_t.
7045
7046         * s/decosf4-0.h: No special compiler flags needed or desired.
7047         In particular, undefine _BSD for DEC OSF 4.0.
7048
7049 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7050
7051         * redisplay-msw.c (msprinter_frame_output_end): Added.
7052         (console_type_create_redisplay_mswindows): Referred the above.
7053
7054         * frame.c (setup_frame_without_minibuffer): Do not create a
7055         default minibuffer frame on a printer device.
7056
7057         * frame-msw.c (apply_dc_geometry): Added.
7058         (msprinter_start_page):
7059         (msprinter_init_frame_3):
7060         (msprinter_eject_page): Use it.
7061
7062         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7063         and removed residual duplex and orientation properties.
7064
7065 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7066
7067         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7068
7069         * unexalpha.c: Remove system prototypes from C sources!
7070
7071 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7072
7073         * eval.c: Remove references to M-x edit-options in DEFUNs for
7074         `defvar' and `defconst'.
7075
7076 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7077
7078         * config.h.in: Remove SMART_INCLUDE hackery.
7079
7080         PostgreSQL hacking:
7081         * config.h.in: Don't use SMART_INCLUDE.
7082
7083         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7084         * inline.c: Simply #include "postgresql.h"
7085         * postgresql.c:
7086         - Don't use SMART_INCLUDE
7087         - Use simply "const".
7088         - Use standard doc string conventions.
7089         - Use correct type for result of PQstatus.
7090
7091 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7092
7093         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7094
7095         C++ compilation changes.
7096         * config.h.in (EXTERN_C): Define.
7097         * config.h.in (not): This is also a C++ keyword.
7098         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7099         * cm.c: Use EXTERN_C.
7100         * redisplay-tty.c: Use EXTERN_C.
7101         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7102
7103 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7104
7105         * general.c: Remove duplicate definition for Qfunction.
7106
7107 2000-07-08  Ben Wing  <ben@xemacs.org>
7108
7109         * device-msw.c (msprinter_init_device):
7110         * device-msw.c (sync_printer_with_devmode):
7111         * device-msw.c (handle_devmode_changes):
7112         * device-msw.c (print_dialog_worker):
7113         * device-msw.c (Fmsprinter_apply_settings):
7114         * device-msw.c (hash_devmode):
7115         * device-msw.c (Fmsprinter_settings_despecialize):
7116         use Qmswindows_tstr, not Qctext.
7117
7118         * vm-limit.c (check_memory_limits):
7119         avoid infinite loop printing warning messages.
7120
7121 2000-07-05  Craig Lanning  <lanning@scra.org>
7122
7123         * Makefile.in.in: Add support for including the Windows resources
7124         when building with the cygwin and mingw targets.
7125
7126         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7127         not set or not correct.
7128         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7129         (init_initial_directory): Don't try to use $PWD on the
7130         WIN32_NATIVE target.
7131
7132         * s\cygwin32.h:
7133         [[Add -mwindows to eliminate console window.]] not required --ben
7134         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7135         (MAIL_USE_POP): removed; now handled by configure.
7136
7137         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7138         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7139         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7140         (MAIL_USE_POP): removed; now handled by configure.
7141         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7142         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7143         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7144         constant string.
7145         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7146         up from <winsock.h> via systime.h.
7147         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7148         (getpagesize): from Dan Holmsand, added.
7149         Added #endif which was left dangling by Ben's mega patch; added
7150         comment to help prevent this in the future.
7151
7152         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7153
7154 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7155
7156         * console-msw.h (struct mswindows_device): Removed unnecessary
7157         cached device geometry values.
7158         Added update_tick and an accessor macro.
7159         (Lisp_Devmode): Added lrecord declaration.
7160         (struct msprinter_device): Contain devmode as a Lisp object.
7161         Added mswindows_get_selected_frame_hwnd();
7162
7163         * console.h (struct console_methods): Indentation nitpicking.
7164
7165         * device-msw.c (mswindows_init_device): Do not initialize geometry
7166         cache. Initialize update tick.
7167         (mswindows_device_system_metrics): Ask the device for its geometry.
7168         (global_free_2_maybe):
7169         (devmode_to_hglobal):
7170         (handle_printer_changes):
7171         (ensure_not_printing):
7172         (print_dialog_worker):
7173         (Fmsprinter_print_setup_dialog):
7174         (Fmsprinter_print_dialog):
7175         (plist_get_margin):
7176         (plist_set_margin):
7177         (Fmsprinter_page_setup_dialog): Added functions.
7178         (sync_printer_with_devmode):
7179         (handle_devmode_changes):
7180         (Fmsprinter_get_settings):
7181         (Fmsprinter_select_settings):
7182         (Fmsprinter_apply_settings):
7183         (allocate_devmode):
7184         (Fmsprinter_settings_copy):
7185         (Fmsprinter_settings_despecialize):
7186         (print_devmode):
7187         (finalize_devmode):
7188         (equal_devmode):
7189         (hash_devmode): Added functions
7190         (syms_of_device_mswindows): Init devmode lrecord class.
7191
7192         * device.h: Added an exfun for find-device.
7193
7194         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7195         geometry; although, recreate the device compatible DC.
7196
7197         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7198         (msprinter_init_frame_3):
7199         (msprinter_frame_property):
7200         (msprinter_internal_frame_property_p):
7201         (msprinter_frame_properties):
7202         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7203         print job properties (will move to device settings).
7204
7205         * lisp.h: Added symbols.
7206
7207         * general.c (syms_of_general): Declared them.
7208
7209         * hash.c (string_hash): Added.
7210
7211         * lrecord.h (lrecord_type): Added devmode lrecord type.
7212
7213 2000-07-02  Mike Sperber <mike@xemacs.org>
7214
7215         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7216         FreeBSD 4.0.
7217
7218 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7219
7220         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7221         integer.
7222
7223 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7224
7225         * data.c (Fstring_to_number): Don't recognize floating point if
7226         base is not 10.
7227
7228 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7229
7230         * glyphs-widget.c (tab_control_query_geometry):
7231         (widget_query_geometry):
7232         (button_query_geometry):
7233         * glyphs.c (text_query_geometry):
7234         Enforce type correctness.
7235
7236 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7237
7238         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7239         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7240
7241 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7242
7243         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7244         conflicts with gcc's fixincluded version of FOO.h.
7245
7246         * glyphs.h (image_instance_geometry): Remove trailing `,'
7247
7248 2000-06-08  Mike Alexander  <mta@arbortext.com>
7249
7250         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7251         (shove_thread): Don't write the same output twice
7252         (make_ntpipe_output_stream): Increase priority of shove thread
7253         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7254         chance to run
7255         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7256         it.
7257
7258 2000-06-12  Ben Wing  <ben@xemacs.org>
7259
7260         * s\mingw32.h (sigset):
7261         * s\windowsnt.h (sigset):
7262         rename msw_ to mswindows_ for consistency with general convention.
7263
7264 2000-06-12  Ben Wing  <ben@xemacs.org>
7265
7266         * console-msw.c:
7267         * console-msw.c (mswindows_get_console_hwnd):
7268         * console-msw.c (mswindows_ensure_console_allocated):
7269         * console-msw.c (mswindows_hide_console):
7270         * console-msw.c (mswindows_show_console):
7271         * console-msw.c (mswindows_ensure_console_buffered):
7272         * console-msw.c (mswindows_output_console_string):
7273         * console-msw.c (mswindows_windows9x_p):
7274         * console-msw.h:
7275         * device-msw.c (mswindows_get_workspace_coords):
7276         * device-msw.c (mswindows_device_system_metrics):
7277         * dialog-msw.c (mswindows_popup_dialog_box):
7278         * event-msw.c (mswindows_wnd_proc):
7279         * frame-msw.c (mswindows_size_frame_internal):
7280         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7281         * menubar-msw.c (displayable_menu_item):
7282         * menubar-msw.c (mswindows_char_is_accelerator):
7283         * nt.c:
7284         * nt.c (mswindows_sigset):
7285         * nt.c (mswindows_sigrelse):
7286         * nt.c (mswindows_sigpause):
7287         * nt.c (mswindows_raise):
7288         * nt.c (timer_proc):
7289         * ntproc.c:
7290         * ntproc.c (find_child_console):
7291         * ntproc.c (sys_kill):
7292         * print.c:
7293         * print.c (std_handle_out_external):
7294         * process-nt.c (find_child_console):
7295         * process-nt.c (send_signal_the_95_way):
7296         * process-nt.c (ensure_console_window_exists):
7297         * process-nt.c (nt_create_process):
7298         * syssignal.h:
7299         rename msw_ to mswindows_ for consistency with general convention.
7300
7301         * emacs.c:
7302         * dumper.c:
7303         include nt.h, not syswindows.h.
7304
7305         * nt.c (mswindows_fstat):
7306         * nt.c (mswindows_stat):
7307         prefix mswindows_ instead of attempting to directly override the
7308         library functions.  fix declarations.
7309
7310         * nt.h:
7311         include syswindows.h.  move some sysdep.h stuff here.
7312
7313         * ntheap.h:
7314         include syswindows.h, not <windows.h>.
7315
7316         * ntplay.c:
7317         clean up headers.
7318
7319         * sysdep.c:
7320         clean up headers.
7321
7322         * sysdep.c (sys_fstat):
7323         * sysdep.c (sys_stat):
7324         call mswindows versions when appropriate.
7325
7326         * sysdep.h:
7327         move mswin decls to nt.h.
7328
7329         * syswindows.h:
7330         add long comment describing appropriate use of the various windows
7331         headers.
7332
7333 2000-06-11  Ben Wing  <ben@xemacs.org>
7334
7335         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7336
7337 2000-06-10  Ben Wing  <ben@xemacs.org>
7338
7339         * Makefile.in.in (release):
7340         Correction to make sure xemacs.exe always dumped when correct.
7341
7342         * alloca.c:
7343         * balloon_help.c:
7344         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7345
7346         * buffer.c (set_buffer_internal):
7347         [[[[2]]]]: Remove HAVE_FEP code.
7348
7349         * buffer.c (init_initial_directory):
7350         [3].
7351
7352         * bytecode.c:
7353         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7354         individual files.
7355
7356         * callproc.c:
7357         * callproc.c (call_process_cleanup):
7358         * callproc.c (Fold_call_process_internal):
7359         * callproc.c (child_setup):
7360         * callproc.c (getenv_internal):
7361         * callproc.c (init_callproc):
7362         * callproc.c (vars_of_callproc):
7363         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7364         __CYGWIN32__ -> CYGWIN.
7365         DOS_NT -> WIN32_NATIVE.
7366         Remove MSDOS support/references, converting to WIN32_NATIVE
7367           where correct.
7368         __MINGW32__ -> MINGW.
7369         Fix windows.h includes.
7370         Remove bogus HAVE_NTGUI.
7371
7372         * config.h.in:
7373         [2].
7374
7375         * console-msw.c:
7376         mswindows_message_outputted added for use in allowing startup
7377         errors on the console to be seen.
7378
7379         * console-msw.c (msw_ensure_console_allocated):
7380         * console-msw.c (msw_output_console_string):
7381         * console-msw.c (DHEADER):
7382         * console-msw.c (DOPAQUE_DATA):
7383         * console-msw.c (DEVENT):
7384         * console-msw.c (DCONS):
7385         * console-msw.c (DCONSCDR):
7386         * console-msw.c (DSTRING):
7387         * console-msw.c (DVECTOR):
7388         * console-msw.c (DSYMBOL):
7389         * console-msw.c (DSYMNAME):
7390         Fix warnings.
7391
7392         * console-stream.c (stream_init_console):
7393         Fix text/binary problems.
7394
7395         * device-msw.c:
7396         * device-msw.c (mswindows_finish_init_device):
7397         * device-msw.c (mswindows_delete_device):
7398         [1].
7399
7400         * device.c (handle_asynch_device_change):
7401         [3].
7402
7403         * dgif_lib.c:
7404         * dgif_lib.c (DGifOpenFileName):
7405         * dgif_lib.c (DGifOpenFileHandle):
7406         * dgif_lib.c (DGifGetLine):
7407         * dgif_lib.c (DGifGetPixel):
7408         Added config.h/lisp.h, fix up includes.
7409         [1].
7410
7411         * dired-msw.c:
7412         [4].
7413
7414         * dired.c:
7415         * dired.c (file_name_completion):
7416         * dired.c (Ffile_attributes):
7417         * dired.c (syms_of_dired):
7418         [1].
7419
7420         * dumper.c:
7421         * dumper.c (pdump_file_unmap):
7422         * dumper.c (pdump_load):
7423         [1].
7424
7425         * editfns.c:
7426         * editfns.c (Ftemp_directory):
7427         * editfns.c (user_login_name):
7428         * editfns.c (Fuser_real_login_name):
7429         * editfns.c (get_home_directory):
7430         [1].
7431
7432         * elhash.c (finish_marking_weak_hash_tables):
7433         [[[[5]]]]: Fix GCC warnings.
7434
7435         * emacs.c:
7436         * emacs.c (mswindows_handle_hardware_exceptions):
7437         * emacs.c (make_arg_list_1):
7438         * emacs.c (main_1):
7439         * emacs.c (Fkill_emacs):
7440         * emacs.c (Fdump_emacs):
7441         [1].
7442         Fix problems with nested crashes, add long comment.
7443
7444         * event-Xt.c (init_event_Xt_late):
7445         [1].
7446
7447         * event-msw.c:
7448         * event-msw.c (mswindows_dde_callback):
7449         * event-msw.c (mswindows_handle_sticky_modifiers):
7450         * event-msw.c (mswindows_wnd_proc):
7451         [1].
7452         [5].
7453
7454         * events.c (character_to_event):
7455         [1].
7456
7457         * fileio.c:
7458         * fileio.c (Ffile_name_directory):
7459         * fileio.c (Ffile_name_nondirectory):
7460         * fileio.c (directory_file_name):
7461         * fileio.c (Fexpand_file_name):
7462         * fileio.c (Fsubstitute_in_file_name):
7463         * fileio.c (Ffile_name_absolute_p):
7464         * fileio.c (check_executable):
7465         * fileio.c (Ffile_readable_p):
7466         * fileio.c (Ffile_accessible_directory_p):
7467         * fileio.c (Ffile_modes):
7468         * fileio.c (Funix_sync):
7469         * fileio.c (vars_of_fileio):
7470         [1]. [4].
7471
7472         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7473
7474         Expand getdefdir defn.
7475         Fix bogus rename() comment.
7476
7477         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7478         to use standard XEmacs include files, e.g. sysfile.h, rather
7479         than system-specific includes.
7480
7481         * fns.c:
7482         * fns.c (Fsubseq):
7483         [5]. [6].
7484
7485         * frame.c (vars_of_frame):
7486         [1].
7487
7488         * getloadavg.c:
7489         * getloadavg.c (getloadavg):
7490         [1]. [6].
7491         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7492         (We don't use it elsewhere in the code; just add a comment.)
7493
7494         * gif_io.c:
7495         [6].
7496         Add config.h.
7497
7498         * glyphs-msw.c:
7499         * glyphs-msw.c (mswindows_resource_instantiate):
7500         [1].
7501
7502         * glyphs-x.c (x_native_layout_instantiate):
7503         [5].
7504
7505         * gui-msw.c (Fmswindows_shell_execute):
7506         [1].
7507
7508         * insdel.c:
7509         [4].
7510
7511         * lisp.h:
7512         [4]. [5].
7513
7514         * lread.c (locate_file_in_directory_mapper):
7515         [1].
7516
7517         * lstream.c:
7518         [4].
7519
7520         * mem-limits.h:
7521         * mem-limits.h (get_lim_data):
7522         [1].
7523
7524         * menubar-msw.c:
7525         [4].
7526
7527         * ndir.h:
7528         [1].
7529
7530         * nt.c:
7531         * nt.c (getwd):
7532         * nt.c (closedir):
7533         * nt.c (rva_to_section):
7534         * nt.c (mswindows_executable_type):
7535         [1]. [6].
7536         Fix closedir() defn.
7537
7538         * nt.h:
7539         [[[[8]]]]: *_OK defs moved to sysfile.h.
7540
7541         * ntproc.c:
7542         [6]. [7].
7543
7544         * objects-x.c:
7545         [4].
7546
7547         * print.c:
7548         * print.c (std_handle_out_external):
7549         [1]. [4].
7550
7551         * process-nt.c:
7552         * process-nt.c (nt_create_process):
7553         [6].
7554         try to fix process quoting somewhat.
7555
7556         * process-unix.c (unix_create_process):
7557         [1].
7558
7559         * process.c:
7560         * process.c (vars_of_process):
7561         Add Vnull_device.
7562
7563         * process.h:
7564         [1].
7565
7566         * realpath.c:
7567         * realpath.c (xrealpath):
7568         [1].
7569
7570         * redisplay-tty.c (init_tty_for_redisplay):
7571         [3].
7572
7573         * redisplay.c:
7574         [4]. [6].
7575
7576         * scrollbar-msw.c:
7577         [4].
7578
7579         * sheap.c:
7580         * sheap.c (more_static_core):
7581         * sheap.c (report_sheap_usage):
7582         [5]. [6].
7583
7584         * signal.c:
7585         * signal.c (alarm_signal):
7586         [1]. [6].
7587
7588         * sound.c:
7589         [6].
7590
7591         * strftime.c:
7592         * strftime.c (zone_name):
7593         [1]. [5].
7594
7595         * symsinit.h (init_sunpro):
7596         [1].
7597
7598         * syscommctrl.h:
7599         commctrl.h not in Cygwin b20.1.
7600
7601         * sysdep.c:
7602         * sysdep.c (endif):
7603         * sysdep.c (sys_subshell):
7604         * sysdep.c (init_baud_rate):
7605         * sysdep.c (emacs_get_tty):
7606         * sysdep.c (emacs_set_tty):
7607         * sysdep.c (tty_init_sys_modes_on_device):
7608         * sysdep.c (init_system_name):
7609         * sysdep.c (sys_open):
7610         * sysdep.c (interruptible_open):
7611         * sysdep.c (sys_fopen):
7612         * sysdep.c (sys_mkdir):
7613         * sysdep.c (sys_rename):
7614         * sysdep.c (get_process_times_1):
7615         [1]. [6].
7616
7617         * sysdep.h:
7618         [1].
7619
7620         * sysdir.h:
7621         * sysdir.h (DIRENTRY_NONEMPTY):
7622         [1]. [6].
7623
7624         * sysdll.c (dll_init):
7625         * sysdll.h:
7626         [1].
7627
7628         * sysfile.h:
7629         [1]. [6]. [8].
7630         added text/binary defs.
7631
7632         * sysfloat.h:
7633         [1].
7634
7635         * sysproc.h:
7636         * sysproc.h (EDESTADDRREQ):
7637         * sysproc.h (poll_fds_for_input):
7638         [1]. [6].
7639
7640         * syspwd.h:
7641         [6].
7642
7643         * syssignal.h:
7644         [1].
7645
7646         * systime.h:
7647         [1]. [6].
7648
7649         * systty.h:
7650         [1].
7651
7652         * syswindows.h:
7653         [1].
7654         Always define WIN32_LEAN_AND_MEAN.
7655
7656         * unexcw.c (unexec):
7657         [5].
7658
7659         * unexec.c:
7660         * unexec.c (copy_text_and_data):
7661         * unexec.c (adjust_lnnoptrs):
7662         [1].
7663
7664         * unexnt.c:
7665         * unexnt.c (_start):
7666         [1].
7667
7668 2000-06-07  Ben Wing  <ben@xemacs.org>
7669
7670         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7671         was used only as a model.  We've long since extracted any useful
7672         logic or code out of this. (I just did an exhaustive search.)
7673
7674         * s\msdos.h: Removed.
7675
7676         * s\windows95.h: Removed.
7677
7678 2000-06-10  Ben Wing  <ben@xemacs.org>
7679
7680         * s\cygwin32.h:
7681         [1]. [5].
7682         Don't use extern with fun defs.
7683
7684         * s\mingw32.h:
7685         [1]. [7].
7686         Remove nt\inc include.
7687         Remove getdisk, getdefdir. (The former is unused, the latter
7688         expanded in fileio.h.)
7689
7690         * s\windowsnt.h:
7691         * s\windowsnt.h (WIN32_NATIVE):
7692         * s\windowsnt.h (HAVE_STRCASECMP):
7693         [1]. [7].
7694         Add long comment about preprocessor changes.
7695         Remove getdisk, getdefdir. (The former is unused, the latter
7696         expanded in fileio.h.)
7697
7698 2000-06-10  Ben Wing  <ben@xemacs.org>
7699
7700         * m\arm.h:
7701         * m\delta.h:
7702         * m\intel386.h:
7703         * m\sequent.h:
7704         * m\template.h:
7705         * m\windowsnt.h:
7706         [1].
7707         Remove bogus/unused NO_SOCK_SIGIO.
7708
7709 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7710
7711         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7712         not an Emchar.
7713
7714 2000-06-04  Mike Sperber <mike@xemacs.org>
7715
7716         * casetab.c (set_case_table): For `set-standard-case-table',
7717         actually deposit the new case tables where the rest of XEmacs can
7718         see them.
7719
7720 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7721
7722         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7723
7724 2000-06-05  Ben Wing  <ben@xemacs.org>
7725
7726         * callproc.c (child_setup): Don't do close_load_descs() under
7727         MS Windows.  Put in a comment explaining why.
7728
7729 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7730
7731         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7732         Toolkit shell" which breaks `kill-compilation' on Windows NT
7733         native, retaining STDERR handling improvements.
7734
7735 2000-06-01  Andreas Jaeger  <aj@suse.de>
7736
7737         * s/s390.h: Support for S390, based on a patch by Martin
7738         Schwidefsky <schwidefsky@de.ibm.com>.
7739
7740 2000-05-30  Andy Piper  <andy@xemacs.org>
7741
7742         * window.c (allocate_window):
7743         (make_dummy_parent):
7744         (Fset_window_configuration): use new hashtable type.
7745
7746         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7747         (struct image_instantiator_methods):
7748         (struct Lisp_Image_Instance): make instance geometry signed.
7749
7750         * glyphs.c (instantiate_image_instantiator):
7751         (image_instance_query_geometry):
7752         (image_instance_layout):
7753         (image_instance_layout):
7754         (query_string_geometry):
7755         (text_query_geometry):
7756         (image_instantiate):
7757         (image_instantiate):
7758         (cache_subwindow_instance_in_frame_maybe):
7759         (subwindow_query_geometry): make instance geometry signed.
7760
7761         * glyphs-widget.c (widget_query_geometry):
7762         (widget_layout):
7763         (button_query_geometry):
7764         (tree_view_query_geometry):
7765         (tab_control_query_geometry):
7766         (layout_query_geometry):
7767         (layout_layout):
7768         (native_layout_layout): make instance geometry signed.
7769
7770 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7771
7772         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7773         constant.
7774
7775         * general.c (syms_of_general): Add Qfull_assoc symbol.
7776
7777         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7778         correctly.
7779         (decode_weak_list_type): Decode full-assoc type.
7780         (encode_weak_list_type): Encode full-assoc type.
7781         (Fmake_weak_list): Update doc string.
7782
7783 2000-05-30  Andy Piper  <andy@xemacs.org>
7784
7785         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7786
7787         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7788         (decode_hash_table_weakness): ditto.
7789         (Fhash_table_weakness): ditto.
7790         (Fhash_table_type): ditto.
7791         (finish_marking_weak_hash_tables): ditto.
7792         (hash_table_weakness_validate): ditto.
7793         (syms_of_elhash): ditto.
7794
7795 2000-05-28  Martin Buchholz <martin@xemacs.org>
7796
7797         * XEmacs 21.2.34 is released.
7798
7799 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7800
7801         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7802         start cache.
7803         (updating_line_start_cache): Gone.
7804         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7805         generic code to force a minimum of 1 line laid out in the
7806         CMOTION_DISP case.
7807
7808 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7809
7810         * glyphs.c (instantiate_image_instantiator): Check for initialized
7811         height & width no longer special cases IMAGE_NOTHING.
7812         (nothing_instantiate): Set height and width of instance.
7813
7814 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7815
7816         * unexelf.c (unexec): Search for ".data" section.
7817         Initialize new_data2_offset from old_data_index.
7818         Remove redundant check for ElfW.
7819
7820 2000-05-23  Andy Piper  <andy@xemacs.org>
7821
7822         * glyphs.c (get_image_instantiator_governing_domain): allow more
7823         specific domains as the governing domain rather than expecting an
7824         exact match. This fixes problems with layouts.
7825
7826 2000-05-22  Andy Piper  <andy@xemacs.org>
7827
7828         * redisplay-output.c (compare_runes): check for non-images
7829
7830         * glyphs.c (set_glyph_dirty_p): ditto.
7831         (update_glyph_cachel_data): ditto.
7832
7833         * glyphs-widget.c (layout_post_instantiate): ditto.
7834         (layout_post_instantiate): ditto.
7835
7836         * event-msw.c (mswindows_wnd_proc): warning removal.
7837
7838 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7839
7840         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7841
7842         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7843
7844         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7845
7846         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7847         (mswindows_executable_type): mingw32 now has enough headers for
7848         this to work.
7849
7850 2000-05-20  Andy Piper  <andy@xemacs.org>
7851
7852         * console-msw.c (mswindows_output_last_error): ; -> ,
7853
7854 2000-05-12  Andy Piper  <andy@xemacs.org>
7855
7856         * console-msw.c (FROB): compare ints with ints.
7857
7858 2000-05-11  Andy Piper  <andy@xemacs.org>
7859
7860         * glyphs-x.c (x_finalize_image_instance): make minimal build
7861         happy.
7862
7863 2000-05-20  Ben Wing  <ben@xemacs.org>
7864
7865         * event-Xt.c:
7866         * event-Xt.c (vars_of_event_Xt):
7867         move modifier-keys-are-sticky to event-stream.c.
7868
7869         * event-msw.c:
7870         * event-msw.c (mswindows_enqueue_mouse_button_event):
7871         * event-msw.c (key_needs_default_processing_p):
7872         * event-msw.c (XEMSW_LCONTROL):
7873         * event-msw.c (mswindows_handle_sticky_modifiers):
7874         * event-msw.c (FROB):
7875         * event-msw.c (clear_sticky_modifiers):
7876         * event-msw.c (output_modifier_keyboard_state):
7877         * event-msw.c (output_alt_keyboard_state):
7878         * event-msw.c (mswindows_wnd_proc):
7879         * event-msw.c (mswindows_modifier_state):
7880         * event-msw.c (emacs_mswindows_handle_magic_event):
7881         implement sticky modifiers.
7882
7883         * event-stream.c:
7884         * event-stream.c (vars_of_event_stream):
7885         move modifier-keys-are-sticky here.
7886
7887         * lisp.h:
7888         add CHECK_FUNCTION.
7889
7890         * rangetab.c:
7891         implement map-range-table.
7892
7893
7894 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7895
7896         * redisplay-tty.c (reset_tty_modes):
7897         (tty_redisplay_shutdown): Adjust argument type to
7898         tty_frame_output_end.
7899
7900 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7901
7902         * eval.c (Fbacktrace): Don't output a line with only right
7903         parenthesis.
7904
7905 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
7906
7907         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
7908         (Fpq_reset_poll): Ditto.
7909
7910 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
7911
7912         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
7913
7914 2000-05-16  Ben Wing  <ben@xemacs.org>
7915
7916         * buffer.c:
7917         * buffer.c (dfc_convert_to/from_internal_format):
7918         * buffer.c (reinit_vars_of_buffer):
7919         Fix conversion functions to allow reentrancy.
7920
7921         * console-msw.c:
7922         * console-msw.c (mswindows_output_last_error):
7923         New fun, generally useful -- output a human-readable
7924         version of GetLastError() on the console.
7925
7926         * console-msw.h:
7927         * console-msw.h (struct mswindows_frame):
7928         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
7929
7930         * console-stream.c (stream_output_begin):
7931         * console-stream.c (stream_output_end):
7932         * console-stream.c (stream_output_vertical_divider):
7933         * console-stream.c (stream_clear_region):
7934         * console-stream.c (stream_flash):
7935         * console-stream.c (console_type_create_stream):
7936         Delete blank stream methods, not needed.
7937
7938         * console.h (struct console_methods):
7939         Split begin/end methods into window and frame.
7940
7941         * event-msw.c:
7942         * event-msw.c (mswindows_handle_paint):
7943         * event-msw.c (output_alt_keyboard_state):
7944         * event-msw.c (mswindows_wnd_proc):
7945         * event-msw.c (vars_of_event_mswindows):
7946         Comment about problems with ignored-expose.
7947         Define mswindows-debug-events; not really implemented.
7948
7949         * frame-msw.c (mswindows_init_frame_1):
7950         random cleanups.
7951
7952         * glyphs-msw.c:
7953         * glyphs-msw.c (begin_defer_window_pos):
7954         * glyphs-msw.c (mswindows_unmap_subwindow):
7955         * glyphs-msw.c (mswindows_map_subwindow):
7956         * glyphs-msw.c (mswindows_resize_subwindow):
7957         Use DeferWindowPos to reduce flashing when mapping/unmapping.
7958
7959         * glyphs.c (make_image_instance_1):
7960         Fix crash.
7961
7962         * gutter.c (Fredisplay_gutter_area):
7963         Use new begin/end methods.
7964
7965         * lisp.h (Dynarr_new2):
7966         New creation fun.
7967
7968         * redisplay-msw.c:
7969         * redisplay-msw.c (mswindows_frame_output_begin):
7970         * redisplay-msw.c (mswindows_frame_output_end):
7971         * redisplay-msw.c (console_type_create_redisplay_mswindows):
7972         New begin/end methods -- handle DeferWindowPos.
7973
7974         * redisplay-output.c (redisplay_move_cursor):
7975         * redisplay-output.c (redraw_cursor_in_window):
7976         * redisplay-output.c (redisplay_update_line):
7977         * redisplay-output.c (redisplay_output_window):
7978         New begin/end methods.
7979
7980         * redisplay-tty.c:
7981         * redisplay-tty.c (tty_frame_output_begin):
7982         * redisplay-tty.c (tty_frame_output_end):
7983         * redisplay-tty.c (console_type_create_redisplay_tty):
7984         New begin/end methods.
7985
7986         * redisplay-x.c:
7987         * redisplay-x.c (x_window_output_begin):
7988         * redisplay-x.c (x_window_output_end):
7989         * redisplay-x.c (console_type_create_redisplay_x):
7990         New begin/end methods.
7991
7992         * redisplay.c (redisplay_frame):
7993         * redisplay.c (Fredisplay_echo_area):
7994         New begin/end methods.
7995         use MAYBE_DEVMETH for clear_frame; it may not exist.
7996
7997         * window.h (WINDOW_XFRAME):
7998         WINDOW_XFOO macros -- get locale and decode struct pointer.
7999
8000
8001 2000-05-12  Ben Wing  <ben@xemacs.org>
8002
8003         * emacs.c:
8004         * emacs.c (ensure_no_quitting_from_now_on):
8005         * emacs.c (fatal_error_signal):
8006         * emacs.c (mswindows_handle_hardware_exceptions):
8007         * emacs.c (main):
8008         * emacs.c (Fkill_emacs):
8009         * emacs.c (shut_down_emacs):
8010         * emacs.c (assert_failed):
8011         various improvements in fatal error handling.
8012
8013         * eval.c:
8014         move preparing_for_armageddon to emacs.c.
8015
8016         * lisp.h:
8017         declare fatal_error_in_progress.
8018
8019         * print.c:
8020         * print.c (std_handle_out_external):
8021         * print.c (std_handle_out_va):
8022         * print.c (stderr_out):
8023         * print.c (stdout_out):
8024         use console under mswin when no standard output.
8025         don't do code conversion during fatal error.
8026
8027         * scrollbar.c (Fscrollbar_page_up):
8028         * scrollbar.c (Fscrollbar_page_down):
8029         fix missing else.  reindent.
8030
8031 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8032
8033         Emergency fix.
8034
8035         * glyphs.h (GLYPH_CACHEL_DESCENT):
8036         (GLYPH_CACHEL_DESCENT):
8037         (GLYPH_CACHEL_DESCENT):
8038         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8039         used in case these are inline functions.
8040         Use more absurd values to error check.
8041
8042         include window.h for error check functions.
8043
8044 2000-05-11  Ben Wing  <ben@xemacs.org>
8045
8046         * cmdloop.c (Freally_early_error_handler):
8047         Display message box under windows; otherwise, message will disappear
8048         before it can be viewed.
8049
8050         * console-msw.c:
8051         * console-msw.c (Fmswindows_message_box):
8052         * console-msw.c (FROB):
8053         * console-msw.c (syms_of_console_mswindows):
8054         Define new fun `mswindows-message-box'.
8055         #### I will merge this into `popup-dialog-box'; just give me
8056         a bit of time.
8057
8058         * general.c:
8059         * general.c (syms_of_general):
8060         Some new symbols used in `mswindows-message-box'.
8061
8062         * glyphs.c:
8063         * glyphs.c (Fset_image_instance_property):
8064         put warning in this fun.
8065
8066         * glyphs.h:
8067         * glyphs.h (GLYPH_CACHEL_WIDTH):
8068         * glyphs.h (GLYPH_CACHEL_ASCENT):
8069         * glyphs.h (GLYPH_CACHEL):
8070         * glyphs.h (GLYPH_CACHEL_GLYPH):
8071         define error-checking versions to try to catch a bug i've seen --
8072         redisplay gets in an infinite loop because the glyph width of the
8073         continuation glyph is 65535.
8074
8075         * lisp.h:
8076         Extern message-box stuff.
8077
8078         * window.c (allocate_window):
8079         * window.c (make_dummy_parent):
8080         * window.c (Fset_window_configuration):
8081         Use EQUAL not EQ for subwindow caches to make them work a bit
8082         better. (Something is still very broken.)
8083
8084
8085 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8086
8087         * glyphs.c (image_instantiate): Suppress gcc warnings.
8088         (Fmake_image_instance): Fix doc string.
8089         * specifier.c (Fmake_specifier): Ditto.
8090
8091 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8092
8093         * paths.h.in (PATH_LOCK): Removed.
8094         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8095         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8096
8097 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8098
8099         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8100         Document (featurep '(and xemacs 21.02)).
8101
8102 2000-05-09  Ben Wing  <ben@xemacs.org>
8103
8104         * buffer.c (complex_vars_of_buffer):
8105         update modeline-format doc.
8106
8107         * device.h:
8108         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8109
8110         * emacs.c:
8111         timeline of all released versions of Emacs, for use in creating
8112         authorship comments and in synching up.
8113
8114         * glyphs-widget.c (image_instantiator_buttons):
8115         * glyphs-widget.c (image_instantiator_edit_fields):
8116         * glyphs-widget.c (image_instantiator_combo_box):
8117         * glyphs-widget.c (image_instantiator_scrollbar):
8118         * glyphs-widget.c (image_instantiator_progress_guage):
8119         * glyphs-widget.c (image_instantiator_tree_view):
8120         * glyphs-widget.c (image_instantiator_tab_control):
8121         * glyphs-widget.c (image_instantiator_labels):
8122         * glyphs-widget.c (image_instantiator_layout):
8123         * glyphs-widget.c (image_instantiator_native_layout):
8124         rename decode_domain method to governing_domain.
8125
8126         * glyphs.c:
8127         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8128         * glyphs.c (add_entry_to_device_ii_format_list):
8129         make sure we don't put an entry more than once into the list.
8130         * glyphs.c (check_instance_cache_mapper):
8131         *************************************************************
8132         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8133         HAVE BEEN GETTING.
8134         *************************************************************
8135         * glyphs.c (get_image_instantiator_governing_domain):
8136         clean up, expand on new concept of governing domain.
8137         * glyphs.c (instantiate_image_instantiator):
8138         * glyphs.c (allocate_image_instance):
8139         use governing_domain instead of cache_domain in naming.
8140         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8141         * glyphs.c (make_image_instance_1):
8142         * glyphs.c (Fmake_image_instance):
8143         allow for any domain (not just device), and process the
8144         governing domain correctly.  very big doc fix.
8145         * glyphs.c (Fimage_instance_domain):
8146         new primitive, to retrieve the governing domain of an image instance.
8147         * glyphs.c (image_instantiate):
8148         use new governing_domain stuff.  this fixes a crash you could get
8149         by instantiating certain widget glyphs in frame locales. (should
8150         signal an error instead of crashing.)
8151         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8152         * glyphs.c (Fglyphp): clean up doc.
8153         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8154         * glyphs.c (syms_of_glyphs):
8155         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8156         * glyphs.c (image_instantiator_format_create): add some comments about
8157         bogus code.
8158         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8159         for current-display-table. (Apparently Hrjove implemented in 1998 a
8160         design I wrote up in 1996, but didn't update the doc string.)
8161
8162         * glyphs.h: clean up a doc string.
8163         * glyphs.h (governing_domain):
8164         * glyphs.h (struct image_instantiator_methods):
8165         changes for governing_domain stuff.
8166
8167         * gutter.c:
8168         * gutter.c (Fgutter_specifier_p):
8169         * gutter.c (Fgutter_size_specifier_p):
8170         * gutter.c (Fgutter_visible_specifier_p):
8171         * objects.c:
8172         * objects.c (Fcolor_specifier_p):
8173         * objects.c (Ffont_specifier_p):
8174         * objects.c (Fface_boolean_specifier_p):
8175         doc strings moved to make-*-specifier.
8176
8177         * redisplay.c (add_disp_table_entry_runes_1):
8178         * redisplay.c (generate_fstring_runes):
8179         * redisplay.c (screen):
8180         add random comments and doc strings.
8181
8182         * specifier.c:
8183         * specifier.c (Fmake_specifier):
8184         major overhaul of this doc string.
8185
8186         * specifier.c (Fvalid_specifier_domain_p):
8187         comment about the bogosity of image instances being domains.
8188         * specifier.c (decode_domain):
8189         now non-static, used in glyphs.c.
8190         * specifier.c (specifier_instance):
8191         comment about the bogosity of image instances being domains.
8192         * specifier.c (Fgeneric_specifier_p):
8193         move doc string to make-generic-specifier.
8194         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8195         rebackslashify.
8196
8197         * specifier.h:
8198         * specifier.h (DOMAIN_FRAME):
8199         * specifier.h (DOMAIN_LIVE_P):
8200         * specifier.h (DOMAIN_XDEVICE):
8201         rebackslashify.
8202         add comments about problems with these macros.
8203         prototype for decode_domain.
8204
8205         * toolbar.c:
8206         * toolbar.c (Ftoolbar_specifier_p):
8207         move doc string to `make-toolbar-specifier'.
8208
8209         * window.c (window_unmap_subwindows_cache_mapper):
8210         *************************************************************
8211         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8212         HAVE BEEN GETTING.
8213         *************************************************************
8214
8215 2000-05-09  Andy Piper  <andy@xemacs.org>
8216
8217         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8218
8219         * window.c (Fset_window_configuration): reset the frame subwindow
8220         cache and re-initialize the window subwindow caches.
8221
8222         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8223
8224 2000-05-09  Ben Wing  <ben@xemacs.org>
8225
8226         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8227         DWORD.
8228
8229 2000-04-26  Mike Woolley  <mike@bulsara.com>
8230
8231         * ntheap.c: Changed recreate_heap to limit the amount reserved
8232         for the heap to that which is actually available. Also now
8233         displays a message box (with some dignostics) in the event that
8234         it still can't start.
8235
8236 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8237
8238         * callproc.c (Fold_call_process_internal): GCPRO path
8239
8240 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8241
8242         Patch by Bill Perry.
8243
8244         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8245         back data instead of #ifdef.
8246         (Fscrollbar_page_down): ditto.
8247
8248 2000-05-07  Ben Wing  <ben@xemacs.org>
8249
8250         * buffer.h:
8251         Kludge for defining Qmswindows_tstr.
8252
8253         * nt.c:
8254         * nt.c (open_input_file):
8255         * nt.c (open_output_file):
8256         * nt.c (rva_to_section):
8257         * nt.c (mswindows_executable_type):
8258         Move all memory-mapped-file routines here (some were in unexnt.c,
8259         which is bad because they are used by process-nt.c, and unexnt
8260         won't be around when portable dumping).  Synched the above routines
8261         with FSF 20.6.
8262
8263         * nt.h:
8264         Removed ifdef'd out bogus code.
8265         Fixed some prototypes.
8266
8267         * nt.h (file_data):
8268         * nt.h (OFFSET_TO_RVA):
8269         * nt.h (RVA_TO_OFFSET):
8270         * nt.h (RVA_TO_PTR):
8271         Moved the memory-mapped-file structures, macros and prototypes
8272         here, to parallel nt.c.  ntheap.h should really be removed
8273         entirely, and it's a non-portable-dumper specific file.
8274
8275         * ntheap.h (round_to_next):
8276         Moved the memory-mapped-file structures, macros and prototypes
8277         to nt.h.
8278
8279         * ntproc.c (compare_env):
8280         Moved rva_to_section and mswindows_executable_type to nt.c.
8281         Moved compare_env to process-nt.c.
8282         ntproc.c will die, one day.
8283
8284         * ntproc.c (sys_spawnve):
8285         Account for win32_ -> mswindows_.
8286
8287         * process-nt.c:
8288         * process-nt.c (struct nt_process_data):
8289         * process-nt.c (ensure_console_window_exists):
8290         * process-nt.c (compare_env):
8291         * process-nt.c (nt_create_process):
8292         * process-nt.c (nt_kill_process_by_pid):
8293         * process-nt.c (syms_of_process_nt):
8294         * process-nt.c (vars_of_process_nt):
8295         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8296         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8297         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8298         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8299         Move compare_env here from ntproc.c.
8300
8301         * process.c (Fprocess_send_region):
8302         Takes an optional fourth argument, BUFFER, which should fix some
8303         problems with call-process.
8304
8305         * syscommctrl.h:
8306         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8307
8308         * syswindows.h:
8309         Move ICC_BAR_CLASSES to syscommctrl.h.
8310         Add preliminary macros for MSWindows/Mule.  More to come.
8311
8312         * unexnt.c:
8313         * unexnt.c (unexec):
8314         open_output_file moved to nt.c.
8315
8316
8317 2000-05-05  Andy Piper  <andy@xemacs.org>
8318
8319         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8320         instance from the frame cache also since GC may catch up too late
8321         to make frame deletion sane.
8322
8323 2000-05-04  Andy Piper  <andy@xemacs.org>
8324
8325         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8326         (x_finalize_image_instance): ungcpro on deletion.
8327
8328         * glyphs.c (image_instantiator_format_create): give pointers a
8329         query geometry method so that the geometry is at least set.
8330
8331         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8332         initialize layouts if using widgets.
8333
8334 2000-05-03  Andy Piper  <andy@xemacs.org>
8335
8336         * nt.c: remove bogus reference to sysmmsystem.h
8337
8338         * gui-x.c (popup_selection_callback): fix no selection abort.
8339
8340 2000-05-02  Andy Piper  <andy@xemacs.org>
8341
8342         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8343         (mswindows_widget_instantiate): ditto.
8344
8345         * glyphs-widget.c (initialize_widget_image_instance): initialize
8346         children correctly.
8347         (widget_instantiate): cope with children and items in the same
8348         instance.
8349
8350         * glyphs.c (mark_image_instance): cope with children as a first
8351         class member.
8352         (image_instance_equal): ditto.
8353         (image_instance_hash): ditto.
8354         (image_instance_changed): ditto.
8355
8356 2000-04-30  Andy Piper  <andy@xemacs.org>
8357
8358         * glyphs.c (subwindow_query_geometry): new function. Return some
8359         defaults.
8360         (subwindow_instantiate): don't assign dimensions if none have been
8361         given.
8362         (image_instantiator_format_create): add subwindow_query_geometry.
8363         (print_image_instance): cope with layouts as widgets.
8364
8365 2000-04-29  Andy Piper  <andy@xemacs.org>
8366
8367         * frame.c (delete_frame_internal): call
8368         free_frame_subwindow_instance_cache so that all subwindows are
8369         finalized before their parent.
8370         (mark_frame): remove subwindow_cachels.
8371         (Fmake_frame): remove subwindow_cachel manipulation.
8372         (allocate_frame_core): subwindow_instance_cache is a weak list.
8373         (delete_frame_internal): set subwindow_instance_cache to nil.
8374
8375         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8376         finalization safe.
8377         (mswindows_finalize_image_instance): use the device
8378         not the domain as the domain may have died already.
8379
8380         * glyphs-x.c (x_finalize_image_instance): ditto.
8381         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8382         HEIGHT.
8383
8384         * redisplay-output.c (redisplay_unmap_subwindows): update for
8385         subwindow instance cache as a weak list.
8386         (redisplay_unmap_subwindows_maybe): ditto.
8387         (redisplay_unmap_subwindows_except_us): ditto.
8388
8389         * glyphs.c (unmap_subwindow): error checking will check the domain
8390         so don't deal with it here. Don't use cachels anymore.
8391         (map_subwindow): ditto.
8392         (update_subwindow_cachel_data): remove old accessor names.
8393         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8394         (Fresize_subwindow): don't update cachel.
8395         (mark_subwindow_cachels):
8396         (update_subwindow_cachel_data):
8397         (add_subwindow_cachel):
8398         (get_subwindow_cachel_index):
8399         (update_subwindow_cachel):
8400         (reset_subwindow_cachels):
8401         (mark_subwindow_cachels_as_not_updated): deleted.
8402         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8403         subwindow instance to the frame cache.
8404         (find_matching_subwindow): update for subwindow instance cache as
8405         a weak list.
8406         (update_widget_instances): ditto.
8407         (image_instance_type_to_mask):inlined.
8408         (free_frame_subwindow_instance_cache): new function. finalize all
8409         subwindows that are instantiated.
8410
8411         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8412         of cachel information.
8413         (IMAGE_INSTANCE_DISPLAY_X):
8414         (IMAGE_INSTANCE_DISPLAY_Y):
8415         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8416         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8417         (XIMAGE_INSTANCE_DISPLAY_X):
8418         (XIMAGE_INSTANCE_DISPLAY_Y):
8419         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8420         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8421         remove subwindow_cachel structure and function references.
8422         (image_instance_type_to_mask): inline from glyphs.c
8423
8424         * redisplay.c (redisplay_frame): remove subwindow_cachel
8425         references.
8426
8427         * frame.h (struct frame): remove subwindow_cachels.
8428         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8429
8430         * frameslots.h: add subwindow_instance_cache.
8431
8432         * window.c (replace_window): check subwindow cache of replacement.
8433         (window_unmap_subwindows_cache_mapper):
8434         (window_unmap_subwindows): new functions. Unmap all subwindows
8435         cached on this window.
8436         (mark_window_as_deleted): unmap all subwindows.
8437
8438 2000-04-27  Andy Piper  <andy@xemacs.org>
8439
8440         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8441
8442         * glyphs-widget.c (widget_layout): return something.
8443         (layout_layout): return something. Fail if not initialized.
8444         (layout_query_geometry): ditto.
8445         (image_instantiator_native_layout): new function. Initialized the
8446         native layout type.
8447         (widget_instantiate): don't do layout stuff here.
8448
8449         * glyphs.c (instantiate_image_instantiator): reorded calling or
8450         instantiate and post_instantiate with layout in between.
8451         (image_instance_layout): be more selective about deciding whether
8452         the layout has been done or not.
8453
8454         * glyphs.h (struct image_instantiator_methods): return a value
8455         from layout_method.
8456
8457 2000-04-26  Andy Piper  <andy@xemacs.org>
8458
8459         * glyphs.c (allocate_image_instance): make initial width and
8460         height unspecified. Set initialized to 0.
8461
8462         * syscommctrl.h new file. Encapsulates commctrl.h.
8463
8464         * syswindows.h new file. Encapsulates windows.h.
8465
8466         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8467         * nt.c: ditto.
8468         * console-msw.h: ditto.
8469
8470         * redisplay-tty.c (tty_output_display_block): remove layout references.
8471
8472         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8473         window handle rather than just the frame.
8474
8475         * glyphs.c (mark_image_instance): remove layout references.
8476         (print_image_instance): ditto.
8477         (image_instance_equal): ditto.
8478         (image_instance_hash): ditto.
8479         (decode_image_instance_type): ditto.
8480         (encode_image_instance_type): ditto.
8481         (image_instantiate): ditto.
8482         (allocate_glyph): ditto.
8483         (Fimage_instance_height): ditto.
8484         (Fimage_instance_width): ditto.
8485         (update_subwindow): ditto.
8486
8487         * redisplay-x.c (x_output_display_block): recode for layouts as
8488         widgets.
8489
8490         * redisplay-output.c (redisplay_output_layout): recode for layouts
8491         as widgets.
8492         (compare_runes): remove layout references.
8493
8494         * redisplay-msw.c (mswindows_output_display_block): recode for
8495         layouts as widgets.
8496
8497         * glyphs-widget.c (image_instantiator_layout): remove
8498         layout_possible_dest_types.
8499         (layout_possible_dest_types): deleted.
8500
8501         * glyphs.h (image_instance_type): remove layout references.
8502         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8503         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8504         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8505
8506 2000-04-25  Andy Piper  <andy@xemacs.org>
8507
8508         * glyphs-widget.c (image_instantiator_buttons):
8509         (image_instantiator_edit_fields):
8510         (image_instantiator_combo_box):
8511         (image_instantiator_scrollbar):
8512         (image_instantiator_progress_guage):
8513         (image_instantiator_tree_view):
8514         (image_instantiator_tab_control):
8515         (image_instantiator_labels):
8516         (image_instantiator_layout): call default post_instantiate method.
8517         (widget_post_instantiate): new function. Simply lays out the
8518         widgets.
8519
8520         * glyphs.h (struct image_instantiator_methods): add
8521         post_instantiate method.
8522
8523         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8524         method calls.
8525
8526 2000-04-23  Andy Piper  <andy@xemacs.org>
8527
8528         * glyphs.h (struct image_instantiator_methods): add
8529         decode_domain_method.
8530         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8531         derived from the domain.
8532         (IMAGE_INSTANCE_FRAME): new accessor.
8533         (XIMAGE_INSTANCE_FRAME): ditto.
8534
8535         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8536         instead of _SUBWINDOW_FRAME.
8537         (finalize_image_instance): ditto.
8538         (Fimage_instance_foreground): ditto.
8539         (Fimage_instance_background): ditto.
8540         (image_instantiate): ditto.
8541         (update_subwindow_cachel): ditto.
8542         (update_subwindow): ditto.
8543         (unmap_subwindow): ditto.
8544         (map_subwindow): ditto
8545         (subwindow_instantiate): ditto.
8546         * glyphs-msw.c (mswindows_update_widget): ditto.
8547         (mswindows_progress_gauge_instantiate): ditto.
8548         (mswindows_tab_control_update): ditto.
8549         * glyphs-x.c (x_update_widget): ditto.
8550         (x_widget_instantiate): ditto.
8551         (x_tab_control_instantiate): ditto.
8552         (x_tab_control_update): ditto.
8553         * event-msw.c (mswindows_wnd_proc): ditto
8554
8555         * glyphs-widget.c (image_instantiator_layout): use
8556         subwindow_decode_domain.
8557         (image_instantiator_buttons): ditto.
8558         (image_instantiator_edit_fields): ditto.
8559         (image_instantiator_combo_box): ditto.
8560         (image_instantiator_scrollbar): ditto.
8561         (image_instantiator_progress_guage): ditto.
8562         (image_instantiator_tree_view): ditto.
8563         (image_instantiator_tab_control): ditto.
8564         (image_instantiator_labels): ditto.
8565         (image_instantiator_layout): ditto.
8566
8567         * glyphs.c: add instance error checking to many functions.
8568         (instantiate_image_instantiator): decode device from cache_domain.
8569         (image_instantiate): partially rewrite by using
8570         decode_image_instantiator_domain to determine what domain the
8571         instance needs to be cached in.
8572         (decode_image_instantiator_domain): new function. Determine what
8573         domain the image needs to be cached in.
8574         (check_window_subwindow_cache): new error checking function.
8575         (check_instance_cache_mapper): ditto.
8576         (check_image_instance_structure): ditto.
8577         (subwindow_decode_domain): new function. Encodes a window as a
8578         subwindow's cache domain.
8579         (image_instantiator_format_create): use it for text and
8580         subwindows.
8581
8582 2000-04-21  Andy Piper  <andy@xemacs.org>
8583
8584         * glyphs.c (image_instance_device): new function.
8585         (image_instance_frame): new function.
8586         (image_instance_window): new function.
8587         (image_instance_live_p): new function.
8588
8589         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8590         cache to nil.
8591
8592         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8593         (IMAGE_INSTANCE_DOMAIN): new accessor.
8594         (XIMAGE_INSTANCE_DOMAIN): ditto.
8595
8596         * glyphs-x.c (x_finalize_image_instance): device->domain.
8597
8598         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8599         (mswindows_finalize_image_instance): ditto.
8600
8601         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8602         (gif_instantiate): ditto.
8603         (png_instantiate): ditto.
8604         (tiff_instantiate): ditto.
8605
8606         * glyphs.c (instantiate_image_instantiator): use domain rather
8607         than device.
8608         (mark_image_instance): device -> domain.
8609         (print_image_instance): ditto.
8610         (finalize_image_instance): ditto.
8611         (image_instance_equal): ditto.
8612         (allocate_image_instance): ditto.
8613         (Fcolorize_image_instance): ditto.
8614         (query_string_geometry): ditto.
8615         (image_instantiate): ditto
8616         (query_string_font): ditto.
8617         (image_instantiate): ditto.
8618         (update_subwindow): ditto.
8619         (unmap_subwindow): ditto.
8620         (map_subwindow): ditto.
8621         (subwindow_instantiate): ditto.
8622
8623         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8624         (DOMAIN_FRAME): ditto.
8625         (DOMAIN_WINDOW): ditto.
8626         (DOMAIN_LIVE_P): ditto.
8627         (XDOMAIN_DEVICE): ditto.
8628         (XDOMAIN_FRAME): ditto.
8629         (XDOMAIN_WINDOW): ditto.
8630
8631         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8632         a valid specifier domain.
8633
8634 2000-04-19  Andy Piper  <andy@xemacs.org>
8635
8636         * glyphs-widget.c (syms_of_glyphs_widget): remove
8637         widget-callback-current-channel.
8638         (vars_of_glyphs_widget): ditto.
8639         * glyphs.h: ditto
8640
8641         * gui.c (get_gui_callback): revert to previous behaviour.
8642
8643 2000-04-18  Andy Piper  <andy@xemacs.org>
8644
8645         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8646         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8647         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8648
8649         * glyphs.c (image_instance_equal): add margin_width.
8650         (image_instance_hash): ditto.
8651
8652         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8653         (layout_query_geometry): ditto.
8654         (layout_layout): ditto.
8655         (syms_of_glyphs_widget): add margin-width.
8656         (image_instantiator_layout): allow margin-width.
8657
8658         * glyphs.c (update_widget_instances): make a normal function.
8659         (syms_of_glyphs): remove Qupdate_widget_instances.
8660         * glyphs.h: ditto.
8661
8662         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8663         so that we don't corrupt ideas about the last event or
8664         command. Remove widget-callback-current-channel fiddling.
8665         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8666
8667 2000-05-01  Martin Buchholz <martin@xemacs.org>
8668
8669         * XEmacs 21.2.33 is released.
8670
8671 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8672
8673         * make-src-depend: Allow dots in header file name.
8674
8675 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8676
8677         * mule-charset.h (struct charset_lookup): Add
8678         next_allocated_1_byte_leading_byte and
8679         next_allocated_2_byte_leading_byte.
8680         * mule-charset.c: Move above two variables so that those values
8681         will be dumped.
8682
8683 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8684
8685         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8686         when string length is zero.
8687         (find_charsets_in_emchar_string): Ditto.
8688
8689 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8690
8691         * lisp.h: extern Qdialog and Qmenubar.
8692
8693         * gui-x.c: added events.h.
8694                 also fixed typo which made the file uncompilable.
8695
8696         * general.c: Added Qmenubar and Qdialog
8697
8698 2000-04-28  Ben Wing  <ben@xemacs.org>
8699
8700         * frame-msw.c (mswindows_init_frame_1):
8701         * frame-msw.c (mswindows_mark_frame):
8702         * event-msw.c (mswindows_enqueue_dispatch_event):
8703         * console-msw.h:
8704         * console-msw.h (struct mswindows_frame):
8705         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8706         there are now three hash tables for callbacks.
8707         mswindows_enqueue_dispatch_event is no longer static.
8708
8709         * dialog-x.c (maybe_run_dbox_text_callback):
8710         * dialog-x.c (dbox_descriptor_to_widget_value):
8711         switch to new cons3 form for callbacks.
8712
8713         * glyphs-msw.c (mswindows_register_gui_item):
8714         * glyphs-msw.c (mswindows_widget_instantiate):
8715         * glyphs-msw.c (add_tree_item):
8716         * glyphs-msw.c (add_tab_item):
8717         new image instance parameter, so it can be passed to callback-ex.
8718         respect :callback-ex as well as :callback.
8719
8720         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8721         add :callback-ex.
8722
8723         * glyphs.c (print_image_instance):
8724         prettify, e.g. now prints widget type.
8725
8726         * gui-x.h:
8727         certain funs have new image instance parameter.
8728
8729         * gui.c:
8730         * gui.c (get_gui_callback):
8731         * gui.c (gui_item_add_keyval_pair):
8732         * gui.c (gui_item_init):
8733         * gui.c (gui_add_item_keywords_to_plist):
8734         * gui.c (mark_gui_item):
8735         * gui.c (gui_item_hash):
8736         * gui.c (gui_item_equal):
8737         * gui.c (copy_gui_item):
8738         * gui.c (syms_of_gui):
8739         recognize callback-ex in a number of places.
8740         also, fix the annoying "can't get out of yes-no dialog" bug.
8741
8742         * gui.h:
8743         * gui.h (struct Lisp_Gui_Item):
8744         recognize callback-ex in a number of places.
8745
8746         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8747         new parameter in button_item_to_widget_value.
8748
8749         * glyphs-x.c (x_update_widget):
8750         * glyphs-x.c (x_button_instantiate):
8751         * glyphs-x.c (x_button_update):
8752         * glyphs-x.c (x_progress_gauge_instantiate):
8753         * glyphs-x.c (x_edit_field_instantiate):
8754         * glyphs-x.c (x_combo_box_instantiate):
8755         * glyphs-x.c (x_tab_control_instantiate):
8756         * glyphs-x.c (x_label_instantiate):
8757         new image instance parameter in various places.
8758
8759         * event-Xt.c:
8760         * event-Xt.c (enqueue_Xt_dispatch_event):
8761         this fun gets exported.
8762
8763         * gui-msw.c:
8764         * gui-msw.c (mswindows_handle_gui_wm_command):
8765         handle both :callback and :callback-ex, and generate our own
8766         event because it's one of the callback-ex arguments.
8767
8768         * gui-x.c:
8769         * gui-x.c (popup_selection_callback):
8770         handle both :callback and :callback-ex, and generate our own
8771         event because it's one of the callback-ex arguments.
8772         * gui-x.c (button_item_to_widget_value):
8773         * gui-x.c (gui_items_to_widget_values_1):
8774         * gui-x.c (gui_item_children_to_widget_values):
8775         * gui-x.c (gui_items_to_widget_values):
8776         new image instance parameter in various places.
8777
8778         * fns.c (Freplace_list):
8779         fix small typo in doc string.
8780
8781         * lisp.h:
8782         declare enqueue_Xt_dispatch_event.
8783
8784 2000-04-28  Ben Wing  <ben@xemacs.org>
8785
8786         * buffer.c:
8787         * buffer.c (Frecord_buffer):
8788         * buffer.c (syms_of_buffer):
8789         delete record-buffer-hook.
8790
8791         * fns.c:
8792         * fns.c (Freplace_list):
8793         * fns.c (syms_of_fns):
8794         new primitive replace-list.
8795
8796         * frameslots.h:
8797         slot for old buffer-alist.
8798
8799         * lisp.h:
8800         exfun replace-list.
8801
8802         * redisplay.c:
8803         * redisplay.c (redisplay_frame):
8804         * redisplay.c (syms_of_redisplay):
8805         * redisplay.c (vars_of_redisplay):
8806         new hook buffer-list-changed-hook.
8807         call it.
8808
8809 2000-04-27  Ben Wing  <ben@xemacs.org>
8810
8811         * extents.h: extern in_modeline_generation.
8812
8813         * redisplay.c (generate_formatted_string_db): set
8814         in_modeline_generation.
8815
8816         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8817         flags if in modeline generation.  otherwise frame-modified-tick
8818         is ticked far too often.
8819         Declare in_modeline_generation.
8820
8821 2000-04-26  Ben Wing  <ben@xemacs.org>
8822
8823         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8824         option.
8825         (vars_of_emacs): add quick-build as an error-checking option.
8826         A bit kludgy, but there doesn't seem much point in creating
8827         a real var for this.
8828
8829         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8830
8831 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8832
8833         * redisplay.h (struct display_line): Add a new variable,
8834         line_continuation.
8835
8836         * redisplay.c (create_text_block): Set dl->line_continuation if
8837         the line continues.
8838         (create_string_text_block): Ditto.
8839         (regenerate_window_incrementally): Use line_continuation instead
8840         of searching continuation glyph.
8841         (add_margin_runes): Call add_glyph_rune.
8842         (add_glyph_rune): Handle margin glyph.
8843
8844 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8845
8846         * filelock.c (fill_in_lock_file_name):
8847         ANSIfy.
8848         Check for IS_ANY_SEP instead of '/'.
8849         (lock_file_1):
8850         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8851         Never check errno without first seeing that system call failed.
8852         (unlock_file): Add GCPRO.
8853         (Flock_buffer): Fix docstring.
8854         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8855
8856 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8857
8858         * sysdep.c (get_pty_max_bytes):
8859         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8860         strings longer than 252 bytes.
8861
8862         * md5.c: Unconditionally include ANSI header <limits.h>
8863
8864         * glyphs-x.c (convert_EImage_to_XImage):
8865         * lisp-union.h (union Lisp_Object):
8866         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8867
8868 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8869
8870         * filelock.c (current_lock_owner): Remove unused variable o, p.
8871
8872 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8873
8874         * callint.c: Remove multiply defined symbol Qlet
8875         (syms_of_callint): ditto.
8876
8877 2000-04-14  Andy Piper  <andy@xemacs.org>
8878
8879         * general.c (syms_of_general): add last-command, this-command, let
8880         and funcall.
8881
8882         * lisp.h: declare various symbols.
8883
8884         * glyphs.h: declare Qwidget_callback_current_channel;
8885
8886         * glyphs-widget.c (syms_of_glyphs_widget): add
8887         Qgui_callback_current_channel.
8888         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8889
8890         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8891         widget-callback-current-channel when invoking the interactive
8892         arg. Also bind last-command and next-command when invoking the
8893         widget updates.
8894         * gui-x.c (popup_selection_callback): ditto.
8895
8896         * gui.c (get_gui_callback): massage args so that we are always
8897         calling eval. This allows us to add our own variable bindings
8898         outside.
8899
8900         * glyphs-x.c (x_button_instantiate): use
8901         gui_items_to_widget_values since this is GC safe.
8902         (x_progress_gauge_instantiate): ditto.
8903         (x_edit_field_instantiate): ditto.
8904         (x_label_instantiate): ditto.
8905
8906         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
8907         (emacs_Xt_event_widget_focus_out): new function
8908         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
8909         focus.
8910         (emacs_Xt_event_add_widget_actions): new function. add focus
8911         functions as actions.
8912         (init_event_Xt_late): use it.
8913
8914 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
8915
8916         * event-stream.c (Fdispatch_event): Doc fix.
8917
8918 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
8919
8920         * postgresql.c: Remove all references to PQsetenv*.
8921
8922         * postgresql.h: Remove references to PGsetenvHandler object.
8923         * lrecord.h (lrecord_type): Ditto.
8924
8925 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8926
8927         * glyphs-msw.h (struct mswindows_image_instance_data): Added
8928         real_heigh and real_width members, and accessor macros for these.
8929
8930         * glyphs-msw.c (init_image_instance_geometry): New function.
8931         (init_image_instance_from_dibitmap): Use it.
8932         (mswindows_resource_instantiate): Use it.
8933         (init_image_instance_from_xbm_inline): Use it.
8934         (mswindows_initialize_image_instance_mask): Use real bitmap
8935         geometry.
8936         (mswindows_create_resized_bitmap): Ditto.
8937         (mswindows_create_resized_mask): Ditto.
8938
8939         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
8940         and bitmap to their surface size.
8941
8942 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
8943
8944         * process-unix.c (unix_send_process): Guard against process MIA
8945         after Faccept_process_output.
8946
8947 2000-04-11  Ben Wing  <ben@xemacs.org>
8948
8949         * eval.c (unbind_to_hairy): fix brokenness introduced by
8950         nanosecond speed improvements.
8951
8952 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
8953
8954         * sunplay.c (init_device): To play sounds correctly, the device
8955         apparently needs to be initialized at least once by XEmacs.  Make
8956         it so.
8957
8958 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8959
8960         * redisplay.c (add_margin_runes): Add text image glyph
8961           handling.
8962
8963 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8964
8965         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
8966         gcc is newer than 2.5.
8967
8968 2000-04-06  Colin Rafferty  <colin@xemacs.org>
8969
8970         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
8971
8972         * fns.c (size_bit_vector):
8973         * alloc.c (size_vector):
8974         (make_vector_internal):
8975         (make_bit_vector_internal):
8976         (sweep_bit_vectors_1):
8977         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
8978
8979 2000-04-06  Andy Piper  <andy@xemacs.org>
8980
8981         * gmalloc.c (malloc): undo previous change.
8982         (malloc): ditto.
8983         (free): ditto.
8984         (realloc): ditto.
8985
8986 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
8987
8988         * line-number.c (buffer_line_number): Revert to former version.
8989
8990 2000-04-06  Andy Piper  <andy@xemacs.org>
8991
8992         * gmalloc.c (malloc): add error checking.
8993         (malloc): ditto.
8994         (free): ditto.
8995         (realloc): ditto.
8996
8997         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
8998         button_item_to_widget_value arg.
8999
9000         * glyphs-x.c (x_button_instantiate): add extra
9001         button_item_to_widget_value arg.
9002         (x_progress_gauge_instantiate): ditto.
9003         (x_edit_field_instantiate): ditto.
9004         (x_label_instantiate): ditto.
9005
9006         * gui-x.c (gui_items_to_widget_values_1): add extra
9007         button_item_to_widget_value arg.
9008         (button_item_to_widget_value): add extra menu_item_p arg.
9009
9010         * gui-x.h: change signature of button_item_to_widget_value.
9011
9012         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9013         button_item_to_widget_value arg.
9014
9015 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9016
9017         * buffer.h (struct buffer): auto_save_modified should be long.
9018
9019 2000-04-05  Andy Piper  <andy@xemacs.org>
9020
9021         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9022         type.
9023         (button_query_geometry): give a little more room so that athena
9024         buttons fit.
9025
9026 2000-04-05  Andy Piper  <andy@xemacs.org>
9027
9028         * faces.c (complex_vars_of_faces): The widget face should inherit
9029         the font of the gui-element face.
9030
9031 2000-04-04  Andy Piper  <andy@xemacs.org>
9032
9033         * glyphs-x.c (x_button_update): new function. unconditionally
9034         update a button's state when the instance is dirty.
9035         (image_instantiator_format_create_glyphs_x): add x_button_update.
9036         (x_widget_instantiate): remove old resize cruft.
9037
9038 2000-04-02  Andy Piper  <andy@xemacs.org>
9039
9040         * frame.c (change_frame_size_1): The introduction of gutters means
9041         that we need to allow 0 as a potential frame dimension.
9042
9043 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9044
9045         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9046         image glyph if allow_cursor.
9047         (add_hscroll_rune): Don't allow cursor to border glyph.
9048         (create_text_block): Ditto.
9049
9050         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9051         text not in buffer.
9052         (redisplay_output_layout): Call ensure_face_cachel_complete for
9053         text image glyph.
9054
9055
9056 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9057
9058         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9059
9060         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9061         not in buffer
9062
9063         * redisplay-tty.c (tty_output_display_block): Delete the routine
9064         for text image glyph
9065         * redisplay-x.c (x_output_display_block): ditto
9066         * redisplay-msw.c (mswindows_output_display_block): ditto
9067
9068 2000-02-02  Mike Alexander  <mta@arbortext.com>
9069
9070         Note: Some of these were committed by accident as part of other
9071         patches.
9072
9073         * regex.c (regex_compile): Avoid compiler warnings.
9074
9075         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9076
9077         * nt.h: Declare term_ntproc correctly.
9078
9079         * nt.c: Remove incorrect declaration of get_home_directory which
9080         is declared correctly in lisp.h.
9081
9082         * keymap.c (get_keyelt): Avoid compiler warnings.
9083         (raw_lookup_key_mapper): Avoid compiler warnings.
9084
9085         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9086
9087         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9088
9089         * filemode.c (mode_string): Avoid compiler warnings.
9090
9091         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9092         avoid warning.
9093
9094         * events-mod.h: Undef some things that winuser.h defines differently.
9095
9096         * data.c (Faset): Avoid compiler warnings.
9097
9098         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9099
9100 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9101
9102         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9103         Fall through to simple beep on error.
9104         Replace "extern" by real header file.
9105
9106         * linuxplay.c: Use nativesound.h
9107         (play_sound_data): Return error code. Be less verbose on error.
9108
9109         * sunplay.c: Use nativesound.h
9110         (play_sound_data): Return error code. Be less verbose on error.
9111
9112         * ntplay.c: Use nativesound.h
9113         (play_sound_data): Return fake error code
9114
9115         * sgiplay.c: Use nativesound.h
9116         (play_sound_data): Return error code
9117
9118         * hpplay.c: Use nativesound.h, partially implement
9119         new error code. Break compilation until finished.
9120         (play_sound_data): error code.
9121
9122         * nativesound.h (play_sound_file):
9123           (play_sound_data): Prototype in new header.
9124
9125 2000-03-31  Andy Piper  <andy@xemacs.org>
9126
9127         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9128         for toggle and radio buttons.
9129         (image_instantiator_buttons): use it.
9130
9131 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9132
9133         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9134         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9135         found. Scrollbar event probably belonged to some old config.
9136
9137 2000-03-31  Andy Piper  <andy@xemacs.org>
9138
9139         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9140         than 1.
9141         (initialize_widget_image_instance): default layout to
9142         LAYOUT_HORIZONTAL rather than 0.
9143         (widget_instantiate): reverse the item list at the end rather than
9144         every iteration.
9145         (layout_layout): re-code for the border text at the front of the
9146         item list rather than at the end.
9147         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9148         provided by the user.
9149         (widget_query_geometry): comment.
9150
9151 2000-03-30  Andy Piper  <andy@xemacs.org>
9152
9153         * glyphs-widget.c (image_instantiator_layout): allow standard
9154         widget keywords in layouts.
9155
9156         * gutter.c (output_gutter): cope with nil gutter contents.
9157
9158         * frame.c (Fset_frame_properties): add gutter docs.
9159
9160 2000-03-29  Andy Piper  <andy@xemacs.org>
9161
9162         * toolbar-msw.c (TBSTYLE_FLAT): add.
9163         (mswindows_output_toolbar): minor fiddling.
9164
9165 2000-03-29  Andy Piper  <andy@xemacs.org>
9166
9167         * gutter.c (output_gutter): force gutter size recalculation if
9168         what we are trying to display won't fit.
9169         (update_gutter_geometry): new function. A per-gutter version of
9170         update_frame_gutter_geometry.
9171         (update_frame_gutter_geometry): use it.
9172         (redraw_exposed_gutter): add extra debugging output.
9173
9174 2000-03-28  Mike Alexander  <mta@arbortext.com>
9175
9176         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9177         (pdump_file_unmap): Implement it on Windows
9178         (pdump_file_get): Save alocated handles for pdump_file_unmap
9179
9180 2000-03-28  Andy Piper  <andy@xemacs.org>
9181
9182         * gui.c (get_gui_callback): treat Quit specially.
9183
9184 2000-03-27  Andy Piper  <andy@xemacs.org>
9185
9186         * glyphs.c (image_instantiate): be careful to check in the same
9187         way we assigned.
9188
9189 2000-03-27  Didier Verna  <didier@xemacs.org>
9190
9191         * config.h.in: define the proper SMART_INCLUDE macro.
9192         handle renaming of `foo_h_path' to `foo_h_file'.
9193
9194         * database.c: ditto.
9195
9196         * emacs.c: ditto.
9197
9198         * linuxplay.c: ditto.
9199
9200         * terminfo.c: ditto.
9201
9202         * tooltalk.h: ditto.
9203
9204 2000-03-27  Andy Piper  <andy@xemacs.org>
9205
9206         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9207         gets updated whenever the face might have changed.
9208
9209 2000-03-26  Mike Alexander  <mta@arbortext.com>
9210
9211         * dumper.c (pdump_resource_free): Fix the comment.
9212
9213 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9214
9215         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9216
9217 2000-03-22  Mike Alexander  <mta@arbortext.com>
9218
9219         * dumper.c: Include Windows headers on Windows
9220         (pdump_resource_free): Add a body to the function
9221         (pdump_load): exe_name -> exe_path and add some comments.
9222
9223 2000-03-25  Mike Alexander  <mta@arbortext.com>
9224
9225         * gui.c (copy_gui_item_tree): Return a value in all cases
9226
9227 2000-03-21  Didier Verna  <didier@xemacs.org>
9228
9229         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9230         lwlib/config.h.in.
9231         (SMART_INCLUDE): new macro.
9232         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9233         the proper location.
9234
9235         * postgresql.c: use it.
9236
9237         * inline.c: ditto.
9238
9239 2000-03-24  Andy Piper  <andy@xemacs.org>
9240
9241         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9242         do this.
9243
9244 2000-03-24  Andy Piper  <andy@xemacs.org>
9245
9246         * redisplay-output.c (compare_runes): use image_instance_changed
9247         to detect changes. Do not depend on glyphs_changed, only depend on
9248         dirtiness.
9249          (redisplay_output_layout): add debug messages.
9250         (compare_runes): ditto.
9251
9252         * glyphs.h: declare new functions.
9253         (struct Lisp_Image_Instance): remove percent and associated
9254         accessors.
9255
9256         * gui.h: declare new copying functions.
9257
9258         * gui.c (copy_gui_item_tree): new function.
9259         (copy_gui_item): new function.
9260         (gui_item_id_hash): revert to standard hash.
9261         (gui_item_hash): ditto.
9262         (gui_item_hash_internal): deleted.
9263         (mark_gui_item): mark value.
9264         (gui_item_add_keyval_pair): add value.
9265         (gui_item_init): ditto.
9266         (gui_add_item_keywords_to_plist): ditto.
9267         (gui_item_equal): ditto.
9268         (syms_of_gui): add Q_value.
9269
9270         * glyphs-x.c (x_progress_gauge_update): use pending items and
9271         value for setting the state.
9272         (x_update_widget): don't set items from pending here.
9273
9274         * glyphs-widget.c (update_widget): update items here.
9275         (progress_gauge_set_property): use items for storing value. Put
9276         new value in pending items.
9277
9278         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9279         items for new value. Convert percent -> value.
9280         (mswindows_tab_control_update): don't update items here.
9281
9282         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9283         (update_subwindow): ditto.
9284         (image_instance_changed): new function. Compare hash values and
9285         past and present widget items.
9286         (image_instantiate): We more careful about where we instantiate
9287         things.
9288         (image_instantiate): add error checking.
9289
9290         * gutter.c (syms_of_gutter): use -hook.
9291
9292 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9293
9294         * console-tty.c (Fset_console_tty_input_coding_system): Use
9295         Qkeyboard.
9296         (Fset_console_tty_output_coding_system): Use Qterminal.
9297         (tty_init_console): Use Qkeyboard and Qterminal.
9298
9299 2000-03-21  Ben Wing  <ben@xemacs.org>
9300
9301         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9302         From Mike Alexander <mta@arbortext.com>.
9303
9304 2000-03-21  Ben Wing  <ben@xemacs.org>
9305
9306         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9307         process brokenness.  Proper implementation to come.
9308         * callproc.c:
9309         Rename call-process-internal to old-call-process-internal.
9310         New impl. in process.el.
9311
9312 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9313
9314         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9315
9316 2000-03-20  Andy Piper  <andy@xemacs.org>
9317
9318         * glyphs.c (full_list_hash): make hashes of the same elements in
9319         different orders return different values.
9320
9321 2000-03-20  Martin Buchholz <martin@xemacs.org>
9322
9323         * XEmacs 21.2.32 is released.
9324
9325 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9326
9327         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9328         (DFC_MALLOC_USE_CONVERTED_DATA):
9329         Add aliasing-safe casts to allow use with char* or unsigned char*
9330         lvalues.
9331
9332         * eldap.c (Fldap_open):
9333         (Fldap_search_basic):
9334         (Fldap_add):
9335         (Fldap_modify):
9336         Make C++-compilable.
9337         Make sure GCPRO'ed variables are initialized.
9338         Use temp variables to avoid repeated calls to Flength.
9339
9340 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9341
9342         * sysfile.h:
9343         Make sure PATH_MAX is always defined.
9344         Include limits.h for PATH_MAX.
9345         Deprecate use of MAXPATHLEN.
9346
9347 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9348
9349         * emacs.c: Add reinit_vars_of_fileio.
9350         * symsinit.h: Add reinit_vars_of_fileio.
9351         * fileio.c (reinit_vars_of_fileio): New.
9352         * fileio.c (Fmake_temp_name):
9353         Initialize temp_name random number from microseconds to make
9354         collisions even less likely.  Initialize always at process startup
9355         time.  (make-temp-name) used to return the same file name twice in
9356         a row when PDUMP.
9357         Random stylistic fiddling.
9358         Comment fixes.
9359
9360 2000-03-20  Andy Piper  <andy@xemacs.org>
9361
9362         * glyphs.c (image_instantiate): allow text glyphs to be
9363         instantiated in the minibuffer window.
9364
9365 2000-03-19  Andy Piper  <andy@xemacs.org>
9366
9367         * glyphs.c (image_instance_hash): be careful about which items we
9368         hash on.
9369
9370         * glyphs-widget.c (tab_control_set_property): record into pending
9371         items rather than the actual items.
9372
9373         * glyphs-x.c (x_update_widget): use pending items to update with.
9374
9375         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9376         to update with.
9377
9378         * glyphs.c (mark_image_instance): mark pending items.
9379
9380         * window.c (Fset_window_configuration): record the buffer.
9381         (Fselect_window): totally revert previous change which breaks many
9382         things.
9383
9384 2000-03-18  Andy Piper  <andy@xemacs.org>
9385
9386         * glyphs-msw.c (mswindows_tab_control_update): force selected
9387         item.
9388
9389         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9390         window domain cache, otherwise we get inconsistencies at
9391         startup. There is something fishy at startup which can lead to the
9392         minibuffer being the selected window when the gutter content is
9393         instantiated.
9394
9395         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9396         gcpros.
9397         (parse_gui_item_tree_children): ditto.
9398         (parse_gui_item_tree_item): ditto.
9399
9400         * glyphs.c (Fupdate_widget_instances): return something.
9401
9402 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9403
9404         * window.c (Fselect_window): Undo 2000-03-17 change.
9405
9406 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9407
9408         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9409         against v7.0 libraries.  Insta-coredump city until the postgres
9410         folks fix it.
9411
9412 2000-03-17  Andy Piper  <andy@xemacs.org>
9413
9414         * faces.c (complex_vars_of_faces): don't give the widget face an
9415         inherited background pixmap.
9416
9417         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9418         selected item.
9419
9420         * event-stream.c (Fdispatch_non_command_events): return something.
9421
9422         * gutter.c (output_gutter): use widget face.
9423         (clear_gutter): ditto.
9424
9425         * NEWS: adjust again.
9426
9427         * window.c (Fselect_window): make sure this runs to completion to
9428         avoid oddities with Fset_window_configuration.
9429         (Fcurrent_window_configuration): in general do not save the
9430         minibuffer as the selected window.
9431
9432         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9433
9434 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9435
9436         * emacs.c (Frunning_temacs_p): Revert previous patch.
9437         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9438
9439 2000-03-16  Andy Piper  <andy@xemacs.org>
9440
9441         * glyphs-x.c (x_tab_control_update): if no widget values then
9442         return.
9443
9444         * NEWS: update for new features.
9445
9446         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9447         synthetic event to the native system.
9448         (reinit_vars_of_event_Xt): set force_event_pending to
9449         emacs_Xt_force_event_pending.
9450
9451         * events.h (struct event_stream): add force_event_pending.
9452
9453         * specifier.c (recompute_one_cached_specifier_in_window): add
9454         comment.
9455
9456         * redisplay.c (redisplay_frame): don't call
9457         update_frame_subwindows. Reset subwindow cachels when
9458         subwindows_changed, removing this was an optimization too far.
9459
9460         * redisplay-output.c (compare_runes): reorganize so that we catch
9461         glyph changes when we want them. Set optimize_output when this
9462         would help layouts.
9463         (redisplay_output_layout): remove frame_really_changed, use
9464         optimize_output instead.
9465
9466         * redisplay-msw.c (mswindows_output_display_block): reset
9467         optimize_output after outputting a glyph.
9468         * redisplay-x.c (x_output_display_block): ditto.
9469         * redisplay-tty.c (tty_output_display_block): ditto.
9470
9471         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9472         functions.
9473         (gutter_specs_changed): do specific gutter positions.
9474         (top_gutter_specs_changed): new function. Only update the
9475         specified gutter specs.
9476         (bottom_gutter_specs_changed): ditto.
9477         (left_gutter_specs_changed): ditto.
9478         (right_gutter_specs_changed): ditto.
9479
9480         * gui.c (gui_item_hash_internal): new function, does a real hash.
9481         (gui_item_id_hash): use it.
9482         (gui_item_hash): hash the eval'ed gui_item.
9483
9484         * gui-x.c (popup_selection_callback): send an eval event to call
9485         Fupdate_widget_instances.
9486
9487         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9488         to call Fupdate_widget_instances.
9489
9490         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9491         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9492
9493         * glyphs.c: (update_frame_subwindows): deleted.
9494         (Fupdate_widget_instances): new function for updating the dirty
9495         state of widgets that might have changed.
9496         (syms_of_glyphs): add Qupdate_widget_instances.
9497         (full_list_hash): hash a list completely.
9498         (image_instance_hash): use it for items and properties.
9499
9500         * frame-msw.c (mswindows_size_frame_internal): remove unused
9501         variable.
9502
9503         * faces.h (struct face_cachel): fix comment.
9504
9505         * event-stream.c (Fdispatch_non_command_events): new
9506         function. Process non-command events, forcing an event cycle
9507         beforehand.
9508         (syms_of_event_stream): declare.
9509         (event_stream_force_event_pending): new function. Force an event
9510         on the native event queue so that an event cycle will occur next
9511         time we check.
9512
9513         * event-msw.c:
9514         (struct ntpipe_shove_stream):
9515         (mswindows_enqueue_dispatch_event):
9516         (mswindows_dequeue_dispatch_event):
9517         (mswindows_cancel_dispatch_event):
9518         (mswindows_pump_outstanding_events):
9519         (mswindows_drain_windows_queue):
9520         (mswindows_handle_paint):
9521         (mswindows_wnd_proc):
9522         (mswindows_key_to_emacs_keysym):
9523         (get_process_input_waitable):
9524         (emacs_mswindows_delete_stream_pair): re-indent file.
9525         (mswindows_need_event): do not process further fds if the windows
9526         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9527         fixes the 100% cpu problem.
9528         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9529
9530 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9531
9532         * alloc.h: New.
9533         * dumper.h: New.
9534         * dumper.c: New.
9535
9536         * emacs.c: Moved dump file searching to dumper.c.
9537         (Frunning_temacs_p): Fixed.
9538
9539         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9540         last_lrecord_type_index_assigned.
9541
9542 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9543
9544         * symsinit.h: Added reinit parameter to init_console_stream
9545         declaration.
9546
9547         * lisp.h: Added file parameter to pdump_load declaration.
9548
9549         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9550         support.  Added dump file searching.
9551
9552         * config.h.in: Added EMACS_PROGNAME.
9553
9554         * console-stream.c (init_console_stream): Fix reinitialisation
9555         when running from temacs.
9556
9557         * alloc.c (pdump): Add id support.
9558         (pdump_load): Add file parameter and signature/id support.
9559
9560         * Makefile.in.in: Add full pdump support.
9561
9562 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9563
9564         * postgresql.c: Update documentation to reflect latest code
9565         status.
9566         (print_result): Show tuple counts in printed representation when
9567         appropriate.
9568         (Fpq_put_nbytes): MULE-ize.
9569         (Fpq_get_line_async): Ditto.
9570
9571 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9572
9573         * postgresql.c (Fpq_lo_import): Fix return value.
9574         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9575
9576 2000-03-13  Ben Wing  <ben@xemacs.org>
9577
9578         * alloc.c (pdump_load):
9579         Fix compile warning under mswin.
9580
9581 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9582
9583         * postgresql.c: Mule-ization, bug fixes.
9584         Use PG_CODING to encapsulate coding system name changes.
9585         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9586         (pg-coding-system): Create.
9587
9588         (Fpq_conn_defaults): Mule-ize.
9589         (Fpq_connectdb): Mule-ize & bug fix.
9590         (Fpq_connect_start): Mule-ize.
9591         (Fpq_set_client_encoding): Mule-ize.
9592         (Fpq_finish): Document `DEAD' connection status.
9593         (Fpq_clear): Ditto.
9594         (Fpq_pgconn): Mule-ize.
9595         (Fpq_exec): Mule-ize & bug fix.
9596         (Fpq_send_query): Ditto.
9597         (Fpq_get_result): Ditto.
9598         (Fpq_res_status): Mule-ize.
9599         (Fpq_result_error_message): Mule-ize.
9600         (Fpq_ntuples): fix comments.
9601         (Fpq_fname): Mule-ize.
9602         (Fpq_fnumber): Mule-ize.
9603         (Fpq_ftype): fix comments.
9604         (Fpq_get_value): Mule-ize.
9605         (Fpq_cmd_status): Ditto.
9606         (Fpq_cmd_tuples): Ditto.
9607         (Fpq_oid_value): Ditto.
9608         (Fpq_notifies): Ditto.
9609         (Fpq_lo_import): Ditto.
9610         (Fpq_lo_export): Ditto.
9611         (Fpq_get_line): Ditto.
9612         (Fpq_put_line): Mule-ize and bug fix.
9613         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9614
9615 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9616
9617         * postgresql.c (vars_of_postgresql): Mule-ize.
9618         (Fpq_conn_defaults): Ditto.
9619
9620 2000-03-12  Ben Wing  <ben@xemacs.org>
9621
9622         * alloc.c (Fmake_byte_code):
9623         * alloc.c (debug_string_purity_print):
9624         * alloc.c (pdump_backtrace):
9625         * alloc.c (pdump_get_indirect_count):
9626         * alloc.c (pdump_register_sub):
9627         * alloc.c (pdump_register_object):
9628         * alloc.c (pdump_register_struct):
9629         * alloc.c (pdump_dump_data):
9630         * alloc.c (pdump_reloc_one):
9631         Minor cleanups.
9632
9633         * console-msw.c:
9634         * console-msw.c (GetConsoleHwnd):
9635         * console-msw.c (msw_hide_console):
9636         * console-msw.c (msw_show_console):
9637         * console-msw.c (msw_ensure_console_buffered):
9638         * console-msw.c (msw_output_console_string):
9639         * console-msw.c (console_type_create_mswindows):
9640
9641         a) Added functions to manipulate the console window for use with
9642         shell support.
9643
9644         b) Added support for writing text to the console, which is now
9645         used under Windows when xemacs is not being run non-interactively,
9646         to write text that would otherwise be destined for stdout because
9647         under these circumstances, text written to stdout tends to
9648         disappear and not be seen.
9649
9650         * console-msw.h:
9651         * event-Xt.c:
9652         * event-Xt.c (x_event_to_emacs_event):
9653         * event-Xt.c (describe_event_window):
9654         * events-mod.h (XEMACS_MOD_CONTROL):
9655         * events.c:
9656         * events.c (Fmake_event):
9657         * events.c (character_to_event):
9658         * events.c (event_to_character):
9659         * events.c (format_event_object):
9660         * events.c (Fevent_modifiers):
9661         * events.h:
9662         * events.h (struct key_data):
9663         * events.h (struct button_data):
9664         * events.h (struct misc_user_data):
9665         * frame-x.c (Fcde_start_drag_internal):
9666         * frame-x.c (Foffix_start_drag_internal):
9667         * gpmevent.c (Freceive_gpm_event):
9668         * keymap.c:
9669         * keymap.c (bucky_sym_to_bucky_bit):
9670         * keymap.c (control_meta_superify):
9671         * keymap.c (make_key_description):
9672         * keymap.c (keymap_lookup_directly):
9673         * keymap.c (create_bucky_submap):
9674         * keymap.c (keymap_store):
9675         * keymap.c (define_key_check_and_coerce_keysym):
9676         * keymap.c (define_key_parser):
9677         * keymap.c (define_key_alternate_name):
9678         * keymap.c (Fdefine_key):
9679         * keymap.c (raw_lookup_key_mapper):
9680         * keymap.c (struct map_keymap_unsorted_closure):
9681         * keymap.c (map_keymap_unsorted_mapper):
9682         * keymap.c (map_keymap_sort_predicate):
9683         * keymap.c (map_keymap_sorted):
9684         * keymap.c (accessible_keymaps_mapper_1):
9685         * keymap.c (where_is_recursive_mapper):
9686         * keymap.c (describe_map_mapper):
9687         * keymap.c (describe_map_sort_predicate):
9688         * keymap.c (describe_map):
9689         * keymap.c (complex_vars_of_keymap):
9690         And a number of other files, the key modifier preprocessor
9691         constants that xemacs uses have names that conflict with constants
9692         defined under MS Windows for other purposes, so they were renamed
9693         to begin with the prefix XEMACS_. The variables that hold such
9694         modifiers were changed to consistently be of type int to fix
9695         various compile warnings.
9696
9697         * console.c (complex_vars_of_console):
9698         * device.c:
9699         * device-msw.c:
9700         * device-msw.c (mswindows_finish_init_device):
9701         * device-msw.c (msw_get_workspace_coords):
9702         * device-msw.c (mswindows_device_system_metrics):
9703         and various other files, added support for a new
9704         device property called offset-workspace which returns the position
9705         of the upper left corner of the workspace area and goes along with
9706         the existing size-workspace property.
9707
9708         * dialog-msw.c:
9709         * dialog-msw.c (push_bufbyte_string_as_unicode):
9710         * dialog-msw.c (mswindows_popup_dialog_box):
9711         Added support for XEmacs-style accelerator specifications in
9712         button text.  Note: I didn't add support for this under X Windows,
9713         and somebody needs to do this.
9714
9715         * dialog.c:
9716         * dialog.c (Fpopup_dialog_box):
9717         Documented the support for accelerators that was just mentioned.
9718
9719         editfns.c (get_home_directory): Changed behavior under Windows
9720         when HOME not defined; former behavior was irretrievably broken.
9721
9722         * emacs.c:
9723         * emacs.c (main_1):
9724         * emacs.c (main):
9725         * minibuf.c (clear_echo_area_internal):
9726         * minibuf.c (echo_area_append):
9727         * print.c:
9728         * print.c (std_handle_out_external):
9729         * print.c (std_handle_out_va):
9730         * print.c (fatal):
9731         * print.c (write_string_to_stdio_stream):
9732         * print.c (output_string):
9733         * print.c (debug_print):
9734         * print.c (debug_backtrace):
9735         * print.c (debug_short_backtrace):
9736         Cleaned up the code that prints text to stdout so that this can be
9737         changed to output into a console window instead under MS Windows,
9738         as described above.
9739
9740         * eval.c:
9741         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9742         * eval.c (internal_catch):
9743         * eval.c (unwind_to_catch):
9744         * eval.c (throw_or_bomb_out):
9745         * eval.c (condition_case_1):
9746         * eval.c (signal_1):
9747         * eval.c (check_error_state_sanity):
9748         * eval.c (call_with_suspended_errors_1):
9749         * eval.c (call_with_suspended_errors):
9750         * eval.c (reinit_vars_of_eval):
9751         Added code to catch throw loops and check for a pesky bug that may
9752         be gone now.
9753
9754         * event-msw.c:
9755         * event-msw.c (key_needs_default_processing_p):
9756         * event-msw.c (mswindows_wnd_proc):
9757         * event-msw.c (mswindows_modifier_state):
9758         * event-msw.c (emacs_mswindows_quit_p):
9759         * event-msw.c (vars_of_event_mswindows):
9760         a) Added support for using the alt key to select menu items as is
9761         standard under MS Windows.  This is controlled using the variable
9762         menu-accelerator-enabled, just like under X Windows.  There is an
9763         option on the options menu to turn this support on.  I really
9764         think that it should be on by default under Windows, but I'm not
9765         going to make this change yet.
9766
9767         b)  Added support for dynamic display size changes under Windows.
9768
9769         * event-stream.c:
9770         * event-stream.c (maybe_echo_keys):
9771         * event-stream.c (Fnext_event):
9772         * event-stream.c (command_builder_find_leaf):
9773         * event-stream.c (lookup_command_event):
9774         * event-stream.c (execute_command_event):
9775         * event-stream.c (pre_command_hook):
9776         * event-stream.c (post_command_hook):
9777         * event-stream.c (syms_of_event_stream):
9778         * event-stream.c (vars_of_event_stream):
9779         * event-stream.c (complex_vars_of_event_stream):
9780         * events.h (struct command_builder):
9781
9782         a) Tried to clean up a little bit the horribly written x-specific
9783         accelerator code that crept into this file.  I moved this code
9784         into menubar-x.c where it belongs. I also needed to move the
9785         command builder structure into the file events.h because it is
9786         accessed directly by this accelerator code.  What I didn't do, but
9787         which should be done at some point, is to properly abstract this
9788         code using device methods instead of the kludgy way that it
9789         currently hooks into the event code.
9790
9791         b) Added the lisp variables this-command-properties and
9792         last-command- properties, which should be used to synchronize two
9793         adjacent commands in preference to playing games with the variable
9794         this-command, which is typically what happens.
9795
9796         c) Added some slightly nasty code to hook into the lisp support
9797         for shifted- motion-key selection.  This is actually necessary for
9798         somewhat complicated reasons, which are described in
9799         simple.el. (NB: I think the proper thing would be to have the code
9800         that calls the pre and post command hooks also call out to generic
9801         lisp functions in simple.el, where all built-in stuff could be
9802         added.  I will think about this more.)
9803
9804         * event-unixoid.c (poll_fds_for_input):
9805         * lread.c (readchar):
9806         * redisplay-tty.c (tty_clear_frame):
9807         * redisplay-x.c (x_get_gc):
9808         * signal.c (interrupt_signal):
9809         And a whole bunch of other files: fixed up places that printed
9810         directly to stderr to instead call the function stderr_out so that
9811         the changes I made under Windows work correctly.
9812
9813         * filemode.c (mode_string):
9814         Warning fixes.
9815
9816         * frame-msw.c:
9817         * frame-msw.c (mswindows_size_frame_internal):
9818         Fixed the computation of frame size and position to keep the frame
9819         within the workspace area, rather than within the physical
9820         dimensions of the screen, so that the frame doesn't overlap window
9821         manager decorations, such as the start menu and toolbar, typically
9822         at the bottom of the screen.
9823
9824         * frame.c (vars_of_frame):
9825         Changed the default frame title format under MS Windows to consist
9826         of buffername-XEmacs, which is standard under MS Windows.  I think
9827         it might be a good idea to change this everywhere because I think
9828         it is superior to the current frame title format, but this is the
9829         kind of change that is likely to cause some people to get annoyed,
9830         so I'm not making it.
9831
9832         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9833
9834         * gui-msw.c (mswindows_handle_gui_wm_command):
9835         Fixed compile warnings.
9836
9837         * gui-x.c:
9838         * gui-x.c (strdup_and_add_accel):
9839         * gui-x.c (button_item_to_widget_value):
9840         * gui-x.h:
9841         Added code to automatically put an accelerator onto the beginning
9842         of menu items that don't have one as is now the standard, and is
9843         described more later.  Also fixed things so that the menu item
9844         name can be an evaluated expression, again a new standard.
9845
9846         * gui.c:
9847         * gui.c (gui_item_add_keyval_pair):
9848         * gui.c (make_gui_item_from_keywords_internal):
9849         * gui.c (gui_add_item_keywords_to_plist):
9850         * gui.c (gui_item_accelerator):
9851         * gui.c (gui_name_accelerator):
9852         * gui.c (gui_item_included_p):
9853         * gui.c (gui_item_display_flush_left):
9854         * gui.c (gui_item_display_flush_right):
9855         * gui.c (parse_gui_item_tree_item):
9856         * gui.c (parse_gui_item_tree_children):
9857         * gui.c (parse_gui_item_tree_list):
9858         Mule-ized.  Cleanup.  GCPRO addition.
9859
9860         * line-number.c (buffer_line_number):
9861         * lisp.h:
9862         * lisp.h (EMACS_INT_MAX):
9863         Added the manifest constant EMACS_INT_MIN corresponding to the
9864         existing constant EMACS_INT_MAX.  This is partially to fix compile
9865         warnings under Windows, and partly for cleanliness.
9866
9867         * menubar-msw.c:
9868         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9869         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9870         * menubar-msw.c (displayable_menu_item):
9871         * menubar-msw.c (populate_menu_add_item):
9872         * menubar-msw.c (populate_or_checksum_helper):
9873         * menubar-msw.c (populate_menu):
9874         * menubar-msw.c (update_frame_menubar_maybe):
9875         * menubar-msw.c (prune_menubar):
9876         * menubar-msw.c (msw_char_is_accelerator):
9877         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9878         * menubar-msw.c (mswindows_handle_wm_command):
9879         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9880         * menubar-msw.c (mswindows_handle_wm_initmenu):
9881         * menubar-msw.c (mswindows_update_frame_menubars):
9882         * menubar-msw.c (mswindows_free_frame_menubars):
9883         * menubar-msw.c (mswindows_popup_menu):
9884         Fixed a bug in handling accelerators where an extra character
9885         would be displayed in the menu item.  Also generalized the
9886         function displayable_menu_item because it is now used by the
9887         dialog box code as well.  And finally, added code in the functions
9888         that create the menubar to extract a list of accelerators for the
9889         top level menubar, which is used in the event code to determine
9890         whether a particular alt-key combination should be used to invoke
9891         a menu item, or should be passed through to access the standard
9892         XEmacs keymap binding for this key combination.
9893
9894         Much needed GCPROing.
9895
9896         * menubar-x.c:
9897         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9898         * menubar-x.c (menu_item_descriptor_to_widget_value):
9899         * menubar-x.c (restore_in_menu_callback):
9900         * menubar-x.c (x_popup_menu):
9901         * menubar-x.c (menu_move_up):
9902         * menubar-x.c (menu_move_down):
9903         * menubar-x.c (menu_move_left):
9904         * menubar-x.c (menu_move_right):
9905         * menubar-x.c (menu_select_item):
9906         * menubar-x.c (command_builder_operate_menu_accelerator):
9907         * menubar-x.c (menu_accelerator_junk_on_error):
9908         * menubar-x.c (command_builder_find_menu_accelerator):
9909         * menubar-x.c (Faccelerate_menu):
9910         * menubar.h:
9911         Moved a whole bunch of code here that was previously in
9912         event-stream.c as described above.  There is also code connected
9913         to the new standard of adding an accelerator to the beginning of
9914         menu items that don't have one as described above and below.
9915
9916         * menubar.c:
9917         * menubar.c (menu_parse_submenu_keywords):
9918         * menubar.c (Fmenu_find_real_submenu):
9919         * menubar.c (Fnormalize_menu_item_name):
9920         * menubar.c (syms_of_menubar):
9921         * menubar.c (vars_of_menubar):
9922         * menubar.c (complex_vars_of_menubar):
9923
9924         a) Cleaned up a bunch of documentation and improved it.
9925
9926         b) XEmacs now automatically adds an accelerator onto the beginning
9927         of any menu items that don't have one.  I did this because there
9928         will inevitably be some menu items on the main menubar that don't
9929         have accelerators on them because the package that adds that
9930         particular menu item hasn't yet been fixed up to have accelerators
9931         in them and it looked rather strange to have some items with and
9932         some items without accelerators, especially since even in items
9933         without accelerators, you can, at least under windows, still
9934         access the item through an accelerator corresponding to the first
9935         character in the item's name.  If people don't like this behavior,
9936         I can add a variable to turn it off optionally, but I'm not sure
9937         this is a good idea because we really do need to have accelerators
9938         on all of the menu items, and if a package doesn't like the
9939         accelerators being put on the first character, then it should put
9940         the accelerators where they belong.
9941
9942         c) I made a behavior change, which is that the descriptor that
9943         specifies the text of the menu item, which formerly was just a
9944         string, can now also be an evaluated expression.  This makes this
9945         descriptor parallel with all of the others, which could also be
9946         evaluated expressions.  This also obviates the need for the
9947         keyword :label, which was previously listed in the documentation
9948         as unimplemented, and which was for the same purpose.
9949
9950         d) GCPROing.
9951
9952         * ntproc.c:
9953         * ntproc.c (new_child):
9954         * ntproc.c (sys_spawnve):
9955         * ntproc.c (find_child_console):
9956         * ntproc.c (sys_kill):
9957         Fixed compile warnings.  By the way, this file should really go
9958         away entirely, and this will happen as soon as Kirill makes his
9959         final round of process cleanups, which affect the function
9960         call-process.
9961
9962         * process-nt.c:
9963         * process-nt.c (struct nt_process_data):
9964         * process-nt.c (find_process_from_pid):
9965         * process-nt.c (send_signal_the_nt_way):
9966         * process-nt.c (enable_child_signals):
9967         * process-nt.c (find_child_console):
9968         * process-nt.c (send_signal_the_95_way):
9969         * process-nt.c (nt_finalize_process_data):
9970         * process-nt.c (ensure_console_window_exists):
9971         * process-nt.c (nt_create_process):
9972         * process-nt.c (nt_kill_child_process):
9973         * process-nt.c (nt_kill_process_by_pid):
9974         * process-nt.c (nt_open_network_stream):
9975         * process-nt.c (vars_of_process_nt):
9976         Copied over code from Emacs 20.5 to correctly send signals to sub-
9977         processes under Windows 95.  Also added code to automatically
9978         create and hide console window when a sub-process is created under
9979         Windows 95, which obviates the need for the separate runemacs.exe
9980         executable, and finally implemented some variables that were
9981         implemented in Emacs 20.5, but previously not in XEmacs.  These
9982         include mswindows- start-process-share-console and
9983         mswindows-start-process-inherit-error-mode. (Both of these only
9984         apply to Windows 95.)
9985
9986         * regex.c (regex_compile): Fixed a compile warning.
9987
9988         * select-msw.c:
9989         * select-msw.c (mswindows_own_selection):
9990         * select-msw.c (mswindows_get_foreign_selection):
9991         * select-msw.c (mswindows_disown_selection):
9992         * select-msw.c (console_type_create_select_mswindows):
9993         * select-msw.c (syms_of_select_mswindows):
9994         Cleaned up the file and implemented the device method
9995         selection_exists_p, which had accidentally been left out.  Also
9996         removed four lisp functions that were remnants from before the
9997         time when the selection code was properly device abstracted.
9998         These functions are no longer needed because there are generic
9999         equivalents, and because they were added recently and don't exist
10000         in FSF Emacs, I don't think there's any problem with just deleting
10001         them.
10002
10003         * sysdep.c:
10004         * sysdep.c (sys_subshell):
10005         Fixed a compile warning, although in this case there's probably
10006         something wrong with this code, and it ought to be looked into
10007         more thoroughly by somebody who understands it.
10008
10009         * window.c:
10010         * window.c (Fwindow_text_area_height):
10011         * window.c (Fwindow_width):
10012         * window.c (Fwindow_full_width):
10013         * window.c (Fwindow_pixel_width):
10014         * window.c (debug_print_window):
10015         * window.c (syms_of_window):
10016         Added functions window-text-area-height and window-full-width,
10017         which are functions for returning various width and height
10018         characteristics of a window. (One of these functions is necessary
10019         for making the file dialog box work correctly, and the other one
10020         was added for completeness.)  Also added a table to the
10021         documentation for window-height which describes the entire scheme
10022         for accessing width and height characteristics of a window.
10023
10024 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10025
10026         * nt.c (fstat): Added a comment for another problem with
10027         non-encapsulated [f]stat(), reported by Adrian Aichner
10028         <aichner@ecf.teradyne.com>.
10029
10030 2000-03-11  Andy Piper  <andy@xemacs.org>
10031
10032         * window.c (make_dummy_parent): initialize subwindow instance
10033         cache.
10034         (Fset_window_configuration): zero extent_modiff.
10035
10036 2000-03-10  Andy Piper  <andy@xemacs.org>
10037
10038         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10039         more changes can be triggered.
10040         (Fredisplay_frame): ditto.
10041         (Fredraw_device): ditto.
10042         (Fredisplay_device): ditto.
10043         (redisplay_frame): make non-static.
10044         (redisplay_frame): call update_frame_gutter_geometry outside of
10045         display proper.
10046
10047         * gutter.h: declare update_frame_gutter_geometry.
10048
10049         * redisplay.h: declare redisplay_frame.
10050
10051         * gutter.c (update_frame_gutter_geometry): move geometry changes
10052         in update_frame_gutters here. Geometry changes can only occur
10053         outside of redisplay.
10054         (update_frame_gutters): remove geometry change code.
10055         (Fredisplay_gutter_area): make sure that we are in display when we
10056         update and that we have flushed any size changes.
10057
10058 2000-03-11  Andy Piper  <andy@xemacs.org>
10059
10060         * alloc.c (pdump_dump_data): remove i & count shadows.
10061
10062 2000-02-27  Mike Alexander  <mta@arbortext.com>
10063
10064         * sysdep.h: Declare pdump_read_file
10065
10066         * sysdep.c (pdump_read_file): New function
10067
10068         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10069         dump data
10070
10071 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10072
10073         * lrecord.h: add `lrecord_type_pgsetenv'.
10074
10075 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10076
10077         * symsinit.h: declare (vars|syms)_of* functions.
10078         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10079
10080 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10081
10082         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10083
10084         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10085         GCCs.
10086
10087         * emacs.c (main_1): Call postgres initialization code.
10088
10089         * postgresql.h: New file.  PostgreSQL RDBMS support.
10090         * postgresql.c: New file.
10091
10092 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10093
10094         * redisplay-output.c (redisplay_output_display_block): Disable
10095         redundant code.
10096
10097 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10098
10099         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10100         (Fcanna_henkan_next): Ditto.
10101         (Fcanna_bunsetu_henkou): Ditto.
10102         (Fcanna_henkan_kakutei): Ditto.
10103         (Fcanna_henkan_end): Ditto.
10104         (Fcanna_henkan_quit): Ditto.
10105         (Fcanna_henkan_next): Set retun value correctly.
10106         (c2mu): Use unsigned char instead of signed char.
10107
10108 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10109
10110         * emacs.c (main_1): Always call syms_of_gui.
10111         * inline.c: include gui.h
10112
10113 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10114
10115         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10116         converted to Lisp_Object.
10117         (Qtop_bottom): New variable.
10118         (syms_of_redisplay): Initialize it.
10119         * redisplay.h (Vvisible_bell): Ditto.
10120         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10121         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10122         only flash top and bottom.
10123
10124 2000-03-08  Andy Piper  <andy@xemacs.org>
10125
10126         * buffer.c (Frename_buffer): record new buffer name the right way.
10127
10128 2000-03-08  Andy Piper  <andy@xemacs.org>
10129
10130         * glyphs.c (update_subwindow): increase hash depth so that widget
10131         items get picked up properly.
10132
10133         * redisplay-output.c (compare_runes): increase hash depth so that
10134         widget items get picked up properly.
10135
10136 2000-03-08  Andy Piper  <andy@xemacs.org>
10137
10138         * gutter.c (output_gutter): add some debug.
10139
10140         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10141         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10142         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10143
10144         * redisplay-output.c (compare_runes): use display_hash to
10145         determine if glyphs really are not the same.
10146
10147         * glyphs.c (update_subwindow): check display_hash to see if
10148         anything really needs to be updated. If not then do
10149         nothing. Record the display_hash after updating.
10150         (image_instance_equal): compare the image_instance face also.
10151
10152 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10153
10154         * redisplay.h: Fix comment style.
10155
10156 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10157
10158         * consle-msw.h (struct mswindows_frame):
10159         Added new member paint_pending to indicate whether a WM_PAINT
10160         magic event has been queued for this frame.
10161
10162         * event-msw.c (mswindows_drain_windows_queue):
10163         Don't queue a WM_PAINT magic event if one is already queued.
10164         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10165
10166         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10167
10168 2000-03-07  Didier Verna  <didier@xemacs.org>
10169
10170         * dired.c: #include `regex.h' after `sysfile.h'.
10171
10172 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10173
10174         * sound.c (init_nas_sound): Fix compiler warning.
10175
10176         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10177         (FREE_STRUCT_P):
10178         (MARK_STRUCT_AS_FREE):
10179         (MARK_STRUCT_AS_NOT_FREE):
10180         Make `gcc -fstrict-aliasing' work properly.
10181
10182 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10183
10184         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10185         (mswindows_delete_device): Call CoUnnitialize().
10186
10187         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10188
10189 2000-02-25    <CraigL@DyCon.com>
10190
10191         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10192         <errno.h>.
10193
10194         * sysdep.c: This extern declaration for environ prevents MinGW
10195         from finding the variable in CRTDLL.DLL.
10196
10197         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10198         windows headers.
10199         (SHGFI_EXETYPE): ..
10200         (WM_MOUSEWHEEL): ..
10201         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10202         definitions.
10203         (MMRESULT): Removed, now defined in cygwin's windows headers.
10204         (TIMECAPS): ..
10205         (uid_t,gid_t,pid_t,ssize_t): ..
10206         (_timeb): Removed, MinGW defines both _timeb and timeb.
10207         (HAVE_H_ERRNO): Added.
10208         (HAVE_TZNAME): Added, configure is not detecting this.
10209
10210 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10211
10212         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10213         * syntax.c (syntax_match): Use it.
10214
10215         * cmds.c: Import auto-fill-chars from FSF Emacs.
10216         (Vauto_fill_chars): New variables.
10217         (internal_self_insert): Check Vauto_fill_chars.
10218         (vars_of_cmds):
10219         Declare auto-fill-chars as a Lisp variable and initialize it.
10220
10221 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10222
10223         * fileio.c (Fmake_symbolic_link):
10224         (Ffile_symlink_p):
10225         Run handlers even if local machine doesn't have symlinks.
10226
10227 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10228
10229         * event-msw.c (mswindows_drain_windows_queue):
10230         Don't generate paint magic events for non-XEmacs frames.
10231
10232 2000-03-05  Andy Piper  <andy@xemacs.org>
10233
10234         * redisplay.c (redisplay_frame): generate_displayable_area and
10235         friends assumes that we are not in GC, we therefore have to make
10236         sure that this doesn't happen.
10237
10238         * gutter.c (calculate_gutter_size): generate_displayable_area
10239         assumes that we are not in GC, we therefore have to make sure that
10240         this doesn't happen.
10241
10242 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10243
10244         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10245
10246 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10247
10248         * redisplay.c (regenerate_window): Make sure we set a sane value
10249         for end_pos even if we jump out of the loop.
10250         (regenerate_window): Answer Ben's question :-).
10251         (start_end_of_last_line): Add may_error argument.
10252         (start_of_last_line):
10253         (end_of_last_line): Pass may_error = 0.
10254         (end_of_last_line_may_error): New function.
10255         (pixel_to_glyph_translation): Use it, so we don't crash in
10256         event_to_glyph.
10257
10258 2000-03-04  Andy Piper  <andy@xemacs.org>
10259
10260         * window.h (struct window): add gutter_extent_modiff.
10261
10262         * window.c (allocate_window): zero out gutter_extent_modiff.
10263
10264         * redisplay.h: declare sync_display_line_structs.
10265
10266         * redisplay.c (add_glyph_rune): add a better comment.
10267
10268         * redisplay-output.c (sync_display_line_structs): made non-static.
10269         (compare_runes): remove unneccesary glyph cachel access.
10270
10271         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10272
10273         * gutter.c (output_gutter): don't output the gutter if extent
10274         changes only involve extents in buffers. use 4 sets of display
10275         lines.
10276         (gutter_extent_signal_changed_region_maybe): new function. Mark
10277         extents in gutters as changed.
10278         (update_frame_gutters): use 4 sets of display lines.
10279         (reset_gutter_display_lines): ditto.
10280         (free_frame_gutters): ditto.
10281         (redraw_exposed_gutter): force output of gutters.
10282
10283         * frame.h (struct frame): add 4 sets of gutter display lines.
10284
10285         * extents.c: (extent_changed_for_redisplay): signal changes to
10286         extents in strings in the gutter as well as extents in buffers.
10287
10288 2000-03-02  Andy Piper  <andy@xemacs.org>
10289
10290         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10291
10292         * frame.c (Fmake_frame): make sure the gutters get initialized
10293         after the frame is visible.
10294         (set_frame_selected_window): re-arrange compilation macros a
10295         little.
10296         (change_frame_size_1): mark gutters changed.
10297
10298         * device.c (Fset_device_class): mark gutters changed.
10299
10300 2000-03-01  Andy Piper  <andy@xemacs.org>
10301
10302         * window.c (window_top_frame_gutter_height): deleted.
10303         (window_bottom_frame_gutter_height): ditto.
10304         (window_left_frame_gutter_height): ditto.
10305         (window_right_frame_gutter_height): ditto.
10306         (window_top_gutter_height): don't use them.
10307         (window_bottom_gutter_height): ditto.
10308         (window_left_gutter_width): ditto.
10309         (window_right_gutter_width): ditto.
10310         (Fsplit_window): ditto.
10311         (Fwindow_pixel_edges): don't use border dimensions here.
10312
10313         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10314         (update_scrollbar_instance): ditto.
10315
10316         * redisplay.c (generate_modeline): don't take gutters into account.
10317         (generate_modeline): ditto.
10318         (redisplay_frame): small gutter display optimization.
10319
10320         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10321
10322         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10323         gutters into account.
10324
10325         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10326         for window position and type.
10327
10328         * gutter.c (get_gutter_coords): fix for frame gutters.
10329         (update_frame_gutters): update frame geometry if the gutters have
10330         changed.
10331         (init_frame_gutters): record current gutter geometries.
10332
10333         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10334         var.
10335         (mswindows_widget_instantiate): ditto.
10336
10337         * frame.h (struct frame): add current_gutter_bounds.
10338
10339         * frame.c (change_frame_size_1): position window and minibuffer
10340         appropriately taking into account the frame gutters.
10341
10342         * frame-x.c: (x_initialize_frame_size): take into account the
10343         frame gutters.
10344
10345 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10346
10347         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10348
10349 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10350
10351         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10352
10353 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10354
10355         * file-coding.c (reset_decoding_stream): Clear previous
10356         detection state when autodetect.
10357
10358 2000-02-29  Didier Verna  <didier@xemacs.org>
10359
10360         * extents.c (set_extent_glyph_1): don't require extents to be
10361         attached.
10362
10363 2000-02-27  Andy Piper  <andy@xemacs.org>
10364
10365         * gutter.c (Fset_default_gutter_position): don't default left and
10366         right gutter visibility to t.
10367         (Fset_default_gutter_position): run
10368         default-gutter-position-changed-hook.
10369         (syms_of_gutter): add default-gutter-position-changed-hook.
10370
10371 2000-02-26  Andy Piper  <andy@xemacs.org>
10372
10373         * specifier.c (Fmake_specifier): add gutter references.
10374
10375         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10376
10377         * lisp.h: declare Fvalid_plist_p.
10378
10379         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10380         as changed.
10381         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10382         well as its visibility so that it gets reconstructed.
10383         (construct_window_gutter_spec): new function. Construct a string
10384         to be displayed in the gutter from a plist of strings. Take care
10385         to only use elements that are declared as visible.
10386         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10387         WINDOW_GUTTER.
10388         (gutter_validate): allow plists of strings in the specifier.
10389         (gutter_specs_changed): construct the real_gutter from the gutter
10390         specs using construct_window_gutter_spec.
10391         (gutter_visible_validate): gutter-visible is a new specifier type.
10392         (Fgutter_visible_specifier_p): new function for the new specifier.
10393         (syms_of_gutter): declare gutter-visible and
10394         Fgutter_visible_specifier_p.
10395         (specifier_type_create_gutter): intitalize new gutter-visible
10396         specifier.
10397         (reinit_specifier_type_create_gutter): ditto.
10398         (specifier_vars_of_gutter): use new specifier type for gutter
10399         visibility.
10400         (init_frame_gutters): construct real_gutter correctly.
10401         (Fgutter_specifier_p): beef up documentation.
10402         (Fgutter_size_specifier_p): ditto.
10403
10404         * winslots.h: add real_gutter slots.
10405
10406 2000-02-25  Andy Piper  <andy@xemacs.org>
10407
10408         * device-msw.c: Be kind to older cygwin versions. From Raymond
10409         Toy <toy@rtp.ericsson.se>.
10410
10411         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10412         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10413
10414 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10415
10416         * elhash.c (MARK_OBJ): Practice macro hygiene.
10417
10418 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10419
10420         * miscplay.c: s/__inline__/inline/g;
10421         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10422         (get_device_compdc): INLINE ==> static inline
10423         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10424         find -name '*.h' | \
10425         xargs global-replace \
10426         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10427
10428 2000-02-25  Andy Piper  <andy@xemacs.org>
10429
10430         * window.c (window_top_frame_gutter_height): new function.
10431         (window_top_window_gutter_height): ditto.
10432         (window_top_gutter_height): use them.
10433         (window_bottom_frame_gutter_height): new function.
10434         (window_bottom_window_gutter_height): ditto.
10435         (window_bottom_gutter_height): use them.
10436         (window_left_window_gutter_width): new function.
10437         (window_left_frame_gutter_width): ditto.
10438         (window_left_gutter_width): use them.
10439         (window_right_window_gutter_width): new function.
10440         (window_right_frame_gutter_width): ditto.
10441         (window_right_gutter_width): use them.
10442         (window_pixel_height): new function. calulate window pixel height
10443         with frame gutter involvement.
10444         (Fsplit_window): calculate new sizes taking frame gutters into
10445         account.
10446         (window_char_height_to_pixel_height): don't include frame gutters.
10447         (window_char_height): use window_pixel_height.
10448         (window_pixheight): rename from window_pixel_height.
10449         (change_window_height): use it.
10450         (window_pixel_height_to_char_height): don't include frame gutters.
10451         (window_char_width_to_pixel_width): ditto.
10452
10453 2000-02-25  Andy Piper  <andy@xemacs.org>
10454
10455         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10456         if it is.
10457
10458 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10459
10460         * alloc.c (staticpro):
10461         (staticpro_nodump):
10462         (dumpstruct):
10463         (dumpopaque):
10464         (pdump_wire):
10465         (pdump_wire_list):
10466         (compact_string_chars):
10467         (pdump_dump_wired):
10468         Convert:  if (foo) abort();  ==>  assert (! foo);
10469
10470         * eldap.c (Fldap_search_basic):
10471         (Fldap_add):
10472         (Fldap_modify):
10473         (Fldap_delete):
10474         Fix compiler warnings, and possible crashes if (random) return
10475         value were to be used.
10476
10477 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10478
10479         * device-msw.c: Workaround ResetDC failure.
10480
10481         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10482         applying a devmode.
10483
10484         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10485         (mswindows_text_width): Do not start printer page.
10486
10487         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10488
10489         * glyphs-msw.c: Added image methods to msprinter console and
10490         msprinter-specific image instantiation.
10491
10492 2000-02-20  Mike Alexander  <mta@arbortext.com>
10493
10494         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10495         to avoid crashes when selection-sets-clipboard is on
10496         (mswindows_own_selection): ditto
10497
10498 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10499
10500         * glyphs-msw.c:
10501         * redisplay-msw.c (get_frame_dc):
10502         (get_frame_compdc):
10503         * console-msw.h:
10504         * device-msw.c (mswindows_init_device):
10505         (mswindows_delete_device):
10506         (msprinter_init_device):
10507         (msprinter_delete_device):
10508         * frame-msw.c (mswindows_init_frame_1):
10509         (mswindows_delete_frame):
10510         (msprinter_init_frame_3):
10511         (msprinter_delete_frame): Move compatible DC to device object from
10512         frame object, for both mswindows and msprinter. Only one at a time
10513         is needed, it is a real waste to have one per frame!
10514
10515 2000-02-23  Andy Piper  <andy@xemacs.org>
10516
10517         * glyphs.c: add dynamic width and height elements.
10518         (image_instance_equal): ditto.
10519
10520         * glyphs-widget.c (widget_query_geometry): calculate width and
10521         height dynamically if required.
10522         (initialize_widget_image_instance): initialize dynamic dimensions.
10523         (widget_instantiate): pick-up dynamic dimensions.
10524
10525         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10526         dynamic determination. Add appropriate macros.
10527
10528         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10529         dimensions safe.
10530         (WINDOW_GUTTER_SIZE): ditto.
10531         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10532
10533         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10534         inline.
10535         (get_frame_dc): ditto.
10536
10537         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10538         here.
10539
10540 2000-02-23  Martin Buchholz <martin@xemacs.org>
10541
10542         * XEmacs 21.2.31 is released.
10543
10544 2000-02-22  Ben Wing <ben@xemacs.org>
10545
10546         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10547
10548 2000-02-22  Andy Piper  <andy@xemacs.org>
10549
10550         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10551
10552 2000-02-21  Mike Sperber <mike@xemacs.org>
10553
10554         * .dbxrc:
10555         * .gdbinit:
10556         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10557         variables.
10558
10559 2000-02-21  Mike Sperber <mike@xemacs.org>
10560
10561         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10562
10563 2000-02-21  Martin Buchholz <martin@xemacs.org>
10564
10565         * XEmacs 21.2.30 is released.
10566
10567 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10568
10569         Performance hacking.
10570         * *.c (syms_of_*):
10571         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10572         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10573         * emacs.c (main_1):
10574         * lisp.h (DEFUN):
10575         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10576         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10577         * symeval.h (DEFVAR_SYMVAL_FWD):
10578         * symbols.c (guts_of_unbound_marker):
10579         Make all c_readonly objects also lisp_readonly and marked for life.
10580         * lrecord.h (struct lrecord_implementation):
10581         Document flags better.
10582         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10583         * lrecord.h (DECLARE_LRECORD):
10584         * lrecord.h (XSETRECORD):
10585         * lrecord.h (RECORDP):
10586         * lrecord.h (RECORD_TYPEP):
10587         * lrecord.h (RECORD_MARKER): New.
10588         * lrecord.h (error_check_*):
10589         * lrecord.h (CONCHECK_NONRECORD):
10590         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10591         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10592         * lrecord.h (set_lheader_implementation):
10593         * lrecord.h (enum lrecord_type): New.
10594         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10595         * alloc.c (disksave_object_finalization_1):
10596         * alloc.c (mark_object):
10597         * alloc.c (lrecord_type_index):
10598         * alloc.c (tick_lcrecord_stats):
10599         * alloc.c (Fgarbage_collect):
10600         * alloc.c (init_alloc_once_early):
10601         * alloc.c (pdump_load):
10602         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10603         * alloc.c (lrecord_type_index): Delete.
10604         Make lisp object type indexes be constant.
10605           Makes (byte-compile) 5% faster.
10606         Put all marker functions into their own array.
10607           Makes (garbage-collect) 5% faster.
10608         Optimize SYMBOL_VALUE_MAGIC_P.
10609           Makes (byte-compile) 2-3% faster.
10610         * config.h.in (gc_checking_assert): New.
10611         * alloc.c: Use gc_checking_assert().
10612         * .dbxrc: Make compatible with new object type implementation.
10613         * .gdbinit: Make compatible with new object type implementation.
10614         * alloc.c: Delete all symbols defined only for debugging, such as
10615         Lisp_Type_Vector and lrecord_charset.
10616
10617 2000-02-21  Andy Piper  <andy@xemacs.org>
10618
10619         * gui-msw.c (Fmswindows_shell_execute): fix file location
10620         problems.
10621
10622         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10623         unshowing so that set_window_buffer doesn't undo
10624         kill_buffer_hook's hard work.
10625
10626         * glyphs-widget.c (tab_control_query_geometry): don't count the
10627         first item when calculating geometry.
10628
10629         * glyphs.c (map_subwindow): remove redundant code.
10630         (update_frame_subwindows): be more circumspect about when to
10631         update subwindows.
10632
10633         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10634         when items haven't changed. Update faces if faces have changed as
10635         well as just the widget face.
10636         (x_tab_control_update): Update faces if faces have changed as well
10637         as just the widget face.
10638
10639 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10640
10641         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10642         registration.
10643         (build_syscolor_string): Use mswindows_color_to_string to try to
10644         get a named color.
10645         (mswindows_device_system_metrics): Reverse the foreground and
10646         background colors so that they match the documentation.
10647
10648         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10649         they match the default Windows palette.
10650         (mswindows_color_to_string): New function.
10651
10652 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10653
10654         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10655
10656 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10657
10658         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10659         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10660
10661         * symbols.c (init_symbols_once_early): Removed obsolete
10662         DATA_SEG_BITS related kludge.
10663         (defvar_magic): Ditto.
10664
10665         * malloc.c: Removed obsolete DATA_SEG_BITS
10666         * ralloc.c: Ditto.
10667         * mem-limits.h: Ditto.
10668
10669         * Makefile.in.in: Removed obsolete HAVE_SHM
10670         * emacs.c: Ditto.
10671
10672 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10673
10674         *  device-msw.c (mswindows_delete_device): Free DDE string
10675         handles.
10676
10677 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10678
10679         * keymap.c (get_keyelt):
10680         * unexnt.c (unexec):
10681         * vm-limit.c (memory_warnings):
10682         * ntheap.c (recreate_heap):
10683         * ntheap.h (UNINIT_PTR):
10684         * select-msw.c (Fmswindows_get_clipboard):
10685         (Fmswindows_set_clipboard):
10686         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10687         * objects-msw.c:
10688         * menubar-msw.c (displayable_menu_item):
10689         * glyphs-msw.c:
10690         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10691         * sysdep.c (sys_subshell):
10692         * process-nt.c (nt_create_process):
10693         * nt.c (normalize_filename):
10694         (dostounix_filename):
10695         (unixtodos_filename):
10696         * ntproc.c (win32_executable_type):
10697         * ntplay.c (play_sound_data_1):
10698         (play_sound_file):
10699         * editfns.c (get_home_directory):
10700         * event-msw.c (struct winsock_stream):
10701         (mswindows_dde_callback):
10702         * device-msw.c (msprinter_init_device):
10703         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10704
10705         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10706         mswindows_clear_toolbar were swapped!
10707
10708         * objects-msw.c:(colormap_t):
10709         (fontmap_t):
10710         * emacs.c (struct standard_args): Fixed const jumble.
10711
10712         * glyphs-widget.c (update_widget): Fixed comparison notation.
10713
10714         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10715
10716         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10717         __declspec(noreturn) syntax.
10718
10719 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10720
10721         * eldap.c (Fldap_open):
10722         (Fldap_search_basic):
10723         (Fldap_add):
10724         (Fldap_modify):
10725         Use new coding system conversion macros.
10726
10727 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10728
10729         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10730
10731 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10732
10733         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10734         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10735
10736         * eldap.c (Qadd, Qreplace): New constant symbols
10737         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10738         interruptions by XEmacs signals
10739         Remove unnecessary calls to slow_down_interrupts and
10740         speed_up_interrupts
10741         (Fldap_search_basic): Renamed from Fldap_search_internal
10742         Added new optional parameter VERBOSE that triggers the
10743         display of progress messages
10744         Remove unnecessary calls to slow_down_interrupts and
10745         speed_up_interrupts
10746         LDAP result code analysis rewritten
10747         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10748         (syms_of_eldap): Define the new symbols and functions
10749
10750
10751 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10752
10753         * realpath.c: Determine PATH_MAX maximally portably.
10754
10755         * insdel.c (bytecount_to_charcount): Optimize.
10756         The function used to be optimized for entirely ASCII sequences.
10757         Now it is optimized for successive characters from the same
10758         charset.  This also wins big for _mostly_ ASCII sequences.
10759
10760         * fileio.c (Ffile_truename): convert return from realpath() using
10761         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10762         - Rewrite GCPROing slightly.
10763
10764         * sysdep.c (sys_open): Do filename conversion, like all other
10765         sys_* functions.  Fixes bug:
10766         (let ((file-name-coding-system 'iso-8859-2))
10767            (write-region x y latin2-name))
10768         ==> writes filename using internal encoding.
10769
10770 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10771
10772         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10773         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10774         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10775         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10776         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10777         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10778         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10779         (CONST_IF_NOT_DEBUG): Delete.
10780         * alloc.c (this_one_is_unmarkable): Delete.
10781         (mark_object): Don't check for this_one_is_unmarkable. Use the
10782         c_readonly flag instead.
10783         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10784
10785 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10786
10787         * event-msw.c (mswindows_drain_windows_queue):
10788         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10789         away redundant repaint events.
10790
10791 2000-02-17  Andy Piper  <andy@xemacs.org>
10792
10793         * redisplay.h: declare mark_redisplay_structs.
10794
10795         * redisplay.c (redisplay_window):
10796         (redisplay_frame): don't check subwindows_state_changed.
10797         (mark_redisplay): mark gutters here.
10798
10799         * glyphs.c: (instantiate_image_instantiator): always layout if we
10800         haven't done so already.
10801         (allocate_image_instance): don't mark as dirty.
10802         (update_subwindow): bind inhibit_quit.
10803
10804         * gutter.c (mark_gutters): new function.
10805
10806         * glyphs-x.c (x_update_widget): Always resize to get round a
10807         widget bug.
10808
10809         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10810         breaking absolutely everything.
10811
10812         * gutter.h: declare mark_gutters.
10813
10814 2000-02-16  Martin Buchholz <martin@xemacs.org>
10815
10816         * XEmacs 21.2.29 is released.
10817
10818 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10819
10820         * fns.c (size_bit_vector): Fix computation of the size.
10821
10822 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10823
10824         * *.[ch]: Change CONST to const globally.
10825         find -name '*.[ch]' | \
10826         xargs global-replace \
10827         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10828         - Remove vestigial references to CONST_IS_LOSING
10829
10830 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10831
10832         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10833         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10834         events instead of dispatching them directly.
10835         (mswindows_handle_paint): New function to do repainting.
10836         (mswindows_wnd_proc):
10837         (emacs_mswindows_handle_magic_event): Call above function.
10838
10839 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10840
10841         * objects-msw.c (mswindows_create_font_variant): Return the new
10842         font handle.
10843         (initialize_font_instance): Get font metrics from the underlined
10844         variant of the font to cope with the case where the underlined
10845         font has a bigger descent.
10846
10847 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10848
10849         * gui.c (gui_item_accelerator): Return the first underlined
10850         character in item name.
10851
10852 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10853
10854         * lisp.h: Added Qprinter.
10855
10856         * general.c (syms_of_general): Initialized it.
10857
10858         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10859         (get_frame_dc):
10860         (get_frame_compdc): Made inline.
10861
10862         * console.h (struct console_methods): Added eject_page method.
10863
10864         * frame.h: Added FRAME_DISPLAY_P and friends.
10865         Aligned backslahes in many macros in more readable fashion.
10866         Added page_number to struct frame, and an accessor macro
10867         for it.
10868
10869         * defice.h: Added DEVICE_DISPLAY_P and friends.
10870
10871         * device.c (Fdevice_printer_p): Used these.
10872
10873         * frame.c (allocate_frame_core): Initialize page number.
10874         (Fprint_job_page_number):
10875         (Fprint_job_eject_page): Implemented.
10876
10877         * frame-msw.c (msprinter_eject_page): Added method.
10878         (msprinter_start_page): Added.
10879
10880         * window.c (Fwindow_truncated_p): Fixed docstring.
10881         (Fwindow_last_line_visible_height): Implemented.
10882
10883 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10884
10885         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10886
10887 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10888
10889         * syntax.c (scan_words): Always advance at least one character.
10890
10891 2000-02-13  Andy Piper  <andy@xemacs.org>
10892
10893         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10894         to make sure the glyph is in the cachels.
10895
10896         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
10897         global image instance flag.
10898         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
10899         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
10900
10901         * glyphs.c (allocate_image_instance): set dirty bits correctly.
10902         (Fset_image_instance_property): mark layout as changed.
10903         (invalidate_glyph_geometry_maybe): mark layout as changed.
10904         (glyph_width): use new NEEDS_LAYOUT macro.
10905         (glyph_ascent): ditto.
10906         (glyph_descent): ditto.
10907         (glyph_height): ditto.
10908         (image_instance_layout): mark layout as clean after laying out.
10909         (update_subwindow): don't mark layout as clean here.
10910
10911         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
10912         should no longer be needed.
10913
10914         * glyphs-x.c (x_update_widget): sanitize asserts.
10915         (x_finalize_image_instance): sanitize assignment to widgets.
10916
10917         * glyphs-widget.c (widget_instantiate): don't need to clear the
10918         layout flag here.
10919
10920 2000-02-13  Martin Buchholz  <martin@xemacs.org>
10921
10922         * sysdep.c (getcwd): Use standard prototype.
10923         * sysdep.h (getcwd): Use standard prototype.
10924
10925         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
10926         (sequence, start, end).
10927         Remove redundant type checking.
10928         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
10929         view of `caller-protects') to avoid a crash where the real fix was
10930         found elsewhere.
10931
10932 2000-02-12  Martin Buchholz  <martin@xemacs.org>
10933
10934         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
10935
10936         * s/sol2.h: Remove feature macro initialization.
10937
10938         * alloc.c (alloc_lcrecord): Add more type checking assertions.
10939         (vector_hash): New.  Code from internal_hash.
10940         * lrecord.h:
10941         Fix up allocation subsystem comments.
10942
10943         * config.h.in: Add __EXTENSIONS__ for Solaris.
10944
10945         * systime.h (EMACS_GETTIMEOFDAY): New.
10946         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
10947         Remove Solaris-specific code.
10948         Use void* for the (ignored) second arg for gettimeofday().
10949
10950         * elhash.c (hash_table_hash): Implement it, finally.
10951         * elhash.c:  Use hashcode_t.
10952
10953         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
10954         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
10955
10956         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
10957         * fns.c (size_bit_vector):
10958         * alloc.c (size_vector):
10959         (make_vector_internal):
10960         (make_bit_vector_internal):
10961         (sweep_bit_vectors_1):
10962         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
10963
10964 2000-02-10  Martin Buchholz  <martin@xemacs.org>
10965
10966         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
10967         Include strings.h to avoid warnings for bzero and strcasecmp.
10968
10969 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10970
10971         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
10972         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
10973
10974         * fns.c (size_bit_vector): New.  Declare bit vectors as a
10975         sequence.
10976
10977 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10978
10979         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
10980         use a value field instead.
10981         (symbol_value_forward_forward): Use value field.
10982         (DEFVAR_SYMVAL_FWD): Use value field.
10983         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
10984         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
10985         (DEFVAR_CONST_INT): Ditto.
10986         (DEFVAR_BOOL): Ditto.
10987         (DEFVAR_CONST_BOOL): Ditto.
10988         (DEFVAR_INT_MAGIC): Ditto.
10989         (DEFVAR_BOOL_MAGIC): Ditto.
10990
10991         * symbols.c (guts_of_unbound_marker): Use value field.
10992         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
10993         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
10994
10995         * lisp.h: Declare dumpopaque and noninteractive1.
10996
10997         * alloc.c (dumpopaque): Added.
10998         (pdump_dump_opaquevec): Added.
10999         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11000         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11001         noninteractive.
11002
11003 2000-02-10  Andy Piper  <andy@xemacs.org>
11004
11005         * glyphs.c (image_instance_layout): if the size changes, mark it
11006         as such.
11007
11008         * redisplay-output.c (redisplay_output_layout): Update the
11009         subwindow here.
11010         (redisplay_output_subwindow): ditto.
11011
11012         * glyphs.c (update_subwindow): make sure we reset flags for
11013         layouts as well as everything else.
11014
11015         * glyphs-widget.c (layout_layout): don't need to set the instances
11016         dimensions here.
11017
11018 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11019
11020         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11021         not HAVE_DLOPEN, which is a lower-level thing.
11022
11023         * .cvsignore: Ignore gmon.out
11024
11025 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11026
11027         * .cvsignore: Ignore portable dumper xemacs.dmp file
11028
11029 2000-02-09  Andy Piper  <andy@xemacs.org>
11030
11031         * redisplay-output.c (redisplay_output_layout): be more clever
11032         about when we output based on the changed flags.
11033
11034         * glyphs.h (struct image_instantiator_methods): add update_method.
11035         (struct Lisp_Image_Instance): add changed flags. Declare new
11036         macros for manipulating them.
11037
11038         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11039         (image_instance_parent_glyph): find an image_instance's parent
11040         glyph or image_instance.
11041         (image_instance_layout): mark the size as changed.
11042         (set_image_instance_dirty_p): new function. mark an image
11043         instance, plus all of its parents, as dirty.
11044         (Fset_image_instance_property): use it.
11045         (Fglyph_animated_timeout_handler): use it.
11046         (update_subwindow): call update_widget and device methods for
11047         update_subwindow. Mark all changed flags as clean.
11048         (Fresize_subwindow): mark size as changed.
11049
11050         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11051         failures.
11052         (x_update_subwindow): only resize subwindows here.
11053         (x_update_widget): new function. Update all changed properties of
11054         a widget.
11055         (x_resize_subwindow): deleted.
11056         (x_widget_set_property): deleted.
11057         (x_progress_gauge_set_property): deleted.
11058         (x_progress_gauge_update): new function. Implement recorded
11059         changes.
11060         (x_tab_control_update): ditto.
11061         (x_tab_control_set_property): deleted.
11062         (console_type_create_glyphs_x): declare new functions.
11063         (image_instantiator_format_create_glyphs_x): ditto.
11064
11065         * glyphs-widget.c (widget_set_property): mark text changed.
11066         (update_widget): new function. Update properties of a widget.
11067         (widget_instantiate): for layouts make sure we set their
11068         children's parent correctly.
11069         (tab_control_set_property): new function. Record changes that will
11070         take place under redisplay's control.
11071         (progress_gauge_set_property): ditto.
11072         (image_instantiator_progress_guage): declare new functions.
11073         (image_instantiator_tab_control): ditto.
11074
11075         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11076         now.
11077         (mswindows_update_widget): new function. Update all properties on
11078         a widget that have changed.
11079         (mswindows_button_update): new function. Update a button's set
11080         state.
11081         (mswindows_tab_control_update): new function. Update the items in
11082         a tab.
11083         (mswindows_tab_control_set_property): deleted.
11084         (mswindows_progress_gauge_update): new function. Update the
11085         progress gauge's progress.
11086         (mswindows_widget_set_property): deleted. This is all done
11087         asynchronously now.
11088         (mswindows_progress_gauge_set_property): ditto.
11089         (console_type_create_glyphs_mswindows): declare new methods.
11090         (image_instantiator_format_create_glyphs_mswindows): ditto.
11091
11092         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11093         (msprinter_set_frame_properties): ditto.
11094
11095         * console.h (struct console_methods): Add update_widget_method.
11096
11097 2000-02-09  Andy Piper  <andy@xemacs.org>
11098
11099         * gui-msw.c (Fmswindows_shell_execute): Make
11100         mswindows-shell-execute industrial strength.
11101
11102 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11103
11104         * lrecord.h: Make macro argument `props' match member function `plist'.
11105         * fns.c (Fget):
11106         * fns.c (Fput):
11107         * fns.c (Fremprop):
11108         * fns.c (Fobject_plist):
11109         * alloc.c:
11110         * symbols.c:
11111         Object property list frobbing cleanup.
11112         - Allow any lisp object (compared with `eq'), not just symbols, as
11113           keys in object plists.
11114         - Move symbol plist frobbing into symbols.c, where it belongs.
11115         - Move string plist frobbing into alloc.c, where it belongs.
11116         - Everything's an lrecord now, so no need to test for symbolp, etc.
11117         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11118
11119         * extents.c: Reorder code to remove declarations.
11120
11121         * frame.h (store_in_alist): Remove useless declaration.
11122
11123 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11124
11125         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11126         * config.h.in: Add HAVE_XCONVERTCASE.
11127
11128 2000-02-07  Andy Piper  <andy@xemacs.org>
11129
11130         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11131         it breaks many things.
11132
11133 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11134
11135         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11136         actually can start a common comment type.
11137         * src/syntax.h (SYNTAX_END_P): ditto for end.
11138
11139 2000-02-07  Martin Buchholz <martin@xemacs.org>
11140
11141         * XEmacs 21.2.28 is released.
11142
11143 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11144
11145         * event-Xt.c (x_keysym_to_character): New.
11146         (maybe_define_x_key_as_self_inserting_character): New.
11147         (x_has_keysym): New.
11148         Auto-define all keys on the keyboard as self-insert-key.
11149
11150 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11151
11152         * menubar.c (vars_of_menubar): A small code simplification.
11153
11154         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11155
11156         * ExternalShell.c:
11157         * ExternalClient.c:
11158         * EmacsShell-sub.c:
11159         * EmacsManager.c:
11160         * EmacsFrame.c:
11161         Use consistent style for specifying X resources.
11162
11163         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11164         This makes (dontusethis-set-symbol-value-handler) actually usable.
11165
11166         * lrecord.h (lrecord_decription_type):
11167         * alloc.c (pdump_register_sub):
11168         (pdump_dump_data):
11169         (pdump_reloc_one):
11170         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11171         Comply with XEmacs coding style.
11172         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11173         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11174
11175         * keymap.c (Faccessible_keymaps):
11176         Make (accessible-keymaps map "\C-h") do the Right Thing.
11177         Make (accessible-keymaps map []) do the Right Thing.
11178         Make (accessible-keymaps map "") do the Right Thing.
11179         (check_keymap_definition_loop): New function.
11180         (keymap_store_internal): Keep luser from shooting self in foot,
11181           via (define-key ctl-x-4-map "p" global-map).
11182         Remove fullness slot from struct Lisp_Keymap, since hash tables
11183         are now reliable.
11184         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11185
11186 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11187
11188         * redisplay.c (init_redisplay): Fix small memory leak.
11189         * elhash.h:
11190         * elhash.c (pdump_reorganize_hash_table):
11191         Rename from reorganize_hash_table. Change prototype.
11192         Reuse the original memory for hentries.  Save 100k.
11193         * alloc.c (PDUMP_READ): new macro.
11194         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11195         * alloc.c: No need to #ifndef before #undef.
11196
11197         * print.c: Allow debug_print() to print readably by modifying
11198         debug_print_readably.  Use consistent variable names.
11199
11200         * .dbxrc: Try to get things to work even if stopped in a function
11201         without source available by explicitly specifying source files.
11202 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11203
11204         * unexnt.c (_start): Removed bogus code which caused loading heap
11205         from differrent executable file.
11206         Removed bogus assignment to _fmode, which caused inconsistencies.
11207
11208 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11209
11210         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11211         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11212         Do not preliminary `#define signal sigset'.
11213
11214         * systime.h: Do not prototype environ on windows nt and cygwin,
11215         this conflicts with system header.
11216
11217         * syssignal.h: Use correct define for WINDOWSNT
11218
11219         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11220         with system header.
11221
11222         * sysdep.c (near start of file): Fixed commentary and rearranged
11223         ifdefs in readable order.
11224         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11225         (start_of_text):
11226         (end_of_text):
11227         (end_of_data): Do not compile in if using PDUMP.
11228
11229         * symsinit.h: Prototyped vars_of_nt().
11230
11231         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11232         (find_child_console): Use it.
11233         (sys_kill): Use it.
11234
11235         * ntheap.h: Do not extern os_subtype.
11236
11237         * ntheap.c (cache_system_info): Do not cache unneeded:
11238         nt_major_version, nt_minor_version and os_subtype.
11239         (recreate_heap): Do not compile in when PDUMPing.
11240
11241         * nt.c (geteuid and friends): Use the new varibale
11242         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11243         (init_user_info): Removed the above mentioned hackery.
11244         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11245         stat has been fixed in the C runtime.
11246         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11247
11248         * file-coding.c (struct file_coding_dump): Do not define
11249         ucs_to_mule_table in the struct if not MULE.
11250         (struct struct lrecord_description fcd_description_1): Do not dump
11251         the above.
11252
11253         * emacs.c (main_1): Call vars_of_nt().
11254         (right before Fdump_emacs_data): Don't need lastfile if using both
11255         portabe dumper and system malloc.
11256
11257         * alloc.c (Fmemory_limit): Conditionalized out.
11258         (pdump): Use OPEN_BINARY for the portable dump file.
11259         (pdump_load): Ditto.
11260
11261 2000-02-02  Mike Alexander  <mta@arbortext.com>
11262
11263         * nt.c (convert_time): Set tm_isdst before calling mktime and
11264         avoid calling it at all if the compiler supports 64 bit integers.
11265         Also initialize utc_base_ft before using it.
11266
11267 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11268
11269         * frame.c (change_frame_size_1): Take f->internal_border_width
11270         into consideration when calculating the width of the frame.
11271
11272 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11273
11274         * window.c (frame_min_height):
11275         (frame_size_valid_p):
11276         (frame_pixsize_valid_p): Added.
11277         (check_frame_size): Generalized.
11278
11279         * window.h: Prototyped the above.
11280
11281         * lisp.h:
11282         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11283         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11284         Deleted Vwin32_* and Vbinary_process_* unused variables.
11285
11286         * device-msw.c (msprinter_init_device): Do not get printer font
11287         list; Added DEVMODE functions.
11288
11289         * frame-msw.c: Added lots of printer code.
11290
11291         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11292         general.c.
11293
11294         * console-msw.h: Added more msprinter device private slots.
11295
11296 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11297
11298         * event-msw.c (key_needs_default_processing_p): Added.
11299         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11300
11301 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11302
11303         * glyphs.c (image_instance_layout): Mark image instance as clean
11304         after layout.
11305         (glyph_dirty_p): Removed redundant function.
11306         (invalidate_glyph_geometry_maybe): Added.
11307         (update_glyph_cachel_data): Call it.
11308
11309         * glyphs.h: Prototyped it.
11310
11311         * redisplay.c (add_glyph_rune): Call it.
11312         (redisplay_window): Reset glyphs cachels when frame faces have
11313         changed, thus forcing recomputation of built-in border glyphs.
11314
11315 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11316
11317         * Makefile.in.in: Make portable dumper and purify play well together.
11318         Add imperfect, but better than nothing, support for pdump.
11319         Remove xemacs.dmp when temacs is re-generated.
11320         Don't ignore errors when dumping xemacs.
11321
11322         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11323
11324 2000-01-28  Andy Piper  <andy@xemacs.org>
11325
11326         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11327         (setup_normal_frame): ditto.
11328         (setup_frame_without_minibuffer): ditto.
11329         (setup_minibuffer_frame): ditto.
11330         (delete_frame_internal): ditto.
11331         (Fmake_frame_invisible): ditto.
11332         (Ficonify_frame): ditto.
11333
11334         * window.h: change Fset_window_buffer signature.
11335
11336         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11337         (Fset_window_buffer): allow recording of buffer if the window is
11338         the selected window.
11339         (window_loop): Use new Fset_window signature.
11340
11341 2000-01-23  Daniel Pittman  <daniel@danann.net>
11342
11343         * config.h.in: Added template for `HAVE_ATHENA_3D'
11344
11345 2000-01-29  Andy Piper  <andy@xemacs.org>
11346
11347         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11348
11349         * gutter.c (output_gutter): Don't output if the window isn't live.
11350
11351 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11352
11353         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11354         of 01/12/00: Moved SetFocus back here where it belongs.
11355
11356 2000-01-23  Andy Piper  <andy@xemacs.org>
11357
11358         * s/cygwin32.h: declare printer things.
11359
11360 2000-01-26  Andy Piper  <andy@xemacs.org>
11361
11362         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11363         Alexander.
11364
11365 2000-01-24  Andy Piper  <andy@xemacs.org>
11366
11367         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11368         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11369
11370         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11371
11372         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11373
11374         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11375
11376         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11377         (mswindows_output_display_block): Avoid local shadows.
11378
11379         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11380         (mswindows_enqueue_mouse_button_event): ditto.
11381         (mswindows_handle_gui_wm_command): remove declaration.
11382
11383         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11384         warnings.
11385
11386         * console-msw.h: Avoid shadows.
11387         (mswindows_get_toolbar_button_text):
11388         (emacs_mswindows_create_stream_pair):
11389         (emacs_mswindows_delete_stream_pair):
11390         (mswindows_handle_toolbar_wm_command): declare.
11391
11392         * device-msw.c (build_syscolor_string): Avoid shadows.
11393
11394 2000-01-23  Andy Piper  <andy@xemacs.org>
11395
11396         * glyphs-widget.c (widget_instantiate): reverse the items for
11397         layouts so that children are in the expected order.
11398
11399 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11400
11401         * ralloc.c: safe_bcopy ==> memmove
11402         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11403         * s/msdos.h: Remove BCOPY macros.
11404         * insdel.c (gap_right): Remove BCOPY conditional code.
11405         * insdel.c (gap_left): Remove BCOPY conditional code.
11406         XEmacs demands a working ANSI C compiler - hence memmove.
11407
11408         * regex.c (regex_compile): Remove accidental use of trigraphs.
11409
11410 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11411
11412         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11413         event timestamp.
11414
11415 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11416
11417         * event-msw.c (mswindows_drain_windows_queue): Added the
11418         parameter.
11419         (mswindows_need_event): Commented the call to
11420         mswindows_drain_windows_queue().
11421         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11422         only.
11423
11424         * console-msw.h: Moved a few function prototypes here from
11425         event-msw.c.
11426
11427         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11428         parameter from unsigned short to unsigned long.
11429         (Fmswindows_shell_execute): Added return value.
11430
11431 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11432
11433         * sysdep.c (init_system_name):
11434           process-unix.c (unix_canonicalized_host_name):
11435         Don't call freeaddrinfo() if getaddrinfo() fails.
11436
11437         * process-unix.c (unix_open_unix_network_stream):
11438         Moved the code to get a port # into address loop.
11439
11440 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11441
11442         * buffer.c (reinit_vars_of_buffer):
11443         The right place to initialize conversion_in_dynarr and
11444         conversion_out_dynarr.
11445
11446         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11447
11448         * process-unix.c (unix_canonicalize_host_name): Muleize.
11449         (unix_open_network_stream): Muleize.
11450
11451         * buffer.h: Fix up prototypes for ralloc.c functions.
11452
11453 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11454         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11455         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11456                 instead of gethostbyname()
11457         * process-unix.c: In unix_canonicalize_host_name() and
11458                 unix_open_network_stream(), add code to use getaddrinfo()
11459                 instead of gethostbyname().
11460
11461 2000-01-27  Daniel Pittman <daniel@danann.net>
11462
11463         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11464         libs when built with flat Athena.
11465
11466 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11467
11468         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11469         Use coding standards for function prototypes.
11470
11471 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11472
11473         * dialog-msw.c (push_lisp_string_as_unicode):
11474         * doc.c (unparesseuxify_doc_string):
11475         * dired.c (Fuser_name_completion_1):
11476         * dired.c (Fuser_name_all_completions):
11477         * dired.c (free_user_cache):
11478         * dired.c (user_name_completion):
11479         * console-x.c (get_display_arg_connection):
11480         * minibuf.c (clear_echo_area_internal):
11481         * minibuf.c (echo_area_append):
11482         * eldap.c (Fldap_open):
11483         * eldap.c (Fldap_search_internal):
11484         * frame-x.c (x_set_frame_text_value):
11485         * frame-x.c (x_set_frame_properties):
11486         * frame-x.c (x_create_widgets):
11487         * redisplay-tty.c (term_get_fkeys_1):
11488         * objects-x.c (x_parse_nearest_color):
11489         * objects-x.c (x_valid_color_name_p):
11490         * objects-x.c (x_initialize_font_instance):
11491         * objects-x.c (x_list_fonts):
11492         * objects-x.c (x_find_charset_font):
11493         * tooltalk.c (Fadd_tooltalk_message_arg):
11494         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11495         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11496         * process-unix.c (unix_create_process):
11497         * ntproc.c (sys_spawnve):
11498         * sound.c (Fplay_sound_file):
11499         * sound.c (Fplay_sound):
11500         * buffer.c (init_initial_directory):
11501         * buffer.c (init_buffer):
11502         * editfns.c (init_editfns):
11503         * editfns.c (Ftemp_directory):
11504         * editfns.c (Fuser_full_name):
11505         * editfns.c (uncache_home_directory):
11506         * editfns.c (get_home_directory):
11507         * editfns.c (Fuser_home_directory):
11508         * editfns.c (Fformat_time_string):
11509         * editfns.c (Fcurrent_time_string):
11510         * gui-x.c (button_item_to_widget_value):
11511         * database.c (Fopen_database):
11512         * event-Xt.c (x_to_emacs_keysym):
11513         * event-Xt.c (x_event_to_emacs_event):
11514         * event-Xt.c (describe_event_window):
11515         * event-msw.c (mswindows_wnd_proc):
11516         * glyphs-eimage.c (jpeg_instantiate):
11517         * glyphs-eimage.c (gif_instantiate):
11518         * glyphs-eimage.c (png_instantiate):
11519         * glyphs-eimage.c (tiff_instantiate):
11520         * glyphs-x.c (xbm_instantiate_1):
11521         * glyphs-x.c (x_xbm_instantiate):
11522         * glyphs-x.c (x_xface_instantiate):
11523         * glyphs-x.c (autodetect_instantiate):
11524         * glyphs-x.c (cursor_font_instantiate):
11525         * glyphs-x.c (x_widget_instantiate):
11526         * glyphs-x.c (x_widget_set_property):
11527         * glyphs-x.c (x_widget_property):
11528         * glyphs-x.c (BUILD_GLYPH_INST):
11529         * print.c (write_string_to_stdio_stream):
11530         * print.c (output_string):
11531         * print.c (Falternate_debugging_output):
11532         * print.c (Fexternal_debugging_output):
11533         * glyphs-msw.c (extract_xpm_color_names):
11534         * glyphs-msw.c (mswindows_xpm_instantiate):
11535         * glyphs-msw.c (bmp_instantiate):
11536         * glyphs-msw.c (resource_name_to_resource):
11537         * glyphs-msw.c (mswindows_resource_instantiate):
11538         * glyphs-msw.c (xbm_instantiate_1):
11539         * glyphs-msw.c (mswindows_xbm_instantiate):
11540         * glyphs-msw.c (mswindows_xface_instantiate):
11541         * glyphs-msw.c (mswindows_widget_instantiate):
11542         * glyphs-msw.c (add_tree_item):
11543         * glyphs-msw.c (add_tab_item):
11544         * glyphs-msw.c (mswindows_combo_box_instantiate):
11545         * glyphs-msw.c (mswindows_widget_property):
11546         * glyphs-msw.c (mswindows_combo_box_property):
11547         * glyphs-msw.c (mswindows_widget_set_property):
11548         * console.c (stuff_buffered_input):
11549         * objects-msw.c (mswindows_initialize_color_instance):
11550         * objects-msw.c (mswindows_valid_color_name_p):
11551         * objects-msw.c (mswindows_list_fonts):
11552         * objects-msw.c (mswindows_font_instance_truename):
11553         * bytecode.c (optimize_compiled_function):
11554         * select-x.c (symbol_to_x_atom):
11555         * select-x.c (x_atom_to_symbol):
11556         * select-x.c (hack_motif_clipboard_selection):
11557         * select-x.c (selection_data_to_lisp_data):
11558         * select-x.c (lisp_data_to_selection_data):
11559         * select-x.c (Fx_get_cutbuffer_internal):
11560         * select-x.c (Fx_store_cutbuffer_internal):
11561         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11562         * buffer.h (TO_INTERNAL_FORMAT): New function.
11563         * emacs.c (make_arg_list_1):
11564         * emacs.c (make_argc_argv):
11565         * emacs.c (main_1):
11566         * emacs.c (Fdump_emacs):
11567         * emacs.c (split_string_by_emchar_1):
11568         * file-coding.h:
11569         * lisp.h:
11570         * lstream.h:
11571         * symsinit.h:
11572         * device-x.c (x_init_device):
11573         * device-x.c (Fx_valid_keysym_name_p):
11574         * device-x.c (Fx_get_font_path):
11575         * device-x.c (Fx_set_font_path):
11576         * glyphs.c (bitmap_to_lisp_data):
11577         * glyphs.c (pixmap_to_lisp_data):
11578         * alloc.c (make_ext_string): Use coding system arguments.  Update
11579         all callers.
11580         * alloc.c (build_string):
11581         * callproc.c (child_setup):
11582         * callproc.c (init_callproc):
11583         * fileio.c (lisp_strerror):
11584         * fileio.c (directory_file_name):
11585         * fileio.c (Fexpand_file_name):
11586         * fileio.c (Ffile_truename):
11587         * fileio.c (Fsysnetunam):
11588         * fileio.c (Fdo_auto_save):
11589         * sysdep.c (sys_readdir):
11590         * tests.c: New file.  Allow adding C tests.
11591         Replace GET_* macros with a more comprehensible and flexible
11592         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11593         Modify all calls.
11594         Any coding system can be used to do format conversion.
11595         Eliminate enum external_data_format.
11596         Eliminate convert_to_external_format.
11597         Eliminate convert_to_internal_format.
11598         Make sure file-name, keyboard, terminal, and ctext are always
11599         defined as coding systems or aliases.  Make
11600         file-name-coding-system, terminal-coding-system, and
11601         keyboard-coding-system magical variables that are equivalent to
11602         defining the corresponding coding system aliases.
11603
11604         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11605         * file-coding.c (Fcoding_system_alias_p): New function.
11606         * file-coding.c (Fcoding_system_aliasee): New function.
11607         * file-coding.c (append_suffix_to_symbol): New function.
11608         * file-coding.c (dangling_coding_system_alias_p): New function.
11609         * file-coding.c (Ffind_coding_system):
11610         * file-coding.c (Fcopy_coding_system):
11611         * file-coding.c (encode_coding_no_conversion):
11612         * file-coding.c (syms_of_file_coding):
11613         * file-coding.c (vars_of_file_coding):
11614         Rewrite coding system alias code.
11615         Allow nested aliases, like symbolic links.
11616         Allow redefinition of coding system aliases.
11617         Prevent existence of dangling coding system aliases.
11618
11619         * dired.c (Fuser_name_completion_1):
11620         * dired.c (Fuser_name_all_completions):
11621         A crash would happen if user did QUIT in the middle of building
11622         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11623
11624         * lisp.h:
11625         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11626
11627         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11628         an unsigned char *.  Update all callers.
11629
11630 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11631
11632         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11633
11634 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11635
11636         * elhash.c (hentry_description): Use more portable definition.
11637         (resize_hash_table): Initialize new hentries using
11638         xnew_array_and_zero, thereby simplifying the code.
11639
11640         * mule-charset.c (make_charset): Make sure entire object is
11641         initialized, to avoid Purify warnings.
11642
11643         * alloc.c (resize_string): Fix unlikely crash with big strings.
11644
11645 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11646
11647         * realpath.c (xrealpath):
11648         Don't call getwd().
11649
11650 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11651
11652         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11653
11654 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11655
11656         * unexelfsgi.c (unexec): Change the way we decide which segment
11657         should be extended.
11658
11659         Assumption that .bss section should be outside the PT_LOADable
11660         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11661         it's present) is inside the 'data' segment. This would fail the
11662         test which was used to find a segment to grow and cover new
11663         heap. Instead of this assumption, I created another one - on IRIX
11664         the segment to grow should start below .bss and it's address
11665         should extent above the end of .bss. Once this segment is
11666         identified, it's grown to accommodate the new heap and new
11667         zero-length .bss section is added at the end of .data2.
11668
11669 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11670
11671         * eval.c (Feval): Wrong number of arguments should use original
11672         function, not the indirect_function version of it.
11673
11674 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11675
11676         * glyphs-x.c (x_button_instantiate): Don't add image if
11677         it is not a pixmap.
11678         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11679         is relative.
11680
11681 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11682
11683         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11684         declaration.
11685         (DEFVAR_INT_MAGIC): Ditto.
11686         (DEFVAR_BOOL_MAGIC): Ditto.
11687         * glyphs.h: Reindent backslash.
11688
11689 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11690
11691         * glyphs-widget.c (layout_query_geometry):
11692         (layout_layout): Use correct types for gheight, gwidth.
11693
11694 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11695
11696         * EmacsManager.c (QueryGeometry): Purified.
11697
11698 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11699
11700         * alloc.c (make_float): Make sure entire object is initialized, to
11701         avoid Purify warnings.
11702         (pdump_register_sub): Remove useless assignment.
11703         (pdump): Use xmalloc, not malloc.
11704         (pdump_load): Use xmalloc, not malloc.
11705
11706 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11707
11708         * callproc.c:
11709         * dired-msw.c:
11710         * fileio.c:
11711         * process-nt.c:
11712         * redisplay-msw.c:
11713         * sysdep.c: Removed redundant #include <windows.h>
11714
11715 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11716
11717         * frame.c (delete_frame_internal): Do not delete device when its
11718         implementation so declares.
11719         (delete_frame_internal): Set device selected frame to nil when
11720         last frame goes away.
11721
11722         * device-msw.c (msprinter_device_system_metrics): Implemented.
11723         (mswindows_device_system_metrics): Added 'device-dpi property.
11724
11725         * device.c: (Fdevice_printer_p): Added.
11726         Added 'offset-workspace device metric.
11727
11728         * console.h (device_metrics): Declared DM_offset_workspace.
11729
11730 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11731
11732         * fileio.c (Ffile_truename): Remove pointless and confusing
11733         initialization of elen.
11734
11735         * glyphs-widget.c: Compiler warning fixes.
11736
11737 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11738
11739         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11740         instead of a Lisp_Object as argument to make it consistent with
11741         the other LIVE_P macros.
11742         (CHECK_LIVE_PROCESS): New macro.
11743
11744         * process.c: Declare Qprocess_live_p.
11745         (Fprocess_live_p): New function.
11746         (create_process): Use PROCESS_LIVE_P.
11747         (read_process_output): Ditto.
11748         (set_process_filter): Ditto.
11749         (Fdelete_process): Ditto.
11750         (kill_buffer_processes): Ditto
11751         (process_send_signal): Use CHECK_LIVE_PROCESS.
11752         (Fprocess_input_coding_system): Check whether process is still
11753         alive (fix PR#1061).
11754         (Fprocess_output_coding_system): Ditto.
11755         (Fprocess_coding_system): Ditto.
11756         (Fset_process_input_coding_system): Ditto.
11757         (Fset_process_output_coding_system): Ditto.
11758
11759 2000-01-23  Andy Piper  <andy@xemacs.org>
11760
11761         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11762         layout and widget.
11763
11764         * glyphs.c (mark_image_instance): take into account changed
11765         image_instance format.
11766         (image_instance_equal): ditto.
11767         (image_instance_hash): ditto.
11768
11769         * glyphs-widget.c (widget_instantiate): Incorporate layout
11770         instantiation here. Delay layout of the layout until later.
11771         (layout_instantiate): deleted.
11772         (layout_query_geometry): new function. get the geometry of a
11773         layout.
11774         (layout_layout): layout a layout dynamically.
11775         (image_instantiator_widget): New function - splitting up
11776         image_instantiator_format_create_glyphs_widget for netwinder
11777         compilation.
11778         (image_instantiator_buttons):
11779         (image_instantiator_edit_fields):
11780         (image_instantiator_combo_box):
11781         (image_instantiator_scrollbar):
11782         (image_instantiator_progress_guage):
11783         (image_instantiator_tree_view):
11784         (image_instantiator_tab_control):
11785         (image_instantiator_labels):
11786         (image_instantiator_layout): ditto.
11787         (image_instantiator_format_create_glyphs_widget): Call preceding
11788         functions.
11789
11790 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11791
11792         * process.c (Fset_process_coding_system):
11793         * device-x.c (Fx_keysym_hash_table):
11794         Docstring fixes.
11795
11796         * lstream.c (Lstream_write): Return documented value, not 0.
11797
11798         * fileio.c (directory_file_name):
11799         (Fsubstitute_in_file_name):
11800         (Fsubstitute_insert_file_contents_internal):
11801         (Fwrite_region_internal):
11802         * emacs.c:
11803         * sysdep.c:
11804         * getloadavg.c:
11805         * systty.h:
11806         Remove vestigial APOLLO-conditional code.
11807
11808 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11809
11810         * getpagesize.h: Add guard macros.
11811         * libsst.h: Add guard macros.
11812         * libst.h: Add guard macros.
11813         * line-number.h: Add guard macros.
11814         * ndir.h: Add guard macros.
11815         * sysfloat.h: Add guard macros.
11816         * sysfile.h: Add guard macros.
11817         * sysproc.h: Add guard macros.
11818         * syswait.h: Add guard macros.
11819         * xintrinsic.h: Add guard macros.
11820         * xintrinsicp.h: Add guard macros.
11821         * xmmanager.h: Add guard macros.
11822         * xmmanagerp.h: Add guard macros.
11823         * xmprimitive.h: Add guard macros.
11824         * xmu.h: Add guard macros.
11825         * gpmevent.h: Add copyright statement. Add guard macros.
11826         * miscplay.h: Add guard macros.
11827         * *.h: Use consistent C-standards-approved guard macro names.
11828
11829         * opaque.c (make_opaque): Switch parameter order.
11830         * opaque.h (make_opaque): Switch parameter order.
11831         Update all callers.
11832         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11833
11834         * config.h.in (type_checking_assert): Added.
11835         (bufpos_checking_assert): Added.
11836
11837 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11838
11839         * alloc.c: Harmless pdump changes.
11840         - Use countof().
11841         - spell alignment correctly.
11842         * sysdep.c: Use countof()
11843
11844 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11845
11846         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11847         initially_selected_for_input() console method, default to 0.
11848         (semi_canonicalize_console_connection): Try to delegate to
11849         canonicalize_console_connection if no such console method.
11850         (canonicalize_console_connection): Vice versa.
11851         (print_console): Do not print nil connection.
11852
11853         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11854         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11855         (XDEVIMPF_FRAMELESS_OK): Added.
11856         (CONSOLE_INHERITS_METHOD): Added.
11857
11858         * console-msw.c (mswindows_canonicalize_console_connection):
11859         Added.
11860         (mswindows_canonicalize_device_connection): Added.
11861
11862         * console-msw.h (struct msprinter_device): Added this struct and
11863         accessor macros.
11864         (mswindows_device): Made fontlist a lisp object.
11865
11866         * device.c (semi_canonicalize_device_connection):  Try to delegate
11867         to canonicalize_device_connection if no such console method.
11868         (canonicalize_device_connection): Vice versa.
11869         (print_device): Do not print nil connection.
11870
11871         * device-msw.c (mswindows_init_device): Call InitCommonControls
11872         when have widgets.
11873         (mswindows_delete_device): Removed fontlist deallocation.
11874         (mswindows_mark_device): Added.
11875
11876         * events.c (event_equal): Added abort() at unreached code.
11877         (event_hash): Ditto.
11878
11879         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11880         fallback tags of Windows devices.
11881
11882         * general.c (syms_of_general): Initialized Qmsprinter.
11883
11884         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11885         of fallback tags of Windows devices.
11886
11887         * lisp.h: Declared Qmsprinter.
11888
11889         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11890         of strings.
11891         (mswindows_list_fonts): Ditto.
11892         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11893         that it can be used by both mswindows and msprinter devices.
11894         (initialize_font_instance): Added.
11895         (mswindows_initialize_font_instance): Use it.
11896         (msprinter_initialize_font_instance): Added.
11897
11898         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
11899         and implementation flags check.
11900         (redisplay_without_hooks): Changed the call to the above.
11901         (Fredraw_device): Ditto.
11902         (Fredisplay_device): Ditto.
11903
11904         * redisplay-msw.c (get_frame_dc): Implemented.
11905         (get_frame_compdc): Implemented.
11906         (many functions): Use the two functions above to get device
11907         contexts, ether for a window or a printer.
11908
11909 2000-01-21  Olivier Galibert  <galibert@pobox.com>
11910
11911         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
11912         initialization here.
11913         (init_symbols_once_early): Call it.
11914         * emacs.c (main_1): Call it.
11915         * symsinit.h: Declare it.
11916
11917 2000-01-19  Olivier Galibert  <galibert@pobox.com>
11918
11919         * alloc.c: Use a lrecord_header * in the backtrace instead of a
11920         Lisp_Object.
11921         (pdump_backtrace): Ditto.
11922         (pdump_register_object): Ditto.  Cleanup use of the pointers.
11923         (pdump_get_entry): Abort if trying to register a null pointer.
11924         (pdump_dump_data): Cleanup types when relocating.
11925         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
11926         (pdump_dump_rtables): Remove bad casts.
11927         (pdump_load): Cleanup relocation w.r.t union type.  Use a
11928         Lisp_Object instead of a EMACS_INT for the hashtable
11929         reorganization.
11930
11931 2000-01-20  Martin Buchholz  <martin@xemacs.org>
11932
11933         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
11934
11935         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
11936
11937         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
11938
11939         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
11940
11941 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11942
11943         * faces.h (FACE_STRIKETHRU_P): Added.
11944
11945         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
11946         of font variants.
11947
11948         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
11949         (mswindows_set_dc_font): New function, aware of font variants,
11950         separated from mswindows_update_dc.
11951
11952         * objects-msw.h (struct mswindows_font_instance_data): Added
11953         definition.
11954
11955         * objects-msw.c (mswindows_finalize_font_instance): Delete all
11956         cached fonts and the data structure.
11957         (mswindows_initialize_font_instance): Added creation of font data
11958         structure.
11959         (mswindows_print_font_instance): Print at least something.
11960         (mswindows_create_font_variant): Implemented.
11961         (mswindows_get_hfont): Implemented.
11962
11963 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
11964
11965         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
11966         prototyping problem with msvc.
11967
11968         * emacs.c (main_1): added syms_of_gui_mswindows() call
11969
11970         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
11971         syms_of_gui_mswindows() function
11972
11973         * symsinit.h: added the prototype for syms_of_gui_mswindows()
11974
11975 2000-01-18  Martin Buchholz <martin@xemacs.org>
11976
11977         * XEmacs 21.2.27 is released.
11978
11979 2000-01-18  Martin Buchholz  <martin@xemacs.org>
11980
11981         * glyphs-eimage.c (struct tiff_error_struct):
11982         (tiff_error_func):
11983         (tiff_warning_func):
11984         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
11985
11986         * unexmips.c:
11987         * unexhp9k3.c:
11988         * unexfreebsd.c:
11989         * unexec.c: Remove vestigial Lucid C code.
11990         * unexalpha.c:
11991         * unexaix.c:
11992         * termcap.c:
11993         * libsst.c: Ansify.
11994         Remove declarations of errno and strerror().
11995
11996         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
11997
11998         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
11999
12000 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12001
12002         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12003         Optimize.
12004
12005 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12006
12007         * md5.c:
12008         * file-coding.c:
12009         * file-coding.h:
12010         Change enum eol_type to eol_type_t.
12011
12012 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12013
12014         * gui.c (get_gui_callback): Check cons before accessing car.
12015
12016 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12017
12018         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12019         (XSETSPECIFIER_TYPE): Ditto.
12020
12021 2000-01-17  Didier Verna  <didier@xemacs.org>
12022
12023         * redisplay.c (generate_fstring_runes): compute string size in
12024         characters, not bytes.
12025
12026 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12027
12028         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12029
12030 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12031
12032         * print.c (print_error_message): Call print_prepare().
12033
12034 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12035
12036         * .dbxrc: Renamed from dbxrc.
12037
12038         * events.c (event_to_character):
12039         Use `assert (foo)' instead of `if (!foo) abort()'
12040
12041         * .gdbinit (xtype): Add documentation.
12042         * .gdbinit (check-temacs): New function.
12043         * .gdbinit (check-xemacs): New function.
12044         * dbxrc (check-xemacs): New function.
12045         * dbxrc (check-xemacs): New function.
12046
12047 2000-01-14  Andy Piper  <andy@xemacs.org>
12048
12049         * glyphs-widget.c (widget_query_geometry): Make sure that we
12050         calculate default dimensions correctly.
12051
12052 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12053
12054         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12055
12056         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12057         pdump_wire'd variable.
12058
12059         * emacs.c: (main_1): Conditionalized calls to
12060         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12061
12062 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12063
12064         * window.c (Fset_window_configuration):
12065         * sysdep.c (_start):
12066         * input-method-motif.c (res):
12067         * event-Xt.c (Xt_process_to_emacs_event):
12068         Simple compiler warning fixes.
12069
12070         * bytecode.c (funcall_compiled_function): Use the original
12071         function symbol on the backtrace list in preference to the
12072         compiled_function object in error messages.
12073
12074 2000-01-13  Andy Piper  <andy@xemacs.org>
12075
12076         * glyphs-x.c (update_widget_face): Make sure we update the widget
12077         background as well as foreground.
12078
12079 2000-01-13  Andy Piper  <andy@xemacs.org>
12080
12081         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12082         fields to subwindow.
12083         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12084         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12085         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12086         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12087
12088         * glyphs-widget.c (check_valid_tab_orientation): new function.
12089         (initialize_widget_image_instance): zero orientation and
12090         justification.
12091         (widget_instantiate): pick up orientation.
12092         (tab_control_query_geometry): return appropriate values for
12093         vertical tabs.
12094
12095         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12096         appropriate creation flags for left, right and bottom tabs.
12097
12098         * s/cygwin32.h: add tab definitions.
12099
12100 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12101
12102         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12103         frame upon hiding a subwindow.
12104         (mswindows_button_instantiate): Changed the push button style to
12105         BS_PUSHBUTTON.
12106         (mswindows_button_instantiate): Removed button BS_NOTIFY
12107         style.
12108         (mswindows_button_instantiate): Removed redundant check for
12109         a disabled gui item.
12110         (mswindows_button_instantiate): Made use of WS_TABSTOP
12111         consistent: "operable" controls (edit, button, tree, scroll) have
12112         this style, "display-only" ones (static, progress gauge) do
12113         not. This style is currently ignored by XEmacs though. Also,
12114         removed the WS_EX_CONTROLPARENT style - it is not for children,
12115         it is for their parents!
12116         (mswindows_edit_field_instantiate): Ditto.
12117         (mswindows_progress_gauge_instantiate): Ditto.
12118         (mswindows_tree_view_instantiate): Ditto.
12119         (mswindows_tab_control_instantiate): Ditto.
12120         (mswindows_scrollbar_instantiate): Ditto.
12121         (mswindows_combo_box_instantiate): Ditto.
12122         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12123         style to the "clip" window.
12124         (mswindows_button_instantiate): Removed compilation warning by
12125         equally typing terms of the ?: operator.
12126
12127 2000-01-12  Didier Verna  <didier@xemacs.org>
12128
12129         * redisplay.c (generate_fstring_runes): new parameter holding the
12130         last modeline-format extent.
12131         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12132         extent, fill the glyph block with it.
12133         (generate_fstring_runes): handle these parameters.
12134         (generate_formatted_string_db): ditto.
12135
12136         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12137         glyphs'extents in the modeline.
12138
12139 1999-01-11  Mike Woolley  <mike@bulsara.com>
12140
12141         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12142         256Mb, as a workaround for the non-starting problem many people
12143         have experienced.
12144
12145 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12146
12147         * console-tty.c (Fset_console_tty_output_coding_system):
12148         Force redrawing tty frame.
12149
12150 2000-01-10  Didier Verna  <didier@xemacs.org>
12151
12152         * redisplay.c (generate_fstring_runes): fix size computation bug.
12153
12154 2000-01-09  William M. Perry <wmperry@aventail.com>
12155
12156         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12157
12158 2000-01-09  Andy Piper  <andy@xemacs.org>
12159
12160         * glyphs-msw.c: index -> i to avoid shadows.
12161         (xbm_create_bitmap_from_data): make static.
12162         (check_valid_string_or_int): deleted.
12163         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12164
12165         * glyphs-x.c (x_update_subwindow): remove unused args.
12166
12167         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12168         back pointer - this is done in allocate_image_instance.
12169         (query_string_font): return Qnil to make the compiler happy.
12170         (unmap_subwindow): set to ~0 to make the compiler happy.
12171         (glyph_query_geometry): comment out until used.
12172         (glyph_layout): ditto.
12173
12174 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12175
12176         * insdel.c (signal_after_change): Remove extraneous unbind_to().