update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2
3         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
4         utf-2000.
5
6 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
9         value; don't store value into `encoding_table' of `Lisp_Charset'.
10         (mark_charset): `encoding_table' was deleted.
11         (charset_description): Likewise.
12         (make_charset): Likewise.
13         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
14         `put_char_ccs_code_point'.
15
16         * chartab.h (Fput_char_attribute): New EXFUN.
17
18         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
19         is unified with normal symbol space.
20         (Fget_char_attribute): Likewise.
21         (Fput_char_attribute): Likewise; behavior of
22         `put_char_ccs_code_point' is changed.
23
24         * char-ucs.h: Include "elhash.h".
25         (Vchar_attribute_hash_table): New external variable.
26         (struct Lisp_Charset): Delete `encoding_table'.
27         (CHARSET_ENCODING_TABLE): New implementation; refer
28         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
29         `Lisp_Charset'.
30
31 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
32
33         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
34         (cs) == 0.
35
36 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
37
38         * text-coding.c (char_encode_big5): Prefer charset-g1 than
39         `chinese-big5'.
40
41 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
42
43         * chartab.c (uint8_byte_table_description): New constant.
44         (uint8-byte-table): Use `uint8_byte_table_description'.
45         (uint16_byte_table_description): New constant.
46         (uint16-byte-table): Use `uint16_byte_table_description'.
47
48 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
49
50         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
51         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
52
53 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
54
55         * mule-charset.c (Vcharset_ucs_ks): New variable.
56         (Qucs_ks): New variable.
57         (syms_of_mule_charset): Add new symbol `ucs-ks'.
58         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
59
60         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
61
62 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
63
64         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
65         (Fdecode_char): Likewise.
66
67         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
68         chartab.h.
69         (Fdefine_char): Modify for Fdecode_char.
70         (Ffind_char): Likewise.
71
72         * mule-charset.c (Fdecode_char): Add new optional argument
73         `defined-only'.
74         (Fdecode_builtin_char): Modify for `Fdecode_char'.
75
76 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
77
78         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
79         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
80         (allocate_coding_system): Initialize initial-charsets of
81         CODESYS_BIG5 in XEmacs UTF-2000.
82         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
83         CODESYS_BIG5 in XEmacs UTF-2000.
84         (decode_coding_big5): Use initial-charset-g0 and -g1 of
85         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
86
87         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
88         variables.
89         (Qideograph_hanziku_{1 .. 12}): Likewise.
90         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
91         .. 12}'.
92         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
93         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
94         `ideograph-hanziku-{1 .. 12}'.
95
96         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
97         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
98         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
99         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
100         (DECODE_DEFINED_CHAR): New inline function.
101         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
102
103 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
104
105         * mule-charset.c (Vcharset_china3_jef): Renamed from
106         `Vcharset_japanese_jef_china3'.
107         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
108         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
109         `{MIN|MAX}_CHAR_JEF_CHINA3'..
110         (syms_of_mule_charset): Rename `china3-jef' from
111         `japanese-jef-china3'.
112         (complex_vars_of_mule_charset): Likewise; rename
113         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
114
115         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
116         `LEADING_BYTE_JEF_CHINA3'.
117         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
118         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
119
120 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
121
122         * mule-charset.c (encode_builtin_char_1): Comment out special code
123         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
124
125         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
126         (MAX_CHAR_MOJIKYO_0): Comment out.
127         (MIN_CHAR_CBETA): Changed to 0x00E20000.
128         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
129         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
130         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
131
132 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
133
134         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
135         (Qideograph_cbeta): New variable.
136         (encode_builtin_char_1): Comment out special code for
137         coded-charset `mojikyo' and `japanese-jef-china3'.
138         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
139         (complex_vars_of_mule_charset): Add new coded-charset
140         `ideograph-cbeta'.
141
142         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
143         (MIN_CHAR_CBETA): New macro.
144         (MAX_CHAR_CBETA): New macro.
145
146 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
147
148         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
149         (LEADING_BYTE_JEF_CHINA3): New macro.
150         (MIN_CHAR_JEF_CHINA3): New macro.
151         (MAX_CHAR_JEF_CHINA3): Likewise.
152         (DECODE_CHAR): Fixed.
153
154 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
155
156         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
157         (Qjapanese_jef_china3): New variable.
158         (encode_builtin_char_1): Support `japanese-jef-china3'.
159         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
160         (complex_vars_of_mule_charset): Add new coded-charset
161         `japanese-jef-china3'.
162
163 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
164
165         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
166         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
167         94^4, 96^3, 96^4, 128^n and 256^n set.
168         (put_char_table): Use `XCHARSET_CELL_RANGE'.
169         (map_char_table): Likewise.
170
171 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
172
173         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
174         UTF-2000.
175
176 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
177
178         * chartab.h (get_char_id_table): New inline function.
179
180         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
181         function.
182
183 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
184
185         * chartab.h (decode_char_table_range): New prototype in XEmacs
186         UTF-2000.
187         (put_char_id_table): New inline function in XEmacs UTF-2000.
188
189         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
190         function.
191         (decode_char_table_range): Delete static declaration in XEmacs
192         UTF-2000.
193
194 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
195
196         * chartab.c (put_char_id_table): Use `put_char_table'.
197
198 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
199
200         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
201         (map_over_uint16_byte_table): Likewise.
202         (map_over_byte_table): Likewise.
203         (map_char_table): Modify for `map_over_uint8_byte_table',
204         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
205         UTF-2000.
206
207 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
208
209         * chartab.c (struct map_char_table_for_charset_arg): New
210         structure.
211         (map_char_table_for_charset_fun): New function.
212         (map_char_table): Use `map_char_table' for encoding_table of
213         `range->charset'.
214
215 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
216
217         * chartab.c (map_char_table): Check a character is found in
218         range->charset instead of non default value is defined in
219         char-table when range is CHARTAB_RANGE_ROW.
220
221 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
222
223         * chartab.c (map_char_id_table): Deleted.
224         (Fmap_char_attribute): Use `map_char_table' instead of
225         `map_char_id_table'.
226
227 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
228
229         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
230         UTF-2000.
231         (update_syntax_table): Deleted in XEmacs UTF-2000.
232
233         * syntax.c (find_defun_start): Use `syntax_table' instead of
234         `mirror_syntax_table' in XEmacs UTF-2000.
235         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
236         UTF-2000.
237         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
238         XEmacs UTF-2000.
239         (Fmatching_paren): Likewise.
240         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
241         in XEmacs UTF-2000.
242         (find_start_of_comment): Likewise.
243         (find_end_of_comment): Likewise.
244         (Fforward_comment): Likewise.
245         (scan_lists): Likewise.
246         (char_quoted): Likewise.
247         (Fbackward_prefix_chars): Likewise.
248         (scan_sexps_forward): Likewise.
249         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
250         (update_syntax_table): Likewise.
251
252         * search.c (skip_chars): Use `syntax_table' instead of
253         `mirror_syntax_table' in XEmacs UTF-2000.
254         (wordify): Likewise.
255         (Freplace_match): Likewise.
256
257         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
258         `mirror_syntax_table' in XEmacs UTF-2000.
259         (WORDCHAR_P_UNSAFE): Likewise.
260         (re_match_2_internal): Likewise.
261
262         * font-lock.c (find_context): Use `buf->syntax_table' instead of
263         `buf->mirror_syntax_table' in XEmacs UTF-2000.
264
265         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
266         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
267
268         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
269         XEmacs UTF-2000.
270
271         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
272         UTF-2000.
273         (print_char_table): Print `default_value' in XEmacs UTF-2000.
274         (char_table_description): Delete `mirror_table' in XEmacs
275         UTF-2000.
276         (fill_char_table): Don't call `update_syntax_table' in XEmacs
277         UTF-2000.
278         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
279         (Fcopy_char_table): Likewise.
280         (put_char_table): Don't call `update_syntax_table' in XEmacs
281         UTF-2000.
282
283         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
284         `buf->mirror_syntax_table' in XEmacs UTF-2000.
285         (casify_region_internal): Likewise.
286
287         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
288
289         * buffer.c (common_init_complex_vars_of_buffer): Don't use
290         `mirror_syntax_table' in XEmacs UTF-2000.
291
292         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
293         `buf->mirror_syntax_table' in XEmacs UTF-2000.
294         (Fexpand_abbrev): Likewise.
295
296 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
297
298         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
299
300 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
301
302         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
303         (map_over_uint16_byte_table): Likewise.
304         (map_over_byte_table): Likewise.
305         (get_char_id_table): Refer `cit->default_value'.
306         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
307         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
308         of character-id ranges.
309         (mark_char_table): Mark `ct->default_value'.
310         (char_table_description): Add `default_value'.
311         (fill_char_table): Use `default_value'.
312         (decode_char_table_range): Decode `nil' as
313         `CHARTAB_RANGE_DEFAULT'.
314         (get_char_id_table): Refer `cit->default_value'.
315         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
316         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
317         temporary hack; check value of char-table is bound or not.
318         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
319
320         * chartab.h (struct Lisp_Char_Table): Add new member
321         `default_value' in XEmacs UTF-2000.
322         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
323         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
324         UTF-2000.
325
326 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
327
328         * chartab.h (Lisp_Char_ID_Table): Deleted.
329
330         * chartab.c (char_table_description): Fix typo.
331         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
332         `Lisp_Char_ID_Table'.
333
334 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
335
336         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
337         `CHAR_ID_TABLE_P'.
338
339         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
340         `CHAR_ID_TABLE_P'.
341
342         * chartab.h (XCHAR_ID_TABLE): Deleted.
343         (XSETCHAR_ID_TABLE): Deleted.
344         (CHAR_ID_TABLE_P): Deleted.
345
346         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
347         `CHAR_ID_TABLE_P'.
348         (Fget_composite_char): Likewise.
349         (put_char_table): Likewise.
350         (add_char_attribute_alist_mapper): Fixed.
351         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
352         `CHAR_ID_TABLE_P'.
353         (Fget_char_attribute): Likewise.
354         (Fget_char_attribute): Likewise.
355         (Fmap_char_attribute): Likewise.
356
357         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
358         `CHAR_ID_TABLE_P'.
359         (encode_char_1): Likewise.
360
361 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
362
363         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
364         `XCHAR_ID_TABLE'.
365
366         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
367         instead of `XCHAR_ID_TABLE'.
368         (remove_char_ccs): Likewise.
369
370         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
371         `XCHAR_ID_TABLE'.
372         (Fget_composite_char): Likewise.
373         (Fchar_variants): Likewise.
374         (put_char_table): Likewise.
375         (add_char_attribute_alist_mapper): Likewise.
376         (Fchar_attribute_alist): Likewise.
377         (Fget_char_attribute): Likewise.
378         (Fput_char_attribute): Likewise.
379         (Fmap_char_attribute): Likewise.
380         (Fmap_char_attribute): Likewise.
381
382         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
383         `XCHAR_ID_TABLE'.
384         (encode_char_1): Likewise.
385
386 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
387
388         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
389         `Lisp_Char_ID_Table'.
390         (mark_char_id_table): Deleted.
391         (print_char_id_table): Likewise.
392         (char_id_table_equal): Likewise.
393         (char_id_table_hash): Likewise.
394         (char_id_table_description): Likewise.
395         (char_id_table): Likewise.
396         (make_char_id_table): Use `Fmake_char_table' and
397         `fill_char_table'.
398         (get_char_id_table): Use `Lisp_Char_Table' instead of
399         `Lisp_Char_ID_Table'.
400         (put_char_id_table): Likewise.
401         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
402         `XCHAR_ID_TABLE'.
403         (Fremove_char_attribute): Likewise.
404         (syms_of_chartab): Don't define type `char-id-table'.
405
406         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
407         (char_id_table): Likewise.
408         (GC_CHAR_ID_TABLE_P): Likewise.
409         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
410         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
411         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
412         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
413         (get_char_id_table): Use `Lisp_Char_Table' instead of
414         `Lisp_Char_ID_Table'.
415         (put_char_id_table_0): Likewise.
416         (put_char_id_table): Likewise.
417
418 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
419
420         * chartab.h: Lisp_Byte_Table related codes are moved from
421         chartab.h.
422
423         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
424
425 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
426
427         * chartab.h: Don't include "chartab.h".
428         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
429         (Lisp_Char_ID_Table): Likewise.
430         (char_id_table): Likewise.
431         (XCHAR_ID_TABLE): Likewise.
432         (XSETCHAR_ID_TABLE): Likewise.
433         (CHAR_ID_TABLE_P): Likewise.
434         (GC_CHAR_ID_TABLE_P): Likewise.
435         (get_char_id_table): Likewise.
436
437         * char-ucs.h: Include "chartab.h".
438         (struct Lisp_Char_ID_Table): Moved to chartab.h.
439         (Lisp_Char_ID_Table): Likewise.
440         (char_id_table): Likewise.
441         (XCHAR_ID_TABLE): Likewise.
442         (XSETCHAR_ID_TABLE): Likewise.
443         (CHAR_ID_TABLE_P): Likewise.
444         (GC_CHAR_ID_TABLE_P): Likewise.
445         (get_char_id_table): Likewise.
446
447 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
448
449         * chartab.c (copy_uint8_byte_table): New function.
450         (copy_uint16_byte_table): New function.
451         (copy_byte_table): New function.
452         (map_over_uint8_byte_table): Modify to avoid huge numbers of
453         characters to call.
454         (map_over_uint16_byte_table): Likewise.
455         (map_over_byte_table): Likewise.
456         (get_byte_table): Move prototype to chartab.h.
457         (put_byte_table): Likewise.
458         (put_char_id_table_0): Moved to chartab.h.
459         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
460         (char_table_entry_equal): Likewise.
461         (char_table_entry_hash): Likewise.
462         (char_table_entry_description): Likewise.
463         (char_table_entry): Likewise.
464         (make_char_table_entry): Likewise.
465         (copy_char_table_entry): Likewise.
466         (get_non_ascii_char_table_value): Likewise.
467         (map_over_charset_ascii): Likewise.
468         (map_over_charset_control_1): Likewise.
469         (map_over_charset_row): Likewise.
470         (map_over_other_charset): Likewise.
471         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
472         (print_char_table): Likewise.
473         (char_table_equal): Likewise.
474         (char_table_hash): Likewise.
475         (char_table_description): Likewise.
476         (fill_char_table): Likewise.
477         (Fcopy_char_table): Likewise.
478         (get_char_table): Likewise.
479         (Fget_range_char_table): Likewise.
480         (put_char_table): Likewise.
481         (map_char_table): Likewise.
482         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
483         UTF-2000.
484
485 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
486
487         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
488         `Vauto_fill_chars' in XEmacs UTF-2000.
489
490         * chartab.h (get_byte_table): New prototype [moved from
491         chartab.c].
492         (put_byte_table): Likewise [moved from chartab.c].
493         (put_char_id_table_0): New inline function [moved from chartab.c].
494         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
495         (Lisp_Char_Table_Entry): Likewise.
496         (char_table_entry): Likewise.
497         (XCHAR_TABLE_ENTRY): Likewise.
498         (XSETCHAR_TABLE_ENTRY): Likewise.
499         (CHAR_TABLE_ENTRYP): Likewise.
500         (CHECK_CHAR_TABLE_ENTRY): Likewise.
501         (NUM_ASCII_CHARS): Likewise.
502         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
503         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
504
505 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
506
507         * chartab.c (get_char_id_table): Change interface.
508         (put_char_id_table_0): New function.
509         (put_char_id_table): Change interface; new implementation.
510         (Fget_composite_char): Modify for interface change of
511         `get_char_id_table'.
512         (Fchar_variants): Likewise.
513         (add_char_attribute_alist_mapper): Likewise.
514         (Fchar_attribute_alist): Likewise.
515         (Fget_char_attribute): Likewise.
516         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
517         as same as character as the first argument like `put-char-table';
518         modify for interface change of `put_char_id_table'.
519         (Fremove_char_attribute): Modify for interface change of
520         `put_char_id_table'.
521
522 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
523
524         * text-coding.c: Sync up with XEmacs 21.2.41.
525         (COMPOSE_ADD_CHAR): Modify for interface change of
526         `get_char_id_table'.
527
528         * mule-charset.c (put_char_ccs_code_point): Modify for interface
529         change of `put_char_id_table'.
530         (remove_char_ccs): Likewise.
531
532         * chartab.h (put_char_id_table): Change interface.
533
534         * char-ucs.h (get_char_id_table): Change interface.
535         (charset_code_point): Modify for interface change of
536         `get_char_id_table'.
537         (encode_char_1): Likewise.
538
539 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
540
541         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
542         argument `ccs'.
543         (map_over_uint16_byte_table): Likewise.
544         (map_over_byte_table): Likewise.
545         (map_char_id_table): Add new argument `range' like
546         `map_char_table'.
547         (Fmap_char_attribute): Add new argument `range' like
548         `Fmap_char_table'.
549
550 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
551
552         * chartab.c (map_over_uint8_byte_table): Change interface of
553         mapping function to use struct chartab_range instead of Emchar.
554         (map_over_uint16_byte_table): Likewise.
555         (map_over_byte_table): Likewise.
556         (map_char_id_table): Likewise.
557         (struct slow_map_char_id_table_arg): Deleted.
558         (slow_map_char_id_table_fun): Deleted.
559         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
560         function `slow_map_char_table_fun' instead of struct
561         `slow_map_char_id_table_arg' and function
562         `slow_map_char_id_table_fun'.
563
564 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
565
566         * mule-charset.c: Move char-it-table related codes to chartab.c.
567         (Vutf_2000_version): Moved to chartab.c.
568         (Fdefine_char): Likewise.
569         (Ffind_char): Likewise.
570         (syms_of_mule_charset): Move types `uint8-byte-table',
571         `uint16-byte-table', `byte-table' and `char-id-table' to
572         chartab.c; move functions `char_attribute_list,
573         `find_char_attribute_table, `char_attribute_alist,
574         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
575         `map_char_attribute, `define_char, `find_char, `char_variants and
576         `get_composite_char to chartab.c; move symbols `=>ucs',
577         `->decomposition', `compat', `isolated', `initial', `medial',
578         `final', `vertical', `noBreak', `fraction', `super', `sub',
579         `circle', `square', `wide', `narrow', `small' and `font' to
580         chartab.c.
581         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
582         setting codes for `Vcharacter_composition_table' and
583         `Vcharacter_variant_table' to chartab.c.
584         (complex_vars_of_mule_charset): Move setting code for
585         `Vchar_attribute_hash_table' to chartab.c.
586
587         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
588         (make_char_id_table): New prototype.
589         (put_char_id_table): Likewise.
590         (Fget_char_attribute): Likewise.
591
592         * chartab.c: Move char-id-table related code from mule-charset.c.
593         (Vutf_2000_version): Moved from mule-charset.c.
594
595         * char-ucs.h (Qucs): New external variable.
596         (put_char_ccs_code_point): New prototype.
597         (remove_char_ccs): Likewise.
598
599 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
600
601         * mule-charset.c (Vcharset_ucs_jis): New variable.
602         (Qucs_jis): Likewise.
603         (syms_of_mule_charset): Add new symbol `ucs-jis'.
604         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
605
606         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
607
608 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
609
610         * mule-charset.c (map_over_uint8_byte_table): New function.
611         (map_over_uint16_byte_table): Likewise.
612         (map_over_byte_table): Likewise.
613         (map_char_id_table): Likewise.
614         (slow_map_char_id_table_fun): Likewise.
615         (Fmap_char_attribute): Likewise.
616         (syms_of_mule_charset): Add new function `map-char-attribute'.
617
618 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
619
620         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
621         (syms_of_mule_charset): Add new function `find-char'.
622
623 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
624
625         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
626         XEmacs UTF-2000.
627         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
628         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
629         XEmacs UTF-2000.
630         (complex_vars_of_mule_charset): Add new coded-charset
631         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
632         `ideograph-gt-pj-*'.
633
634         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
635
636 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
637
638         * mule-charset.c (encode_builtin_char_1): Purge codes about
639         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
640         {MIN|MAX}_CHAR_HEBREW.
641         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
642         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
643
644         * char-ucs.h (MIN_CHAR_GREEK): Purged.
645         (MAX_CHAR_GREEK): Purged.
646         (MIN_CHAR_CYRILLIC): Purged.
647         (MAX_CHAR_CYRILLIC): Purged.
648         (MIN_CHAR_HEBREW): Commented out.
649         (MAX_CHAR_HEBREW): Likewise.
650
651 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
652
653         * mule-charset.c (Qto_ucs): New variable.
654         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
655         (Fdefine_char): Likewise.
656         (syms_of_mule_charset): Add new symbol `=>ucs'.
657
658 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
659
660         * mule-charset.c (Fdecode_char): Fixed.
661
662 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
663
664         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
665         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
666         "tcvn5712-1".
667
668 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
669
670         * mule-charset.c (Vcharset_ucs_big5): New variable.
671         (Qucs_big5): Likewise.
672         (syms_of_mule_charset): Add new symbol `ucs-big5'.
673         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
674
675         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
676
677 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
678
679         * mule-charset.c (decode_builtin_char): Check Big5 code range
680         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
681
682 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
683
684         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
685         (Qchinese_gb12345): Likewise.
686         (Fdecode_builtin_char): Fixed.
687         (syms_of_mule_charset): Add `chinese-gb12345'.
688         (complex_vars_of_mule_charset): Add coded-charset
689         `chinese-gb12345'.
690
691         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
692         (LEADING_BYTE_CHINESE_GB12345): New macro.
693
694 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
695
696         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
697         and `latin-viscii-upper' for `latin-viscii'.
698
699 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
700
701         * mule-charset.c (Fdecode_builtin_char): Comment out
702         regularization code for ISO-IR GR representation.
703
704 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
705
706         * mule-charset.c (decode_builtin_char): New function; renamed from
707         `make_builtin_char'; return -1 instead of signal.
708         (Fdecode_builtin_char): Use `decode_builtin_char'.
709
710         * char-ucs.h (decode_builtin_char): New prototype; renamed from
711         `make_builtin_char'.
712         (DECODE_CHAR): Use `decode_builtin_char' instead of
713         `make_builtin_char'; use mapping table of `chinese-big5' for
714         `chinese-big5-{1,2}'.
715
716 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
717
718         * text-coding.c (char_encode_big5): New function.
719         (char_finish_big5): Likewise.
720         (reset_encoding_stream): Use `char_encode_big5' and
721         `char_finish_big5' for CODESYS_BIG5.
722         (mule_encode): Don't use `encode_coding_big5'.
723         (encode_coding_big5): Deleted.
724
725 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
726
727         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
728         0x81- in XEmacs UTF-2000.
729         (detect_coding_big5): Likewise.
730
731 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
732
733         * mule-charset.c (Fdefine_char): Don't use a CCS property to
734         generate character-id if the CCS property does not have
735         corresponding predefined character.
736         (make_builtin_char): Return -1 if corresponding predefined
737         character is not found.
738         (Fdecode_char): Return nil if corresponding character is not
739         found.
740         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
741         don't map to builtin ucs space.
742
743 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
744
745         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
746         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
747
748 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
749
750         * mule-charset.c (Vcharset_ideograph_gt): New variable.
751         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
752         (Qideograph_gt): Likewise.
753         (Qideograph_gt_pj_{1..11}): Likewise.
754         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
755         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
756         `ideograph-gt-pj-11'.
757         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
758         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
759         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
760
761         * char-ucs.h (LEADING_BYTE_GT): New macro.
762         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
763         (MIN_CHAR_GT): Likewise.
764         (MAX_CHAR_GT): Likewise.
765
766 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
767
768         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
769         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
770
771         * doprnt.c (unsigned_int_converters): Add `c'.
772         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
773
774         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
775         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
776         `MIN_CHAR_MOJIKYO'.
777         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
778         (MAX_CHAR_MOJIKYO_0): New macro.
779         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
780
781 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
782
783         * mule-charset.c (Fdefine_char): Delete cemented out code.
784         (encode_builtin_char_1): Modify for new allocation of builtin
785         Mojikyo characters.
786
787         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
788
789 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
790
791         * mule-charset.c (Vcharset_ucs_cns): New variable.
792         (Qucs_cns): New variable.
793         (syms_of_mule_charset): Add new symbol `ucs-cns'.
794         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
795
796 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
797
798         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
799
800 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
801
802         * search.c (search_buffer): Make `charset_base_code' as
803         character-id >> 6 to eliminate the corresponding last byte in
804         UTF-8 representation [I'm not sure it is right thing].
805         (boyer_moore): Likewise.
806
807 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
808
809         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
810         representation in MULE.
811
812 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
813
814         * text-coding.c (Fmake_coding_system): Use
815         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
816         `EXTERNAL_PROPERTY_LIST_LOOP'.
817
818 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
819
820         * text-coding.c (decode_output_utf8_partial_char): New function.
821         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
822
823 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
824
825         * text-coding.c (decode_coding_utf8): Output original byte
826         sequence if it is broken; change order of conditions.
827
828         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
829         of conditions.
830
831         * mb-multibyte.h (BYTE_ASCII_P):
832         Use bit ops for char-signedness safety.
833         (BYTE_C0_P): Use bit ops for char-signedness safety.
834         (BYTE_C1_P): Use bit ops for char-signedness safety.
835
836         * character.h: (XCHAR_OR_CHAR_INT):
837         Always use inline function.
838         Remove redundant type checking assert() - XINT will abort quite
839         nicely.
840
841 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
842
843         * text-coding.c: (Fencode_shift_jis_char):
844         (Fencode_big5_char):
845         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
846         Replace 0 with '\0' when working with bytes.
847         Replace initial "(" with "\(" in docstrings.
848
849         (Fmake_coding_system):
850         When type is ccl and value is vector, register it with a proper
851         symbol.  And checks whether the given ccl program is valid.
852         (mule_decode): When calling ccl_driver, if src indicates
853         NULL pointer, set an empty string instead.
854         (mule_encode): Likewise.
855
856         (detect_eol_type):
857         (detect_coding_sjis):
858         (decode_coding_sjis):
859         (detect_coding_big5):
860         (decode_coding_big5):
861         (detect_coding_ucs4):
862         (decode_coding_ucs4):
863         (detect_coding_utf8):
864         (decode_coding_utf8):
865         (detect_coding_iso2022):
866         (decode_coding_iso2022):
867         (decode_coding_no_conversion):
868         (mule_decode):
869         Make all detecting and decoding functions take an Extbyte * arg.
870         (text_encode_generic):
871         (encode_coding_big5):
872         (encode_coding_no_conversion):
873         (mule_encode):
874         Make all encoding functions take a Bufbyte * arg.
875         Use size_t instead of unsigned int for memory sizes.
876         Only cast to unsigned char whenever dereferencing Extbyte *.
877
878         (struct lrecord_description fcd_description_1): Use countof.
879         (complex_vars_of_file_coding):
880         Use countof instead of sizeof.
881         Use CHECK_NATNUM instead of CHECK_INT.
882
883 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
884
885         * mule-charset.c (Fget_char_attribute): Add new optional argument
886         `default-value'.
887         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
888         (remove_char_ccs): Likewise.
889
890 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
891
892         * text-coding.c (char_encode_shift_jis): New implementation in
893         UTF-2000.
894         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
895         ...)'.
896
897         * mule-charset.c (Vcharset_chinese_big5): New variable in
898         UTF-2000.
899         (Qchinese_big5): New variable in UTF-2000.
900         (BIG5_SAME_ROW): New macro in UTF-2000.
901         (make_builtin_char): Use builtin characters of
902         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
903         characters of `Vcharset_chinese_big5'.
904         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
905         (complex_vars_of_mule_charset): Add new coded-charset
906         `chinese-big5' in UTF-2000.
907
908         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
909         (Vcharset_chinese_big5): New external variable declaration.
910         (Vcharset_japanese_jisx0208_1990): Likewise.
911
912 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
913
914         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
915         function.
916         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
917
918 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
919
920         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
921         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
922         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
923         `mojikyo-pj-*'.
924
925 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
926
927         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
928
929 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
930
931         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
932         to 0.17.
933
934 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
935
936         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
937         for `CHARSET_BY_ATTRIBUTES'.
938         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
939         `CHARSET_BY_ATTRIBUTES'.
940
941         * text-coding.c (struct decoding_stream): Rename member `CH' to
942         `CPOS'.
943         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
944         (decode_coding_sjis): Likewise.
945         (decode_coding_big5): Likewise.
946         (decode_coding_ucs4): Likewise.
947         (decode_coding_utf8): Likewise.
948         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
949         `CHARSET_BY_ATTRIBUTES'.
950         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
951         `str->counter'; decode 3, 4 bytes sets.
952         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
953         sets.
954         (decode_coding_no_conversion): Use `str->cpos' instead of
955         `str->ch'.
956
957         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
958         (Qmojikyo_2022_1): New variable.
959         (make_charset): Don't use `CHARSET_TYPE_*'.
960         (range_charset_code_point): Support coded-charset
961         `mojikyo-2022-1'.
962         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
963         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
964         `CHARSET_BY_ATTRIBUTES'.
965         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
966         `CHARSET_BY_ATTRIBUTES'.
967         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
968         (complex_vars_of_mule_charset): Add new coded-charset
969         `mojikyo-2022-1'.
970
971         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
972         interface; changed to inline function.
973
974         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
975         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
976         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
977         (CHARSET_TYPE_94): Deleted.
978         (CHARSET_TYPE_94X94): Deleted.
979         (CHARSET_TYPE_96): Deleted.
980         (CHARSET_TYPE_96X96): Deleted.
981         (CHARSET_TYPE_128): Deleted.
982         (CHARSET_TYPE_128X128): Deleted.
983         (CHARSET_TYPE_256): Deleted.
984         (CHARSET_TYPE_256X256): Deleted.
985         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
986         to inline function.
987         (DECODE_MOJIKYO_2022): New inline function.
988         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
989         `Vcharset_mojikyo_2022_1'.
990
991 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
992
993         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
994         instead of `EQ'.
995         (put_byte_table): Likewise.
996         (char_id_table_equal): Use `get_byte_table' [new implementation].
997
998 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
999
1000         * mule-charset.c: Include <limits.h> in UTF-2000.
1001         (BT_UINT8_MIN): New macro in UTF-2000.
1002         (BT_UINT8_MAX): New macro in UTF-2000.
1003         (BT_UINT8_t): New macro in UTF-2000.
1004         (BT_UINT8_nil): New macro in UTF-2000.
1005         (BT_UINT8_unbound): New macro in UTF-2000.
1006         (INT_UINT8_P): New inline function in UTF-2000.
1007         (UINT8_VALUE_P): New inline function in UTF-2000.
1008         (UINT8_ENCODE): New inline function in UTF-2000.
1009         (UINT8_DECODE): New inline function in UTF-2000.
1010         (mark_uint8_byte_table): New function in UTF-2000.
1011         (print_uint8_byte_table): New function in UTF-2000.
1012         (uint8_byte_table_equal): New function in UTF-2000.
1013         (uint8_byte_table_hash): New function in UTF-2000.
1014         (make_uint8_byte_table): New function in UTF-2000.
1015         (uint8_byte_table_same_value_p): New function in UTF-2000.
1016         (BT_UINT16_MIN): New macro in UTF-2000.
1017         (BT_UINT16_MAX): New macro in UTF-2000.
1018         (BT_UINT16_t): New macro in UTF-2000.
1019         (BT_UINT16_nil): New macro in UTF-2000.
1020         (BT_UINT16_unbound): New macro in UTF-2000.
1021         (INT_UINT16_P): New inline function in UTF-2000.
1022         (UINT16_VALUE_P): New inline function in UTF-2000.
1023         (UINT16_ENCODE): New inline function in UTF-2000.
1024         (UINT16_DECODE): New inline function in UTF-2000.
1025         (UINT8_TO_UINT16): New inline function in UTF-2000.
1026         (mark_uint16_byte_table): New function in UTF-2000.
1027         (print_uint16_byte_table): New function in UTF-2000.
1028         (uint16_byte_table_equal): New function in UTF-2000.
1029         (uint16_byte_table_hash): New function in UTF-2000.
1030         (make_uint16_byte_table): New function in UTF-2000.
1031         (uint16_byte_table_same_value_p): New function in UTF-2000.
1032         (print_byte_table): New function in UTF-2000.
1033         (byte-table): Use `print_byte_table' as printer.
1034         (make_byte_table): Delete second argument `older'.
1035         (byte_table_same_value_p): New function in UTF-2000.
1036         (copy_byte_table): Deleted.
1037         (get_byte_table): New function in UTF-2000.
1038         (put_byte_table): New function in UTF-2000.
1039         (print_char_id_table): New function in UTF-2000.
1040         (char-id-table): Use `print_char_id_table' as printer.
1041         (make_char_id_table): Delete second argument `older'.
1042         (get_char_id_table): Use `get_byte_table [new implementation].
1043         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1044         implementation].
1045         (Ffind_char_attribute_table): New function in UTF-2000.
1046         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1047         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1048         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1049         (syms_of_mule_charset): Add new function
1050         `find-char-attribute-table' in UTF-2000.
1051
1052         * lrecord.h (enum lrecord_type): Add
1053         `lrecord_type_uint16_byte_table' and
1054         `lrecord_type_uint8_byte_table'.
1055
1056         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1057         (Lisp_Uint8_Byte_Table): New type.
1058         (XUINT8_BYTE_TABLE): New macro.
1059         (XSETUINT8_BYTE_TABLE): New macro.
1060         (UINT8_BYTE_TABLE_P): New macro.
1061         (GC_UINT8_BYTE_TABLE_P): New macro.
1062         (struct Lisp_Uint16_Byte_Table): New structure.
1063         (Lisp_Uint16_Byte_Table): New type.
1064         (XUINT16_BYTE_TABLE): New macro.
1065         (XSETUINT16_BYTE_TABLE): New macro.
1066         (UINT16_BYTE_TABLE_P): New macro.
1067         (GC_UINT16_BYTE_TABLE_P): New macro.
1068
1069 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1070
1071         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1072         (Vcharacter_ideographic_strokes_table): Deleted.
1073         (Vcharacter_total_strokes_table): Deleted.
1074         (Vcharacter_morohashi_daikanwa_table): Deleted.
1075         (Vcharacter_decomposition_table): Deleted.
1076         (Qname): Deleted because it is duplicated.
1077         (Qideographic_radical): Deleted.
1078         (Qideographic_strokes): Deleted.
1079         (Qtotal_strokes): Deleted.
1080         (Qmorohashi_daikanwa): Deleted.
1081         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1082         `ideographic-radical', `ideographic-strokes', `total-strokes',
1083         `morohashi-daikanwa' and `->decomposition'.
1084         (Fget_char_attribute): Likewise.
1085         (Fput_char_attribute): Likewise; use `make-vector' instead of
1086         `make_older_vector' for `->decomposition' value.
1087         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1088         `ideograph-daikanwa'.
1089         (syms_of_mule_charset): Delete builtin symbols `name',
1090         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1091         `morohashi-daikanwa'.
1092         (vars_of_mule_charset): Don't setup
1093         `Vcharacter_ideographic_radical_table',
1094         `Vcharacter_ideographic_strokes_table',
1095         `Vcharacter_total_strokes_table',
1096         `Vcharacter_morohashi_daikanwa_table' and
1097         `Vcharacter_decomposition_table'.
1098
1099 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1100
1101         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1102         `make_older_vector', `make_vector_newer_1' and
1103         `make_vector_newer'.
1104
1105         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1106         `make_older_vector' and `make_vector_newer'.
1107
1108         * config.h.in (HAVE_GGC): New macro.
1109
1110 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1111
1112         * mule-charset.c (struct char_attribute_list_closure): New
1113         structure in UTF-2000.
1114         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1115         (Fchar_attribute_list): Likewise.
1116         (Fset_charset_mapping_table): Use `make_vector_newer'.
1117         (Fdecode_builtin_char): New function in UTF-2000.
1118         (syms_of_mule_charset): Add new function `char-attribute-list' and
1119         `decode-builtin-char' in UTF-2000.
1120
1121         * lisp.h (make_vector_newer): New prototype.
1122
1123         * alloc.c (make_vector_newer_1): New function.
1124         (make_vector_newer): New function.
1125
1126 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1127
1128         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1129         50100)'.
1130
1131 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1132
1133         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1134         (Vcharacter_attribute_table): Deleted.
1135         (Vcharacter_name_table): Deleted.
1136         (put_char_attribute): Deleted.
1137         (remove_char_attribute): Deleted.
1138         (struct char_attribute_alist_closure): New structure.
1139         (add_char_attribute_alist_mapper): New function.
1140         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1141         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1142         (Fget_char_attribute): Likewise.
1143         (Fput_char_attribute): Likewise.
1144         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1145         of `remove_char_attribute'.
1146         (Fdefine_char): Return character.
1147         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1148         and `Vcharacter_name_table'.
1149         (complex_vars_of_mule_charset): Likewise
1150         `Vchar_attribute_hash_table'.
1151
1152 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1153
1154         * character.h (CHARC_CHARSET): New macro.
1155         (CHARC_CHARSET_ID): New macro.
1156         (CHARC_CODE_POINT): New macro.
1157         (CHARC_COLUMNS): New macro.
1158         (CHARC_TO_CHAR): New inline function.
1159         (CHARC_EQ): New inline function.
1160         (CHARC_ASCII_EQ): New inline function.
1161         (CHARC_IS_SPACE): New inline function.
1162         (ASCII_TO_CHARC): New inline function.
1163
1164         * char-ucs.h (encode_char_2): Deleted.
1165         (ENCODE_CHAR): Use `encode_char_1' again.
1166         (breakup_char_1): Likewise.
1167         (CHAR_TO_CHARC): New inline function.
1168
1169         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1170
1171 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1172
1173         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1174         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1175         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1176         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1177         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1178         `CHARC_IS_SPACE'.
1179         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1180
1181         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1182         `CHARC_CODE_POINT'.
1183         (x_output_display_block): Use `CHARC_CHARSET' and
1184         `CHARC_ASCII_EQ'.
1185
1186         * redisplay-tty.c (tty_output_display_block): Use
1187         `CHARC_ASCII_EQ'.
1188         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1189
1190         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1191
1192         * insdel.c (find_charsets_in_charc_string): Use
1193         `CHARC_CHARSET_ID'.
1194         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1195         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1196         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1197         (convert_charc_string_into_malloced_string): Likewise.
1198
1199 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1200
1201         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1202         instead of <Emchar_dynarr *> for buf; use
1203         `convert_bufbyte_string_into_charc_dynarr' instead of
1204         `convert_bufbyte_string_into_emchar_dynarr'; use
1205         `find_charsets_in_charc_string' instead of
1206         `find_charsets_in_emchar_string'.
1207
1208         * redisplay.h:
1209         - Include "character.h".
1210         (struct rune): New member `cglyph'; delete member `chr'.
1211
1212         * redisplay.c (redisplay_text_width_charc_string): New function;
1213         delete `redisplay_text_width_emchar_string'.
1214         (rtw_charc_dynarr): New variable; renamed from
1215         `rtw_emchar_dynarr'.
1216         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1217         `rtw_emchar_dynarr'; use
1218         `convert_bufbyte_string_into_charc_dynarr' instead of
1219         `convert_bufbyte_string_into_emchar_dynarr'; use
1220         `redisplay_text_width_charc_string' instead of
1221         `redisplay_text_width_emchar_string'.
1222         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1223         instead of `rtw_emchar_dynarr'; use
1224         `convert_bufbyte_string_into_charc_dynarr' instead of
1225         `convert_bufbyte_string_into_emchar_dynarr'.
1226         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1227         `redisplay_text_width_charc_string' instead of
1228         `redisplay_text_width_emchar_string'.
1229         (create_text_block): Modify for <struct rune> change.
1230         (generate_formatted_string_db): Likewise.
1231         (create_string_text_block): Likewise.
1232         (pixel_to_glyph_translation): Likewise.
1233
1234         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1235         instead of <const Emchar *>.
1236         (x_text_width): Likewise.
1237         (x_output_display_block): Use <Charc_dynarr *> instead
1238         <Emchar_dynarr *>; modify for <structure rune> change.
1239         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1240         *>.
1241
1242         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1243         <const Emchar *>; use `charc_string_displayed_columns' instead of
1244         `emchar_string_displayed_columns'.
1245         (tty_output_display_block): Use <Charc_dynarr *> instead of
1246         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1247         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1248         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1249         `tty_output_emchar_dynarr_dynarr'.
1250         (tty_output_charc_dynarr): New function; delete
1251         `tty_output_charc_dynarr'.
1252
1253         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1254         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1255         <Emchar_dynarr *> for buf; use
1256         `convert_bufbyte_string_into_charc_dynarr' instead of
1257         `convert_bufbyte_string_into_emchar_dynarr'.
1258
1259         * frame.c (title_string_charc_dynarr): New variable; renamed from
1260         `title_string_emchar_dynarr'.
1261         (generate_title_string): Use `title_string_charc_dynarr' instead
1262         of `title_string_emchar_dynarr'; use
1263         `convert_charc_string_into_malloced_string' instead of
1264         `convert_emchar_string_into_malloced_string'.
1265         (init_frame): Use `title_string_charc_dynarr' instead of
1266         `title_string_emchar_dynarr'.
1267
1268         * console.h:
1269         - Include "character.h".
1270         (struct console_methods): Use <const Charc *> instead of <const
1271         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1272         <Emchar_dynarr *> in output_string_method.
1273
1274         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1275         <Emchar_dynarr *>.
1276
1277         * console-stream.c (stream_text_width): Use <const Charc *>
1278         instead of <const Emchar *>.
1279
1280         * character.h (Charc_dynarr): New type.
1281
1282         * char-ucs.h (structure Charc): New structure; define new type
1283         `Charc'.
1284
1285         * char-lb.h (DECODE_CHAR): New inline function.
1286         (encode_char_1): New inline function.
1287         (ENCODE_CHAR): New macro.
1288         (structure Charc): New structure; define new type `Charc'.
1289
1290         * char-1byte.h (Vcharset_control_1): New macro.
1291         (Vcharset_latin_iso8859_1): New macro.
1292         (DECODE_CHAR): New inline function.
1293         (encode_char_1): New inline function.
1294         (ENCODE_CHAR): New macro.
1295         (structure Charc): New structure; define new type `Charc'.
1296
1297         * insdel.c (find_charsets_in_charc_string): New function; delete
1298         `find_charsets_in_emchar_string'.
1299         (charc_string_displayed_columns): New function; delete
1300         `emchar_string_displayed_columns'.
1301         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1302         `convert_bufbyte_string_into_emchar_dynarr'.
1303         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1304         `convert_charc_string_into_bufbyte_dynarr'.
1305         (convert_charc_string_into_malloced_string): New function; delete
1306         `convert_charc_string_into_malloced_string'.
1307
1308         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1309         `find_charsets_in_emchar_string'.
1310         (charc_string_displayed_columns): New prototype; delete
1311         `emchar_string_displayed_columns'.
1312         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1313         `convert_charc_string_into_bufbyte_dynarr'.
1314         (convert_charc_string_into_malloced_string): New prototype; delete
1315         `convert_charc_string_into_malloced_string'.
1316
1317 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1318
1319         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1320
1321 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1322
1323         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1324
1325         * char-ucs.h: Use <short> for <Charset_ID>.
1326
1327         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1328         <Charset_ID>.
1329
1330 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1331
1332         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1333         to 0.16.
1334
1335 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1336
1337         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1338         variable.
1339         (Qmorohashi_daikanwa): New variable.
1340         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1341         for `morohashi-daikanwa' attribute.
1342         (Fget_char_attribute): Likewise.
1343         (Fput_char_attribute): Likewise.
1344         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1345         has the same value of `ideograph-daikanwa'.
1346         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1347         (vars_of_mule_charset): Setup
1348         `Vcharacter_morohashi_daikanwa_table'.
1349
1350 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1351
1352         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1353         attributes.
1354         (add_charset_to_list_mapper): Add `key' instead of
1355         `XCHARSET_NAME (value)' to return aliases.
1356
1357 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1358
1359         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1360         variable.
1361         (Vcharacter_ideographic_strokes_table): New variable.
1362         (Qideographic_radical): New variable.
1363         (Qideographic_strokes): New variable.
1364         (Fchar_attribute_alist): Use
1365         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1366         attribute; use `Vcharacter_ideographic_strokes_table' for
1367         `ideographic-strokes' attribute.
1368         (Fget_char_attribute): Likewise.
1369         (Fput_char_attribute): Likewise.
1370         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1371         `ideographic-strokes'.
1372         (vars_of_mule_charset): Setup
1373         `Vcharacter_ideographic_radical_table' and
1374         `Vcharacter_ideographic_strokes_table'.
1375
1376 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1377
1378         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1379         (Qtotal_strokes): New variable.
1380         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1381         `total-strokes' attribute.
1382         (Fget_char_attribute): Likewise.
1383         (Fput_char_attribute): Likewise.
1384         (syms_of_mule_charset): Add new symbol `total-strokes'.
1385         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1386
1387 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1388
1389         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1390         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1391         are found.
1392         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1393         `->decomposition' attribute.
1394         (Fput_char_attribute): Likewise.
1395         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1396
1397 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1398
1399         * mule-charset.c (decoding_table_check_elements): New function.
1400         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1401
1402 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1403
1404         * mule-charset.c (Fset_charset_mapping_table): Use
1405         `put_char_ccs_code_point'.
1406
1407 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1408
1409         * mule-charset.c (decoding_table_put_char): New inline function.
1410         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1411
1412 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1413
1414         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1415         (XCHARSET_BYTE_SIZE): New macro.
1416         (decoding_table_remove_char): New inline function.
1417         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1418         `decoding_table_remove_char'.
1419         (remove_char_ccs): Use `decoding_table_remove_char'.
1420         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1421
1422 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1423
1424         * mule-charset.c (Vcharacter_name_table): New variable.
1425         (Qname): New variable.
1426         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1427         attribute.
1428         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1429         `Vcharacter_name_table' for `name' attribute.
1430         (Fremove_char_attribute): Use function `remove_char_ccs'.
1431         (put_char_ccs_code_point): New function.
1432         (remove_char_ccs): New function.
1433         (syms_of_mule_charset): Add new symbol `name'.
1434         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1435
1436 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1437
1438         * mule-charset.c (make_byte_table): Add new argument `older'.
1439         (make_char_id_table): Likewise.
1440         (copy_char_id_table): Comment out because it is not used.
1441         (put_char_id_table): Modify for `make_byte_table'.
1442         (Fput_char_attribute): Make encoding_table as older object;
1443         inherit older bit of `Vcharacter_composition_table'.
1444         (mark_charset): Don't mark `cs->encoding_table'.
1445         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1446         normal object; make `Vcharacter_composition_table' as an older
1447         object; delete staticpro for `Vcharacter_composition_table'; make
1448         `Vcharacter_variant_table' as a normal object.
1449
1450         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1451         (mark_object): Don't check older object in UTF-2000.
1452
1453         * lrecord.h (struct lrecord_header): Add new member `older' in
1454         UTF-2000.
1455         (set_lheader_implementation): Setup `SLI_header->older' in
1456         UTF-2000.
1457         (set_lheader_older_implementation): New macro in UTF-2000.
1458         (OLDER_RECORD_P): New macro in UTF-2000.
1459         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1460         (alloc_older_lcrecord): New prototype in UTF-2000.
1461         (alloc_older_lcrecord_type): New macro in UTF-2000.
1462
1463 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1464
1465         * mule-charset.c (byte_table_description): Use
1466         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1467         (char_id_table_description): Delete bogus `, 1'.
1468         (Fget_char_attribute): Refer encoding_table of each coded-charset
1469         to get value of coded-charset attribute of a character.
1470         (Fput_char_attribute): Use `make_older_vector' instead of
1471         `make_vector'; use encoding_table of each coded-charset to store
1472         value of coded-charset attribute of a character.
1473         (Fremove_char_attribute): Use encoding_table of each coded-charset
1474         to store value of coded-charset attribute of a character.
1475         (mark_charset): Mark `cs->encoding_table'; don't mark
1476         `cs->decoding_table'.
1477         (charset_description): Add description of new member
1478         `encoding_table'.
1479         (make_charset): Initialize `encoding_table'.
1480
1481         * char-ucs.h (struct Lisp_Charset): Add new member
1482         `encoding_table'.
1483         (CHARSET_ENCODING_TABLE): New macro.
1484         (XCHARSET_ENCODING_TABLE): New macro.
1485         (charset_code_point): New implementation.
1486         (encode_char_1): Likewise.
1487
1488         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1489         (disksave_object_finalization_1): Call finalizers of
1490         `all_older_lcrecords' in UTF-2000.
1491         (make_older_vector): New function in UTF-2000.
1492         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1493         UTF-2000.
1494
1495         * lisp.h (make_older_vector): New prototype in UTF-2000.
1496
1497 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1498
1499         * lrecord.h (enum lrecord_type): Rename
1500         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1501
1502         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1503         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1504         `get_char_code_table'.
1505
1506         * mule-charset.c (mark_char_id_table): Renamed from
1507         `mark_char_code_table'.
1508         (char_id_table_equal): Renamed from `char_code_table_equal'.
1509         (char_id_table_hash): Renamed from `char_code_table_hash'.
1510         (make_char_id_table): Renamed from `make_char_code_table'.
1511         (copy_char_id_table): Renamed from `copy_char_code_table'.
1512         (get_char_id_table): Renamed from `get_char_code_table'.
1513         (put_char_id_table): Renamed from `put_char_code_table'.
1514         (to_char_id): Renamed from `to_char_code'.
1515
1516         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1517         `Lisp_Char_Code_Table'.
1518         (char_id_table): Renamed from `char_code_table'.
1519         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1520         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1521         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1522         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1523         (get_char_id_table): Renamed from `get_char_code_table'.
1524
1525 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1526
1527         * lrecord.h (enum lrecord_type): Rename
1528         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1529
1530         * mule-charset.c (mark_byte_table): Renamed from
1531         `mark_char_byte_table'.
1532         (byte_table_equal): Renamed from `char_byte_table_equal'.
1533         (byte_table_hash): Renamed from `byte_table_hash'.
1534         (make_byte_table): Renamed from `make_byte_table'.
1535         (copy_byte_table): Renamed from `copy_char_byte_table'.
1536
1537         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1538         `Lisp_Char_Byte_Table'.
1539         (byte_table): Renamed from `char_byte_table'.
1540         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1541         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1542         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1543         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1544
1545 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1546
1547         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1548         (dfc_convert_to_internal_format): Likewise.
1549         
1550         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1551         * text-coding.c (Fcoding_system_alias_p): New function.
1552         * text-coding.c (Fcoding_system_aliasee): New function.
1553         * text-coding.c (append_suffix_to_symbol): New function.
1554         * text-coding.c (dangling_coding_system_alias_p): New function.
1555         * text-coding.c (Ffind_coding_system):
1556         * text-coding.c (Fcopy_coding_system):
1557         * text-coding.c (encode_coding_no_conversion):
1558         * text-coding.c (syms_of_file_coding):
1559         * text-coding.c (vars_of_file_coding):
1560         Rewrite coding system alias code.
1561         Allow nested aliases, like symbolic links.
1562         Allow redefinition of coding system aliases.
1563         Prevent existence of dangling coding system aliases.
1564         Eliminate convert_to_external_format.
1565         Eliminate convert_to_internal_format.
1566         
1567         * text-coding.c: Change enum eol_type to eol_type_t.
1568
1569 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1570
1571         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1572         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1573
1574         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1575         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1576
1577 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1578
1579         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1580         `ideograph-daikanwa'.
1581
1582         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1583         (Vcharset_ucs_bmp): Likewise.
1584         (Vcharset_mojikyo): Add new extern variable definition.
1585         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1586         (Vcharset_latin_iso8859_3): Likewise.
1587         (Vcharset_latin_iso8859_4): Likewise.
1588         (Vcharset_latin_iso8859_9): Likewise.
1589         (Vcharset_latin_viscii_lower): Likewise.
1590         (Vcharset_latin_viscii_upper): Likewise.
1591         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1592         `mojikyo' code-point is used to decode.
1593         (encode_char_2): New function [to convert `mojikyo' code-point to
1594         Mojikyo font encoding].
1595         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1596         (breakup_char_1): Likewise.
1597         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1598
1599 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1600
1601         * text-coding.c (Fmake_coding_system): Add document about
1602         `disable-composition' property.
1603
1604 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1605
1606         * text-coding.c (Qdisable_composition): New variable; delete
1607         `Qcomposite'.
1608         (Fmake_coding_system): Add new property `disable-composite';
1609         delete property `composite'.
1610         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1611         instead of `!CODING_SYSTEM_COMPOSITE'.
1612         (syms_of_file_coding): Add new symbol `disable-composition';
1613         delete symbol `composite'.
1614
1615         * file-coding.h (struct Lisp_Coding_System): Add
1616         `disable_composition'; delete `enable_composition'.
1617         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1618         `CODING_SYSTEM_COMPOSITE'.
1619         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1620         `XCODING_SYSTEM_COMPOSITE'.
1621
1622 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1623
1624         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1625         to 0.15.
1626
1627 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1628
1629         * text-coding.c (Qcomposite): New variable.
1630         (Fmake_coding_system): Add new property `composite'.
1631         (struct decoding_stream): Add `combined_char_count',
1632         `combined_chars' and `combining_table' in UTF-2000.
1633         (COMPOSE_FLUSH_CHARS): New macro.
1634         (COMPOSE_ADD_CHAR): New macro.
1635         (reset_decoding_stream): Reset `str->combined_char_count' and
1636         `str->combining_table' in UTF-2000.
1637         (decode_coding_iso2022): Modify for character-decomposition.
1638         (syms_of_file_coding): Add new symbol `composite'.
1639
1640 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1641
1642         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1643         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1644         of `Vcharacter_composition_table' if `->decomposition' property
1645         has only 1 element.
1646         (Qlatin_tcvn5712): New variable.
1647         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1648         (complex_vars_of_mule_charset): Add new coded-charset
1649         `latin-tcvn5712'.
1650
1651         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1652
1653 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1654
1655         * file-coding.h (struct Lisp_Coding_System): Add
1656         `enable_composition'.
1657         (CODING_SYSTEM_COMPOSITE): New macro.
1658         (XCODING_SYSTEM_COMPOSITE): New macro.
1659
1660 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1661
1662         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1663
1664 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1665
1666         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1667         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1668
1669 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1670
1671         * mule-charset.c (Vcharset_mojikyo): New variable.
1672         (Fdefine_char): Don't use coded-charset which does not have
1673         non-builtin character range to allocate character-id.
1674         (Qmojikyo): New variable.
1675         (syms_of_mule_charset): Add new symbol `mojikyo'.
1676         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1677
1678         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1679         (LEADING_BYTE_MOJIKYO): New macro.
1680         (MIN_CHAR_MOJIKYO): New macro.
1681         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1682         (MAX_CHAR_MOJIKYO): New macro.
1683
1684 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1685
1686         * mule-charset.c (remove_char_attribute): Fixed.
1687
1688 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1689
1690         * mule-charset.c (remove_char_attribute): New function.
1691         (Fremove_char_attribute): New function.
1692         (encode_builtin_char_1): Comment out builtin-support for
1693         greek-iso8859-7 and cyrillic-iso8859-5.
1694         (Fdecode_char): Check `code' is an integer.
1695         (syms_of_mule_charset): Add `remove-char-attribute'.
1696         (MIN_CHAR_GREEK): Deleted.
1697         (MAX_CHAR_GREEK): Likewise.
1698         (MIN_CHAR_CYRILLIC): Likewise.
1699         (MAX_CHAR_CYRILLIC): Likewise.
1700         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1701         MAX_CHAR_GREEK for `greek-iso8859-7'.
1702
1703         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1704         (MAX_CHAR_GREEK): Likewise.
1705         (MIN_CHAR_CYRILLIC): Likewise.
1706         (MAX_CHAR_CYRILLIC): Likewise.
1707
1708 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1709
1710         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1711         format is used without `ucs' property.
1712         (Fdecode_char): Fix problem with GR representation.
1713         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1714         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1715
1716 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1717
1718         * mule-charset.c (make_builtin_char): New function.
1719         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1720         (Fset_charset_mapping_table): Modify for new representation of
1721         code-point.
1722         (Fdecode_char): New function.
1723         (syms_of_mule_charset): Add new builtin function `decode-char' in
1724         UTF-2000.
1725
1726         * char-ucs.h (make_builtin_char): New prototype.
1727         (DECODE_CHAR): New inline function.
1728         (MAKE_CHAR): Use `DECODE_CHAR'.
1729
1730 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1731
1732         * text-coding.c (parse_charset_conversion_specs): Use
1733         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1734         `XCHARSET_TYPE'.
1735         (iso2022_designate): Likewise.
1736
1737         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1738         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1739
1740         * mule-charset.c (Vcharset_ucs): New variable.
1741         (print_charset): Change design; use `CHARSET_CHARS' and
1742         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1743         (make_charset): Change signature to specify `chars' and
1744         `dimension' instead of `type'.
1745         (range_charset_code_point): Modify for 256^n-set.
1746         (encode_builtin_char_1): Encode as `ucs' in default.
1747         (Fmake_charset): Modify for `make_charset'.
1748         (Fmake_reverse_direction_charset): Likewise.
1749         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1750         UTF-2000.
1751         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1752         for `make_charset'.
1753
1754         * char-ucs.h (Vcharset_ucs): New variable.
1755         (LEADING_BYTE_UCS): New macro.
1756         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1757         and `chars' to `unsigned short' from `unsigned int'.
1758         (CHARSET_TYPE): Deleted.
1759         (XCHARSET_TYPE): Deleted.
1760
1761 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1762
1763         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1764
1765         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1766         (ENCODE_CHAR): New macro.
1767
1768 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1769
1770         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1771         to 0.14 (Kawachi-Katakami).
1772
1773 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1774
1775         * text-coding.c (char_encode_shift_jis): Modify for
1776         `charset_code_point'.
1777         (char_encode_iso2022): Likewise.
1778
1779         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1780         (integer) instead of list of <Lisp_Object>s (integers) as the
1781         format of code-point of a coded-charset.
1782         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1783         (encode_builtin_char_1): New function; delete
1784         `split_builtin_char'.
1785         (charset_code_point): Return <int> instead of <Lisp_Object>.
1786         (Fsplit_char): Don't use `SPLIT_CHAR'.
1787
1788         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1789         prototype for `split_builtin_char'.
1790         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1791         (charset_code_point): Likewise.
1792         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1793         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1794
1795 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1796
1797         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1798         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1799
1800 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1801
1802         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1803
1804         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1805         (MAX_CHAR_OBS_94x94): Deleted.
1806
1807 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1808
1809         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1810
1811         * char-ucs.h (MAX_CHAR_BMP): New macro.
1812
1813 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1814
1815         * text-coding.c: Sync with r21-2-24.
1816
1817 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1818
1819         * file-coding.c: Modify for UTF-2000.
1820
1821 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1822
1823         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1824         to 0.13 (Takaida).
1825
1826 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1827
1828         * mule-charset.c (split_builtin_char): Delete builtin support for
1829         `katakana-jisx0201'.
1830         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1831         BMP area in builtin representation.
1832
1833         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1834         `Vcharset_katakana_jisx0201'.
1835
1836 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1837
1838         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1839         (Qisolated): New variable.
1840         (Qinitial): New variable.
1841         (Qmedial): New variable.
1842         (Qfinal): New variable.
1843         (Qvertical): New variable.
1844         (Qsmall): New variable.
1845         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1846         `Qvertical' and `Qsmall'.
1847         (Qmojikyo_pj_[1 .. 21]): New variable.
1848         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1849         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1850         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1851         .. 21]'.
1852
1853 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1854
1855         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1856         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1857         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1858
1859 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1860
1861         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1862         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1863         BMP.
1864         (Qjapanese_jisx0208_1990): New variable.
1865         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1866         (complex_vars_of_mule_charset): Add new coded-charset
1867         `japanese-jisx0208-1990'.
1868
1869         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1870         (MIN_CHAR_JIS_X0208_1990): New macro.
1871         (MAX_CHAR_JIS_X0208_1990): New macro.
1872
1873 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1874
1875         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1876         coded-charset is not found.
1877
1878 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1879
1880         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1881         (Fdefine_char): Use `Fmake_char'.
1882
1883 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1884
1885         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1886         (Vcharset_hiragana_jisx0208): Deleted.
1887         (Vcharset_katakana_jisx0208): Deleted.
1888         (Qideograph_daikanwa): New variable.
1889         (Qhiragana_jisx0208): Deleted.
1890         (Qkatakana_jisx0208): Deleted.
1891         (split_builtin_char): Split `ideograph-daikanwa'.
1892         (Fsplit_char): New implementation for UTF-2000.
1893         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1894         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1895         (complex_vars_of_mule_charset): Add new coded-charset
1896         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1897         `katakana-jisx0208'.
1898
1899         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1900         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1901         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1902         (MIN_CHAR_DAIKANWA): New macro.
1903         (MAX_CHAR_DAIKANWA): New macro.
1904
1905 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1906
1907         * data.c (Fstring_to_number): Don't recognize floating point if
1908         base is not 10.
1909
1910 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1911
1912         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1913
1914 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1915
1916         * mule-charset.c (Qsquare): New variable.
1917         (to_char_code): Add `Qsquare'.
1918         (syms_of_mule_charset): Add new symbol `square'.
1919
1920 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1921
1922         * mule-charset.c (Qcircle): New variable.
1923         (to_char_code): Add `Qcircle'.
1924         (syms_of_mule_charset): Add new symbol `circle'.
1925
1926 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1927
1928         * mule-charset.c (Qfont): New variable.
1929         (to_char_code): Add `Qfont'.
1930         (syms_of_mule_charset): Add new symbol `font'.
1931
1932 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1933
1934         * mule-charset.c (Qsub): New variable.
1935         (to_char_code): Add `Qsub'.
1936         (syms_of_mule_charset): Add new symbol `sub'.
1937
1938 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1939
1940         * mule-charset.c (Fput_char_attribute): Convert each element of
1941         VALUE to GL position if ATTRIBUTE is a GR-set,
1942
1943 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1944
1945         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1946         coded-charset is a GR-set.
1947
1948 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1949
1950         * mule-charset.c (Fput_char_attribute): Check each element of
1951         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1952
1953 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1954
1955         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1956         UTF-2000.
1957         (Qethiopic_ucs): New variable in UTF-2000.
1958         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1959         (complex_vars_of_mule_charset): Add new coded-charset
1960         `ethiopic-ucs' in UTF-2000.
1961
1962         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1963         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1964         9)'.
1965         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1966         10)'.
1967         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1968
1969 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1970
1971         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1972         `ascii'.
1973
1974 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1975
1976         * mule-charset.c (Vcharacter_variant_table): New variable.
1977         (Q_ucs): New variable.
1978         (Fchar_variants): New function.
1979         (Fput_char_attribute): Register `->ucs' value to
1980         `Vcharacter_variant_table'.
1981         (syms_of_mule_charset): Add new function `char-variants' and new
1982         symbol `->ucs'.
1983         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
1984
1985 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1986
1987         * mule-charset.c (get_char_code_table): Allow negative character
1988         code.
1989         (put_char_code_table): Likewise.
1990         (Vcharacter_composition_table): New variable.
1991         (Q_decomposition): New variable.
1992         (Qwide): New variable.
1993         (Qnarrow): New variable.
1994         (Qcompat): New variable.
1995         (QnoBreak): New variable.
1996         (Qsuper): New variable.
1997         (Qfraction): New variable.
1998         (to_char_code): New function.
1999         (Fget_composite_char): New function.
2000         (Fput_char_attribute): Register `->decomposition' value to
2001         `Vcharacter_composition_table'.
2002         (syms_of_mule_charset): Add new function `get-composite-char', new
2003         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2004         `super' and `fraction'.
2005         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2006
2007 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2008
2009         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2010         character; copy the return value.
2011
2012 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2013
2014         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2015
2016         * mule-charset.c (range_charset_code_point): Must use make_int.
2017         (split_builtin_char): New function.
2018
2019 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2020
2021         * mule-charset.c (char_byte_table): Change name from
2022         "char-code-table" to "char-byte-table".
2023         (mark_char_code_table): New function.
2024         (char_code_table_equal): New function.
2025         (char_code_table_hash): New function.
2026         (char_code_table_description): New constant.
2027         (char_code_table): New type.
2028         (make_char_code_table): New function.
2029         (copy_char_code_table): New function.
2030         (get_char_code_table): Modify for `char_code_table' type.
2031         (put_char_code_table): Likewise.
2032         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2033         (Kashiwara).
2034
2035         * char-ucs.h (char_code_table): New type.
2036         (XCHAR_CODE_TABLE): New macro.
2037         (XSETCHAR_CODE_TABLE): New macro.
2038         (CHAR_CODE_TABLE_P): New macro.
2039         (GC_CHAR_CODE_TABLE_P): New macro.
2040         (struct Lisp_Char_Code_Table): New structure.
2041
2042 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2043
2044         * mule-charset.c (Fmake_charset): Setup byte_offset for
2045         {94|96}^n-set.
2046
2047 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2048
2049         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2050         character.
2051
2052 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2053
2054         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2055         is found.
2056
2057 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2058
2059         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2060         charset, it is regarded as a charset.
2061         (put_char_attribute): New function in UTF-2000.
2062         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2063         charset, mapping-table of the charset is modified.
2064         (Fdefine_char): New function in UTF-2000.
2065         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2066         `Fput_char_attribute'.
2067         (syms_of_mule_charset): Add new function `define-char' and new
2068         symbol `ucs' in UTF-2000.
2069         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2070
2071 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2072
2073         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2074         non-UTF-2000 configuration.
2075
2076 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2077
2078         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2079         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2080
2081         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2082         deleted.
2083         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2084         (Fset_charset_mapping_table): Likewise.
2085
2086         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2087         (CHARSET_ENCODING_TABLE): Delete.
2088         (XCHARSET_ENCODING_TABLE): Delete.
2089         (charset_code_point): New interface.
2090
2091 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2092
2093         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2094         instead of `charset_get_byte1' and `charset_get_byte2'.
2095
2096         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2097         (charset_get_byte2): Deleted.
2098
2099 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2100
2101         * char-ucs.h (SPLIT_CHAR): New inline function.
2102         (breakup_char_1): Use `SPLIT_CHAR'.
2103
2104         * mule-charset.c (range_charset_code_point): New function.
2105         (charset_code_point): New function.
2106
2107         * char-ucs.h (range_charset_code_point): New interface.
2108         (breakup_char_1): Use `range_charset_code_point'.
2109
2110 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2111
2112         * mule-charset.c (Fmake_charset): Delete unused local variable
2113         `code_offset'.
2114
2115         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2116         (breakup_char_1): Find a charset and code-point in
2117         `Vcharacter_attribute_table'.
2118
2119 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2120
2121         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2122         to 0.10 (Yao).
2123
2124 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2125
2126         * mule-charset.c (Vcharacter_attribute_table): New variable.
2127         (Fchar_attribute_alist): New function.
2128         (Fget_char_attribute): New function.
2129         (Fput_char_attribute): New function.
2130         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2131         too.
2132         (syms_of_mule_charset): Add new function `char-attribute-alist',
2133         `get-char-attribute' and `put-char-attribute'.
2134         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2135
2136 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2137
2138         * mule-charset.c (Fmake_charset): Just use
2139         `get_unallocated_leading_byte'.
2140
2141         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2142         sets; don't use final-byte based number for private sets.
2143
2144 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2145
2146         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2147         integer.
2148
2149 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2150
2151         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2152         to 0.9.
2153
2154 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2155
2156         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2157         of `CHAR_LEADING_BYTE' in UTF-2000.
2158
2159         * insdel.c (find_charsets_in_bufbyte_string): Use
2160         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2161         (find_charsets_in_emchar_string): Likewise.
2162
2163         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2164         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2165
2166         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2167         (CHAR_CHARSET_ID): New macro.
2168
2169 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2170
2171         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2172         charset-id - MIN_LEADING_BYTE.
2173         (put_char_table): Likewise.
2174
2175 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2176
2177         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2178         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2179         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2180         (CHARSET_ID_OFFSET): New macro.
2181         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2182         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2183         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2184         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2185         4).
2186         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2187         5).
2188         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2189         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2190         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2191         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2192         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2193
2194 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2195
2196         * mule-charset.c (next_allocated_leading_byte): New variable in
2197         UTF-2000.
2198         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2199         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2200         (get_unallocated_leading_byte): Simply use
2201         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2202         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2203         UTF-2000.
2204
2205         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2206         (MAX_LEADING_BYTE_PRIVATE): New macro.
2207         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2208         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2209
2210 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2211
2212         * mule-charset.c (Fmake_charset): Allocate final-byte based
2213         charset-id for 94-set, 96-set and 94x94-set.
2214
2215 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2216
2217         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2218         ambiguous `else'.
2219         (Fmake_charset): Likewise.
2220         (complex_vars_of_mule_charset): Modify the font registry of
2221         `ucs-bmp' not to match `Ethiopic-Unicode'.
2222
2223 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2224
2225         * mule-charset.c (complex_vars_of_mule_charset): Add font
2226         registory of `ucs-bmp'.
2227
2228 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2229
2230         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2231         coded-charsets in `default-coded-charset-priority-list' when
2232         breaking up a character.
2233
2234         * mule-charset.c (Vcharset_latin_viscii): New variable.
2235         (Qlatin_viscii): New variable.
2236         (make_charset): Don't use `decoding_table'.
2237         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2238         byte_offset.
2239         (Fset_charset_mapping_table): New implementation.
2240         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2241         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2242         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2243         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2244         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2245         charset `latin_viscii'.
2246
2247         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2248         (CHARSET_TYPE_94X94): Change to 1 from 2.
2249         (CHARSET_TYPE_96): Change to 2 from 1.
2250         (CHARSET_TYPE_128): New macro.
2251         (CHARSET_TYPE_128X128): Change to 5 from 4.
2252         (CHARSET_TYPE_256): New macro.
2253         (CHARSET_TYPE_256X256): Change to 7 from 5.
2254         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2255
2256 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2257
2258         * text-coding.c (char_encode_shift_jis): Refer
2259         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2260         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2261
2262         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2263         (char_byte_table_equal): New function in UTF-2000.
2264         (char_byte_table_hash): New function in UTF-2000.
2265         (char_byte_table_description): New constant in UTF-2000.
2266         (char_byte_table): New type in UTF-2000.
2267         (make_char_byte_table): New function in UTF-2000.
2268         (copy_char_byte_table): New function in UTF-2000.
2269         (make_char_code_table): New macro in UTF-2000.
2270         (get_char_code_table): New function in UTF-2000.
2271         (put_char_code_table): New function in UTF-2000.
2272         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2273         (charset_description): Add setting in UTF-2000.
2274         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2275         `CHARSET_TO_BYTE1_TABLE(cs)'.
2276         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2277         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2278         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2279         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2280         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2281         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2282         `CHARSET_TO_BYTE2_TABLE(cs)'.
2283
2284         * char-ucs.h (char_byte_table): New type.
2285         (XCHAR_BYTE_TABLE): New macro.
2286         (XSETCHAR_BYTE_TABLE): New macro.
2287         (CHAR_BYTE_TABLE_P): New macro.
2288         (GC_CHAR_BYTE_TABLE_P): New macro.
2289         (struct Lisp_Char_Byte_Table): New structure.
2290         (get_char_code_table): New interface.
2291         (Emchar_to_byte_table): Deleted.
2292         (get_byte_from_character_table): Deleted.
2293         (struct Lisp_Charset): Add `encoding_table'; delete
2294         `to_byte1_table' and `to_byte2_table'.
2295         (CHARSET_ENCODING_TABLE): New macro.
2296         (CHARSET_TO_BYTE1_TABLE): Deleted.
2297         (CHARSET_TO_BYTE2_TABLE): Deleted.
2298         (XCHARSET_ENCODING_TABLE): New macro.
2299         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2300         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2301
2302 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2303
2304         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2305         `vietnamese-viscii-*'.
2306
2307 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2308
2309         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2310         (Qvietnamese_viscii_upper): New variable.
2311         (Fdefine_charset_alias): New function.
2312         (syms_of_mule_charset): Add new function `define-charset-alias'.
2313         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2314         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2315         `latin-viscii-*'.
2316
2317 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2318
2319         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2320         (MAX_CHAR_OBS_94x94): New macro.
2321         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2322         for 94x94 sets.
2323
2324         * mule-charset.c (put_byte_from_character_table): Change unit size
2325         from 128 to 256.
2326         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2327         not defined.
2328         (Fmake_reverse_direction_charset): Modify dummy argument of
2329         `make_charset' for non-UTF-2000 environment.
2330
2331 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2332
2333         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2334
2335         * mule-charset.c (destroy_byte_from_character_table): New macro.
2336         (latin_jisx0201_to_ucs): Deleted.
2337         (latin_iso8859_2_to_ucs): Deleted.
2338         (latin_iso8859_3_to_ucs): Deleted.
2339         (latin_iso8859_4_to_ucs): Deleted.
2340         (latin_iso8859_9_to_ucs): Deleted.
2341         (latin_viscii_lower_to_ucs): Deleted.
2342         (latin_viscii_upper_to_ucs): Deleted.
2343         (mark_charset): Mark `cs->decoding_table'.
2344         (Fcharset_mapping_table): Fix DOC-string.
2345         (Fset_charset_mapping_table): New function.
2346         (syms_of_mule_charset): Add nwe function
2347         `set-charset-mapping-table'.
2348         (complex_vars_of_mule_charset): Don't setup and use
2349         `latin_*_to_ucs'.
2350
2351 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2352
2353         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2354         charset.
2355
2356 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2357
2358         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2359         (Vcharset_katakana_jisx0208): New variable.
2360         (Qhiragana_jisx0208): New variable.
2361         (Qkatakana_jisx0208): New variable.
2362         (make_charset): Add new argument `byte_offset'.
2363         (charset_get_byte1): Modify for new coded-charset definition; use
2364         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2365         `XCHARSET_BYTE_OFFSET'.
2366         (Fmake_charset): Modify for `make_charset'.
2367         (Fmake_reverse_direction_charset): Likewise.
2368         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2369         `katakana-jisx0208'.
2370         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2371         `.'  in font registry of charset `katakana-jisx0201',
2372         `latin-jisx0201', `vietnamese-viscii-lower' and
2373         `vietnamese-viscii-upper'; modify DOC-string of charset
2374         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2375         registry of charset `japanese-jisx0208' not to use font for JIS
2376         X0208:1990; add new charset `hiragana-jisx0208' and
2377         `katakana-jisx0208'.
2378
2379         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2380         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2381         (struct Lisp_Charset): Add `byte_offset'.
2382         (CHARSET_BYTE_OFFSET): New macro.
2383         (XCHARSET_UCS_MIN): New macro.
2384         (XCHARSET_UCS_MAX): New macro.
2385         (XCHARSET_CODE_OFFSET): New macro.
2386         (XCHARSET_BYTE_OFFSET): New macro.
2387         (MIN_CHAR_HIRAGANA): New macro.
2388         (MAX_CHAR_HIRAGANA): New macro.
2389         (MIN_CHAR_KATAKANA): New macro.
2390         (MAX_CHAR_KATAKANA): New macro.
2391         (MAKE_CHAR): Modify for new coded-charset definition; use
2392         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2393         `XCHARSET_BYTE_OFFSET'.
2394
2395 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2396
2397         * mule-charset.c (CHAR96): Deleted.
2398         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2399         <Lisp_Object>.
2400         (latin_iso8859_2_to_ucs): Likewise.
2401         (latin_iso8859_3_to_ucs): Likewise.
2402         (latin_iso8859_4_to_ucs): Likewise.
2403         (latin_iso8859_9_to_ucs): Likewise.
2404         (latin_viscii_lower_to_ucs): Likewise.
2405         (latin_viscii_upper_to_ucs): Likewise.
2406         (latin_tcvn5712_to_ucs): Commented out.
2407         (make_charset): Change type of argument `decoding_table' from
2408         <Emchar*> to <Lisp_Object> [vector of characters].
2409         (Fmake_charset): Modify for `make_charset'.
2410         (Fmake_reverse_direction_charset): Likewise.
2411         (Fcharset_mapping_table): New function in UTF-2000.
2412         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2413         UTF-2000.
2414         (complex_vars_of_mule_charset): Modify for type change of
2415         `*_to_ucs'; modify for `make_charset'.
2416
2417         * char-ucs.h (struct Lisp_Charset): Change type of
2418         `decoding_table' from <Emchar*> to <Lisp_Object>.
2419         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2420
2421 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2422
2423         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2424         error with non-UTF-2000-Mule.
2425
2426 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2427
2428         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2429         in lisp again].
2430         (Vcharset_chinese_cns11643_4): Likewise.
2431         (Vcharset_chinese_cns11643_5): Likewise.
2432         (Vcharset_chinese_cns11643_6): Likewise.
2433         (Vcharset_chinese_cns11643_7): Likewise.
2434         (Qchinese_cns11643_3): Likewise.
2435         (Qchinese_cns11643_4): Likewise.
2436         (Qchinese_cns11643_5): Likewise.
2437         (Qchinese_cns11643_6): Likewise.
2438         (Qchinese_cns11643_7): Likewise.
2439         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2440         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2441         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2442         (complex_vars_of_mule_charset): Likewise.
2443
2444 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2445
2446         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2447         96-set.
2448         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2449         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2450
2451 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2452
2453         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2454         0xFF60.
2455         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2456         (breakup_char_1): Likewise.
2457
2458         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2459         one of them includes the specified character.
2460
2461 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2462
2463         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2464
2465 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2466
2467         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2468
2469 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2470
2471         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2472         definition for non-UTF-2000 Mule.
2473         (latin_iso8859_3_to_ucs): Likewise.
2474         (latin_iso8859_4_to_ucs): Likewise.
2475         (latin_iso8859_9_to_ucs): Likewise.
2476         (latin_jisx0201_to_ucs): Likewise.
2477         (MIN_CHAR_THAI): Likewise.
2478         (MAX_CHAR_THAI): Likewise.
2479         (MIN_CHAR_GREEK): Likewise.
2480         (MAX_CHAR_GREEK): Likewise.
2481         (MIN_CHAR_HEBREW): Likewise.
2482         (MAX_CHAR_HEBREW): Likewise.
2483         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2484         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2485         (MIN_CHAR_CYRILLIC): Likewise.
2486         (MAX_CHAR_CYRILLIC): Likewise.
2487
2488 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2489
2490         * char-ucs.h (breakup_char_1): Use
2491         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2492         thai-tis620 and katakana-jisx0201 area.
2493
2494 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2495
2496         * char-ucs.h (breakup_char_1): Use
2497         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2498         area.
2499
2500         * text-coding.c (reset_encoding_stream): Fixed.
2501         (char_encode_ucs4): Delete `& 255'.
2502
2503         * char-ucs.h (breakup_char_1): Use
2504         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2505
2506 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2507
2508         * file-coding.c (Fmake_coding_system): Don't set up
2509         `codesys->fixed.size'.
2510         (encode_coding_no_conversion): Don't refer
2511         `str->codesys->fixed.size'.
2512
2513 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2514
2515         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2516         (latin_a_char_to_byte1): Deleted.
2517         (latin_a_char_to_byte2): Deleted.
2518
2519 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2520
2521         * mule-charset.c (make_charset): Add new argument `ucs_min',
2522         `ucs_max' and `code_offset'.
2523         (charset_get_byte1): New implementation [delete specific charset
2524         depended implementations].
2525         (Fmake_charset): Modify for `make_charset'.
2526         (Fmake_reverse_direction_charset): Likewise.
2527         (complex_vars_of_mule_charset): Likewise.
2528
2529         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2530         `code_offset'.
2531         (CHARSET_UCS_MIN): New macro.
2532         (CHARSET_UCS_MAX): New macro.
2533         (CHARSET_CODE_OFFSET): New macro.
2534         (MAKE_CHAR): Delete charset depended definitions [except
2535         katakana-jisx0201].
2536
2537 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2538
2539         * char-ucs.h (breakup_char_1): Use
2540         `Vdefault_coded_charset_priority_list' for C0-Controls,
2541         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2542
2543 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2544
2545         * char-ucs.h (charset_get_byte1): New function.
2546         (XCHARSET_GET_BYTE1): Deleted.
2547         (charset_get_byte2): New function.
2548         (XCHARSET_GET_BYTE2): Deleted.
2549         (Vdefault_coded_charset_priority_list): New external variable.
2550         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2551         `Vdefault_preferred_coded_charset_list'.
2552
2553         * mule-charset.c (charset_get_byte1): New function.
2554         (charset_get_byte2): New function.
2555         (Vdefault_coded_charset_priority_list): New variable.
2556         (vars_of_mule_charset): Add new variable
2557         `default-coded-charset-priority-list'.
2558
2559 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2560
2561         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2562         (XCHARSET_GET_BYTE2): New inline function.
2563         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2564         `XCHARSET_GET_BYTE2'.
2565
2566 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2567
2568         * mule-charset.c (make_charset): Initialize
2569         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2570         NULL if table is not defined.
2571
2572 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2573
2574         * text-coding.c (char_encode_shift_jis): Use
2575         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2576         `ucs_to_latin_jisx0201'.
2577
2578         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2579         (ucs_to_latin_iso8859_2): Deleted.
2580         (ucs_to_latin_iso8859_3): Deleted.
2581         (ucs_to_latin_iso8859_4): Deleted.
2582         (ucs_to_latin_iso8859_9): Deleted.
2583         (ucs_to_latin_viscii_lower): Deleted.
2584         (ucs_to_latin_viscii_upper): Deleted.
2585         (ucs_to_latin_tcvn5712): Deleted.
2586         (make_charset): Add new argument `decoding_table'; set up
2587         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2588         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2589         `decoding_table' is defined in UTF-2000.
2590         (Fmake_charset): Modify for `make_charset'.
2591         (Fmake_reverse_direction_charset): Likewise.
2592         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2593         and `GENERATE_96_SET'.
2594
2595         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2596         (ucs_to_latin_jisx0201): Deleted.
2597         (latin_iso8859_2_to_ucs): Deleted.
2598         (ucs_to_latin_iso8859_2): Deleted.
2599         (latin_iso8859_3_to_ucs): Deleted.
2600         (ucs_to_latin_iso8859_3): Deleted.
2601         (latin_iso8859_4_to_ucs): Deleted.
2602         (ucs_to_latin_iso8859_4): Deleted.
2603         (latin_iso8859_9_to_ucs): Deleted.
2604         (ucs_to_latin_iso8859_9): Deleted.
2605         (latin_viscii_lower_to_ucs): Deleted.
2606         (ucs_to_latin_viscii_lower): Deleted.
2607         (latin_viscii_upper_to_ucs): Deleted.
2608         (ucs_to_latin_viscii_upper): Deleted.
2609         (struct Lisp_Charset): Renamed `encoding_table' to
2610         `to_byte1_table'; add `to_byte2_table'.
2611         (CHARSET_DECODING_TABLE): New macro.
2612         (CHARSET_TO_BYTE1_TABLE): New macro.
2613         (CHARSET_TO_BYTE2_TABLE): New macro.
2614         (XCHARSET_DECODING_TABLE): New macro.
2615         (XCHARSET_TO_BYTE1_TABLE): New macro.
2616         (XCHARSET_TO_BYTE2_TABLE): New macro.
2617         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2618         tables.
2619         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2620         don't use `ucs_to_*' tables.
2621
2622 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2623
2624         * text-coding.c (Fmake_coding_system): Don't set up
2625         `codesys->fixed.size'.
2626         (encode_coding_no_conversion): Use `if' instead of `switch'.
2627
2628         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2629
2630 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2631
2632         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2633         (Fmake_charset): Modify for `make_charset'.
2634         (Fmake_reverse_direction_charset): Likewise.
2635         (complex_vars_of_mule_charset): Likewise.
2636
2637 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2638
2639         * text-coding.c (char_encode_shift_jis): Use table
2640         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2641
2642 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2643
2644         * text-coding.c (text_encode_generic): Use `if' instead of
2645         `switch'.
2646         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2647         decode JIS-Latin.
2648
2649 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2650
2651         * text-coding.c (encode_coding_sjis): Deleted.
2652         (char_encode_shift_jis): New function.
2653         (char_finish_shift_jis): New function.
2654         (reset_encoding_stream): Set up `encode_char' and `finish' for
2655         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2656         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2657         (char_encode_utf8): Treat `eol_type'.
2658
2659 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2660
2661         * file-coding.c (decode_coding_iso2022): Use
2662         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2663
2664 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2665
2666         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2667         to 0.7 (Hirano).
2668
2669 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2670
2671         * char-lb.h (CHAR_COLUMNS): New macro.
2672
2673 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2674
2675         * text-coding.c (char_encode_ucs4): New function.
2676         (char_finish_ucs4): New function.
2677         (encode_coding_ucs4): Deleted.
2678         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2679         (text_encode_generic): Delete local variable `charset' and `half'.
2680         (ucs_to_mule_table): Deleted.
2681         (mule_to_ucs_table): Deleted.
2682         (Fset_ucs_char): Deleted.
2683         (ucs_to_char): Deleted.
2684         (Fucs_char): Deleted.
2685         (Fset_char_ucs): Deleted.
2686         (Fchar_ucs): Deleted.
2687         (decode_ucs4): Deleted.
2688         (mule_char_to_ucs4): Deleted.
2689         (encode_ucs4): Deleted.
2690         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2691         (decode_coding_utf8): Likewise.
2692         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2693         (char_encode_iso2022): Fixed.
2694         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2695         `Fset_char_ucs' and `Fchar_ucs'.
2696         (complex_vars_of_file_coding): Don't initialize
2697         `ucs_to_mule_table'.
2698
2699         * objects-tty.c (tty_initialize_font_instance): Don't use
2700         `XCHARSET_COLUMNS'.
2701
2702         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2703         UTF-2000.
2704
2705         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2706         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2707
2708         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2709         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2710         (emchar_string_displayed_columns): Likewise.
2711
2712         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2713         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2714         (string_column_at_point): Likewise.
2715         (Fmove_to_column): Likewise.
2716
2717         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2718         `encoding_table' and `decoding_table'.
2719         (CHARSET_REP_BYTES): Deleted.
2720         (XCHARSET_REP_BYTES): Deleted.
2721         (XCHARSET_COLUMNS): Deleted.
2722         (CHAR_COLUMNS): New macro.
2723         (lookup_composite_char): Deleted unconditionally.
2724         (composite_char_string): Likewise.
2725
2726 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2727
2728         * char-ucs.h (Emchar_to_byte_table): New type.
2729         (get_byte_from_character_table): New function interface.
2730         (Vcharset_latin_jisx0201): New variable.
2731         (latin_jisx0201_to_ucs): New variable.
2732         (ucs_to_latin_jisx0201): New variable.
2733         (Vcharset_latin_iso8859_2): New variable.
2734         (latin_iso8859_2_to_ucs): New variable.
2735         (ucs_to_latin_iso8859_2): New variable.
2736         (Vcharset_latin_iso8859_3): New variable.
2737         (latin_iso8859_3_to_ucs): New variable.
2738         (ucs_to_latin_iso8859_3): New variable.
2739         (Vcharset_latin_iso8859_4): New variable.
2740         (latin_iso8859_4_to_ucs): New variable.
2741         (ucs_to_latin_iso8859_4): New variable.
2742         (Vcharset_latin_iso8859_9): New variable.
2743         (latin_iso8859_9_to_ucs): New variable.
2744         (ucs_to_latin_iso8859_9): New variable.
2745         (Vcharset_latin_viscii_lower): New variable.
2746         (latin_viscii_lower_to_ucs): New variable.
2747         (ucs_to_latin_viscii_lower): New variable.
2748         (Vcharset_latin_viscii_upper): New variable.
2749         (latin_viscii_upper_to_ucs): New variable.
2750         (ucs_to_latin_viscii_upper): New variable.
2751         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2752         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2753         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2754         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2755         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2756         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2757         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2758         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2759         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2760         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2761
2762         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2763         (Vcharset_latin_viscii_upper): New variable.
2764         (make_byte_from_character_table): New function.
2765         (put_byte_from_character_table): New function.
2766         (get_byte_from_character_table): New function.
2767         (CHAR96): New macro.
2768         (ucs_to_latin_jisx0201): New variable.
2769         (latin_jisx0201_to_ucs): New variable.
2770         (ucs_to_latin_iso8859_2): New variable.
2771         (latin_iso8859_2_to_ucs): New variable.
2772         (ucs_to_latin_iso8859_3): New variable.
2773         (latin_iso8859_3_to_ucs): New variable.
2774         (ucs_to_latin_iso8859_4): New variable.
2775         (latin_iso8859_4_to_ucs): New variable.
2776         (ucs_to_latin_iso8859_9): New variable.
2777         (latin_iso8859_9_to_ucs): New variable.
2778         (ucs_to_latin_viscii_lower): New variable.
2779         (latin_viscii_lower_to_ucs): New variable.
2780         (ucs_to_latin_viscii_upper): New variable.
2781         (latin_viscii_upper_to_ucs): New variable.
2782         (ucs_to_latin_tcvn5712): New variable.
2783         (latin_tcvn5712_to_ucs): New variable.
2784         (Qlatin_viscii_lower): New variable.
2785         (Qlatin_viscii_upper): New variable.
2786         (syms_of_mule_charset): Set up new symbol
2787         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2788         (complex_vars_of_mule_charset): Set up new charset
2789         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2790         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2791         `ucs_to_<CHARSET>' tables.
2792
2793 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2794
2795         * text-coding.c: New file.
2796
2797 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2798
2799         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2800
2801         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2802         (MAKE_CHAR): Modify for `ucs-bmp'.
2803         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2804         non-MULE characters of BMP.
2805
2806 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2807
2808         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2809         to 0.6.
2810
2811 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2812
2813         * lstream.h:
2814         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2815         - Include character.h for `CHAR_ASCII_P'.
2816
2817         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2818
2819         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2820         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2821
2822         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2823         (BYTE_C0_P): Likewise.
2824         (BYTE_C1_P): Likewise.
2825         (Lstream_get_emchar_1): Likewise.
2826         (Lstream_fput_emchar): Likewise.
2827         (Lstream_funget_emchar): Likewise.
2828         (copy_internal_to_external): Likewise.
2829         (copy_external_to_internal): Likewise.
2830
2831         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2832         (BYTE_C0_P): Likewise.
2833         (BYTE_C1_P): Likewise.
2834         (Lstream_get_emchar_1): Likewise.
2835         (Lstream_fput_emchar): Likewise.
2836         (Lstream_funget_emchar): Likewise.
2837         (copy_internal_to_external): Likewise.
2838         (copy_external_to_internal): Likewise.
2839
2840         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2841         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2842
2843         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2844         (BYTE_ASCII_P): Moved to mb-1byte.h.
2845
2846 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2847
2848         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2849
2850         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2851         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2852         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2853         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2854         (VALIDATE_CHARPTR_FORWARD): Likewise.
2855         (simple_charptr_emchar): Moved to mb-multibyte.h.
2856         (simple_set_charptr_emchar): Likewise.
2857         (simple_charptr_copy_char): Likewise.
2858         (non_ascii_charptr_emchar): Likewise.
2859         (non_ascii_set_charptr_emchar): Likewise.
2860         (non_ascii_charptr_copy_char): Likewise.
2861         (charptr_emchar): Moved to mb-*byte.h.
2862         (set_charptr_emchar): Likewise.
2863         (charptr_copy_char): Likewise.
2864
2865         * mb-1byte.h, mb-multibyte.h: New files.
2866
2867 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2868
2869         * mb-utf-8.h (MULTIBYTE): New macro.
2870         (MAX_EMCHAR_LEN): Moved from buffer.h.
2871         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2872
2873         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2874
2875         * mb-lb.h, multibyte.h: New files.
2876
2877         * char-1byte.h (Charset_ID): Moved from buffer.h.
2878         (MIN_LEADING_BYTE): Likewise.
2879         (LEADING_BYTE_ASCII): Likewise.
2880         (NUM_LEADING_BYTES): Likewise.
2881         (CHARSETP): Likewise.
2882         (CHARSET_BY_LEADING_BYTE): Likewise.
2883         (XCHARSET_LEADING_BYTE): Likewise.
2884         (XCHARSET_GRAPHIC): Likewise.
2885         (XCHARSET_COLUMNS): Likewise.
2886         (XCHARSET_DIMENSION): Likewise.
2887         (CHAR_CHARSET): Likewise.
2888         (CHAR_LEADING_BYTE): Likewise.
2889         (BREAKUP_CHAR): Likewise.
2890         (Vcharset_ascii): Likewise.
2891
2892         * buffer.h: Include multibyte.h unconditionally.
2893         (VALID_CHARPTR_P): Moved to multibyte.h.
2894         (ASSERT_VALID_CHARPTR): Likewise.
2895         (REAL_INC_CHARPTR): Likewise.
2896         (REAL_INC_CHARBYTIND): Likewise.
2897         (REAL_DEC_CHARPTR): Likewise.
2898         (INC_CHARPTR): Likewise.
2899         (INC_CHARBYTIND): Likewise.
2900         (DEC_CHARPTR): Likewise.
2901         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2902         (VALIDATE_CHARPTR_FORWARD): Likewise.
2903         (charptr_n_addr): Likewise.
2904         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2905         (simple_charptr_emchar): Moved to multibyte.h.
2906         (simple_set_charptr_emchar): Likewise.
2907         (simple_charptr_copy_char): Likewise.
2908         (non_ascii_charptr_emchar): Likewise.
2909         (non_ascii_set_charptr_emchar): Likewise.
2910         (non_ascii_charptr_copy_char): Likewise.
2911         (charptr_emchar): Likewise.
2912         (set_charptr_emchar): Likewise.
2913         (charptr_copy_char): Likewise.
2914         (charptr_emchar_n): Likewise.
2915         (Charset_ID): Moved to char-1byte.h.
2916         (Vcharset_ascii): Likewise.
2917         (CHAR_CHARSET): Likewise.
2918         (CHAR_LEADING_BYTE): Likewise.
2919         (LEADING_BYTE_ASCII): Likewise.
2920         (NUM_LEADING_BYTES): Likewise.
2921         (MIN_LEADING_BYTE): Likewise.
2922         (CHARSETP): Likewise.
2923         (CHARSET_BY_LEADING_BYTE): Likewise.
2924         (XCHARSET_LEADING_BYTE): Likewise.
2925         (XCHARSET_GRAPHIC): Likewise.
2926         (XCHARSET_COLUMNS): Likewise.
2927         (XCHARSET_DIMENSION): Likewise.
2928         (BREAKUP_CHAR): Likewise.
2929
2930 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2931
2932         * character.h: Add document about interface for characters.
2933
2934         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2935         (MAKE_CHAR): Delete comment about
2936         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2937         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2938         (BREAKUP_CHAR): Modify name of arguments.
2939         (CHAR_CHARSET): Modify name of argument.
2940
2941         * buffer.h: Delete document about Emchar accessors.
2942
2943 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2944
2945         * character.h (CHAR_INTP): Moved from buffer.h
2946         (CHAR_OR_CHAR_INTP): Likewise.
2947         (XCHAR_OR_CHAR_INT): Likewise.
2948         (CHECK_CHAR_COERCE_INT): Likewise.
2949
2950         * buffer.h (CHAR_INTP): Moved to character.h
2951         (CHAR_OR_CHAR_INTP): Likewise.
2952         (XCHAR_OR_CHAR_INT): Likewise.
2953         (CHECK_CHAR_COERCE_INT): Likewise.
2954
2955 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2956
2957         * character.h:
2958         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2959         - Include char-1byte.h, char-lb.h or char-ucs.h.
2960
2961         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2962
2963         * buffer.h: Include character unconditionally.
2964         (valid_char_p): Moved to char-*.h.
2965         (non_ascii_valid_char_p): Moved to char-lb.h.
2966
2967         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2968
2969 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2970
2971         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2972         in UTF-2000 because it is not ported yet and not to use
2973         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2974         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2975         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2976
2977         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2978         (CHAR_ASCII_P): Moved from character.h.
2979
2980         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
2981         (CHAR_ASCII_P): Likewise.
2982         (CHAR_FIELD1_MASK): Deleted.
2983         (CHAR_FIELD2_MASK): Deleted.
2984         (CHAR_FIELD3_MASK): Deleted.
2985         (MAX_CHAR_BASIC_LATIN): New macro.
2986         (CHAR_FIELD1): Deleted.
2987         (CHAR_FIELD2_INTERNAL): Deleted.
2988         (CHAR_FIELD3_INTERNAL): Deleted.
2989         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
2990         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
2991         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
2992         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
2993         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
2994         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
2995         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
2996         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
2997         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
2998         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
2999         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3000         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3001         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3002         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3003         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3004         (MIN_CHAR_COMPOSITION): Deleted.
3005         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3006         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3007
3008 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3009
3010         * buffer.h: Include mb-utf-8.h in UTF-2000.
3011
3012         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3013
3014         * mb-utf-8.h: New file.
3015
3016 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3017
3018         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3019         instead of `int'.
3020
3021         * mule-charset.h, buffer.h (Charset_ID): New type.
3022
3023 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3024
3025         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3026         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3027         instead of `MULE_CHAR_PRIVATE_OFFSET',
3028         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3029         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3030         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3031
3032         * character.h (Vcharset_japanese_jisx0212): New variable
3033         definition.
3034
3035 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3036
3037         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3038         (charset_by_attributes): Delete array about direction.
3039         (latin_a_char_to_charset): New variable in UTF-2000.
3040         (latin_a_char_to_byte1): New variable in UTF-2000.
3041         (latin_a_char_to_byte2): New variable in UTF-2000.
3042         (Qucs_bmp): New variable.
3043         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3044         `Bufbyte'.
3045         (next_allocated_2_byte_leading_byte): Likewise.
3046         (non_ascii_set_charptr_emchar): Likewise.
3047         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3048         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3049         `charset_by_attributes'.
3050         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3051         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3052         and `CHARSET_BY_LEADING_BYTE'.
3053         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3054         `utf-2000-version' to `vars_of_mule_charset'.
3055         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3056         define `leading-code-private-11' in UTF-2000; move setting of
3057         `utf-2000-version' from `syms_of_mule_charset'.
3058         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3059         UTF-2000.
3060
3061         * character.h (Charset_ID): New type.
3062         (LEADING_BYTE_UCS_BMP): New macro.
3063         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3064         (CHARSET_ID_OFFSET_94): New macro.
3065         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3066         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3067         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3068         final-byte.
3069         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3070         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3071         (CHARSET_ID_OFFSET_96): New macro.
3072         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3073         CHARSET_ID_OFFSET_96 and final-byte.
3074         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3075         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3076         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3077         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3078         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3079         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3080         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3081         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3082         (LEADING_BYTE_THAI_TIS620): Likewise.
3083         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3084         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3085         (CHARSET_ID_OFFSET_94x94): New macro.
3086         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3087         CHARSET_ID_OFFSET_94x94 and final-byte.
3088         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3089         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3090         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3091         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3092         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3093         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3094         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3095         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3096         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3097         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3098         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3099         (CHARSET_TYPE_128X128): New macro.
3100         (CHARSET_TYPE_256X256): New macro.
3101         (XCHARSET_PRIVATE_P): Delete unconditionally.
3102         (charset_by_attributes): Delete array about direction.
3103         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3104         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3105         (MIN_CHAR_94): New macro.
3106         (MAX_CHAR_94): New macro.
3107         (MIN_CHAR_96): New macro.
3108         (MAX_CHAR_96): New macro.
3109         (MIN_CHAR_94x94): New macro.
3110         (MAX_CHAR_94x94): New macro.
3111         (MIN_CHAR_96x96): New macro.
3112         (MAX_CHAR_96x96): New macro.
3113         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3114         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3115         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3116         - 32)'.
3117         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3118         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3119         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3120         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3121         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3122         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3123         `XCHARSET_LEADING_BYTE' to make code-point.
3124         (latin_a_char_to_charset): New variable.
3125         (latin_a_char_to_byte1): New variable.
3126         (latin_a_char_to_byte2): New variable.
3127         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3128         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3129         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3130
3131         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3132         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3133         (find_charsets_in_emchar_string): Likewise.
3134         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3135
3136         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3137         `int'.
3138         (decode_coding_iso2022): Likewise.
3139
3140         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3141         of `unsigned char'.
3142
3143         * redisplay.c (redisplay_text_width_emchar_string): Use
3144         `Charset_ID' instead of `unsigned char'.
3145         (redisplay_frame_text_width_string): Likewise.
3146
3147         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3148         `unsigned char'.
3149
3150         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3151         instead of `unsigned char'.
3152         (face_cachel_charset_font_metric_info): Likewise.
3153
3154         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3155         (get_non_ascii_char_table_value): Likewise.
3156         (get_char_table): Likewise.
3157         (put_char_table): Likewise.
3158         (map_over_other_charset): Likewise.
3159         (map_char_table): Likewise.
3160
3161         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3162         instead of `unsigned char'.
3163
3164 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3165
3166         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3167         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3168
3169         * mule-charset.c (leading_code_private_11): Don't define in
3170         UTF-2000.
3171
3172         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3173         in UTF-2000 because it is not ported yet and not to use
3174         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3175
3176 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3177
3178         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3179
3180 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3181
3182         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3183         in UTF-2000.
3184
3185         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3186         of unsigned char to store leading-byte.
3187
3188         * chartab.c (get_non_ascii_char_table_value): Don't use
3189         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3190
3191         * file-coding.c (encode_coding_big5): Delete bogus implementation
3192         in UTF2000.
3193
3194         * character.h (LEADING_BYTE_*): Delete definition for
3195         non-UTF-2000.
3196         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3197         (LEADING_BYTE_PREFIX_P): Deleted.
3198         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3199         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3200         (BUFBYTE_LEADING_BYTE_P): Deleted.
3201         (CHARSET_PRIVATE_P): Deleted unconditionally.
3202         (rep_bytes_by_first_byte): Deleted unconditionally.
3203         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3204         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3205         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3206         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3207         (CHAR_FIELD2): Deleted.
3208         (CHAR_FIELD3): Deleted.
3209         (MAKE_CHAR): Delete definition for non-UTF-2000.
3210         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3211         (breakup_char_1): New implementation.
3212         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3213         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3214
3215 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3216
3217         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3218         condition.
3219
3220 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3221
3222         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3223         (CHARSET_PRIVATE_P): Likewise.
3224         (XCHARSET_PRIVATE_P): Likewise.
3225         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3226
3227         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3228         UTF2000.
3229         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3230
3231 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3232
3233         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3234         (NUM_LEADING_BYTES): Changed from 128 to 256.
3235         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3236         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3237         UTF2000.
3238         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3239
3240         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3241         UTF2000.
3242         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3243         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3244         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3245         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3246         (Qchinese_cns11643_3): New variable in UTF2000.
3247         (Qchinese_cns11643_4): New variable in UTF2000.
3248         (Qchinese_cns11643_5): New variable in UTF2000.
3249         (Qchinese_cns11643_6): New variable in UTF2000.
3250         (Qchinese_cns11643_7): New variable in UTF2000.
3251         (syms_of_mule_charset): Define `chinese-cns11643-3',
3252         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3253         and `chinese-cns11643-7' in UTF2000.
3254         (vars_of_mule_charset): Initialize
3255         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3256         + 1 in UTF2000.
3257         (complex_vars_of_mule_charset): Setup charset
3258         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3259         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3260
3261 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3262
3263         * mule-charset.c: Move setting for `leading-code-private-11' from
3264         `syms_of_mule_charset' to `vars_of_mule_charset'.
3265
3266 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3267
3268         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3269         and `NUM_LEADING_BYTES' in assert.
3270
3271 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3272
3273         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3274         instead of 128.
3275         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3276         `NUM_LEADING_BYTES' instead of 128.
3277
3278 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3279
3280         * mule-charset.h (charset_by_leading_byte): Use
3281         `NUM_LEADING_BYTES' instead of 128.
3282         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3283
3284         * mule-charset.c (charset_by_leading_byte): Use
3285         `NUM_LEADING_BYTES' instead of 128.
3286         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3287
3288         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3289         128.
3290
3291 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3292
3293         * mule-charset.c (syms_of_mule_charset): Update to
3294         0.4 (Shin-Imamiya).
3295
3296 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3297
3298         * file-coding.c (encode_coding_sjis): New implementation for
3299         UTF2000.  (decode_coding_sjis): Ditto.
3300
3301 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3302
3303         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3304         Don't define in UTF2000.
3305
3306         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3307         defined.
3308
3309         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3310         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3311         MULE.
3312
3313 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3314
3315         * config.h.in (CHAR_IS_UCS4): New macro.
3316
3317         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3318         conventional MULE representation.
3319         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3320
3321         * mule-charset.h: Reverted to original.
3322
3323         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3324         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3325         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3326
3327         * character.h: New file.
3328
3329         * file-coding.c (Fmake_coding_system): Set 1 to
3330         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3331         defined.
3332         (encode_coding_no_conversion): New implementation for UTF2000.
3333
3334         * file-coding.h (struct Lisp_Coding_System): Add new member
3335         `fixed.size'.
3336
3337 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3338
3339         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3340         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3341         (encode_coding_iso2022): New implementation for UTF2000.
3342
3343 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3344
3345         * mule-canna.c (c2mu): New implementation for UTF2000.
3346         (m2c): Likewise.
3347
3348 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3349
3350         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3351
3352 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3353
3354         * file-coding.c (reset_encoding_stream): Set 0 to
3355         `str->iso2022.current_char_boundary' in UTF2000.
3356         (encode_utf8): Don't define in UTF2000.
3357         (encode_coding_utf8): New implementation for UTF-8 representation
3358         of UTF2000.
3359         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3360
3361 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3362
3363         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3364
3365         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3366         UTF2000.
3367         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3368
3369         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3370
3371         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3372         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3373         as UTF-8 in UTF2000.
3374         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3375         (non_ascii_valid_char_p): Don't define in UTF2000.
3376         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3377         (Lstream_get_emchar_1): Likewise.
3378         (utf-2000-version): New variable in UTF2000.
3379
3380         * lread.c (read_escape): Add new reader `u'.
3381
3382         * insdel.c (three_to_one_table): Don't define in UTF2000.
3383         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3384         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3385         UTF2000.
3386         (bytind_to_bufpos_func): Likewise.
3387         (buffer_mule_signal_inserted_region): Likewise.
3388         (vars_of_insdel): Don't initialize `three_to_one_table'.
3389         (init_buffer_text): Use `buf->text->mule_size' instead of
3390         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3391         UTF2000.
3392
3393         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3394         UTF-8 representation in UTF2000.
3395         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3396         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3397         (decode_coding_iso2022): Don't define local variable `lb' in
3398         UTF2000; don't use LEADING_BYTE in UTF2000; use
3399         `DECODE_ADD_UCS_CHAR' in UTF2000.
3400         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3401
3402         * config.h.in (UTF2000): New macro.
3403
3404         * buffer.h (struct buffer_text): Add new member `mule_size' and
3405         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3406         (valid_char_p): Return always 1 in UTF2000.
3407         (MAX_EMCHAR_LEN): 6 in UTF2000.
3408         (three_to_one_table): Don't define in UTF2000.
3409         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3410         UTF2000.
3411         (real_bytind_to_bufpos): Likewise.
3412
3413         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3414
3415 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3416
3417         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3418         representation change.
3419         (Vutf_2000_version): New variable.
3420         (leading_code_private_11): New variable.
3421         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3422         `leading-code-private-11'.
3423
3424         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3425         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3426         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3427         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3428         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3429         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3430         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3431         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3432         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3433         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3434         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3435         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3436         (MIN_CHAR_GREEK): New macro.
3437         (MAX_CHAR_GREEK): New macro.
3438         (MIN_CHAR_CYRILLIC): New macro.
3439         (MAX_CHAR_CYRILLIC): New macro.
3440         (MIN_CHAR_HEBREW): New macro.
3441         (MAX_CHAR_HEBREW): New macro.
3442         (MIN_CHAR_THAI): New macro.
3443         (MAX_CHAR_THAI): New macro.
3444         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3445         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3446         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3447         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3448         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3449         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3450         (CHAR_FIELD2): New inline function.
3451         (CHAR_FIELD3): New inline function.
3452         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3453         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3454         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3455         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3456         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3457         (MIN_CHAR_COMPOSITION): Likewise.
3458         (CHAR_LEADING_BYTE): Modified for character representation change.
3459         (MAKE_CHAR): Likewise.
3460
3461         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3462         (Vcharset_greek_iso8859_7): Likewise.
3463         (Vcharset_cyrillic_iso8859_5): Likewise.
3464         (Vcharset_hebrew_iso8859_8): Likewise.
3465         (Vcharset_thai_tis620): Likewise.
3466         (Vcharset_katakana_jisx0201): Likewise.
3467
3468 2001-01-26  Martin Buchholz <martin@xemacs.org>
3469
3470         * XEmacs 21.2.43 "Terspichore" is released.
3471
3472 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3473
3474         Type fiddling for window_config.saved_windows_count
3475         * window.c (struct window_config): 
3476         Make saved_windows_count member unsigned.
3477         * window.c (sizeof_window_config_for_n_windows): 
3478         Make parameter unsigned.
3479         * window.c (mark_window_config):
3480         * window.c (window_config_equal):
3481         * window.c (free_window_configuration):
3482         * window.c (Fset_window_configuration):
3483         * window.c (count_windows):
3484         * window.c (Fcurrent_window_configuration):
3485         * window.c (reinit_vars_of_window):
3486         Update all callers and users.
3487
3488 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3489
3490         Alignment correctness for flexible arrays.
3491         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
3492         Make alignment-correct. Add interesting comments.
3493         * alloc.c (size_vector):
3494         * alloc.c (make_vector_internal):
3495         * alloc.c (make_bit_vector_internal):
3496         * alloc.c (sweep_bit_vectors_1):
3497         * fns.c (size_bit_vector):
3498         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
3499         * window.c (sizeof_window_config_for_n_windows): 
3500         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
3501
3502 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3503
3504         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
3505
3506 2001-01-23  Andy Piper  <andy@xemacs.org>
3507
3508         * select.c (Fown_selection_internal): pass owned_p
3509
3510         * select-msw.c (mswindows_own_selection): New Signature.
3511
3512         * console.h (struct console_methods): add owned_p to
3513         _own_selection.
3514
3515         * select-x.c (x_own_selection): pass owned_p
3516         (hack_motif_clipboard_selection): use owned_p
3517         (vars_of_select_x): new variable -
3518         x_selection_strict_motif_ownership.
3519
3520 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3521
3522         * specifier.h (specifier_data_offset): Remove pointless parens.
3523         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
3524
3525 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3526
3527         Make Lisp_Object sizeof methods be alignment-correct.
3528         pdump must restore objects to the same alignment as the C compiler
3529         assumes.  It really matters on SGIs.
3530         * lstream.c (aligned_sizeof_lstream): New.
3531         (sizeof_lstream): Use aligned_sizeof_lstream.
3532         (Lstream_new): Likewise.
3533         * opaque.c (aligned_sizeof_opaque): New.
3534         (sizeof_opaque): Use aligned_sizeof_opaque.
3535         (make_opaque): Likewise.
3536         * specifier.c (aligned_sizeof_specifier): New.
3537         (sizeof_specifier): Use aligned_sizeof_specifier.
3538         (make_specifier_internal): Likewise.
3539
3540 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3541
3542         * lstream.h (struct lstream): Use max_align_t for trailing data.
3543         * specifier.h (struct Lisp_Specifier): Likewise.
3544
3545 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3546
3547         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
3548         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
3549         (CCL_SUSPEND): Likewise.
3550         (CCL_INVALID_CMD): Likewise.
3551         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
3552         (ccl_driver): Likewise.
3553         (CCL_WRITE_CHAR): Macro hygiene.
3554         (CCL_WRITE_STRING): Macro hygiene.
3555
3556 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3557
3558         Port "portable" dumper to SunOS 4 and HP-UX.
3559         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
3560         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
3561         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
3562
3563 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3564
3565         * lisp.h (ALIGNOF): A better definition for C++.
3566
3567 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3568
3569         Macro hygiene.
3570         Fix printf warnings: int format, long int arg.
3571         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
3572         (PUSH_FAILURE_POINT): Use correct printf formats.
3573         (POP_FAILURE_POINT): Use correct printf formats.  
3574         Use do {...} while (0)
3575
3576 2001-01-20  Martin Buchholz <martin@xemacs.org>
3577
3578         * XEmacs 21.2.42 "Poseidon" is released.
3579
3580 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3581
3582         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
3583
3584 2001-01-19  Martin Buchholz  <martin@xemacs.org>
3585
3586         De-kludgify FIXED_TYPE free list frobbing.
3587         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
3588         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
3589         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
3590         * alloc.c (Lisp_Free): New pseudo lisp object definition.
3591         * alloc.c (LRECORD_FREE_P): New.
3592         * alloc.c (MARK_LRECORD_AS_FREE): New.
3593         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
3594         * alloc.c (STRUCT_FREE_P): Deleted.
3595         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
3596         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
3597         * alloc.c (STRING_CHARS_FREE_P): New.
3598         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
3599         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
3600         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
3601         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
3602         * alloc.c (resize_string): Use new definitions.
3603         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
3604         * alloc.c (verify_string_chars_integrity): Use new definitions.
3605         * alloc.c (compact_string_chars): Use new definitions.
3606         * alloc.c: Update monster comments.
3607         * lrecord.h (lrecord_type): Add some new lrecord types for
3608         alloc.c's use.
3609
3610 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3611
3612         Improve alignment hackery.
3613         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
3614         (max_align_t): Moved from opaque.h - general purpose.
3615         (ALIGN_PTR): Use size_t, not long.
3616         * opaque.h (max_align_t): Move to lisp.h.
3617
3618 2001-01-18  Norbert Koch  <nk@LF.net>
3619
3620         * gui.h: Fix and add prototypes to fix build problems.
3621
3622 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3623
3624         temacs is going away, so `dump-temacs' is now a bad name.
3625         * .dbxrc (dump-temacs): Rename to `dmp'.
3626         * .gdbinit (dump-temacs): Rename to `dmp'.
3627
3628 2001-01-17  Andy Piper  <andy@xemacs.org>
3629
3630         * glyphs.c (print_image_instance): comment to make martin happy.
3631
3632         * glyphs-x.c (x_redisplay_widget): update faces after a frame
3633         change.
3634
3635         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
3636         activation.
3637         (mswindows_tab_control_redisplay): warning suppression.
3638
3639         * glyphs-widget.c (widget_update): re-write to cope with updated
3640         items.
3641         (widget_instantiate): use new gui_item functions.
3642         (tab_control_update): deleted.
3643         (progress_gauge_update): deleted.
3644         (image_instantiator_progress_guage): take out update reference.
3645         (image_instantiator_tree_view): ditto.
3646         (image_instantiator_tab_control): ditto.
3647
3648         * gui.c (widget_gui_parse_item_keywords): new function. Do things
3649         Right the new way.
3650         (gui_item_add_keyval_pair): re-write to cope with descriptors and
3651         return whether anything was changed.
3652         (update_gui_item_keywords): as it sounds.
3653
3654         * gui.h: declare widget_gui_parse_item_keywords.
3655
3656         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
3657         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
3658
3659 2001-01-17  Martin Buchholz <martin@xemacs.org>
3660
3661         * XEmacs 21.2.41 "Polyhymnia" is released.
3662
3663 2001-01-16  Didier Verna  <didier@xemacs.org>
3664
3665         * glyphs.c (image_instantiate): don't use fallbacks when
3666         instantiating a face's background pixmap by inheritance.
3667
3668 2001-01-14  Mike Sperber <mike@xemacs.org>
3669
3670         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3671         Conditionalize accordingly.
3672
3673 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3674
3675         * dumper.c (pdump_file_get): Fix a compiler warning.
3676
3677 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3678
3679         Make Purify happy when pdumping.
3680         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3681         iniitalizing all bits of new lisp object memory.
3682         * symbols.c (Fmake_local_variable): Likewise.
3683         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3684         * symbols.c (Fdefvaralias): Likewise.
3685         * mule-charset.c (vars_of_mule_charset): Likewise.
3686
3687 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3688         Add the `-nd' flag when running pre-dump operations under the debugger.
3689         * .dbxrc (run-temacs): Add `-nd'.
3690         * .dbxrc (update-elc): Likewise.
3691         * .dbxrc (dump-temacs): Likewise.
3692         * .gdbinit (run-temacs): Likewise.
3693         * .gdbinit (check-temacs): Likewise.
3694         * .gdbinit (update-elc): Likewise.
3695         * .gdbinit (dump-temacs): Likewise.
3696
3697 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3698
3699         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3700         export OBJECT_MODE=64
3701         configure --pdump --use-union-type=no
3702         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3703         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3704
3705         * miscplay.c (sndcnv8U_2mono):
3706         Avoid two uses of `++' in the same expression.
3707         Suppresses a GCC warning.
3708
3709 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3710
3711         Make sure future compilers don't miscompile alloc.c.
3712         * alloc.c:
3713         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3714         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3715
3716 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3717
3718         * dumper.c: A little post-pdump-rename comment fixup.
3719
3720 2001-01-09  Jerry James  <james@eecs.ku.edu>
3721
3722         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3723
3724 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3725
3726         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3727         script:
3728         #!/bin/sh
3729         replace_symbol () {
3730           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3731         }
3732
3733         replace_symbol pdump_wire_lists pdump_weak_object_chains
3734         replace_symbol pdump_wire_list dump_add_weak_object_chain
3735
3736         replace_symbol pdump_wires pdump_root_objects
3737         replace_symbol pdump_wire dump_add_root_object
3738
3739         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3740         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3741
3742         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3743         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3744         replace_symbol dumpstructinfo pdump_root_struct_ptr
3745         replace_symbol dumpstruct dump_add_root_struct_ptr
3746
3747         replace_symbol dumpopaque dump_add_opaque
3748         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3749         replace_symbol dumpopaqueinfos pdump_opaques
3750         replace_symbol dumpopaqueinfo pdump_opaque
3751
3752         replace_symbol nb_structdump nb_root_struct_ptrs
3753         replace_symbol nb_opaquedump nb_opaques
3754
3755         replace_symbol align_table pdump_align_table
3756         replace_symbol dump_header pdump_header
3757
3758         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3759         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3760
3761
3762 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3763
3764         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3765         optimizing bytecount_to_charcount().
3766
3767 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3768
3769         * config.h.in:
3770         (HAVE_DLFCN_H): Removed.
3771         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3772
3773 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3774
3775         Portable dumper maintainability improvements.
3776         * alloc.c (staticpro):
3777         * alloc.c (staticpro_nodump):
3778         * alloc.c (garbage_collect_1):
3779         * alloc.c (reinit_alloc_once_early):
3780         * alloc.c (init_alloc_once_early):
3781         * alloc.c: Move dumper functions to alloc.c.
3782         * dumper.c (pdump_backtrace):
3783         * dumper.c (pdump_dump_structs):
3784         * dumper.c (pdump_dump_opaques):
3785         * dumper.c (pdump_dump_rtables):
3786         * dumper.c (pdump_dump_wired):
3787         * dumper.c (pdump):
3788         * dumper.c (pdump_load_check):
3789         * dumper.c (pdump_load_finish):
3790         * dumper.c (pdump_file_unmap):
3791         * dumper.c (pdump_file_get):
3792         * dumper.c (pdump_resource_free):
3793         * dumper.c (pdump_resource_get):
3794         * dumper.c (pdump_file_free):
3795         * dumper.c (pdump_file_try):
3796         * dumper.c (pdump_load):
3797         Remove fixed size limits on staticpro(), staticpro_nodump(),
3798         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3799         Remove custom code for dumping lrecord_implementations_table - use
3800         dumpopaque instead.
3801         Remove (most of the) custom code for dumping staticpros - dump it
3802         like any other dynarr.
3803
3804         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3805         * dumper.c: Moved functions from alloc.c.
3806         * alloc.c (dumpstruct): Moved to dumper.c.
3807         * alloc.c (dumpopaque): Likewise.
3808         * alloc.c (pdump_wire): Likewise.
3809         * alloc.c (pdump_wire_list): Likewise.
3810
3811         * lisp.h (Dynarr_sizeof): New.
3812         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3813         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3814         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3815
3816         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3817         * lisp.h (dumpopaque): ditto.
3818         * lisp.h (pdump_wire): ditto.
3819         * lisp.h (pdump_wire_list): ditto.
3820
3821 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3822
3823         * make-src-depend (PrintPatternDeps):
3824         Use `sort' to make output independent of perl version.
3825
3826 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3827
3828         Port to Netbsd 1.5.
3829         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3830         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3831
3832 2001-01-03  Didier Verna  <didier@xemacs.org>
3833
3834         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3835         that `focus_frame' is alive before thinking of calling
3836         `redisplay_redraw_cursor' on it.
3837
3838 2001-01-08  Martin Buchholz <martin@xemacs.org>
3839
3840         * XEmacs 21.2.40 is released.
3841
3842 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3843
3844         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3845
3846 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3847
3848         * alloc.c (dbg_valmask): Make const.
3849         * alloc.c (dbg_typemask): Make const.
3850         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3851         * alloc.c (dbg_valbits): Make const.
3852         * alloc.c (dbg_gctypebits): Make const.
3853
3854 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3855
3856         * redisplay-x.c (x_bevel_area):
3857         redisplay.h (struct rune):
3858         Typo fixes in comments.
3859
3860 2001-01-05  Andy Piper  <andy@xemacs.org>
3861
3862         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3863         adjustment.
3864
3865         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3866
3867 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3868
3869         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3870
3871         * mule-ccl.c (stack_idx_of_map_multiple):
3872         Non const global data must not be initialized!
3873         Found by MIYASHITA Hisashi.
3874
3875 2001-01-02  Andy Piper  <andy@xemacs.org>
3876
3877         * frame.c (change_frame_size): make sure frame size is always
3878         marked as changed.
3879
3880         * glyphs.c (image_instance_layout): minor code reuse.
3881
3882         * window.c (Fcurrent_window_configuration): revert previous
3883         change.
3884
3885 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3886
3887         * glyphs.h:
3888         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3889
3890 2000-12-31  Andy Piper  <andy@xemacs.org>
3891
3892         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3893         when widget gets unmapped.
3894
3895         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3896         function. Make sure widgets losing focus don't just drop it.
3897         (handle_focus_event_1): record the widget with focus.
3898
3899 2000-12-31  Andy Piper  <andy@xemacs.org>
3900
3901         * window.c (allocate_window): use
3902         make_image_instance_cache_hash_table.
3903         (make_dummy_parent): ditto.
3904         (Fset_window_configuration): ditto.
3905
3906         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3907
3908         * glyphs.c (process_image_string_instantiator): use
3909         INSTANTIATOR_TYPE.
3910         (get_image_instantiator_governing_domain): ditto.
3911         (normalize_image_instantiator): ditto.
3912         (instantiate_image_instantiator): ditto.
3913         (make_image_instance_1): ditto.
3914         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3915         (instantiator_eq_equal): new function for use with instance hash
3916         tables.
3917         (instantiator_eq_hash): ditto.
3918         (make_image_instance_cache_hash_table): create a suitable hash
3919         table for storing image instances.
3920
3921         * elhash.h (hash_table_weakness): new internal weakness type
3922         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3923         declare new functions.
3924
3925         * elhash.c (finish_marking_weak_hash_tables): introduce yet
3926         another weakness type for glyphs.
3927         (make_standard_lisp_hash_table): new function split out from
3928         make_general_lisp_hash_table.
3929         (make_lisp_hash_table): call make_standard_lisp_hash_table.
3930         (hash_table_instantiate): ditto.
3931         (Fmake_hash_table): ditto.
3932
3933 2000-12-31  Martin Buchholz <martin@xemacs.org>
3934
3935         * XEmacs 21.2.39 is released.
3936
3937 2000-12-29  Andy Piper  <andy@xemacs.org>
3938
3939         * menubar.c (menubar_visible_p_changed): signal the frame changed.
3940
3941         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
3942         the frame has changed so that we pick up geometry changes such as
3943         menubar visibility.
3944
3945 2000-12-28  Andy Piper  <andy@xemacs.org>
3946
3947         * lastfile.c (my_ebss): make a char array so we can pad the
3948         bss. Fixes cygwin unexec.
3949
3950         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
3951
3952 2000-12-26  Andy Piper  <andy@xemacs.org>
3953
3954         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
3955         comments and try and be more precise about a non-/SIGIO world.
3956         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
3957         SIGIO.
3958
3959         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
3960         we don't normalize to zero width or height.
3961
3962 2000-12-24  Andy Piper  <andy@xemacs.org>
3963
3964         * Makefile.in.in (ldflags): add -mwindows when appropriate.
3965
3966 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
3967
3968         * s/sco5.h: SCO 5 has pty support.
3969
3970 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
3971
3972         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
3973         input-method-xlib.c contains whole contents of input-method-xfs.c,
3974         so we can use input-method-xlib.c's code for USE_XFONTSET
3975         using #ifdefs.
3976         * input-method-xfs.c: removed.
3977
3978 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
3979
3980         * file-coding.h (enum coding_category_type): reorder enumerators to
3981         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
3982         (now one greater than largest real coding_category_type enumerator).
3983         * file-coding.c (coding_category_symbol, coding_category_by_priority,
3984         coding_category_system, fcd_descriptihon_1, decode_coding_category,
3985         Fcoding_category_list, Fset_coding_priority_list,
3986         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
3987         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
3988
3989 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3990
3991         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
3992         * redisplay-output.c (redisplay_output_window): Clear top of window
3993         when face is changed.
3994         * redisplay-x.c (x_redraw_exposed_window): Call
3995         redisplay_clear_top_of_window.
3996         * redisplay.h: Publish redisplay_clear_top_of_window.
3997
3998 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3999
4000         * buffer.c (Fkill_buffer): Map over all devices.
4001         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4002         (list_windows): New function.
4003         (list_all_windows): Ditto.
4004         (Freplace_buffer_in_windows): Use them.
4005
4006 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4007
4008         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4009         (Fopen_database): Use `db_create' instead of `db_open'.
4010         (syms_of_database): Initialize Qqueue.
4011
4012 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4013
4014         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4015         buffer_local_face_property.
4016         * buffer.h (struct buffer): New member buffer_local_face_property.
4017         * window.c (Fset_window_buffer):  Mark window's face as changed
4018         when buffer has buffer local face.
4019         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4020         * objects.c (color_after_change): Set buffer_local_face_property
4021         when locale of face specifier is buffer.
4022         * objects.c (font_after_change): Ditto.
4023         * objects.c (face_boolean_after_change): Ditto.
4024         * glyphs.c (image_after_change): Ditto.
4025
4026 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4027
4028         * nt.c (mswindows_fstat): Report file permissions, volume serial
4029         number, etc. Code adapted from FSF Emacs 20.7.
4030
4031 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4032
4033         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4034         of stat when we don't have symbolic links, to make sure
4035         mswindows_stat is called on mswindows.
4036
4037 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4038
4039         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4040
4041 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4042
4043         * doprnt.c (emacs_doprnt_1): More printing fixes.
4044         Make printing of numbers compatible with libc and FSF Emacs.
4045         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4046         Use the system printf to do most of the hard work of formatting,
4047         instead of doprnt_1().
4048         Calculate memory to allocate for format string.
4049         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4050         (doprnt_1): Cleaner code and documentation.
4051
4052 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4053
4054         * Makefile.in.in: Use the loop variable to install headers.
4055
4056 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4057
4058         * window.c (Fsplit_window): Don't invalidate face cache.
4059
4060 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4061
4062         * minibuf.c (Fall_completions): Undo the previous change
4063         which removed checking elements start with space.
4064
4065 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4066
4067         * mule-canna.c: Didier suppression.
4068
4069 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4070
4071         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4072         (warning suppression).  Add English comment translations.
4073
4074 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4075
4076         * unexelfsgi.c (unexec): Better test for mmap failure.
4077
4078 2000-12-05  Martin Buchholz <martin@xemacs.org>
4079
4080         * XEmacs 21.2.38 is released.
4081
4082 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4083
4084         * redisplay.c (bar-cursor): Make a user variable.
4085
4086         * symsinit.h: Add init_postgresql_from_environment.
4087
4088 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4089
4090         * regex.c: Convert to clean C.
4091
4092 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4093
4094         * realpath.c:
4095         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4096         initialization.
4097         (sys_readlink): renamed to system_readlink to avoid conflict with
4098         the other sys_readlink.
4099
4100 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4101
4102         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4103
4104 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4105
4106         * postgresql.c (init_postgresql_from_environment): new function.
4107         (vars_of_postgresql): Move code initializing Lisp variables out and
4108         into init_postgresql_from_environment.
4109         emacs.c (main_1): Call init_postgresql_from_environment if and only
4110         if running a dumped XEmacs.
4111
4112 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4113
4114         * buffer.c: Make find-file-compare-truenames default to true on
4115         windows.
4116
4117         * realpath.c (win32_abs_start):
4118         (cygwin_readlink):
4119         (win32_readlink): New functions.
4120         (xrealpath): Return really real filenames on windows.
4121
4122         * fileio.c (Ffile_truename): Make file-truename work on windows.
4123
4124 2000-11-29  Didier Verna  <didier@xemacs.org>
4125
4126         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4127         * faces.c (update_face_cachel_data): use it.
4128         * faces.c (add_face_cachel): use it. Complete background pixmap
4129         frobbing in face cache if `update_face_cachel_data' has not done so.
4130
4131 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4132
4133         * search.c (string_match_1): Don't set last_thing_searched
4134         when search failed.
4135
4136 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4137
4138         * buffer.c: Include casetab.h
4139         (common_init_complex_vars_of_buffer): Use new case-table object.
4140         * buffer.h: Include casetab.h
4141         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4142         (DOWNCASE_TABLE_OF): Ditto.
4143         * bufslots.h: Remove char-tables and add case-table.
4144         * casetab.c: Include casetab.h
4145         (CASE_TABLE_P): Removed.
4146         (mark_case_table): New function.
4147         (allocate_case_table): New function.
4148         (Fcase_table_p): Use new case-table.
4149         (case_table_char): New function.
4150         (Fget_case_table): Ditto.
4151         (Fput_case_table): Ditto.
4152         (Fput_case_table_pair): Ditto.
4153         (Fcopy_case_table): Ditto.
4154         (Fcurrent_case_table): Return case-table.
4155         (Fstandard_case_table): Return case-table.
4156         (Fset_case_table): Fix doc-string.
4157         (set_case_table): Use case-table
4158         (syms_of_casetab): DEFSUBR new functions.
4159         (complex_vars_of_casetab): Set up standard case-table.
4160         * casetab.h: New file.
4161         * editfns.c: Include casetab.h
4162         (Fcompare_buffer_substrings): Use case-table.
4163         * inline.c: Include casetab.h
4164         * lisp.h: Remove bogus extern.
4165         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4166         * search.c: Include casetab.h
4167         (TRANSLATE_ASCII): Removed.
4168         (TRANSLATE): Unconditionally translate character.
4169         (looking_at_1): Use case-table.
4170         (string_match_1): Ditto.
4171         (fast_string_match): Ditto.
4172         (search_command): Ditto.
4173         (search_buffer): Separate boyer_moore.  Check whether
4174         boyer_moore is possible.
4175         (simple_search): New function.
4176         (boyer_moore): Separated from search_buffer. Translate char.
4177
4178 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4179
4180         * regex.c (RE_TR_ASCII): Removed.
4181         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4182         (PATFETCH): Call PATFETCH_RAW.
4183         (PATFETCH_RAW): Fetch Emchar.
4184         (PATUNFETCH): Decrement charptr.
4185         (GET_BUFFER_SPACE): Rename b to buf_end.
4186         (BUF_PUSH): Ditto.
4187         (BUF_PUSH_2): Ditto.
4188         (BUF_PUSH_3): Ditto.
4189         (EXTEND_BUFFER): Ditto.
4190         (SET_LIST_BIT): Ditto.
4191         (regex_compile): Ditto.  Translate non ASCII char.
4192         (compile_range): Ditto.
4193         (re_search_2): Ditto.
4194         (re_match_2_internal): Compare Emchar.
4195         (bcmp_translate): Ditto.
4196
4197 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4198
4199         * lisp.h (basic char/int typedefs):  comment improvement.
4200
4201 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4202
4203         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4204         unstomp inhibit_site_lisp.  Improve comments.
4205
4206 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4207
4208         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4209
4210 2000-11-28  Andy Piper  <andy@xemacs.org>
4211
4212         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4213         clipped display for windows in the gutter also.
4214         (redisplay_display_boxes_in_window_p): change semantics of return
4215         codes to be more intuitive.
4216
4217         * gutter.h: declare display_boxes_in_gutter_p.
4218
4219         * gutter.c (display_boxes_in_gutter_p): new function for
4220         redisplay.
4221
4222 2000-11-22  Andy Piper  <andy@xemacs.org>
4223
4224         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4225         autodetect domain.
4226
4227 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4228
4229         * callproc.c (Fold_call_process_internal):
4230         * gpm.c (Freceive_gpm_event):
4231         (tty_get_foreign_selection): Might be just warning supression.
4232         * fileio.c (Fwrite_region_internal):
4233         (Fset_visited_file_modtime):
4234         * keymap.c (event_matches_key_specifier_p):
4235         Initialize GCPROed variable.
4236
4237         * menubar-x.c (command_builder_find_menu_accelerator):
4238         Initialize before use.
4239
4240 2000-11-23  Andy Piper  <andy@xemacs.org>
4241
4242         * unexcw.c (unexec): make the resulting executable executable.
4243
4244 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4245
4246         * doc.c (get_doc_string):
4247         Use size_t, not int, for result of XSTRING_LENGTH.
4248
4249         * cmds.c (Fdelete_char):
4250         * cmds.c (Fpoint_at_eol):
4251         * cmds.c (Fself_insert_command):
4252         Use EMACS_INT, not int, for result of XINT.
4253         Someday, someone will want to insert more than 2**31 identical characters.
4254
4255         * cmds.c (Fdelete_char):
4256         * cmds.c (Fdelete_backward_char):
4257         * syntax.c (Fforward_word):
4258         * syntax.c (Fforward_comment):
4259         Make COUNT argument optional, for consistency with forward-char et al.
4260
4261 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4262
4263         * lisp.h:
4264         * print.c (long_to_string):
4265         Return a useful value: the pointer at end of data written.
4266
4267         * doprnt.c:
4268         Use `static const char * const' for constant strings.
4269         (union printf_arg): Delete `i', `ui' members.
4270         (get_doprnt_args):
4271         (emacs_doprnt_1):
4272         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4273         Do all printf-ing via the `l' specifier.
4274         Use EMACS_INT instead of int.
4275         Optimize.
4276
4277 2000-11-20  Didier Verna  <didier@xemacs.org>
4278
4279         * faces.c (update_face_cachel_data): don't frob the background
4280         pixmap when the window is being created. The face is needed but
4281         does not exist yet.
4282
4283 2000-11-20  Andy Piper  <andy@xemacs.org>
4284
4285         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4286         messing with a debug environment.
4287
4288 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4289
4290         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4291
4292 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4293
4294         * casetab.c (Fcase_table_p): Fix compile error and crash.
4295
4296 2000-11-18  Philip Aston  <philipa@mail.com>
4297
4298         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4299
4300 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4301
4302         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4303         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4304
4305 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4306
4307         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4308         * unexelf.c: Use HAVE_ELF_H.
4309         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4310         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4311         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4312         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4313         for testing.
4314         So this is an unexelfsgi.c from a different line of development.
4315
4316 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4317
4318         * regex.c (RE_TR_ASCII): New function.
4319         (RE_TRANSLATE): Call it.
4320
4321 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4322
4323         * buffer.h (TRT_TABLE_OF): Remove assert.
4324         (IN_TRT_TABLE_DOMAIN): Removed.
4325
4326 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4327
4328         * free-hook.c (log_gcpro):
4329         (show_gcprohist): Add support for GCPRO5.
4330
4331 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4332
4333         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4334
4335 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4336
4337         * symeval.h: Declare flush_all_buffer_local_cache.
4338
4339         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4340         (flush_buffer_local_cache): Added.
4341         (flush_all_buffer_local_cache): Added.
4342
4343         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4344
4345         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4346         (pdump_dump_data): Ditto.
4347         (pdump_reloc_one): Ditto.
4348         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4349         before dumping.
4350
4351
4352 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4353
4354         * buffer.c: Remove if 0'ed entry.
4355         * buffer.h: Rewrite TRT to use char-table.
4356         * bufslots.h: Remove mirror tables.
4357         * casetab.c: Remove mirror tables.
4358         (CASE_TABLE_P): New macro.
4359         (Fcase_table_p): Element of a case table is string or char-table.
4360         (make_mirror_trt_table): Removed.
4361         (set_case_table): Setup char-table from strings for backward
4362         compatibility.
4363         * dired.c (Fdirectory_files):
4364         * dired-msw.c: (mswindows_get_files):
4365         * lisp.h: Change prototype of re_pattern_buffer.
4366         * regex.c: (RE_TRANSLATE): New macro.
4367         (TRANSLATE_P): Ditto.
4368         Change translate to type RE_TRANSLATE_TYPE.
4369         * regex.h: Define RE_TRANSLATE_TYPE
4370         * search.c (TRANSLATE): New macro.
4371         (TRANSLATE_ASCII): New macro.
4372         Translate table is changed to Lisp_Object.
4373         (signal_failure): Inhibit return.
4374
4375 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4376
4377         * device-msw.c:
4378         * eldap.c:
4379         * event-Xt.c:
4380         * event-stream.c:
4381         * print.c:
4382         Do UNGCPRO before return.
4383
4384 2000-11-14  Martin Buchholz <martin@xemacs.org>
4385
4386         * XEmacs 21.2.37 is released.
4387
4388 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4389
4390         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4391         Add comments about discarded return value.
4392
4393 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4394
4395         * callint.c:
4396         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4397
4398 2000-10-27  Andy Piper  <andy@xemacs.org>
4399
4400         * gutter.c (Fset_default_gutter_position): default left and right
4401         gutters to visible.
4402         (calculate_gutter_size): calculate resonable heuristic for left
4403         and right gutter sizes.
4404         (specifier_vars_of_gutter): change left and right gutter sizes to
4405         autodetect.
4406         (calculate_gutter_size_from_display_lines): new function.
4407         (output_gutter): check for resizing on left and right gutters.
4408         (clear_gutter): don't special case top and left gutters.
4409         (specifier_vars_of_gutter): use new signature for
4410         set_specifier_caching.
4411
4412         * glyphs-x.c (x_redisplay_widget): spelling fix.
4413         * glyphs.c (specifier_vars_of_glyphs):
4414         * menubar.c (specifier_vars_of_menubar):
4415         * redisplay.c (specifier_vars_of_redisplay):
4416         * toolbar.c (specifier_vars_of_toolbar):
4417         * window.c (specifier_vars_of_window):
4418         * scrollbar.c (specifier_vars_of_scrollbar):
4419         (complex_vars_of_scrollbar): use new signature for
4420         set_specifier_caching.
4421
4422         * specifier.c (set_specifier_caching): include recompute flag.
4423         (recompute_one_cached_specifier_in_window): always recompute if
4424         flag set.
4425         (recompute_one_cached_specifier_in_frame): ditto.
4426
4427         * specifier.h (struct specifier_caching): add recompute flag.
4428
4429 2000-10-24  Andy Piper  <andy@xemacs.org>
4430
4431         * unexcw.c (copy_executable_and_dump_data_section): add new
4432         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4433         5.0 happy.
4434
4435 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4436
4437         * console-x.h (x_device): New member modifier_release_time.
4438         * event-Xt.c (x_handle_sticky_modifiers):
4439         Bound interval modifier keys are sticky.
4440         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4441         * events.h: extern it.
4442
4443 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4444
4445         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4446
4447 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4448
4449         * event-stream.c (execute_command_event): Preserve current_events
4450         and the like when event is misc-user-event.
4451         Inhibit quit during the call to maybe_echo_keys.
4452
4453 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4454
4455         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4456         symlink when buffer is killed.
4457         (inhibit_clash_detection): New variable.
4458
4459 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4460
4461         * console.c (Fset_input_method): Trigger redisplay on tty.
4462
4463 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4464
4465         * process.c (Fprocess_status): Revert to previous behavior:
4466         (process-status "nosuchprocess") ==> nil
4467
4468 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4469
4470         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4471         Work around another GCC 2.95.2 optimizer bug.
4472
4473 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4474
4475         * process.c (Fget_process): Use LIST_LOOP_2.
4476         (kill_buffer_processes): Use LIST_LOOP_2.
4477
4478         * minibuf.c (Fall_completions):
4479         Delete old non-functional code for FSF fourth argument.
4480
4481         * frame.c (frame_matches_frame_spec):
4482         Renamed from `frame_matches_frametype'.  Update all callers.
4483         (device_matches_device_spec):
4484         Renamed from 'device_matches_console_spec'.  Update all callers.
4485
4486         * doc.c (Fsubstitute_command_keys):
4487         Remove buffer overflow crash.  Small code cleanups.
4488
4489         * casetab.c (check_case_table): Simpler code.
4490
4491         * window.c (Freplace_buffer_in_windows):
4492         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4493         (and similar implementation) as Fdelete_windows_on.
4494         Update all callers.
4495
4496         * alloc.c (Fmake_list):
4497         * alloc.c (make_vector):
4498         * alloc.c (Fmake_vector):
4499         * alloc.c (make_bit_vector):
4500         * alloc.c (Fmake_bit_vector):
4501         * alloc.c (Fbit_vector):
4502         * alloc.c (Fmake_string):
4503         * alloc.c (Fpurecopy):
4504         * alloc.c (Fmemory_limit):
4505         * buffer.c:
4506         * buffer.c (Fget_buffer):
4507         * buffer.c (Fkill_buffer):
4508         * buffer.c (complex_vars_of_buffer):
4509         * bytecode.c (Fcompiled_function_stack_depth):
4510         * callint.c (Fprefix_numeric_value):
4511         * event-stream.c:
4512         * event-stream.c (Fread_key_sequence):
4513         * casetab.c:
4514         * casetab.c (Fcase_table_p):
4515         * casetab.c (check_case_table):
4516         * casetab.c (Fset_case_table):
4517         * casetab.c (Fset_standard_case_table):
4518         * chartab.c:
4519         * chartab.c (Fchar_table_type):
4520         * chartab.c (Freset_char_table):
4521         * chartab.c (Fget_char_table):
4522         * chartab.c (Fget_range_char_table):
4523         * chartab.c (Fput_char_table):
4524         * chartab.c (Fmap_char_table):
4525         * chartab.c (Fcategory_table_p):
4526         * chartab.c (Fcheck_category_at):
4527         * chartab.c (Fchar_in_category_p):
4528         * chartab.c (Fcategory_table):
4529         * chartab.c (Fcopy_category_table):
4530         * chartab.c (Fset_category_table):
4531         * chartab.c (Fcategory_designator_p):
4532         * chartab.c (Fcategory_table_value_p):
4533         * cmds.c (Fdelete_char):
4534         * cmds.c (Fdelete_backward_char):
4535         * cmds.c (Fself_insert_command):
4536         * cmds.c (Fself_insert_internal):
4537         * console.c (Fvalid_console_type_p):
4538         * console.c (Fcdfw_console):
4539         * console.c (Fconsole_type):
4540         * console.c (Fconsole_name):
4541         * console.c (Fconsole_device_list):
4542         * console.c (Fconsole_on_window_system_p):
4543         * data.c:
4544         * data.c (Feq):
4545         * data.c (Fold_eq):
4546         * data.c (Fsubr_interactive):
4547         * data.c (Fchar_to_int):
4548         * data.c (Fint_to_char):
4549         * data.c (Fsetcar):
4550         * data.c (Fsetcdr):
4551         * data.c (Fnumber_to_string):
4552         * data.c (Fstring_to_number):
4553         * data.c (Frem):
4554         * database.c (mark_database):
4555         * database.c (finalize_database):
4556         * database.c (Fdatabase_live_p):
4557         * database.c (Fdatabasep):
4558         * device-x.c (Fx_get_resource):
4559         * device.c (Fdfw_device):
4560         * dired.c:
4561         * dired.c (Ffile_name_completion):
4562         * dired.c (Ffile_name_all_completions):
4563         * dired.c (Fuser_name_completion):
4564         * dired.c (Fuser_name_completion_1):
4565         * dired.c (Fuser_name_all_completions):
4566         * doc.c (Fdocumentation):
4567         * doc.c (Fdocumentation_property):
4568         * doc.c (Fsubstitute_command_keys):
4569         * editfns.c:
4570         * editfns.c (Fchar_to_string):
4571         * editfns.c (Fstring_to_char):
4572         * editfns.c (Ftemp_directory):
4573         * editfns.c (Finsert_char):
4574         * editfns.c (Fbuffer_substring_no_properties):
4575         * editfns.c (Fnarrow_to_region):
4576         * editfns.c (Fchar_equal):
4577         * editfns.c (Fchar_Equal):
4578         * editfns.c (Ftranspose_regions):
4579         * emacs.c (Fdump_emacs):
4580         * eval.c (Fthrow):
4581         * eval.c (Fcommand_execute):
4582         * eval.c (Fautoload):
4583         * eval.c (Fbacktrace):
4584         * eval.c (Fbacktrace_frame):
4585         * events.c:
4586         * events.c (Fcopy_event):
4587         * events.c (Fcharacter_to_event):
4588         * events.c (Fevent_button):
4589         * events.c (Fevent_process):
4590         * extents.c:
4591         * extents.c (Fnext_extent_change):
4592         * extents.c (Fextent_property):
4593         * faces.c (Ffacep):
4594         * faces.c (Fmake_face):
4595         * file-coding.c:
4596         * file-coding.c (Fencode_shift_jis_char):
4597         * file-coding.c (Fencode_big5_char):
4598         * fileio.c (Ffile_name_directory):
4599         * fileio.c (Ffile_name_nondirectory):
4600         * fileio.c (Ffile_name_as_directory):
4601         * fileio.c (Fdirectory_file_name):
4602         * fileio.c (Ffile_truename):
4603         * fileio.c (Fsubstitute_in_file_name):
4604         * fileio.c (Ffile_modes):
4605         * fileio.c (Fset_file_modes):
4606         * fileio.c (Fset_default_file_modes):
4607         * fileio.c (Fverify_visited_file_modtime):
4608         * floatfns.c (Facos):
4609         * floatfns.c (Fasin):
4610         * floatfns.c (Fatan):
4611         * floatfns.c (Fcos):
4612         * floatfns.c (Fsin):
4613         * floatfns.c (Ftan):
4614         * floatfns.c (Fbessel_j0):
4615         * floatfns.c (Fbessel_j1):
4616         * floatfns.c (Fbessel_jn):
4617         * floatfns.c (Fbessel_y0):
4618         * floatfns.c (Fbessel_y1):
4619         * floatfns.c (Fbessel_yn):
4620         * floatfns.c (Ferf):
4621         * floatfns.c (Ferfc):
4622         * floatfns.c (Flog_gamma):
4623         * floatfns.c (Fexp):
4624         * floatfns.c (Fexpt):
4625         * floatfns.c (Flog):
4626         * floatfns.c (Flog10):
4627         * floatfns.c (Fsqrt):
4628         * floatfns.c (Fcube_root):
4629         * floatfns.c (Facosh):
4630         * floatfns.c (Fasinh):
4631         * floatfns.c (Fatanh):
4632         * floatfns.c (Fcosh):
4633         * floatfns.c (Fsinh):
4634         * floatfns.c (Ftanh):
4635         * floatfns.c (Fabs):
4636         * floatfns.c (Ffloat):
4637         * floatfns.c (Flogb):
4638         * floatfns.c (Fceiling):
4639         * floatfns.c (Ffloor):
4640         * floatfns.c (Fround):
4641         * floatfns.c (Ftruncate):
4642         * floatfns.c (Ffceiling):
4643         * floatfns.c (Fffloor):
4644         * floatfns.c (Ffround):
4645         * floatfns.c (Fftruncate):
4646         * fns.c (Fstring_equal):
4647         * fns.c (Fstring_lessp):
4648         * fns.c (concat2):
4649         * fns.c (concat3):
4650         * fns.c (vconcat2):
4651         * fns.c (vconcat3):
4652         * fns.c (Fsubstring):
4653         * fns.c (Fassoc):
4654         * fns.c (Fold_assoc):
4655         * fns.c (assoc_no_quit):
4656         * fns.c (Fassq):
4657         * fns.c (Fold_assq):
4658         * fns.c (assq_no_quit):
4659         * fns.c (Frassoc):
4660         * fns.c (Fold_rassoc):
4661         * fns.c (Frassq):
4662         * fns.c (Fold_rassq):
4663         * fns.c (rassq_no_quit):
4664         * fns.c (Fremassoc):
4665         * fns.c (remassoc_no_quit):
4666         * fns.c (Fremassq):
4667         * fns.c (remassq_no_quit):
4668         * fns.c (Fremrassoc):
4669         * fns.c (Fremrassq):
4670         * fns.c (remrassq_no_quit):
4671         * fns.c (Fsort):
4672         * fns.c (Fplist_get):
4673         * fns.c (Fplist_put):
4674         * fns.c (Fplist_remprop):
4675         * fns.c (Fplist_member):
4676         * fns.c (Flax_plist_get):
4677         * fns.c (Flax_plist_put):
4678         * fns.c (Flax_plist_remprop):
4679         * fns.c (Flax_plist_member):
4680         * fns.c (Fequal):
4681         * fns.c (Fold_equal):
4682         * fns.c (Frequire):
4683         * fns.c (Fbase64_encode_region):
4684         * fns.c (Fbase64_encode_string):
4685         * fns.c (Fbase64_decode_region):
4686         * frame.c:
4687         * frame.c (frame_matches_frame_spec):
4688         * frame.c (device_matches_device_spec):
4689         * frame.c (next_frame):
4690         * frame.c (previous_frame):
4691         * frame.c (Fnext_frame):
4692         * frame.c (Fprevious_frame):
4693         * frame.c (Fframe_property):
4694         * frame.c (Fset_frame_height):
4695         * frame.c (Fset_frame_size):
4696         * frame.h:
4697         * glyphs.c:
4698         * glyphs.c (if):
4699         * glyphs.c (decode_error_behavior_flag):
4700         * glyphs.c (Fmake_image_instance):
4701         * indent.c (Findent_to):
4702         * intl.c (Fignore_defer_gettext):
4703         * keymap.c (Fkeymapp):
4704         * keymap.c (Flookup_key):
4705         * lread.c:
4706         * lread.c (Fload_internal):
4707         * lread.c (Feval_buffer):
4708         * lread.c (Feval_region):
4709         * macros.c (Fexecute_kbd_macro):
4710         * marker.c (set_marker_internal):
4711         * marker.c (Fset_marker):
4712         * marker.c (set_marker_restricted):
4713         * marker.c (Fcopy_marker):
4714         * marker.c (noseeum_copy_marker):
4715         * menubar.c:
4716         * menubar.c (Fpopup_menu):
4717         * minibuf.c:
4718         * mule-charset.c (Fcharset_name):
4719         * mule-charset.c (Fchar_charset):
4720         * mule-charset.c (Fchar_octet):
4721         * mule-charset.c (Fsplit_char):
4722         * mule-wnnfns.c (Fwnn_open):
4723         * mule-wnnfns.c (Fwnn_dict_comment):
4724         * mule-wnnfns.c (Fwnn_quit_henkan):
4725         * mule-wnnfns.c (Fwnn_word_toroku):
4726         * mule-wnnfns.c (Fwnn_word_sakujo):
4727         * mule-wnnfns.c (Fwnn_word_use):
4728         * mule-wnnfns.c (Fwnn_hindo_set):
4729         * objects.c:
4730         * objects.c (Fmake_color_instance):
4731         * objects.c (Fmake_font_instance):
4732         * print.c (Fwrite_char):
4733         * process.c:
4734         * process.c (mark_process):
4735         * process.c (print_process):
4736         * process.c (get_process_from_usid):
4737         * process.c (Fprocessp):
4738         * process.c (Fprocess_live_p):
4739         * process.c (Fget_process):
4740         * process.c (Fget_buffer_process):
4741         * process.c (get_process):
4742         * process.c (Fprocess_id):
4743         * process.c (Fprocess_name):
4744         * process.c (Fprocess_command):
4745         * process.c (init_process_io_handles):
4746         * process.c (start_process_unwind):
4747         * process.c (Fstart_process_internal):
4748         * process.c (Fopen_multicast_group_internal):
4749         * process.c (Fset_process_window_size):
4750         * process.c (read_process_output):
4751         * process.c (send_process):
4752         * process.c (Fprocess_tty_name):
4753         * process.c (Fset_process_buffer):
4754         * process.c (Fprocess_buffer):
4755         * process.c (Fprocess_mark):
4756         * process.c (set_process_filter):
4757         * process.c (Fset_process_filter):
4758         * process.c (Fprocess_filter):
4759         * process.c (Fprocess_send_region):
4760         * process.c (Fprocess_send_string):
4761         * process.c (exec_sentinel):
4762         * process.c (Fset_process_sentinel):
4763         * process.c (Fprocess_sentinel):
4764         * process.c (status_notify):
4765         * process.c (Fprocess_status):
4766         * process.c (Fprocess_exit_status):
4767         * process.c (process_send_signal):
4768         * process.c (Fprocess_send_eof):
4769         * process.c (deactivate_process):
4770         * process.c (remove_process):
4771         * process.c (Fdelete_process):
4772         * process.c (kill_buffer_processes):
4773         * process.c (Fprocess_kill_without_query):
4774         * process.c (Fprocess_kill_without_query_p):
4775         * rangetab.c:
4776         * rangetab.c (Fget_range_table):
4777         * rangetab.c (Fput_range_table):
4778         * rangetab.c (Fremove_range_table):
4779         * rangetab.c (Fclear_range_table):
4780         * search.c:
4781         * search.c (Fskip_chars_forward):
4782         * search.c (Fskip_chars_backward):
4783         * search.c (Fskip_syntax_forward):
4784         * search.c (Fskip_syntax_backward):
4785         * search.c (search_command):
4786         * search.c (Freplace_match):
4787         * search.c (Fregexp_quote):
4788         * select.c (Fown_selection_internal):
4789         * select.c (Fselection_owner_p):
4790         * select.c (Fselection_exists_p):
4791         * select.c (Fget_selection_internal):
4792         * specifier.c:
4793         * symbols.c:
4794         * symbols.c (Fintern):
4795         * symbols.c (Fintern_soft):
4796         * symbols.c (Funintern):
4797         * symbols.c (Fapropos_internal):
4798         * symbols.c (Fset_default):
4799         * syntax.c:
4800         * syntax.c (Fsyntax_table_p):
4801         * syntax.c (Fcopy_syntax_table):
4802         * syntax.c (Fset_syntax_table):
4803         * syntax.c (Fchar_syntax):
4804         * syntax.c (syntax_match):
4805         * syntax.c (Fmatching_paren):
4806         * syntax.c (Fforward_word):
4807         * syntax.c (scan_lists):
4808         * syntax.c (Fscan_lists):
4809         * syntax.c (Fscan_sexps):
4810         * syntax.c (Fparse_partial_sexp):
4811         * toolbar.c (Fcheck_toolbar_button_syntax):
4812         * tooltalk.doc:
4813         * window.c:
4814         * window.c (Fwindowp):
4815         * window.c (Fwindow_live_p):
4816         * window.c (Fwindow_point):
4817         * window.c (Fdelete_window):
4818         * window.c (Fnext_window):
4819         * window.c (Fprevious_window):
4820         * window.c (Fother_window):
4821         * window.c (window_loop):
4822         * window.c (Fget_lru_window):
4823         * window.c (Fsplit_window):
4824         * window.c (Fenlarge_window):
4825         * window.c (Fenlarge_window_pixels):
4826         * window.c (Fshrink_window):
4827         * window.c (Fshrink_window_pixels):
4828         * window.c (change_window_height):
4829         * window.c (Fwindow_configuration_p):
4830         * window.c (Fcurrent_window_configuration):
4831         * window.h:
4832         * casefiddle.c (casify_object):
4833         * casefiddle.c (Fupcase):
4834         * casefiddle.c (Fdowncase):
4835         * casefiddle.c (Fcapitalize):
4836         * casefiddle.c (Fupcase_initials):
4837         * casefiddle.c (casify_region_internal):
4838         * casefiddle.c (casify_region):
4839         * casefiddle.c (Fupcase_region):
4840         * casefiddle.c (Fdowncase_region):
4841         * casefiddle.c (Fcapitalize_region):
4842         * casefiddle.c (Fupcase_initials_region):
4843         * casefiddle.c (Fupcase_word):
4844         * casefiddle.c (Fdowncase_word):
4845         * casefiddle.c (Fcapitalize_word):
4846         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4847         Replace 0 with '\0' when working with bytes.
4848         Replace initial "(" with "\(" in docstrings.
4849
4850 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4851
4852         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4853
4854         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4855
4856 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4857
4858         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4859
4860 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4861
4862         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4863         correctly.
4864
4865 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4866
4867         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4868         (inhibit_auto_save_session): New variable.
4869         (vars_of_fileio): Declare and initialize them.
4870         * fileio.c (Fdo_auto_save): Don't create session file if
4871         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4872
4873 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4874
4875         * sgiplay.c (play_internal): C++ compilability.
4876         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4877         * callproc.c (Fold_call_process_internal):
4878         Remove unused vars `env', `first'.
4879         * scrollbar.c (update_scrollbar_instance):
4880         #### unused var `current_window'.
4881         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4882         etc. within #ifdef NOT_YET.
4883         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4884         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4885         * specifier.c (specifier_instance):
4886         #### unused var `tag'.
4887         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4888
4889 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4890
4891         * fns.c (Fbutlast):
4892         * fns.c (list_sort):
4893         * fns.c (Ffillarray):
4894         * fns.c (bytecode_nconc2):
4895         * fns.c (Fnconc):
4896         * fns.c (mapcar1):
4897         * fns.c (Fmapconcat):
4898         Be pedantically 64-bit correct.  For the time when someone will
4899         want to have a list with length > 2**32.
4900
4901         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4902         Work around MIPSpro compiler bug.
4903
4904         * process-unix.c (unix_kill_child_process): Add snarky comment.
4905         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4906
4907         * config.h.in: Oops, _getpt ==> _getpty
4908
4909 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4910
4911         * config.h.in:
4912         * regex.c:
4913         Use void*, not char*, as return type of alloca().
4914
4915         * alloc.c (free_marker): Side effect inside assert expression!
4916
4917 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4918
4919         * mule-charset.c (Fset_charset_ccl_program): To check
4920         if the given ccl program is valid, use setup_ccl_program()
4921         instead of CHECK_VECTOR().
4922         (Fmake_charset): Likewise.
4923
4924 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4925
4926         * faces.c (get_extent_fragment_face_cache_index):
4927         Fix cachel.merged_faces memory leak.
4928
4929 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
4930
4931         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
4932         Reset MSB of octets obtained by DECODE_SJIS
4933         because of the incompatibility with Emacs.
4934         (ccl_driver)<CCL_ENCODE_SJIS>:
4935         Set MSB of octets before passing them to
4936         ENCODE_SJIS because of the incompatibility
4937         with Emacs.
4938
4939 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
4940
4941         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
4942         (DECLARE_LRECORD): Undo the last change.
4943         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
4944
4945 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
4946
4947         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
4948         the implementation to lrecord_implementations_table.
4949
4950 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
4951
4952         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
4953         initial value of `lrecord_type_##c_name' and
4954         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
4955         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
4956         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
4957         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
4958         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
4959
4960 2000-10-17  Martin Buchholz  <martin@xemacs.org>
4961
4962         * miscplay.c (sndcnv8S_2mono):
4963         (sndcnv2monounsigned):
4964         (sndcnvULaw_2linear):
4965         (sndcnv16swap):
4966         Remove implementation-defined behavior.
4967
4968 2000-10-12  Martin Buchholz  <martin@xemacs.org>
4969
4970         * input-method-xlib.c: Warning suppression.
4971
4972 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
4973
4974         * mule-ccl.c: Sync up with Emacs 21.0.90.
4975         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
4976         Do nothing.
4977         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
4978         Likewise.
4979         (ccl_driver[WriteMultibyteChar2]): Bug fix.
4980         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
4981         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
4982         leading char belongs to official 2-dimensional charset.
4983         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
4984         write the given character as is.  Otherwise,
4985         if it is a multibyte char, convert it by
4986         non_ascii_set_charptr_emchar, then write it.
4987         (CCL_WRITE_STRING): Likewise.
4988         (ccl_get_compiled_code): New function.
4989         (setup_ccl_program): When ccl_prog is invalid,
4990         return -1.
4991         (Fregister_code_conversion_map): New function.
4992         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
4993
4994         * mule-ccl.h: Sync up with Emacs 21.0.90.
4995         (Fregister_ccl_program): export it.
4996
4997         * redisplay-msw.c (separate_textual_runs):
4998         If ccl program is not valid, don't do ccl conversion.
4999
5000         * redisplay-x.c (separate_textual_runs): Ditto.
5001
5002         * file-coding.c (Fmake_coding_system):
5003         When type is ccl and value is vector, register it
5004         with a proper symbol.  And checks whether the
5005         given ccl program is valid.
5006         (mule_decode): When calling ccl_driver, if src indicates
5007         NULL pointer, set an empty string instead.
5008         (mule_encode): Likewise.
5009
5010 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5011
5012         The following large batch of changes gets us back to a state of
5013         C++ compilability.  Extbyte is now a char, which means that
5014         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5015
5016         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5017
5018         * sound.c (Fplay_sound): Type correctness.
5019
5020         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5021         (x_get_window_property): Type correctness.
5022         (receive_incremental_selection): unsigned char ==> Extbyte
5023         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5024         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5025         (Fx_store_cutbuffer_internal): Type correctness.
5026
5027         * process-unix.c (try_to_initialize_subtty): Type correctness.
5028
5029         * objects-x.c (x_print_color_instance): Type correctness.
5030         (x_print_font_instance): Type correctness.
5031         (x_list_fonts): SExtbyte ==> Extbyte.
5032         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5033         (x_find_charset_font): SExtbyte ==> Extbyte.
5034         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5035         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5036         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5037         Use bufbyte_strcmp.
5038
5039         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5040         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5041         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5042         (BYTE_C0_P): Use bit ops for char-signedness safety.
5043         (BYTE_C1_P): Use bit ops for char-signedness safety.
5044         (CHARSET_BY_LEADING_BYTE):
5045         (CHARSET_BY_ATTRIBUTES):
5046         Always use inline function.
5047         Use type_checking_assert.
5048         Hide chlook.
5049
5050         * mule-charset.c (non_ascii_charptr_copy_char):
5051         Modify to work with both ASCII and non-ASCII characters.
5052         Improve docs and variable names.
5053         Replace over-clever fall-through switch with a simple loop.
5054         (Lstream_get_emchar_1):
5055         Replace over-clever fall-through switch with a simple loop.
5056
5057         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5058         Warning suppression.
5059
5060         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5061         the return value of Lstream_getc, which could be EOF as well.
5062
5063         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5064
5065         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5066         APIs can be used on Extbytes without casts.  Risky!
5067         (SExtbyte): Remove.
5068         (UExtbyte): Remove.
5069
5070         * input-method-xlib.c (XIM_init_device):
5071         Use Xlib.h instead of IntrinsicP.h.
5072         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5073         which will break in X11R7.
5074         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5075         to call XRegisterIMInstantiateCallback with correct types.
5076
5077         * gui-x.c (button_item_to_widget_value): Type correctness.
5078
5079         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5080
5081         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5082         (xbm_instantiate_1): Type correctness.
5083         (BUILD_GLYPH_INST):  Type correctness.
5084
5085         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5086
5087         * file-coding.c:
5088         (decode_coding_sjis):
5089         (decode_coding_big5):
5090         (decode_coding_ucs4):
5091         (decode_coding_utf8):
5092         (decode_coding_iso2022):
5093         (decode_coding_no_conversion):
5094         Make all decoding functions take an Extbyte * arg.
5095         (encode_coding_sjis):
5096         (encode_coding_big5):
5097         (encode_coding_ucs4):
5098         (encode_coding_utf8):
5099         (encode_coding_iso2022):
5100         (encode_coding_no_conversion):
5101         Make all encoding functions take a Bufbyte * arg.
5102         Use size_t instead of unsigned int for memory sizes.
5103         Only cast to unsigned char whenever dereferencing Extbyte *.
5104
5105         * doc.c (unparesseuxify_doc_string): Type correctness.
5106
5107         * console-x.c (split_up_display_spec):
5108         Rewrite without using details of internal string representation.
5109         (x_semi_canonicalize_device_connection): Type correctness.
5110
5111         * config.h.in:
5112         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5113         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5114         (HAVE_XFREE386): Removed.
5115
5116         * buffer.h (DEC_CHARPTR): `const' correctness.
5117         (bufbyte_strcmp): New.
5118         (bufbyte_memcmp): New.
5119
5120         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5121
5122         * buffer.h (XCHAR_OR_CHAR_INT):
5123         Always use inline function.
5124         Remove redundant type checking assert() - XINT will abort quite nicely.
5125
5126 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5127
5128         * search.c (Freplace_match): Set newtext to an empty string.
5129
5130 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5131
5132         * s/decosf1-3.h: Remove #include of stropts.h
5133         * s/ptx.h: Remove #include of stropts.h
5134         * s/usg5-4.h: Remove #include of stropts.h
5135         * sysproc.h:
5136         * config.h.in:
5137         Use stropts.h, not sys/stropts.h.
5138         Use strtio.h, not sys/strtio.h.
5139
5140 2000-10-04  Martin Buchholz <martin@xemacs.org>
5141
5142         * XEmacs 21.2.36 is released.
5143
5144 2000-09-21  Andy Piper  <andy@xemacs.org>
5145
5146         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5147         changes still involve copying the widget tree.
5148         (update_widget_face): make sure a change is register in the widget
5149         tree. Call update_tab_widget_face appropriately.
5150         (update_tab_widget_face): ditto.
5151         (x_tab_control_redisplay): make sure non-structural changes still
5152         involve copying the widget tree.
5153
5154 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5155
5156         * lread.c (locate_file): Check the path element is non-nil.
5157
5158 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5159
5160         * lisp.h: Warning suppression for SCO compilers.
5161
5162         * redisplay-tty.c (reset_tty_modes): Fix crash.
5163         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5164
5165 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5166
5167         Big signal/process handling overhaul.  Bugs fixed:
5168         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5169         M-x comint-kill-subjob should work for both values nil and t of
5170         process-connection-type. It was broken on most platforms.
5171         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5172         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5173         * process-unix.c: Signal/Process handling overhaul.
5174         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5175         (allocate_pty): Use all available modern methods of allocating
5176         ptys, falling back to old style BSD allocation as a last resort.
5177         Use allegedly more secure Unix98 pty allocation by default.
5178         (allocate_pty_the_old_fashioned_way): New. the last resort.
5179         (unix_create_process): Push ptem, ldterm, ttcompat where
5180         available.  Autoconfiscate.
5181         (try_to_initialize_subtty): New.
5182         (unix_kill_child_process): Proper signal handling for ptys on most
5183         platforms, using special knowledge of AIX, BSD, etc...
5184         (unix_create_process): Always disconnect_controlling_terminal() for
5185         subprocesses, whether using ptys or not.
5186         * process.h: Remove old getpt-dependent PTY code.
5187         * process.c (Fprocess_send_signal): New, obvious generic function.
5188         (decode_signal): New.
5189         (Finterrupt_process):
5190         (Fkill_process):
5191         (Fquit_process):
5192         (Fstop_process):
5193         (Fcontinue_process):
5194         (Fsignal_process): Use decode_signal.
5195         (process_send_signal):
5196         Many docstring corrections.
5197         Allow any signal to be sent to a process object.
5198         * config.h.in: Add symbols for big signal/process overhaul.
5199         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5200         * sysproc.h: Include process-related headers, where available:
5201         sys/stropts.h sys/strtio.h pty.h libutil.h
5202         * s/irix4-0.h:
5203         * s/irix5-0.h:
5204         * s/cygwin32.h:
5205         * s/gnu.h:
5206         * s/linux.h:
5207         * s/hpux.h:
5208         * s/aix3-1.h:
5209         Remove old S&M pty stuff.
5210         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5211         * systty.h: Simplify cpp hackery, improve comments.
5212         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5213
5214         * editfns.c (Fformat_time_string):
5215         Be a little more paranoid with the return value of ctime.
5216
5217         * fileio.c (check_executable):
5218         (check_writable):
5219         Use symbolic constants X_OK, W_OK.
5220
5221         * console-x.c (split_up_display_spec): Fix a warning.
5222
5223 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5224
5225         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5226         * ntproc.c (sys_spawnve): make_string ==> build_string
5227         Small clarity improvements.
5228
5229 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5230
5231         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5232
5233         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5234
5235         * config.h.in (HAVE_STRCASECMP): Remove.
5236
5237 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5238
5239         * redisplay-output.c (redisplay_output_pixmap):
5240         Cleaner and possibly more 64-bit correct code.
5241
5242 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5243
5244         * dumper.c (pdump_load_finish): move restoration of
5245         `noninteractive1' to emacs.c (main_1).
5246         * emacs.c (main_1): protect LISP-visible command-line flags
5247         from pdump_load().
5248
5249 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5250
5251         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5252         DUMP_TARGET instead of literal program names.
5253
5254 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5255
5256         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5257
5258 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5259
5260         * *: Spelling mega-patch
5261
5262 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5263
5264         * fns.c (bad_bad_turtle):
5265         Delete "Eek!" comment, since we fixed the bug to which it refers.
5266
5267 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5268
5269         * alloca.c: Replace REGISTER with register.
5270
5271 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5272
5273         * file-coding.c (ucs_to_char): Use countof.
5274
5275 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5276
5277         * file-coding.c: (ucs_to_char):
5278         (complex_vars_of_file_coding):
5279         Use countof instead of sizeof.
5280         Use CHECK_NATNUM instead of CHECK_INT.
5281
5282         * sysdep.c (strcasecmp): Remove.
5283         * device-x.c (ascii_strcasecmp): New.
5284         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5285         Avoid using non-standard non-portable strcasecmp.
5286
5287 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5288
5289         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5290         * font-lock.c: remove reference to emacsfns.h.
5291         * search.c: small doc improvement.
5292         * event-Xt.c: correct file names in comments.
5293         * console-x.h Correct file names in comments.
5294         * frame.c: Correct file names in comments.
5295         * event-stream.c: remove Energize from comments.
5296
5297 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5298
5299         * symeval.h (DEFERROR_STANDARD):
5300         (DEFERROR):
5301         (DEFSYMBOL):
5302         (DEFSYMBOL_NO_DUMP):
5303         (DEFSYMBOL_MULTIWORD_PREDICATE):
5304         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5305         (DEFKEYWORD):
5306         The construct &##name is not sensible C.
5307         Fixes compilation errors with Unixware native compiler.
5308
5309 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5310
5311         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5312         (next_frame_internal): Removed.  We now just have next_frame.
5313         (next_frame):
5314         Write a simpler and cleaner one-pass algorithm.
5315         Remove called_from_delete_device arg and #ifdefed-out code.
5316         (previous_frame):
5317         Renamed from prev_frame.  Update callers.
5318         Cleaned up to have an analogous implementation to next_frame.
5319         (other_visible_frames_internal): Remove the
5320         called_from_delete_device bogus arg, and hence, remove this
5321         function.  Just use other_visible_frames().
5322
5323         * window.c (Fnext_window):
5324         Prettify docstring.
5325         Since next_frame() is guaranteed to return a frame, remove check
5326         for nil inserted in previous patch.
5327         (Fprevious_window):
5328         Prettify docstring.
5329         Make code look more like Fnext_window.
5330         (window_loop):
5331         Respect the `console' arg when iterating through windows.
5332         Fixes bug: (get-buffer-window buffer t device) not respecting
5333         the `device' arg.
5334         This function needs more work, as others have pointed out.
5335
5336         * frame.h: Rename prev_frame to previous_frame.
5337         device_matches_console_spec no longer takes a `frame' arg.
5338
5339         * s/gnu.h:
5340         * s/linux.h:
5341         * s/hpux.h:
5342         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5343         From "Golubev I. N." <gin@mo.msk.ru>.
5344
5345         * make-src-depend: Fix typo.
5346
5347 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5348
5349         * window.c (Fnext_window):
5350         next_frame() might return nil, not a frame.
5351         Fixes this crash:
5352         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5353
5354         * frame.c (next_frame_internal):
5355         We've passed a frame if we've passed its device.
5356         Fixes this crash:
5357         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5358 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5359
5360 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5361
5362         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5363         Allow option to suppress accelerators in menu/dialog items.
5364         (populate_or_checksum_helper): Pass dialog title through above.
5365
5366 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5367
5368         * event-msw.c (mswindows_key_to_emacs_keysym):
5369         Add "pause" key, fix "menu" key.
5370
5371 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5372
5373         * eval.c (reinit_vars_of_eval):
5374         Increase max_lisp_eval_depth to 1000,
5375         required for thai-xtis.el to byte-compile under some circumstances.
5376
5377 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5378
5379         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5380         From Kenichi Handa.
5381
5382 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5383
5384         * make-src-depend: Make the generated Makefiles smaller.
5385
5386         * s/hpux.h (SETUP_SLAVE_PTY):
5387         Provide a %d in the format string for the errno argument.
5388
5389         * editfns.c (Ftemp_directory):
5390         Warning fix.
5391         Avoid buffer overrun on very long file name.
5392
5393         * input-method-xlib.c (XIM_init_device):
5394         6th parameter of XRegisterIMInstantiateCallback has different
5395         pointer types on different OSes, so simply cast to (void *).
5396
5397         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5398
5399         * sysdll.c (dll_open):
5400         shl_load will hang hard if passed a NULL filename.
5401         Simply return NULL for compatibility with dlopen.
5402         * sysdll.c: Conform to XEmacs coding standards.
5403
5404         * sysdep.c (get_pty_max_bytes):
5405         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5406
5407 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5408
5409         * tooltalk.c: Add #include <syssignal.h>
5410
5411 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5412
5413         * s/hpux.h: Don't use undefined function sigunblock().
5414
5415 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5416
5417         * config.h.in: Add HAVE_BALLOON_HELP.
5418         * emacs.c: Use HAVE_BALLOON_HELP.
5419         * Makefile.in.in (x_objs):
5420         Make Balloon Help conditional on finding shape.h.
5421
5422 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5423
5424         * syntax.c (regex_emacs_buffer_p): New variable.
5425         * syntax.h (regex_emacs_buffer_p): extern.
5426         * search.c (looking_at_1):
5427         (string_match_1):
5428         (fast_string_match):
5429         (search_buffer): Set regex_emacs_buffer_p.
5430         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5431         when before_dot, at_dot, after_dot.
5432
5433 2000-08-23  Andy Piper  <andy@xemacs.org>
5434
5435         * gui-x.c (popup_selection_callback): Only set action_occurred
5436         when we really have an image instance.
5437         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5438
5439 2000-08-23  Andy Piper  <andy@xemacs.org>
5440
5441         * gui-msw.c (mswindows_handle_gui_wm_command): set
5442         action_occurred.
5443         * gui-x.c (popup_selection_callback): ditto.
5444
5445         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5446         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5447         (struct Lisp_Image_Instance): add action_occurred flag.
5448
5449         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5450         (image_instance_changed): ditto.
5451         (reset_frame_subwindow_instance_cache): only unmap windows - do
5452         not remove them from the cache also.
5453
5454         * glyphs-widget.c (tab_control_update): better debug.
5455         (progress_gauge_update): ditto.
5456         (layout_update): ditto.
5457         (layout_instantiate): ditto.
5458         (tab_control_order_only_changed): cope with null pending items.
5459
5460         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5461         debug. Force selection of an item when an action occurred. Cope
5462         with null pending_items.
5463         (mswindows_progress_gauge_redisplay): better debug.
5464         * glyphs-x.c (x_tab_control_redisplay): ditto.
5465
5466         * redisplay.c (redisplay_frame): reset the frame cache if the
5467         frame is garbaged.
5468
5469         * window.c (Fset_window_configuration): potentially re-enable
5470         frame cache reset.
5471         (window_unmap_subwindows): need to finalize instances here since
5472         it is only used in mark_window_as_deleted.
5473
5474 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5475
5476         * nas.c (SndOpenDataForReading):
5477         nas.c (WaveOpenDataForReading):
5478         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5479         Somehow escaped from the 2000-08-14 patch.
5480
5481 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5482
5483         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5484         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5485
5486 2000-08-21  Andy Piper  <andy@xemacs.org>
5487
5488         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5489         window if it is not already displayed.
5490
5491         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5492         it is not already displayed.
5493
5494         * window.c (Fset_window_configuration): don't reset the frame
5495         cache.
5496
5497         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5498         instances from the frame cache if we are actually finalizing them.
5499         (reset_frame_subwindow_instance_cache): reset frame cache only
5500         after unmapping everything.
5501         (map_subwindow): set displayed flag after mapping.
5502
5503 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5504
5505         * data.c (indirect_function):
5506         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5507
5508         * eval.c (function_argcount):
5509         Use original function when signaling errors.
5510
5511 2000-08-18  Andy Piper  <andy@xemacs.org>
5512
5513         * frame.c (delete_frame_internal): use new
5514         free_frame_subwindow_instances name.
5515
5516         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5517         (add_tab_item): make return type correct.
5518         (mswindows_tab_control_instantiate): assert index of tab.
5519         (mswindows_tab_control_redisplay): Re-code to use
5520         gui_item_equal_sans_selected and gui_item_list_find_selected.
5521
5522         * glyphs-widget.c (tab_control_update): Correct comment.
5523
5524         * window.c (window_unmap_subwindows): use new
5525         unmap_subwindow_instance_cache_mapper.
5526         (window_unmap_subwindows_cache_mapper): deleted.
5527         (Fset_window_configuration): comparisons should now be with
5528         EQ. Preserve the subwindow instance cache across configuration
5529         changes.
5530         (allocate_window): ditto.
5531         (make_dummy_parent): ditto.
5532
5533         * glyphs.c (free_frame_subwindow_instances): rename from
5534         free_frame_subwindow_instance_cache. finalize all instances rather
5535         than just those in the display cache.
5536         (finalize_all_subwindow_instances): walk windows unmapping and
5537         finalizing subwindows.
5538         (unmap_subwindow_instance_cache_mapper): moved from
5539         window.c. Allow finalization as well as unmapping.
5540
5541         * gui.c (gui_item_list_find_selected): new function.
5542
5543         * gui.h (gui_item_list_find_selected): declare.
5544
5545         * glyphs-x.c (x_tab_control_redisplay): pick tab
5546         explicitly. Re-code to use gui_item_equal_sans_selected and
5547         gui_item_list_find_selected.
5548
5549         * glyphs-x.h: add lwlib-utils.h
5550
5551         * buffer.c (Frecord_buffer): undo previous change.
5552
5553 2000-08-09  Vin Shelton  <acs@xemacs.org>
5554
5555         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5556         possible.  Create temporary files more securely.  The patch was
5557         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5558         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5559         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5560         for details.
5561
5562 2000-08-07  Ben Wing  <ben@xemacs.org>
5563
5564         * getloadavg.c: remove duplicate (and windows-breaking)
5565         includes of fcntl.h and sys/file.h.
5566
5567         * nt.c: remove duplicate getloadavg() definition.
5568
5569         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5570         encodings.
5571
5572 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5573
5574         * eval.c (function_argcount): If function needs to be autoloaded
5575         actually use the loaded definition.
5576         GCPRO function.
5577
5578 2000-08-05  Ben Wing  <ben@xemacs.org>
5579
5580         * getloadavg.c: add prototype for getloadavg().  remove
5581         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5582         of the code).  remove duplicate header includes.
5583
5584         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5585
5586         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5587         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5588         useful load average.
5589
5590         * alloc.c (reinit_alloc_once_early): removed references to
5591         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5592         the lisp vars are the only things referencing the malloc_sbrk_*
5593         vars, and they were already if 0'd out.  these vars only exist
5594         in the older malloc.c, which is basically unused, and they're
5595         only for informational purposes.
5596
5597         * m\*.h: removed useless VIRT_ADDR_VARIES.
5598
5599         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5600
5601 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5602
5603         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5604         color if the image is a mono pixmap.
5605
5606 2000-07-30  Ben Wing  <ben@xemacs.org>
5607
5608         * Makefile.in.in (release):
5609         Remove stray @.
5610
5611         * buffer.c (directory_is_current_directory):
5612         * dired-msw.c (mswindows_get_files):
5613         * dired.c:
5614         * dired.c (Fdirectory_files):
5615         * dired.c (file_name_completion_stat):
5616         * dired.c (Ffile_attributes):
5617         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5618         preprocessor tricks, to avoid problems on some machines
5619         (e.g. SCO).
5620
5621         * callproc.c (egetenv): GC docs.
5622
5623         * console-msw.h:
5624         * console-msw.h (struct mswindows_dialog_id):
5625         * lrecord.h (lrecord_type):
5626         New object for use with MSW dialogs.
5627
5628         * console.h (struct console_methods):
5629         New enable/disable frame methods, for proper modal dialogs.
5630
5631         * device-msw.c (msprinter_default_printer): Fix to follow
5632         proper Mule conventions.
5633
5634         * device-msw.c:
5635         * device-msw.c (signal_open_printer_error):
5636         * device-msw.c (msprinter_init_device):
5637         * device-msw.c (ensure_not_printing):
5638         * device-msw.c (plist_get_margin):
5639         * device-msw.c (Fmsprinter_select_settings):
5640         * device-msw.c (finalize_devmode):
5641         * device-msw.c (Fmsprinter_settings_despecialize):
5642         * device-msw.c (signal_enum_priner_error):
5643         * extents.c (decode_extent):
5644         * extents.c (decode_map_extents_flags):
5645         * extents.c (decode_extent_at_flag):
5646         * extents.c (Fextent_at):
5647         * extents.c (Fextents_at):
5648         * extents.c (symbol_to_glyph_layout):
5649         [[[[2]]]] Use structured errors.
5650
5651         * dialog-msw.c:
5652         * dialog-msw.c (mswindows_is_dialog_msg):
5653         * dialog-msw.c (mark_mswindows_dialog_id):
5654         * dialog-msw.c (dialog_proc):
5655         * dialog-msw.c (handle_question_dialog_box):
5656         * dialog-msw.c (syms_of_dialog_mswindows):
5657         Define new object to clean up marking; use it as a dialog identifier.
5658         Call new delete-dialog-box-hook.
5659
5660         * dialog-x.c (dbox_selection_callback):
5661         * dialog-x.c (dbox_descriptor_to_widget_value):
5662         * dialog-x.c (x_make_dialog_box_internal):
5663         Call new delete-dialog-box-hook.
5664         Return an id.
5665
5666         * dialog.c:
5667         * dialog.c (syms_of_dialog):
5668         * dialog.c (vars_of_dialog):
5669         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5670
5671         * eval.c:
5672         * eval.c (signal_call_debugger):
5673         when noninteractive, output stack traces on the console instead
5674         of in a (never-seen) buffer.
5675
5676         * eval.c (signal_type_error):
5677         * eval.c (invalid_argument_2):
5678         * lisp.h:
5679         new funs for use w/structured errors.
5680
5681         * event-Xt.c:
5682         * event-Xt.c (x_to_emacs_keysym):
5683         * event-Xt.c (describe_event):
5684         * event-Xt.c (emacs_Xt_event_handler):
5685         * event-Xt.c (vars_of_event_Xt):
5686         * event-msw.c:
5687         * event-msw.c (mswindows_wnd_proc):
5688         * event-msw.c (vars_of_event_mswindows):
5689         rename {x,mswindows}-debug-events to debug-{}-events for
5690         consistency with other debug-foo variables.
5691
5692         * event-stream.c:
5693         document next-event more clearly.
5694
5695         * fileio.c (Ffile_name_directory):
5696         * fileio.c (Ffile_name_nondirectory):
5697         * fileio.c (Funhandled_file_name_directory):
5698         * fileio.c (file_name_as_directory):
5699         * fileio.c (Ffile_name_as_directory):
5700         * fileio.c (directory_file_name):
5701         * fileio.c (Fdirectory_file_name):
5702         * fileio.c (Fmake_temp_name):
5703         * fileio.c (Ffile_truename):
5704         * fileio.c (Fsubstitute_in_file_name):
5705         * fileio.c (expand_and_dir_to_file):
5706         * fileio.c (barf_or_query_if_file_exists):
5707         * fileio.c (check_executable):
5708         * fileio.c (Ffile_exists_p):
5709         * fileio.c (Ffile_writable_p):
5710         * fileio.c (Ffile_directory_p):
5711         * fileio.c (Ffile_regular_p):
5712         * fileio.c (Ffile_modes):
5713         * fileio.c (Ffile_newer_than_file_p):
5714         * fileio.c (Fverify_visited_file_modtime):
5715         * fileio.c (Fset_visited_file_modtime):
5716         * fileio.c (auto_save_1):
5717         (1). (2).
5718         fix up gcpro's.
5719
5720         * frame-msw.c:
5721         * frame-msw.c (mswindows_init_frame_1):
5722         * frame-msw.c (mswindows_enable_frame):
5723         * frame-msw.c (error_frame_unsizable):
5724         * frame-msw.c (msprinter_init_frame_1):
5725         * frame-msw.c (msprinter_init_frame_3):
5726         * frame-msw.c (console_type_create_frame_mswindows):
5727         (2).
5728         implement new enable/disable frame methods.
5729
5730         * frame-x.c:
5731         * frame-x.c (x_enable_frame):
5732         * frame-x.c (console_type_create_frame_x):
5733         implement new enable/disable frame methods.
5734
5735         * frame.c:
5736         * frame.c (Fdisable_frame):
5737         * frame.c (syms_of_frame):
5738         * frame.h (struct frame):
5739         implement new enable/disable frame methods/functions.
5740
5741         * general-slots.h:
5742         add initial-focus.
5743
5744         * glyphs-msw.c (mswindows_widget_instantiate):
5745         comment that initial-focus should be implemented.
5746
5747         * glyphs-widget.c:
5748         * glyphs-widget.c (check_valid_instantiator):
5749         * glyphs-widget.c (check_valid_orientation):
5750         * glyphs-widget.c (check_valid_tab_orientation):
5751         * glyphs-widget.c (check_valid_justification):
5752         * glyphs-widget.c (check_valid_border):
5753         * glyphs-widget.c (check_valid_callback):
5754         * glyphs-widget.c (check_valid_int_or_function):
5755         * glyphs-widget.c (check_valid_string_or_vector):
5756         * glyphs-widget.c (check_valid_item_list_1):
5757         * glyphs-widget.c (widget_validate):
5758         * glyphs-widget.c (combo_box_validate):
5759         * glyphs-widget.c (widget_instantiate):
5760         * glyphs-widget.c (syms_of_glyphs_widget):
5761         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5762         * glyphs-widget.c (image_instantiator_combo_box):
5763         * glyphs-widget.c (image_instantiator_scrollbar):
5764         * glyphs-widget.c (image_instantiator_tab_control):
5765         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5766         (2).
5767         support (unimplemented) keyword initial-focus.
5768         reindent long macros.
5769
5770         * glyphs-x.c (x_redisplay_widget):
5771         * glyphs-x.c (x_button_instantiate):
5772         * glyphs-x.c (x_button_redisplay):
5773         * glyphs-x.c (x_progress_gauge_instantiate):
5774         * glyphs-x.c (x_edit_field_instantiate):
5775         * glyphs-x.c (x_combo_box_instantiate):
5776         * glyphs-x.c (x_tab_control_instantiate):
5777         * glyphs-x.c (x_label_instantiate):
5778         * gui-x.c:
5779         * gui-x.c (button_item_to_widget_value):
5780         * gui-x.c (gui_items_to_widget_values_1):
5781         * gui-x.c (gui_item_children_to_widget_values):
5782         * gui-x.c (gui_items_to_widget_values):
5783         * gui-x.h:
5784         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5785         add new flag to gui-parsing routines to indicate whether
5786         accelerator specs should be supported.
5787
5788         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5789
5790         * glyphs.h (struct Lisp_Image_Instance):
5791         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5792         add initial-focus flag.
5793
5794         * gui.c:
5795         * gui.c (syms_of_gui):
5796         * gui.c (vars_of_gui):
5797         clean up menu-no-selection-hook.
5798
5799         * gui.h:
5800         support delete-dialog-box-hook.
5801
5802         * lread.c (Fload_internal):
5803         * lread.c (locate_file_in_directory_mapper):
5804         (1).
5805
5806         * lrecord.h:
5807         * lrecord.h (struct toolbar_button):
5808         * lrecord.h (syms_of_toolbar):
5809         document how to create a new object.
5810
5811         * menubar-msw.c (mswindows_char_is_accelerator):
5812         may be called on frames w/o menus.
5813
5814         * menubar.c (vars_of_menubar):
5815         clean up :filter docs.
5816
5817         * nt.c (readdir):
5818         * ntproc.c:
5819         (1).
5820
5821         * process-nt.c:
5822         * process-nt.c (validate_signal_number):
5823         * process-nt.c (signal_cannot_launch):
5824         * process-nt.c (nt_create_process):
5825         * process-nt.c (nt_send_process):
5826         * process-nt.c (nt_kill_child_process):
5827         * process-nt.c (nt_open_network_stream):
5828         * process-nt.c (syms_of_process_nt):
5829         (2).
5830         delete quote-handling.  call new lisp code that does it better.
5831
5832         * process-unix.c (connect_to_file_descriptor):
5833         * process-unix.c (allocate_pty):
5834         * process-unix.c (unix_send_process):
5835         * process-unix.c (unix_kill_child_process):
5836         * process-unix.c (unix_open_network_stream):
5837         * process-unix.c (unix_open_multicast_group):
5838         (1). (2).
5839
5840         * process.c:
5841         * process.c (Fstart_process_internal):
5842         (2).  need to canonicalize process path even if absolute.
5843
5844         * select-msw.c (symbol_to_ms_cf):
5845         * select-msw.c (ms_cf_to_symbol):
5846         * select-msw.c (cf_is_autofreed):
5847         * select-msw.c (mswindows_destroy_selection):
5848         * select.c:
5849         * select.c (syms_of_select):
5850         * select.h:
5851         support dibv5, fix bugs. (from Mike Alexander)
5852
5853         * select.c (Fget_selection_internal):
5854         * select.c (select_convert_out):
5855
5856         * sysdep.c:
5857         * sysdep.c (xemacs_stat):
5858         renamed.
5859
5860         * sysdep.c (mkdir):
5861         * sysdep.c (rmdir):
5862         but keep original stat() here because we provide encapsulation
5863         around these funs.
5864
5865         * sysfile.h:
5866         * sysfile.h (fstat):
5867         remove stat garbage.
5868
5869         * syswindows.h:
5870         fix X/MSW conflict.
5871         don't include tchar.h.  it's inappropriate because it makes
5872         compile-time distinctions when we want runtime distinctions.
5873         (we provide our own tchar replacements)
5874
5875         * toolbar.c:
5876         use default object printer for toolbar-button.
5877
5878         * unexcw.c:
5879         make sure we don't encapsulate.
5880
5881         * window.c (vars_of_window):
5882         emphasize that temp-buffer-show-hook is obsolete.
5883
5884 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5885
5886         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5887         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5888
5889         * events.c (Fevent_timestamp_lessp):
5890         Not 64-bit clean.  Use EMACS_INT, not int.
5891
5892 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5893
5894         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5895         unsigned int and changed the last enum to
5896         lrecord_type_last_built_in_type.
5897         (lrecord_implementations_table): changed prototype to know how
5898         long the array is supposed to be.
5899         (lrecord_type_count): new unsigned int to keep track of the
5900         current number of lisp lrecord types.
5901         (DEFINE_EXTERNAL_LRECORD):
5902         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5903         dynamic-modules to declare new lisp types. They are the same
5904         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5905         int for each new type, and increment lrecord_type_count by 1.
5906
5907         * alloc.c (lrecord_implementations_table): Changed to reference
5908         lrecord_type_last_built_in_type for the size of the array.
5909         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5910
5911 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5912
5913         * glyphs.h (check_valid_item_list): Renamed from
5914         check_valid_item_list_1.
5915
5916 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5917
5918         * select.c (Qselect_coerce): New.
5919         * select.c (Vselection_coercion_alist): New.
5920         * select.c (syms_of_select): Declare.
5921         * select.c (get-selection-internal): Use it.
5922         Use the new select-coerce functionality.
5923
5924         * select.c (select_coerce): New.
5925         * select.h (select_coerce): Declare.
5926         New function to coerce one type of data into another.
5927
5928 2000-08-03  Martin Buchholz  <martin@xemacs.org>
5929
5930         * callproc.c (Fcall_process_internal):
5931         (Fcall_process_internal):
5932         * process-unix.c (unix_create_process):
5933         Save and restore the value of errno, so that error messages are accurate.
5934
5935 2000-08-01  Martin Buchholz  <martin@xemacs.org>
5936
5937         * elhash.c (print_hash_table):
5938         Fix printing of hash tables to also use `key-and-value' instead of `t'.
5939         Prettify docstrings and indentation.
5940
5941 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5942
5943         * window.c (Fwindow_pixel_edges): Subtract frame border and
5944         gutter size.
5945
5946 2000-07-31  Andy Piper  <andy@xemacs.org>
5947
5948         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
5949         will acknowledge the change.
5950
5951         * glyphs.h: declare tab_control_order_only_changed.
5952
5953         * glyphs-x.c (x_tab_control_redisplay): use
5954         tab_control_order_only_changed.
5955
5956         * glyphs-widget.c (tab_control_order_only_changed): new function.
5957
5958         * glyphs-msw.c (mswindows_tab_control_redisplay): use
5959         tab_control_order_only_changed.
5960
5961         * gui.c (gui_item_equal_sans_selected): new function.
5962         (gui_item_equal): use it.
5963
5964         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
5965         :properties in favor of :items..
5966
5967         * glyphs-widget.c (check_valid_item_list): rename from
5968         check_valid_item_list_1.
5969         (check_valid_item_list_1): renamed.
5970         (combo_box_validate): deprecate :properties in favor of :items.
5971         (widget_instantiate): ditto.
5972         (tab_control_update): ditto.
5973         (image_instantiator_combo_box): ditto.
5974         (image_instantiator_tree_view): ditto.
5975         (image_instantiator_tab_control): ditto.
5976         (layout_post_instantiate): remove dead code.
5977
5978         * print.c (debug_print_no_newline): only write to debugger if in
5979         WIN32_NATIVE.
5980
5981         * elhash.c (Fmake_hash_table): update doc string.
5982
5983         * event-msw.c (mswindows_wnd_proc): don't allow processing of
5984         messages whilst in GC. This at least stops XEmacs crashing but has
5985         the potential for wierd behaviour.
5986
5987 2000-07-31  Martin Buchholz  <martin@xemacs.org>
5988
5989         * config.h.in:
5990         Make existence of s&m files optional.
5991
5992         * s/bsd386.h: Remove HAVE_GETLOADAVG.
5993         * s/freebsd.h: Remove HAVE_GETLOADAVG.
5994         * s/gnu.h: Remove HAVE_GETLOADAVG.
5995         * s/netbsd.h: Remove HAVE_GETLOADAVG.
5996         * s/sol2.h: Remove HAVE_GETLOADAVG.
5997         * lisp.h: Remove getloadavg() declaration.
5998         * fns.c:
5999         Include <sys/loadavg.h> if available.
6000         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6001         * config.h.in:  Group together getloadavg()-related macros.
6002         Use only configure-time tests to detect getloadavg().
6003
6004 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6005
6006         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6007
6008 2000-07-25  Andy Piper  <andy@xemacs.org>
6009
6010         * syswindows.h: add tchar.h for native builds.
6011
6012         * frame.c (syms_of_frame): remove set-glyph-image.
6013
6014         * general-slots.h: add Qset_glyph_image.
6015
6016         * glyphs-widget.c (layout_update): add domain arg to
6017         set-glyph-image.
6018         (syms_of_glyphs_widget): remove set-glyph-image.
6019
6020 2000-07-23  Ben Wing  <ben@xemacs.org>
6021
6022         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6023         Vpopup_frame_list.
6024
6025 2000-07-22  Andy Piper  <andy@xemacs.org>
6026
6027         * symsinit.h: add syms_of_win32().
6028
6029         * gui-msw.c (syms_of_gui_mswindows): remove
6030         Fmswindows_shell_execute.
6031         (Fmswindows_shell_execute): moved to win32.c.
6032
6033         * emacs.c (main_1): add syms_of_win32 ().
6034
6035         * win32.c (init_potentially_nonexistent_functions): rewrite in
6036         compiler-friendly terms.
6037         (Fmswindows_shell_execute): move here from gui-msw.c.
6038         (syms_of_win32): new.
6039
6040         * device-msw.c (Fmswindows_printer_list): clean up args to
6041         EnumPrinters.
6042         Don't include tchar under cygwin or mingw.
6043         (msprinter_default_printer): make cygwin-friendly.
6044
6045 2000-07-21  Andy Piper  <andy@xemacs.org>
6046
6047         * glyphs-widget.c (image_instantiator_tree_view): use tab
6048         control's update function.
6049         (layout_property): new function. Retrieve items.
6050
6051         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6052         function. Re-populate the tree view from the pending items.
6053
6054         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6055         is designated the parent if the domain is an image instance. This
6056         is needed so that dirtiness can be cascade up the hierarchy and
6057         thus for layout children to be redisplayed correctly.
6058         (allocate_image_instance): rename glyph -> parent.
6059
6060         * redisplay.h: change redisplay_output_layout signature.
6061
6062         * redisplay-msw.c (mswindows_output_display_block): use domain
6063         arg.
6064
6065         * redisplay-x.c (x_output_display_block): use domain arg.
6066
6067 2000-07-10  Andy Piper  <andy@xemacs.org>
6068
6069         * window.c (Fset_window_configuration): add comment.
6070
6071         * redisplay-output.c (compare_runes):
6072         (redisplay_output_subwindow): redisplay rather than update subwindow.
6073         (redisplay_output_layout): ditto.
6074
6075         * redisplay-msw.c (mswindows_frame_output_end):
6076         (mswindows_frame_output_end): make defer window pos optional.
6077
6078         * lisp.h: add Flast.
6079
6080         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6081         normalize method. Change update method to be for changed
6082         instantiators. Add redisplay method. Change signature of layout
6083         method.
6084         (struct Lisp_Image_Instance): add instantiator.
6085         (IMAGE_INSTANCE_INSTANTIATOR): new.
6086         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6087         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6088         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6089
6090         * glyphs.c:
6091         (find_instantiator_differences): new function.
6092         (Fset_instantiator_property): new convenience function.
6093         (check_image_instance_structure): strictly check for vector
6094         instantiators.
6095         (normalize_image_instantiator): make non-static.
6096         (instantiate_image_instantiator): pass on dest_mask and use new
6097         signatures for image_instance_layout and friends.
6098         (mark_image_instance): mark the instantiator. Mark the subwindow
6099         face not the widget face.
6100         (image_instance_equal): add instantiator.
6101         (image_instance_hash): ditto.
6102         (allocate_image_instance): ditto.
6103         (Fset_image_instance_property): removed.
6104         (Fimage_instance_file_name): ditto.
6105         (Fcolorize_image_instance): ditto.
6106         (image_instance_layout): add offsets to be set.
6107         (update_image_instance): new function. update an image instance
6108         from its changed instantiator.
6109         (inherit_normalize): add dest_mask.
6110         (xbm_normalize): ditto.
6111         (xface_normalize): ditto.
6112         (xpm_normalize): ditto.
6113         (text_update): set_property -> update.
6114         (image_instantiate): use the glyph identity as a hash key, not the
6115         instantiator.
6116         (glyph_width): use new image_instance_layout signature.
6117         (glyph_ascent): ditto.
6118         (glyph_descent): ditto.
6119         (glyph_height): ditto.
6120         (glyph_query_geometry): ressurrect.
6121         (glyph_layout): ditto.
6122         (redisplay_subwindow): update -> redisplay.
6123         (syms_of_glyphs): add Fset_instantiator_property.
6124         (image_instantiator_format_create): set_property -> update.
6125
6126         * glyphs-x.c:
6127         (autodetect_normalize): add dest_maks to signature.
6128         (x_redisplay_subwindow): update -> redisplay.
6129         (x_redisplay_widget): ditto.
6130         (x_button_redisplay): ditto.
6131         (x_progress_gauge_redisplay): ditto.
6132         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6133         stacking order.
6134         (console_type_create_glyphs_x): update -> redisplay.
6135         (image_instantiator_format_create_glyphs_x): ditto.
6136
6137         * glyphs-widget.c:
6138         (check_valid_instantiator): disallow glyphs in the instantiator,
6139         they must now be vectors.
6140         (check_valid_instantiator_list): ditto.
6141         (glyph_instantiator_to_glyph): use internal symbol rather than
6142         intern.
6143         (widget_update): renamed from widget_set_property. Call cascaded
6144         update methods.
6145         (redisplay_widget): renamed from update_widget.
6146         (widget_layout): image_instance_layout now takes position as well
6147         as size.
6148         (widget_normalize): ditto.
6149         (widget_instantiate): ditto.
6150         (tab_control_query_geometry) ditto.:
6151         (tab_control_update): renamed from tab_control_set_property.
6152         (progress_gauge_update): set_property -> update.
6153         (layout_normalize): rewrite so that child instantiators are
6154         normalized also.
6155         (layout_update): new function. Create glyphs from the normalized
6156         children and cope with any other layout keywords. We do not
6157         instantiate children here that will be take care of by
6158         redisplay_output_layout.
6159         (layout_instantiate): call layout_update and not much else.
6160         (layout_post_instantiate): not sure whether this is needed
6161         anymore.
6162         (layout_query_geometry): query glyph geometry rather than
6163         image_instance geometry.
6164         (layout_layout): set offsets from pass in parameters. Use glyph
6165         geometry and layout functions rather than image instance ones.
6166         (native_layout_layout): ditto.
6167         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6168         (image_instantiator_widget): set_property -> update.
6169         (image_instantiator_buttons): ditto.
6170         (image_instantiator_progress_guage): ditto.
6171         (image_instantiator_tab_control): ditto.
6172         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6173         (image_instantiator_layout): add update method.
6174
6175         * glyphs-msw.c (bmp_normalize):
6176         (mswindows_resource_normalize): add dest_mask so that it can be
6177         proprogated by layout_normalize.
6178         (begin_defer_window_pos): make optional because it may not be the
6179         right thing to do and it introduces differences with X.
6180         (mswindows_unmap_subwindow): ditto.
6181         (mswindows_map_subwindow): ditto.
6182         (mswindows_redisplay_subwindow): renamed from
6183         mswindows_update_subwindow.
6184         (mswindows_redisplay_widget): ditto.
6185         (mswindows_button_redisplay): renamed from
6186         mswindows_button_update. Update is now what the instantiation
6187         function does for a changed instantiator.
6188         (mswindows_progress_gauge_instantiate): set the progress value
6189         here if appropriate.
6190         (mswindows_tab_control_redisplay): cope with re-ordering of the
6191         members of the tab widget by simply selecting the new top
6192         widget. This makes things appear ok if you click on a tab.
6193         (mswindows_combo_box_instantiate): image_instance_layout now takes
6194         position as well as size.
6195         (mswindows_progress_gauge_redisplay): renamed from
6196         mswindows_progress_gauge_update.
6197         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6198         (image_instantiator_format_create_glyphs_mswindows): ditto.
6199
6200         * glyphs-eimage.c (jpeg_normalize):
6201         (gif_normalize):
6202         (png_normalize):
6203         (tiff_normalize): add dest_mask so that it can be proprogated by
6204         layout_normalize.
6205
6206         * elhash.c:
6207         (print_hash_table):
6208         (hash_table_weakness_validate):
6209         (decode_hash_table_weakness):
6210         (Fhash_table_weakness):
6211         (Fhash_table_type):
6212         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6213
6214         * console.h (struct console_methods): move update_* to
6215         redisplay_*.
6216
6217 2000-07-20  Ben Wing  <ben@xemacs.org>
6218
6219         * *.[ch] (XSETOBJ): remove unused middle argument.
6220         lisp-disunion.h: correct wrap_object() to one argument.
6221
6222 2000-07-15  Ben Wing  <ben@xemacs.org>
6223
6224         * s/cygwin32.h:
6225         * s/cygwin32.h (CYGWIN_CONV_PATH):
6226         Add missing logb prototype for v1.1.
6227         Use post-b20 names and alias to pre-b20 names when pre-b20.
6228
6229         * s/windowsnt.h: [5].
6230
6231 2000-07-15  Ben Wing  <ben@xemacs.org>
6232
6233         * Makefile.in.in (x_objs):
6234         * Makefile.in.in (sheap_objs):
6235         * Makefile.in.in (objs):
6236         added win32.o, cosmetic cleanups.
6237
6238         * alloc.c (Fmake_byte_code):
6239         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6240         etc. macros which declare their own args now.
6241
6242         * alloc.c (syms_of_alloc):
6243         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6244
6245         * buffer.c:
6246         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6247
6248         * buffer.c (Fget_file_buffer):
6249         Fixed GCPRO problem.
6250
6251         * buffer.c (get_truename_buffer):
6252         Fixed comment about GC checking.
6253
6254         * buffer.c (syms_of_buffer):
6255         Undeclared those dedicated frame funs.
6256         [2].
6257
6258         * buffer.h:
6259         Define convenience macros for internal/external conversions.
6260         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6261         and Qenvironment_variable_encoding for cleaner code.
6262
6263         * bufslots.h:
6264         Remove dedicated-frame; in lisp.
6265
6266         * bytecode.c (funcall_compiled_function):
6267         [1].
6268
6269         * bytecode.c (syms_of_bytecode):
6270         [2].
6271
6272         * console-msw.c:
6273         * console-msw.c (mswindows_show_console): Rewrote.
6274
6275         * console-msw.c (Fmswindows_debugging_output): New.
6276         Sends to OutputDebugString (special MSWin debugger interface).
6277
6278         * console-msw.c (Fmswindows_message_box):
6279         Fixed stupid bugs so it works when called from kill-emacs.
6280
6281         * console-msw.c (syms_of_console_mswindows):
6282         Declare Fmswindows_debugging_output.
6283
6284         * console-msw.h:
6285         New MSWin prototypes.
6286
6287         * console-msw.h (struct mswindows_frame):
6288         New entry last-click-mods for improved button-modifier support.
6289
6290         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6291         New struct entry `popup' with corresponding accessor.
6292
6293         * console-x.c:
6294         * console-x.c (split_up_display_spec):
6295         * console-x.c (get_display_arg_connection):
6296         * console-x.c (x_semi_canonicalize_console_connection):
6297         * console-x.c (x_canonicalize_device_connection):
6298         [[[6]]]: Change char to more specific type.
6299         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6300
6301         * console-x.c (x_semi_canonicalize_console_connection):
6302         * console-x.c (x_canonicalize_device_connection):
6303         [[[9]]]: Fix up error signalling to use new structured error system.
6304
6305         * console-x.h:
6306         [[[4]]]: Define codesys aliases:
6307         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6308         Qx_color_name_encoding, Qx_display_name_encoding.
6309
6310         * console.h (struct console_methods):
6311         New method make_dialog_box_internal supersedes older
6312         popup_dialog_box method.
6313
6314         * data.c:
6315         Define many new errors, part of new structured errors.
6316
6317         * data.c (init_errors_once_early):
6318         * data.c (syms_of_data):
6319         [2].
6320
6321         * device-msw.c (mswindows_init_device):
6322         [[[5]]]: Cleanup to support NT 3.51.
6323
6324         * device-msw.c (decode_devmode): Cleanup.
6325
6326         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6327         * device-msw.c (mswindows_handle_print_dialog_box):
6328         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6329         * device-msw.c (syms_of_device_mswindows):
6330         Delete the dialog box primitives recently introduced by Kirill and
6331         instead interface to general dialog box interface.
6332
6333         * device-x.c:
6334         * device-x.c (compute_x_app_name):
6335         * device-x.c (x_init_device):
6336         * device-x.c (Fx_valid_keysym_name_p):
6337         * device-x.c (Fx_set_font_path):
6338         [6].
6339         [7].
6340
6341         * device.h (wrap_device): New.
6342         First of its kind; meant to replace XSETDEVICE.
6343
6344         * dialog-msw.c: Many file-dialog symbols.
6345
6346         * dialog-msw.c (mswindows_register_popup_frame): New.
6347         * dialog-msw.c (mswindows_is_dialog_msg): New.
6348         For supporting kbd traversal in dialog boxes.
6349
6350         * dialog-msw.c (dialog_proc):
6351         Support hitting ESC in dialogs.
6352
6353         * dialog-msw.c (struct):
6354         Common dialog box errors.
6355
6356         * dialog-msw.c (handle_file_dialog_box): New.
6357         Add file dialog code.
6358
6359         * dialog-msw.c (handle_question_dialog_box):
6360         Redo existing code to support new question dialog syntax.
6361
6362         * dialog-msw.c (console_type_create_dialog_mswindows):
6363         We support new dialog console method.
6364
6365         * dialog-msw.c (syms_of_dialog_mswindows):
6366         * dialog-msw.c (vars_of_dialog_mswindows):
6367         New file dialog symbols, vars.
6368
6369         * dialog-x.c:
6370         * dialog-x.c (maybe_run_dbox_text_callback):
6371         * dialog-x.c (dbox_descriptor_to_widget_value):
6372         * dialog-x.c (x_make_dialog_box_internal):
6373         * dialog-x.c (console_type_create_dialog_x):
6374         Mule-ize entire file.
6375         Redo to support question dialog syntax.
6376         [6].
6377
6378         * dialog.c:
6379         * dialog.c (Fmake_dialog_box_internal):
6380         * dialog.c (syms_of_dialog):
6381         Kill old popup-dialog-box, replace with new primitive.
6382         Just call device method or signal error.
6383
6384         * eldap.c (Fldap_open):
6385         * eldap.c (Fldap_search_basic):
6386         * eldap.c (Fldap_add):
6387         * eldap.c (Fldap_modify):
6388         [1].
6389         [7].
6390
6391         * emacs.c:
6392         * emacs.c (make_arg_list_1):
6393         * emacs.c (make_arg_list):
6394         Mule-ize call to dll_init().
6395         [6].
6396         [8].
6397
6398         * emacs.c (make_argc_argv):
6399         * emacs.c (free_argc_argv):
6400         * emacs.c (init_cmdargs):
6401         * emacs.c (main_1):
6402         * emacs.c (Fkill_emacs):
6403         * emacs.c (Fdump_emacs):
6404         Update comments about what can be used in syms_* etc.
6405         Call init_win32() when necessary.
6406         Fix up MS Win dialog box in kill-buffer to actually work right.
6407         [7].
6408
6409         * eval.c:
6410         * eval.c (For):
6411         * eval.c (Fand):
6412         * eval.c (Fprogn):
6413         * eval.c (Fprog1):
6414         * eval.c (Fprog2):
6415         * eval.c (FletX):
6416         * eval.c (Flet):
6417         * eval.c (condition_case_3):
6418         * eval.c (Feval):
6419         * eval.c (function_argcount):
6420         * eval.c (funcall_lambda):
6421         [1].
6422
6423         * eval.c (type_error): New.
6424         * eval.c (maybe_type_error): New.
6425         * eval.c (continuable_type_error): New.
6426         * eval.c (maybe_continuable_type_error): New.
6427         * eval.c (type_error_with_frob): New.
6428         * eval.c (maybe_type_error_with_frob): New.
6429         * eval.c (continuable_type_error_with_frob): New.
6430         * eval.c (maybe_continuable_type_error_with_frob): New.
6431         New functions for use with structured errors.
6432
6433         * event-Xt.c:
6434         * event-Xt.c (x_event_to_emacs_event):
6435         Buttons are now modifiers too.
6436
6437         * event-Xt.c (emacs_Xt_current_event_timestamp):
6438         Implement new event method.
6439         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6440
6441         * event-msw.c:
6442         * event-msw.c (ntpipe_shove_writer): [5].
6443         * event-msw.c (mswindows_enqueue_mouse_button_event):
6444         * event-msw.c (mswindows_drain_windows_queue):
6445         * event-msw.c (mswindows_wnd_proc): [7].
6446         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6447         * event-msw.c (mswindows_modifier_state):
6448         Throughout: support new button modifiers.
6449
6450         * event-msw.c (emacs_mswindows_current_event_timestamp):
6451         Implement new event method.
6452         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6453
6454         * event-stream.c:
6455         * event-stream.c (event_stream_current_event_timestamp): New.
6456         * event-stream.c (maybe_kbd_translate): New functionality.
6457         * event-stream.c (vars_of_event_stream):
6458         Document new kbd-translate-table functionality.
6459
6460         * event-stream.c (Fcurrent_event_timestamp): New.
6461         New primitive for use in fabricated events.
6462         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6463
6464         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6465
6466         * events.c:
6467         * events.c (Fmake_event):
6468         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6469         [1].
6470         [9].
6471
6472         * events.c (format_event_object): fix gcc warnings.
6473
6474         * events.c (Fevent_timestamp): Document new primitives.
6475
6476         * events.c (TIMESTAMP_HALFSPACE): New.
6477
6478         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6479         comparing timestamps correctly (half-space algorithm).
6480
6481         * events.c (Fevent_modifier_bits): Doc fix.
6482
6483         * events.c (Fevent_modifiers): Major doc addition.
6484         * events.c (event_x_y_pixel_internal): Typo fix.
6485         * events.c (syms_of_events): Declare new primitives.
6486
6487         * events.h:
6488         Update long comment for button modifiers, timestamps.
6489
6490         * events.h (struct event_stream):
6491         New current_event_timestamp method.
6492
6493         * extents.c:
6494         * extents.c (extent_in_region_p):
6495         * extents.c (decode_extent):
6496         * extents.c (Fset_extent_parent):
6497         * extents.c (decode_map_extents_flags):
6498         Fix gcc warnings.
6499         [9].
6500
6501         * extents.c (struct extent_at_arg):
6502         * extents.c (decode_extent_at_flag):
6503         * extents.c (extent_at_mapper):
6504         * extents.c (extent_at_bytind):
6505         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6506         * extents.c (Fextents_at): New primitive. [9].
6507         * extents.c (symbol_to_glyph_layout): [9].
6508         Support new primitive `extents-at'.
6509
6510
6511         * extents.c (get_text_property_bytind):
6512         extent_at_bytind has another arg.
6513         [9].
6514
6515         * extents.c (syms_of_extents): New primitive.
6516
6517         * file-coding.c (Fmake_coding_system): [1].
6518         * file-coding.c (subsidiary_coding_system): fix gcc warning
6519         * file-coding.c (syms_of_file_coding): [2].
6520
6521         * fileio.c (Fexpand_file_name):
6522         * fileio.c (Fsysnetunam):
6523         * fileio.c (Ffile_exists_p):
6524         * fileio.c (Ffile_executable_p):
6525         * fileio.c (Fverify_visited_file_modtime):
6526         Clean up GCPROing.
6527
6528         * fileio.c (syms_of_fileio): [2].
6529
6530         * filelock.c (lock_file_1):
6531         * filelock.c (current_lock_owner):
6532         * filelock.c (lock_if_free):
6533         * filelock.c (lock_file):
6534         * filelock.c (unlock_file):
6535         Clean up GCPROing.
6536
6537         * fns.c (concat): Fix gcc warning.
6538
6539         * fns.c (Fmember):
6540         * fns.c (Fold_member):
6541         * fns.c (Fmemq):
6542         * fns.c (Fold_memq):
6543         * fns.c (memq_no_quit):
6544         * fns.c (Fassoc):
6545         * fns.c (Fold_assoc):
6546         * fns.c (Fassq):
6547         * fns.c (Fold_assq):
6548         * fns.c (assq_no_quit):
6549         * fns.c (Frassoc):
6550         * fns.c (Fold_rassoc):
6551         * fns.c (Frassq):
6552         * fns.c (Fold_rassq):
6553         * fns.c (rassq_no_quit):
6554         * fns.c (Fdelete):
6555         * fns.c (Fold_delete):
6556         * fns.c (Fdelq):
6557         * fns.c (Fold_delq):
6558         * fns.c (delq_no_quit):
6559         * fns.c (Fremassoc):
6560         * fns.c (Fremassq):
6561         * fns.c (remassq_no_quit):
6562         * fns.c (Fremrassoc):
6563         * fns.c (Fremrassq):
6564         * fns.c (remrassq_no_quit):
6565         * fns.c (Freverse):
6566         * fns.c (mapcar1):
6567         [1].
6568
6569         * frame-msw.c (mswindows_init_frame_1):
6570         * frame-msw.c (mswindows_delete_frame):
6571         Register popups with dialog code so keyboard traversing works.
6572
6573         * frame-tty.c (tty_raise_frame_no_select): [1].
6574
6575         * frame-x.c:
6576         * frame-x.c (x_set_frame_text_value):
6577         * frame-x.c (x_set_frame_properties):
6578         * frame-x.c (x_create_widgets):
6579         [7].
6580
6581         * frame.c:
6582         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6583
6584         * frame.h (wrap_frame): New.
6585         Macro like wrap_device.
6586
6587         * general.c:
6588         * general.c (SYMBOL):
6589         * general.c (syms_of_general):
6590         Major reorg.  This is now just a wrapper and symbols themselves
6591         are listed in general-slots.h.
6592
6593         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6594         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6595
6596         * glyphs-msw.c (mswindows_native_layout_instantiate):
6597         Add DS_CONTROL so keyboard traversal will work.
6598
6599         * glyphs-widget.c:
6600         * glyphs-widget.c (syms_of_glyphs_widget):
6601         Move some symbols to general-slots.h.
6602
6603         * glyphs-x.c:
6604         * glyphs-x.c (xbm_instantiate_1):
6605         * glyphs-x.c (x_xbm_instantiate):
6606         * glyphs-x.c (x_xface_instantiate):
6607         * glyphs-x.c (autodetect_instantiate):
6608         * glyphs-x.c (cursor_font_instantiate):
6609         * glyphs-x.c (x_update_widget):
6610         * glyphs-x.c (x_widget_instantiate):
6611         * glyphs.c (bitmap_to_lisp_data):
6612         * glyphs.c (pixmap_to_lisp_data):
6613         [7].
6614
6615         * glyphs.c (syms_of_glyphs):
6616         [2].
6617
6618         * gui-x.c:
6619         * gui-x.c (print_widget_value):
6620         * gui-x.c (menu_separator_style_and_to_external):
6621         * gui-x.c (add_accel_and_to_external):
6622         * gui-x.c (button_item_to_widget_value):
6623         * gui-x.c (gui_items_to_widget_values_1):
6624         * gui-x.c (gui_items_to_widget_values):
6625         * gui-x.c (syms_of_gui_x):
6626         * gui-x.c (vars_of_gui_x):
6627         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6628         [9].
6629
6630         * gui-x.h:
6631         Muleize, prototype changes matching gui-x.c.
6632
6633         * gui.c:
6634         * gui.c (separator_string_p):
6635         * gui.c (gui_item_add_keyval_pair):
6636         * gui.c (make_gui_item_from_keywords_internal):
6637         * gui.c (signal_too_long_error):
6638         * gui.c (parse_gui_item_tree_item):
6639         * gui.c (syms_of_gui):
6640         * gui.c (vars_of_gui):
6641         * gui.h:
6642         menu-no-selection-hook moved here (used by MSWin).
6643         Move some symbols to general-slots.h.
6644         [6].
6645         [9].
6646
6647         * insdel.c (get_buffer_pos_char):
6648         * insdel.c (get_buffer_range_char):
6649         Add GC comments.
6650
6651         * keymap.c (keymap_lookup_directly):
6652         * keymap.c (keymap_store):
6653         * keymap.c (ensure_meta_prefix_char_keymapp):
6654         * keymap.c (describe_map):
6655         * keymap.h:
6656         Support new button modifiers.
6657
6658         * lisp-disunion.h (wrap_object):
6659         * lisp-disunion.h (XSETOBJ):
6660         Rename make_obj to wrap_object.
6661
6662         * lisp-union.h:
6663         * lisp-union.h (make_int):
6664         * lisp-union.h (make_char):
6665         Support wrap_object.
6666
6667         * lisp.h:
6668         * lisp.h (LIST_LOOP):
6669         * lisp.h (EXTERNAL_LIST_LOOP):
6670         * lisp.h (LIST_LOOP_2):
6671         * lisp.h (EXTERNAL_LIST_LOOP_1):
6672         * lisp.h (EXTERNAL_LIST_LOOP_2):
6673         * lisp.h (EXTERNAL_LIST_LOOP_3):
6674         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6675         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6676         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6677         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6678         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6679         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6680         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6681         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6682         * lisp.h (struct Lisp_Symbol):
6683         * lisp.h (maybe_continuable_error_with_frob):
6684         Fix up section comments.
6685         Add new types for char to indicate usage.
6686         Delete symbols auto-generated from general-slots.h.
6687         Add prototypes for structured error functions.
6688         Add long comments describing looping macros and change interface
6689         so that lvalues are automatically declared.
6690         Add NO_DECLARE macro in case callers want to declare lvalues
6691         themselves.
6692
6693         * lread.c (read_syntax_error):
6694         * lread.c (continuable_read_syntax_error):
6695         * lread.c (read_structure):
6696         * lread.c (sequence_reader):
6697         * lread.c (read_list_conser):
6698         * lread.c (read_compiled_function):
6699         Rename syntax_error and continuable_syntax_error to avoid clash
6700         with same-named structured error functions.
6701
6702         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6703         * menubar-msw.c (populate_menu_add_item):
6704         * menubar-msw.c (populate_or_checksum_helper):
6705         [5].
6706         [9].
6707
6708         * menubar-x.c:
6709         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6710         Mule-ize whole file.
6711
6712         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6713
6714         * mule-charset.c (Fmake_charset):
6715         * mule-wnnfns.c (Fwnn_set_param):
6716         [1].
6717
6718         * ntproc.c (create_child):
6719         * ntproc.c (Fwin32_set_current_locale):
6720         Add comments portending doom.
6721
6722         * objects-msw.c:
6723         * objects-msw.c (old_font_enum_callback_2):
6724         * objects-msw.c (font_enum_callback_1):
6725         * objects-msw.c (mswindows_enumerate_fonts):
6726         [5].
6727
6728         * objects-x.c:
6729         * objects-x.c (allocate_nearest_color):
6730         * objects-x.c (x_parse_nearest_color):
6731         * objects-x.c (x_initialize_color_instance):
6732         * objects-x.c (x_print_color_instance):
6733         * objects-x.c (x_finalize_color_instance):
6734         * objects-x.c (x_valid_color_name_p):
6735         * objects-x.c (x_initialize_font_instance):
6736         * objects-x.c (x_print_font_instance):
6737         * objects-x.c (valid_x_font_name_p):
6738         * objects-x.c (truename_via_FONT_prop):
6739         * objects-x.c (truename_via_random_props):
6740         * objects-x.c (truename_via_XListFonts):
6741         * objects-x.c (x_font_truename):
6742         * objects-x.c (x_font_instance_truename):
6743         * objects-x.c (x_font_instance_properties):
6744         * objects-x.c (x_list_fonts):
6745         * objects-x.c (x_find_charset_font):
6746         Mule-ize entire file.
6747         [7].
6748
6749         * objects-x.h:
6750         Mule-verify.
6751
6752         * print.c:
6753         * print.c (std_handle_out_external):
6754         * print.c (debug_print_no_newline):
6755         * print.c (syms_of_print):
6756         Output to all debugger kinds in debug-print.
6757         Fix console-output code under MSWin to actually work.
6758
6759         * process-nt.c (send_signal):
6760         * process-nt.c (nt_create_process):
6761         Use newer Unicode macros.
6762
6763         * process-unix.c (unix_create_process):
6764         * process-unix.c (unix_canonicalize_host_name):
6765         * process-unix.c (unix_open_network_stream):
6766         [7].
6767
6768         * scrollbar-x.c:
6769         Mule-verify.
6770
6771         * search.c (syms_of_search):
6772         [2].
6773
6774         * select-msw.c (mswindows_destroy_selection):
6775         Use LIST_LOOP_2.
6776
6777         * select-x.c (symbol_to_x_atom):
6778         [7].
6779
6780         * select.c (syms_of_select):
6781         [2].
6782
6783         * sound.c (Fplay_sound_file):
6784         [7].
6785
6786         * specifier.c:
6787         * specifier.c (decode_specifier_type):
6788         * specifier.c (Fvalid_specifier_locale_type_p):
6789         * specifier.c (check_valid_locale_or_locale_type):
6790         * specifier.c (decode_locale):
6791         * specifier.c (decode_locale_type):
6792         * specifier.c (decode_locale_list):
6793         * specifier.c (check_valid_domain):
6794         * specifier.c (decode_specifier_tag_set):
6795         * specifier.c (Fcanonicalize_tag_set):
6796         * specifier.c (Fdefine_specifier_tag):
6797         * specifier.c (Fspecifier_tag_predicate):
6798         * specifier.c (check_valid_inst_list):
6799         * specifier.c (check_valid_spec_list):
6800         * specifier.c (decode_how_to_add_specification):
6801         * specifier.c (check_modifiable_specifier):
6802         * specifier.c (specifier_add_spec):
6803         * specifier.c (boolean_validate):
6804         * specifier.c (display_table_validate):
6805         [9].
6806
6807         * specifier.c (syms_of_specifier):
6808         Move some symbols to general-slots.h.
6809         [2].
6810
6811         * symbols.c:
6812         * symbols.c (Fmapatoms):
6813         * symbols.c (Fapropos_internal):
6814         Add GCPROs.
6815
6816         * symbols.c (set_default_buffer_slot_variable):
6817         * symbols.c (set_default_console_slot_variable):
6818         [1].
6819
6820         * symbols.c (defsymbol_massage_name_1):
6821         * symbols.c (defkeyword_massage_name):
6822         * symbols.c (deferror_1):
6823         * symbols.c (deferror):
6824         * symbols.c (deferror_massage_name_and_message):
6825         * symeval.h:
6826         * symeval.h (DEFSYMBOL):
6827         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6828
6829         * symbols.c (syms_of_symbols):
6830         [2].
6831
6832         * symsinit.h:
6833         * symsinit.h (init_win32): New.
6834         Also new is syms_of_dialog_mswindows.
6835
6836         * syswindows.h:
6837         Add new Unicode macros, missing Cygwin wide-char functions,
6838         convenience conversion macros for Qmswindows_tstr, macros for
6839         encapsulating required MSWin <-> Cygwin filename conversions,
6840         prototype for dynamically-extracted (not in NT 3.51) functions.
6841
6842         * toolbar-x.c:
6843         Mule-verify.
6844
6845         * tooltalk.c (Fadd_tooltalk_message_arg):
6846         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6847         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6848         [7].
6849
6850         * tooltalk.c (syms_of_tooltalk):
6851         [2].
6852
6853         * unexnt.c:
6854         * unexnt.c (unexec):
6855         Fix up headers, declaration of unexec() to be more standard.
6856
6857 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6858
6859         * offix.h: Revert change to guard macros - they're used in offix.c!
6860
6861 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6862
6863         * lisp.h: Defsubred Fdelete.
6864
6865         * console-msw.h:  (msprinter_default_printer): Added.
6866
6867         * console-msw.c (msprinter_canonicalize_console_connection):
6868         (msprinter_canonicalize_device_connection): Added.
6869
6870         * device-msw.c (msprinter_default_printer):
6871         (Fmswingows_get_default_printer):
6872         (signal_enum_priner_error):
6873         (Fmswingows_printer_list): Added.
6874
6875 2000-07-19  Martin Buchholz <martin@xemacs.org>
6876
6877         * XEmacs 21.2.35 is released.
6878
6879 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6880
6881         * select-x.c (x_handle_selection_request):
6882         Text selected in xemacs and pasted into xterm failed to appear.
6883         Spelling fixes and cosmetic changes.
6884
6885 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6886
6887         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6888         XEmacs frame (fix for doubling chars in dialog boxes).
6889
6890 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6891
6892         * select.c (select_convert_in, select_convert_out):
6893         Don't call intern() every time.
6894
6895         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6896         * select.c (vars_of_select): Initialise them.
6897
6898 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6899
6900         * select.c (selection-coercible-types): New.
6901
6902         * select.c (own-selection-internal):
6903         * select.c (get-selection-internal):
6904         MULE bug fix - these should default to COMPOUND_TEXT and not
6905         STRING for MULE. I think.
6906
6907         * select.c (select_convert_out): Use selection-coercible-types
6908         to find types that we can attempt to perform coercions on.
6909
6910 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6911
6912         * mule-wnnfns.c:
6913         * mule-canna.c:
6914         Add coding: cookie to identify encoding.
6915
6916         * mule-canna.c (CANNA_mode_keys): make static.
6917         Use proper prototypes, even for functions of no arguments.
6918         Remove external prototype for Fding().
6919
6920         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6921
6922         * select.c (syms_of_select): Add missing DEFSUBR.
6923
6924 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6925
6926         * select.c (get_selection_internal, own_selection_internal):
6927         Make the type default to STRING, rather than placing a nil type
6928         into Vselection_alist.
6929
6930 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6931
6932         * gpmevent.c (tty_selection_exists_p):
6933         * gpmevent.c (tty_own_selection):
6934         Updated parameter lists.
6935
6936 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
6937
6938         * select.h (selection-alist): Removed declaration.
6939
6940         * select.h (get_local_selection):
6941         * select.c (get_local_selection):
6942         Made static.
6943
6944         * select.h (convert_selection): Removed declaration.
6945         * select.c (convert_selection): Removed.
6946         This function belongs in Lisp.
6947
6948         * select.h (select_convert_in): Declare.
6949         * select.h (select_convert_out): Declare.
6950         * select.c (select_convert_in): New.
6951         * select.c (select_convert_out): New.
6952         New conversion functions for other files to call.
6953
6954         * select.h (select_notify_buffer_kill): Declare.
6955         * select.c (select_notify_buffer_kill): New.
6956         New functions that get called from kill-buffer.
6957
6958         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
6959         X-specific lisp code.
6960
6961         * select.h: Declare some of the lisp-visible functions for
6962         external use.
6963
6964         * select.c (clean_local_selection_data): Removed. This was
6965         a disgusting function, and previously should have been in
6966         select-x.c in any case. The functionality is now provided
6967         in select-convert-from-integer (select.el).
6968
6969         * select.c (available-selection-types): Fixed stupidity where
6970         INTEGER and ATOM got added twice. Also add STRING when we see an
6971         extent.
6972
6973         * select.c (get-selection-internal): Removed symbol stripping. No
6974         longer causes conversion when data comes from the internal cache.
6975
6976         * select.c (syms_of_select): Added new functions.
6977
6978         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
6979         error checking - previously this called abort!
6980
6981         * select-x.c (x_own_selection): Changed comment.
6982
6983         * select-x.c (x_handle_selection_request): Use select_convert_out.
6984         Don't mess with selection-alist; it's an internal variable of select.c.
6985
6986         * select-x.c (x_get_foreign_selection): Use select_convert_in.
6987
6988         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
6989         rather than messing with selection-alist.
6990
6991         * select-msw.c (mswindows_get_foreign_selection):
6992         Use TO_INTERNAL_FORMAT rather than hacking.
6993
6994 2000-07-14  Martin Buchholz  <martin@xemacs.org>
6995
6996         * process-unix.c (unix_open_multicast_group):
6997         (unix_open_multicast_group): Remove useless casts.
6998
6999 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7000
7001         * sound.c (Fplay_sound): Fix `unused variable' warning.
7002
7003         * emacs.c (main): Use correct type for _environ on SCO5.
7004
7005 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7006
7007         * console.h (own_selection_method):
7008         * console.h (selection_exists_p_method):
7009         * console.h (available_selection_types_method): New.
7010         * console.h (register_selection_data_type_method): New.
7011         * console.h (selection_data_type_name): New.
7012
7013         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7014         function & alist to track GlobalAlloc()'d handles that need
7015         releasing when the clipboard data gets replaced or emptied.
7016
7017         * event-msw.c (mswindows_wnd_proc): Call it.
7018
7019         * lisp.h, general.c (Qappend): New symbol representing a
7020         `how-to-add' mode.
7021
7022         * select.c (own-selection-internal):
7023         * select.c (selection-exists-p):
7024         * select.c (available-selection-types): New.
7025         * select.c (register-selection-data-type): New.
7026         * select.c (selection-data-type-name): New.  New functions to deal
7027         with device-specific selection data formats.
7028         * select.c (selection-converter-out-alist): Renamed.
7029         * select.c (selection-converter-in-alist): New.
7030         * select.c (selection-appender-alist): New.  Added new alists.
7031         * select.c (syms_of_select, vars_of_select): Added new symbols &
7032         variables.
7033         * select.c (get_local_selection): Split.
7034         * select.c: Removed spurious type checking - selections may now be
7035         of any type, not just strings.
7036         * select.c (own-selection-internal):
7037
7038         * select.h, select.c (convert_selection): New. Created
7039         convert_selection() function based on get_local_selection().
7040         * select.h, select.c (QCF_*): New symbols representing mswindows
7041         clipboard formats.
7042         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7043         symbols representing `how-to-add' modes.
7044
7045         * select-msw.c (x_sym_p): New.
7046         * select-msw.c (symbol_to_ms_cf): New.
7047         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7048         symbols & clipboard formats. Can also handle string names.
7049         * select-msw.c (mswindows_own_selection):
7050         * select-msw.c (mswindows_selection_exists_p):
7051         Added `data-type' parameter. Use it.
7052         * select-msw.c (mswindows_available_selection_types): New.
7053         * select-msw.c (mswindows_register_selection_data_type): New.
7054         * select-msw.c (mswindows_selection_data_type_name): New.
7055         * select-msw.c (mswindows_own_selection):
7056         * select-msw.c (mswindows_get_foreign_selection):
7057         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7058         * select-msw.c (console_create_select_mswindows): Added new methods.
7059         * select-msw.c (mswindows_destroy_selection): New.
7060         * select-msw.c (Vhandle_alist): New list.
7061         * select-msw.c (mswindows_own_selection):
7062
7063         * select-x.c (x_own_selection):
7064         * select-x.c (x_selection_exists_p):
7065         * select-x.c: Added some comments about maybe using new
7066         functionality.
7067         * select-x.c (x_own_selection):
7068
7069         * specifier.c: Remove definition of Qappend (now in general.c)
7070         * specifier.c (syms_of_specifier): Remove Qappend.
7071
7072 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7073
7074         * config.h.in: Add socklen_t.
7075
7076         * s/decosf4-0.h: No special compiler flags needed or desired.
7077         In particular, undefine _BSD for DEC OSF 4.0.
7078
7079 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7080
7081         * redisplay-msw.c (msprinter_frame_output_end): Added.
7082         (console_type_create_redisplay_mswindows): Referred the above.
7083
7084         * frame.c (setup_frame_without_minibuffer): Do not create a
7085         default minibuffer frame on a printer device.
7086
7087         * frame-msw.c (apply_dc_geometry): Added.
7088         (msprinter_start_page):
7089         (msprinter_init_frame_3):
7090         (msprinter_eject_page): Use it.
7091
7092         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7093         and removed residual duplex and orientation properties.
7094
7095 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7096
7097         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7098
7099         * unexalpha.c: Remove system prototypes from C sources!
7100
7101 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7102
7103         * eval.c: Remove references to M-x edit-options in DEFUNs for
7104         `defvar' and `defconst'.
7105
7106 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7107
7108         * config.h.in: Remove SMART_INCLUDE hackery.
7109
7110         PostgreSQL hacking:
7111         * config.h.in: Don't use SMART_INCLUDE.
7112
7113         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7114         * inline.c: Simply #include "postgresql.h"
7115         * postgresql.c:
7116         - Don't use SMART_INCLUDE
7117         - Use simply "const".
7118         - Use standard doc string conventions.
7119         - Use correct type for result of PQstatus.
7120
7121 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7122
7123         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7124
7125         C++ compilation changes.
7126         * config.h.in (EXTERN_C): Define.
7127         * config.h.in (not): This is also a C++ keyword.
7128         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7129         * cm.c: Use EXTERN_C.
7130         * redisplay-tty.c: Use EXTERN_C.
7131         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7132
7133 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7134
7135         * general.c: Remove duplicate definition for Qfunction.
7136
7137 2000-07-08  Ben Wing  <ben@xemacs.org>
7138
7139         * device-msw.c (msprinter_init_device):
7140         * device-msw.c (sync_printer_with_devmode):
7141         * device-msw.c (handle_devmode_changes):
7142         * device-msw.c (print_dialog_worker):
7143         * device-msw.c (Fmsprinter_apply_settings):
7144         * device-msw.c (hash_devmode):
7145         * device-msw.c (Fmsprinter_settings_despecialize):
7146         use Qmswindows_tstr, not Qctext.
7147
7148         * vm-limit.c (check_memory_limits):
7149         avoid infinite loop printing warning messages.
7150
7151 2000-07-05  Craig Lanning  <lanning@scra.org>
7152
7153         * Makefile.in.in: Add support for including the Windows resources
7154         when building with the cygwin and mingw targets.
7155
7156         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7157         not set or not correct.
7158         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7159         (init_initial_directory): Don't try to use $PWD on the
7160         WIN32_NATIVE target.
7161
7162         * s\cygwin32.h:
7163         [[Add -mwindows to eliminate console window.]] not required --ben
7164         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7165         (MAIL_USE_POP): removed; now handled by configure.
7166
7167         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7168         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7169         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7170         (MAIL_USE_POP): removed; now handled by configure.
7171         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7172         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7173         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7174         constant string.
7175         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7176         up from <winsock.h> via systime.h.
7177         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7178         (getpagesize): from Dan Holmsand, added.
7179         Added #endif which was left dangling by Ben's mega patch; added
7180         comment to help prevent this in the future.
7181
7182         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7183
7184 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7185
7186         * console-msw.h (struct mswindows_device): Removed unnecessary
7187         cached device geometry values.
7188         Added update_tick and an accessor macro.
7189         (Lisp_Devmode): Added lrecord declaration.
7190         (struct msprinter_device): Contain devmode as a Lisp object.
7191         Added mswindows_get_selected_frame_hwnd();
7192
7193         * console.h (struct console_methods): Indentation nitpicking.
7194
7195         * device-msw.c (mswindows_init_device): Do not initialize geometry
7196         cache. Initialize update tick.
7197         (mswindows_device_system_metrics): Ask the device for its geometry.
7198         (global_free_2_maybe):
7199         (devmode_to_hglobal):
7200         (handle_printer_changes):
7201         (ensure_not_printing):
7202         (print_dialog_worker):
7203         (Fmsprinter_print_setup_dialog):
7204         (Fmsprinter_print_dialog):
7205         (plist_get_margin):
7206         (plist_set_margin):
7207         (Fmsprinter_page_setup_dialog): Added functions.
7208         (sync_printer_with_devmode):
7209         (handle_devmode_changes):
7210         (Fmsprinter_get_settings):
7211         (Fmsprinter_select_settings):
7212         (Fmsprinter_apply_settings):
7213         (allocate_devmode):
7214         (Fmsprinter_settings_copy):
7215         (Fmsprinter_settings_despecialize):
7216         (print_devmode):
7217         (finalize_devmode):
7218         (equal_devmode):
7219         (hash_devmode): Added functions
7220         (syms_of_device_mswindows): Init devmode lrecord class.
7221
7222         * device.h: Added an exfun for find-device.
7223
7224         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7225         geometry; although, recreate the device compatible DC.
7226
7227         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7228         (msprinter_init_frame_3):
7229         (msprinter_frame_property):
7230         (msprinter_internal_frame_property_p):
7231         (msprinter_frame_properties):
7232         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7233         print job properties (will move to device settings).
7234
7235         * lisp.h: Added symbols.
7236
7237         * general.c (syms_of_general): Declared them.
7238
7239         * hash.c (string_hash): Added.
7240
7241         * lrecord.h (lrecord_type): Added devmode lrecord type.
7242
7243 2000-07-02  Mike Sperber <mike@xemacs.org>
7244
7245         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7246         FreeBSD 4.0.
7247
7248 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7249
7250         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7251         integer.
7252
7253 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7254
7255         * data.c (Fstring_to_number): Don't recognize floating point if
7256         base is not 10.
7257
7258 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7259
7260         * glyphs-widget.c (tab_control_query_geometry):
7261         (widget_query_geometry):
7262         (button_query_geometry):
7263         * glyphs.c (text_query_geometry):
7264         Enforce type correctness.
7265
7266 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7267
7268         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7269         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7270
7271 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7272
7273         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7274         conflicts with gcc's fixincluded version of FOO.h.
7275
7276         * glyphs.h (image_instance_geometry): Remove trailing `,'
7277
7278 2000-06-08  Mike Alexander  <mta@arbortext.com>
7279
7280         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7281         (shove_thread): Don't write the same output twice
7282         (make_ntpipe_output_stream): Increase priority of shove thread
7283         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7284         chance to run
7285         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7286         it.
7287
7288 2000-06-12  Ben Wing  <ben@xemacs.org>
7289
7290         * s\mingw32.h (sigset):
7291         * s\windowsnt.h (sigset):
7292         rename msw_ to mswindows_ for consistency with general convention.
7293
7294 2000-06-12  Ben Wing  <ben@xemacs.org>
7295
7296         * console-msw.c:
7297         * console-msw.c (mswindows_get_console_hwnd):
7298         * console-msw.c (mswindows_ensure_console_allocated):
7299         * console-msw.c (mswindows_hide_console):
7300         * console-msw.c (mswindows_show_console):
7301         * console-msw.c (mswindows_ensure_console_buffered):
7302         * console-msw.c (mswindows_output_console_string):
7303         * console-msw.c (mswindows_windows9x_p):
7304         * console-msw.h:
7305         * device-msw.c (mswindows_get_workspace_coords):
7306         * device-msw.c (mswindows_device_system_metrics):
7307         * dialog-msw.c (mswindows_popup_dialog_box):
7308         * event-msw.c (mswindows_wnd_proc):
7309         * frame-msw.c (mswindows_size_frame_internal):
7310         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7311         * menubar-msw.c (displayable_menu_item):
7312         * menubar-msw.c (mswindows_char_is_accelerator):
7313         * nt.c:
7314         * nt.c (mswindows_sigset):
7315         * nt.c (mswindows_sigrelse):
7316         * nt.c (mswindows_sigpause):
7317         * nt.c (mswindows_raise):
7318         * nt.c (timer_proc):
7319         * ntproc.c:
7320         * ntproc.c (find_child_console):
7321         * ntproc.c (sys_kill):
7322         * print.c:
7323         * print.c (std_handle_out_external):
7324         * process-nt.c (find_child_console):
7325         * process-nt.c (send_signal_the_95_way):
7326         * process-nt.c (ensure_console_window_exists):
7327         * process-nt.c (nt_create_process):
7328         * syssignal.h:
7329         rename msw_ to mswindows_ for consistency with general convention.
7330
7331         * emacs.c:
7332         * dumper.c:
7333         include nt.h, not syswindows.h.
7334
7335         * nt.c (mswindows_fstat):
7336         * nt.c (mswindows_stat):
7337         prefix mswindows_ instead of attempting to directly override the
7338         library functions.  fix declarations.
7339
7340         * nt.h:
7341         include syswindows.h.  move some sysdep.h stuff here.
7342
7343         * ntheap.h:
7344         include syswindows.h, not <windows.h>.
7345
7346         * ntplay.c:
7347         clean up headers.
7348
7349         * sysdep.c:
7350         clean up headers.
7351
7352         * sysdep.c (sys_fstat):
7353         * sysdep.c (sys_stat):
7354         call mswindows versions when appropriate.
7355
7356         * sysdep.h:
7357         move mswin decls to nt.h.
7358
7359         * syswindows.h:
7360         add long comment describing appropriate use of the various windows
7361         headers.
7362
7363 2000-06-11  Ben Wing  <ben@xemacs.org>
7364
7365         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7366
7367 2000-06-10  Ben Wing  <ben@xemacs.org>
7368
7369         * Makefile.in.in (release):
7370         Correction to make sure xemacs.exe always dumped when correct.
7371
7372         * alloca.c:
7373         * balloon_help.c:
7374         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7375
7376         * buffer.c (set_buffer_internal):
7377         [[[[2]]]]: Remove HAVE_FEP code.
7378
7379         * buffer.c (init_initial_directory):
7380         [3].
7381
7382         * bytecode.c:
7383         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7384         individual files.
7385
7386         * callproc.c:
7387         * callproc.c (call_process_cleanup):
7388         * callproc.c (Fold_call_process_internal):
7389         * callproc.c (child_setup):
7390         * callproc.c (getenv_internal):
7391         * callproc.c (init_callproc):
7392         * callproc.c (vars_of_callproc):
7393         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7394         __CYGWIN32__ -> CYGWIN.
7395         DOS_NT -> WIN32_NATIVE.
7396         Remove MSDOS support/references, converting to WIN32_NATIVE
7397           where correct.
7398         __MINGW32__ -> MINGW.
7399         Fix windows.h includes.
7400         Remove bogus HAVE_NTGUI.
7401
7402         * config.h.in:
7403         [2].
7404
7405         * console-msw.c:
7406         mswindows_message_outputted added for use in allowing startup
7407         errors on the console to be seen.
7408
7409         * console-msw.c (msw_ensure_console_allocated):
7410         * console-msw.c (msw_output_console_string):
7411         * console-msw.c (DHEADER):
7412         * console-msw.c (DOPAQUE_DATA):
7413         * console-msw.c (DEVENT):
7414         * console-msw.c (DCONS):
7415         * console-msw.c (DCONSCDR):
7416         * console-msw.c (DSTRING):
7417         * console-msw.c (DVECTOR):
7418         * console-msw.c (DSYMBOL):
7419         * console-msw.c (DSYMNAME):
7420         Fix warnings.
7421
7422         * console-stream.c (stream_init_console):
7423         Fix text/binary problems.
7424
7425         * device-msw.c:
7426         * device-msw.c (mswindows_finish_init_device):
7427         * device-msw.c (mswindows_delete_device):
7428         [1].
7429
7430         * device.c (handle_asynch_device_change):
7431         [3].
7432
7433         * dgif_lib.c:
7434         * dgif_lib.c (DGifOpenFileName):
7435         * dgif_lib.c (DGifOpenFileHandle):
7436         * dgif_lib.c (DGifGetLine):
7437         * dgif_lib.c (DGifGetPixel):
7438         Added config.h/lisp.h, fix up includes.
7439         [1].
7440
7441         * dired-msw.c:
7442         [4].
7443
7444         * dired.c:
7445         * dired.c (file_name_completion):
7446         * dired.c (Ffile_attributes):
7447         * dired.c (syms_of_dired):
7448         [1].
7449
7450         * dumper.c:
7451         * dumper.c (pdump_file_unmap):
7452         * dumper.c (pdump_load):
7453         [1].
7454
7455         * editfns.c:
7456         * editfns.c (Ftemp_directory):
7457         * editfns.c (user_login_name):
7458         * editfns.c (Fuser_real_login_name):
7459         * editfns.c (get_home_directory):
7460         [1].
7461
7462         * elhash.c (finish_marking_weak_hash_tables):
7463         [[[[5]]]]: Fix GCC warnings.
7464
7465         * emacs.c:
7466         * emacs.c (mswindows_handle_hardware_exceptions):
7467         * emacs.c (make_arg_list_1):
7468         * emacs.c (main_1):
7469         * emacs.c (Fkill_emacs):
7470         * emacs.c (Fdump_emacs):
7471         [1].
7472         Fix problems with nested crashes, add long comment.
7473
7474         * event-Xt.c (init_event_Xt_late):
7475         [1].
7476
7477         * event-msw.c:
7478         * event-msw.c (mswindows_dde_callback):
7479         * event-msw.c (mswindows_handle_sticky_modifiers):
7480         * event-msw.c (mswindows_wnd_proc):
7481         [1].
7482         [5].
7483
7484         * events.c (character_to_event):
7485         [1].
7486
7487         * fileio.c:
7488         * fileio.c (Ffile_name_directory):
7489         * fileio.c (Ffile_name_nondirectory):
7490         * fileio.c (directory_file_name):
7491         * fileio.c (Fexpand_file_name):
7492         * fileio.c (Fsubstitute_in_file_name):
7493         * fileio.c (Ffile_name_absolute_p):
7494         * fileio.c (check_executable):
7495         * fileio.c (Ffile_readable_p):
7496         * fileio.c (Ffile_accessible_directory_p):
7497         * fileio.c (Ffile_modes):
7498         * fileio.c (Funix_sync):
7499         * fileio.c (vars_of_fileio):
7500         [1]. [4].
7501
7502         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7503
7504         Expand getdefdir defn.
7505         Fix bogus rename() comment.
7506
7507         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7508         to use standard XEmacs include files, e.g. sysfile.h, rather
7509         than system-specific includes.
7510
7511         * fns.c:
7512         * fns.c (Fsubseq):
7513         [5]. [6].
7514
7515         * frame.c (vars_of_frame):
7516         [1].
7517
7518         * getloadavg.c:
7519         * getloadavg.c (getloadavg):
7520         [1]. [6].
7521         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7522         (We don't use it elsewhere in the code; just add a comment.)
7523
7524         * gif_io.c:
7525         [6].
7526         Add config.h.
7527
7528         * glyphs-msw.c:
7529         * glyphs-msw.c (mswindows_resource_instantiate):
7530         [1].
7531
7532         * glyphs-x.c (x_native_layout_instantiate):
7533         [5].
7534
7535         * gui-msw.c (Fmswindows_shell_execute):
7536         [1].
7537
7538         * insdel.c:
7539         [4].
7540
7541         * lisp.h:
7542         [4]. [5].
7543
7544         * lread.c (locate_file_in_directory_mapper):
7545         [1].
7546
7547         * lstream.c:
7548         [4].
7549
7550         * mem-limits.h:
7551         * mem-limits.h (get_lim_data):
7552         [1].
7553
7554         * menubar-msw.c:
7555         [4].
7556
7557         * ndir.h:
7558         [1].
7559
7560         * nt.c:
7561         * nt.c (getwd):
7562         * nt.c (closedir):
7563         * nt.c (rva_to_section):
7564         * nt.c (mswindows_executable_type):
7565         [1]. [6].
7566         Fix closedir() defn.
7567
7568         * nt.h:
7569         [[[[8]]]]: *_OK defs moved to sysfile.h.
7570
7571         * ntproc.c:
7572         [6]. [7].
7573
7574         * objects-x.c:
7575         [4].
7576
7577         * print.c:
7578         * print.c (std_handle_out_external):
7579         [1]. [4].
7580
7581         * process-nt.c:
7582         * process-nt.c (nt_create_process):
7583         [6].
7584         try to fix process quoting somewhat.
7585
7586         * process-unix.c (unix_create_process):
7587         [1].
7588
7589         * process.c:
7590         * process.c (vars_of_process):
7591         Add Vnull_device.
7592
7593         * process.h:
7594         [1].
7595
7596         * realpath.c:
7597         * realpath.c (xrealpath):
7598         [1].
7599
7600         * redisplay-tty.c (init_tty_for_redisplay):
7601         [3].
7602
7603         * redisplay.c:
7604         [4]. [6].
7605
7606         * scrollbar-msw.c:
7607         [4].
7608
7609         * sheap.c:
7610         * sheap.c (more_static_core):
7611         * sheap.c (report_sheap_usage):
7612         [5]. [6].
7613
7614         * signal.c:
7615         * signal.c (alarm_signal):
7616         [1]. [6].
7617
7618         * sound.c:
7619         [6].
7620
7621         * strftime.c:
7622         * strftime.c (zone_name):
7623         [1]. [5].
7624
7625         * symsinit.h (init_sunpro):
7626         [1].
7627
7628         * syscommctrl.h:
7629         commctrl.h not in Cygwin b20.1.
7630
7631         * sysdep.c:
7632         * sysdep.c (endif):
7633         * sysdep.c (sys_subshell):
7634         * sysdep.c (init_baud_rate):
7635         * sysdep.c (emacs_get_tty):
7636         * sysdep.c (emacs_set_tty):
7637         * sysdep.c (tty_init_sys_modes_on_device):
7638         * sysdep.c (init_system_name):
7639         * sysdep.c (sys_open):
7640         * sysdep.c (interruptible_open):
7641         * sysdep.c (sys_fopen):
7642         * sysdep.c (sys_mkdir):
7643         * sysdep.c (sys_rename):
7644         * sysdep.c (get_process_times_1):
7645         [1]. [6].
7646
7647         * sysdep.h:
7648         [1].
7649
7650         * sysdir.h:
7651         * sysdir.h (DIRENTRY_NONEMPTY):
7652         [1]. [6].
7653
7654         * sysdll.c (dll_init):
7655         * sysdll.h:
7656         [1].
7657
7658         * sysfile.h:
7659         [1]. [6]. [8].
7660         added text/binary defs.
7661
7662         * sysfloat.h:
7663         [1].
7664
7665         * sysproc.h:
7666         * sysproc.h (EDESTADDRREQ):
7667         * sysproc.h (poll_fds_for_input):
7668         [1]. [6].
7669
7670         * syspwd.h:
7671         [6].
7672
7673         * syssignal.h:
7674         [1].
7675
7676         * systime.h:
7677         [1]. [6].
7678
7679         * systty.h:
7680         [1].
7681
7682         * syswindows.h:
7683         [1].
7684         Always define WIN32_LEAN_AND_MEAN.
7685
7686         * unexcw.c (unexec):
7687         [5].
7688
7689         * unexec.c:
7690         * unexec.c (copy_text_and_data):
7691         * unexec.c (adjust_lnnoptrs):
7692         [1].
7693
7694         * unexnt.c:
7695         * unexnt.c (_start):
7696         [1].
7697
7698 2000-06-07  Ben Wing  <ben@xemacs.org>
7699
7700         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7701         was used only as a model.  We've long since extracted any useful
7702         logic or code out of this. (I just did an exhaustive search.)
7703
7704         * s\msdos.h: Removed.
7705
7706         * s\windows95.h: Removed.
7707
7708 2000-06-10  Ben Wing  <ben@xemacs.org>
7709
7710         * s\cygwin32.h:
7711         [1]. [5].
7712         Don't use extern with fun defs.
7713
7714         * s\mingw32.h:
7715         [1]. [7].
7716         Remove nt\inc include.
7717         Remove getdisk, getdefdir. (The former is unused, the latter
7718         expanded in fileio.h.)
7719
7720         * s\windowsnt.h:
7721         * s\windowsnt.h (WIN32_NATIVE):
7722         * s\windowsnt.h (HAVE_STRCASECMP):
7723         [1]. [7].
7724         Add long comment about preprocessor changes.
7725         Remove getdisk, getdefdir. (The former is unused, the latter
7726         expanded in fileio.h.)
7727
7728 2000-06-10  Ben Wing  <ben@xemacs.org>
7729
7730         * m\arm.h:
7731         * m\delta.h:
7732         * m\intel386.h:
7733         * m\sequent.h:
7734         * m\template.h:
7735         * m\windowsnt.h:
7736         [1].
7737         Remove bogus/unused NO_SOCK_SIGIO.
7738
7739 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7740
7741         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7742         not an Emchar.
7743
7744 2000-06-04  Mike Sperber <mike@xemacs.org>
7745
7746         * casetab.c (set_case_table): For `set-standard-case-table',
7747         actually deposit the new case tables where the rest of XEmacs can
7748         see them.
7749
7750 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7751
7752         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7753
7754 2000-06-05  Ben Wing  <ben@xemacs.org>
7755
7756         * callproc.c (child_setup): Don't do close_load_descs() under
7757         MS Windows.  Put in a comment explaining why.
7758
7759 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7760
7761         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7762         Toolkit shell" which breaks `kill-compilation' on Windows NT
7763         native, retaining STDERR handling improvements.
7764
7765 2000-06-01  Andreas Jaeger  <aj@suse.de>
7766
7767         * s/s390.h: Support for S390, based on a patch by Martin
7768         Schwidefsky <schwidefsky@de.ibm.com>.
7769
7770 2000-05-30  Andy Piper  <andy@xemacs.org>
7771
7772         * window.c (allocate_window):
7773         (make_dummy_parent):
7774         (Fset_window_configuration): use new hashtable type.
7775
7776         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7777         (struct image_instantiator_methods):
7778         (struct Lisp_Image_Instance): make instance geometry signed.
7779
7780         * glyphs.c (instantiate_image_instantiator):
7781         (image_instance_query_geometry):
7782         (image_instance_layout):
7783         (image_instance_layout):
7784         (query_string_geometry):
7785         (text_query_geometry):
7786         (image_instantiate):
7787         (image_instantiate):
7788         (cache_subwindow_instance_in_frame_maybe):
7789         (subwindow_query_geometry): make instance geometry signed.
7790
7791         * glyphs-widget.c (widget_query_geometry):
7792         (widget_layout):
7793         (button_query_geometry):
7794         (tree_view_query_geometry):
7795         (tab_control_query_geometry):
7796         (layout_query_geometry):
7797         (layout_layout):
7798         (native_layout_layout): make instance geometry signed.
7799
7800 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7801
7802         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7803         constant.
7804
7805         * general.c (syms_of_general): Add Qfull_assoc symbol.
7806
7807         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7808         correctly.
7809         (decode_weak_list_type): Decode full-assoc type.
7810         (encode_weak_list_type): Encode full-assoc type.
7811         (Fmake_weak_list): Update doc string.
7812
7813 2000-05-30  Andy Piper  <andy@xemacs.org>
7814
7815         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7816
7817         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7818         (decode_hash_table_weakness): ditto.
7819         (Fhash_table_weakness): ditto.
7820         (Fhash_table_type): ditto.
7821         (finish_marking_weak_hash_tables): ditto.
7822         (hash_table_weakness_validate): ditto.
7823         (syms_of_elhash): ditto.
7824
7825 2000-05-28  Martin Buchholz <martin@xemacs.org>
7826
7827         * XEmacs 21.2.34 is released.
7828
7829 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7830
7831         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7832         start cache.
7833         (updating_line_start_cache): Gone.
7834         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7835         generic code to force a minimum of 1 line laid out in the
7836         CMOTION_DISP case.
7837
7838 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7839
7840         * glyphs.c (instantiate_image_instantiator): Check for initialized
7841         height & width no longer special cases IMAGE_NOTHING.
7842         (nothing_instantiate): Set height and width of instance.
7843
7844 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7845
7846         * unexelf.c (unexec): Search for ".data" section.
7847         Initialize new_data2_offset from old_data_index.
7848         Remove redundant check for ElfW.
7849
7850 2000-05-23  Andy Piper  <andy@xemacs.org>
7851
7852         * glyphs.c (get_image_instantiator_governing_domain): allow more
7853         specific domains as the governing domain rather than expecting an
7854         exact match. This fixes problems with layouts.
7855
7856 2000-05-22  Andy Piper  <andy@xemacs.org>
7857
7858         * redisplay-output.c (compare_runes): check for non-images
7859
7860         * glyphs.c (set_glyph_dirty_p): ditto.
7861         (update_glyph_cachel_data): ditto.
7862
7863         * glyphs-widget.c (layout_post_instantiate): ditto.
7864         (layout_post_instantiate): ditto.
7865
7866         * event-msw.c (mswindows_wnd_proc): warning removal.
7867
7868 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7869
7870         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7871
7872         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7873
7874         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7875
7876         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7877         (mswindows_executable_type): mingw32 now has enough headers for
7878         this to work.
7879
7880 2000-05-20  Andy Piper  <andy@xemacs.org>
7881
7882         * console-msw.c (mswindows_output_last_error): ; -> ,
7883
7884 2000-05-12  Andy Piper  <andy@xemacs.org>
7885
7886         * console-msw.c (FROB): compare ints with ints.
7887
7888 2000-05-11  Andy Piper  <andy@xemacs.org>
7889
7890         * glyphs-x.c (x_finalize_image_instance): make minimal build
7891         happy.
7892
7893 2000-05-20  Ben Wing  <ben@xemacs.org>
7894
7895         * event-Xt.c:
7896         * event-Xt.c (vars_of_event_Xt):
7897         move modifier-keys-are-sticky to event-stream.c.
7898
7899         * event-msw.c:
7900         * event-msw.c (mswindows_enqueue_mouse_button_event):
7901         * event-msw.c (key_needs_default_processing_p):
7902         * event-msw.c (XEMSW_LCONTROL):
7903         * event-msw.c (mswindows_handle_sticky_modifiers):
7904         * event-msw.c (FROB):
7905         * event-msw.c (clear_sticky_modifiers):
7906         * event-msw.c (output_modifier_keyboard_state):
7907         * event-msw.c (output_alt_keyboard_state):
7908         * event-msw.c (mswindows_wnd_proc):
7909         * event-msw.c (mswindows_modifier_state):
7910         * event-msw.c (emacs_mswindows_handle_magic_event):
7911         implement sticky modifiers.
7912
7913         * event-stream.c:
7914         * event-stream.c (vars_of_event_stream):
7915         move modifier-keys-are-sticky here.
7916
7917         * lisp.h:
7918         add CHECK_FUNCTION.
7919
7920         * rangetab.c:
7921         implement map-range-table.
7922
7923
7924 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7925
7926         * redisplay-tty.c (reset_tty_modes):
7927         (tty_redisplay_shutdown): Adjust argument type to
7928         tty_frame_output_end.
7929
7930 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7931
7932         * eval.c (Fbacktrace): Don't output a line with only right
7933         parenthesis.
7934
7935 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
7936
7937         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
7938         (Fpq_reset_poll): Ditto.
7939
7940 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
7941
7942         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
7943
7944 2000-05-16  Ben Wing  <ben@xemacs.org>
7945
7946         * buffer.c:
7947         * buffer.c (dfc_convert_to/from_internal_format):
7948         * buffer.c (reinit_vars_of_buffer):
7949         Fix conversion functions to allow reentrancy.
7950
7951         * console-msw.c:
7952         * console-msw.c (mswindows_output_last_error):
7953         New fun, generally useful -- output a human-readable
7954         version of GetLastError() on the console.
7955
7956         * console-msw.h:
7957         * console-msw.h (struct mswindows_frame):
7958         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
7959
7960         * console-stream.c (stream_output_begin):
7961         * console-stream.c (stream_output_end):
7962         * console-stream.c (stream_output_vertical_divider):
7963         * console-stream.c (stream_clear_region):
7964         * console-stream.c (stream_flash):
7965         * console-stream.c (console_type_create_stream):
7966         Delete blank stream methods, not needed.
7967
7968         * console.h (struct console_methods):
7969         Split begin/end methods into window and frame.
7970
7971         * event-msw.c:
7972         * event-msw.c (mswindows_handle_paint):
7973         * event-msw.c (output_alt_keyboard_state):
7974         * event-msw.c (mswindows_wnd_proc):
7975         * event-msw.c (vars_of_event_mswindows):
7976         Comment about problems with ignored-expose.
7977         Define mswindows-debug-events; not really implemented.
7978
7979         * frame-msw.c (mswindows_init_frame_1):
7980         random cleanups.
7981
7982         * glyphs-msw.c:
7983         * glyphs-msw.c (begin_defer_window_pos):
7984         * glyphs-msw.c (mswindows_unmap_subwindow):
7985         * glyphs-msw.c (mswindows_map_subwindow):
7986         * glyphs-msw.c (mswindows_resize_subwindow):
7987         Use DeferWindowPos to reduce flashing when mapping/unmapping.
7988
7989         * glyphs.c (make_image_instance_1):
7990         Fix crash.
7991
7992         * gutter.c (Fredisplay_gutter_area):
7993         Use new begin/end methods.
7994
7995         * lisp.h (Dynarr_new2):
7996         New creation fun.
7997
7998         * redisplay-msw.c:
7999         * redisplay-msw.c (mswindows_frame_output_begin):
8000         * redisplay-msw.c (mswindows_frame_output_end):
8001         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8002         New begin/end methods -- handle DeferWindowPos.
8003
8004         * redisplay-output.c (redisplay_move_cursor):
8005         * redisplay-output.c (redraw_cursor_in_window):
8006         * redisplay-output.c (redisplay_update_line):
8007         * redisplay-output.c (redisplay_output_window):
8008         New begin/end methods.
8009
8010         * redisplay-tty.c:
8011         * redisplay-tty.c (tty_frame_output_begin):
8012         * redisplay-tty.c (tty_frame_output_end):
8013         * redisplay-tty.c (console_type_create_redisplay_tty):
8014         New begin/end methods.
8015
8016         * redisplay-x.c:
8017         * redisplay-x.c (x_window_output_begin):
8018         * redisplay-x.c (x_window_output_end):
8019         * redisplay-x.c (console_type_create_redisplay_x):
8020         New begin/end methods.
8021
8022         * redisplay.c (redisplay_frame):
8023         * redisplay.c (Fredisplay_echo_area):
8024         New begin/end methods.
8025         use MAYBE_DEVMETH for clear_frame; it may not exist.
8026
8027         * window.h (WINDOW_XFRAME):
8028         WINDOW_XFOO macros -- get locale and decode struct pointer.
8029
8030
8031 2000-05-12  Ben Wing  <ben@xemacs.org>
8032
8033         * emacs.c:
8034         * emacs.c (ensure_no_quitting_from_now_on):
8035         * emacs.c (fatal_error_signal):
8036         * emacs.c (mswindows_handle_hardware_exceptions):
8037         * emacs.c (main):
8038         * emacs.c (Fkill_emacs):
8039         * emacs.c (shut_down_emacs):
8040         * emacs.c (assert_failed):
8041         various improvements in fatal error handling.
8042
8043         * eval.c:
8044         move preparing_for_armageddon to emacs.c.
8045
8046         * lisp.h:
8047         declare fatal_error_in_progress.
8048
8049         * print.c:
8050         * print.c (std_handle_out_external):
8051         * print.c (std_handle_out_va):
8052         * print.c (stderr_out):
8053         * print.c (stdout_out):
8054         use console under mswin when no standard output.
8055         don't do code conversion during fatal error.
8056
8057         * scrollbar.c (Fscrollbar_page_up):
8058         * scrollbar.c (Fscrollbar_page_down):
8059         fix missing else.  reindent.
8060
8061 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8062
8063         Emergency fix.
8064
8065         * glyphs.h (GLYPH_CACHEL_DESCENT):
8066         (GLYPH_CACHEL_DESCENT):
8067         (GLYPH_CACHEL_DESCENT):
8068         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8069         used in case these are inline functions.
8070         Use more absurd values to error check.
8071
8072         include window.h for error check functions.
8073
8074 2000-05-11  Ben Wing  <ben@xemacs.org>
8075
8076         * cmdloop.c (Freally_early_error_handler):
8077         Display message box under windows; otherwise, message will disappear
8078         before it can be viewed.
8079
8080         * console-msw.c:
8081         * console-msw.c (Fmswindows_message_box):
8082         * console-msw.c (FROB):
8083         * console-msw.c (syms_of_console_mswindows):
8084         Define new fun `mswindows-message-box'.
8085         #### I will merge this into `popup-dialog-box'; just give me
8086         a bit of time.
8087
8088         * general.c:
8089         * general.c (syms_of_general):
8090         Some new symbols used in `mswindows-message-box'.
8091
8092         * glyphs.c:
8093         * glyphs.c (Fset_image_instance_property):
8094         put warning in this fun.
8095
8096         * glyphs.h:
8097         * glyphs.h (GLYPH_CACHEL_WIDTH):
8098         * glyphs.h (GLYPH_CACHEL_ASCENT):
8099         * glyphs.h (GLYPH_CACHEL):
8100         * glyphs.h (GLYPH_CACHEL_GLYPH):
8101         define error-checking versions to try to catch a bug i've seen --
8102         redisplay gets in an infinite loop because the glyph width of the
8103         continuation glyph is 65535.
8104
8105         * lisp.h:
8106         Extern message-box stuff.
8107
8108         * window.c (allocate_window):
8109         * window.c (make_dummy_parent):
8110         * window.c (Fset_window_configuration):
8111         Use EQUAL not EQ for subwindow caches to make them work a bit
8112         better. (Something is still very broken.)
8113
8114
8115 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8116
8117         * glyphs.c (image_instantiate): Suppress gcc warnings.
8118         (Fmake_image_instance): Fix doc string.
8119         * specifier.c (Fmake_specifier): Ditto.
8120
8121 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8122
8123         * paths.h.in (PATH_LOCK): Removed.
8124         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8125         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8126
8127 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8128
8129         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8130         Document (featurep '(and xemacs 21.02)).
8131
8132 2000-05-09  Ben Wing  <ben@xemacs.org>
8133
8134         * buffer.c (complex_vars_of_buffer):
8135         update modeline-format doc.
8136
8137         * device.h:
8138         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8139
8140         * emacs.c:
8141         timeline of all released versions of Emacs, for use in creating
8142         authorship comments and in synching up.
8143
8144         * glyphs-widget.c (image_instantiator_buttons):
8145         * glyphs-widget.c (image_instantiator_edit_fields):
8146         * glyphs-widget.c (image_instantiator_combo_box):
8147         * glyphs-widget.c (image_instantiator_scrollbar):
8148         * glyphs-widget.c (image_instantiator_progress_guage):
8149         * glyphs-widget.c (image_instantiator_tree_view):
8150         * glyphs-widget.c (image_instantiator_tab_control):
8151         * glyphs-widget.c (image_instantiator_labels):
8152         * glyphs-widget.c (image_instantiator_layout):
8153         * glyphs-widget.c (image_instantiator_native_layout):
8154         rename decode_domain method to governing_domain.
8155
8156         * glyphs.c:
8157         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8158         * glyphs.c (add_entry_to_device_ii_format_list):
8159         make sure we don't put an entry more than once into the list.
8160         * glyphs.c (check_instance_cache_mapper):
8161         *************************************************************
8162         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8163         HAVE BEEN GETTING.
8164         *************************************************************
8165         * glyphs.c (get_image_instantiator_governing_domain):
8166         clean up, expand on new concept of governing domain.
8167         * glyphs.c (instantiate_image_instantiator):
8168         * glyphs.c (allocate_image_instance):
8169         use governing_domain instead of cache_domain in naming.
8170         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8171         * glyphs.c (make_image_instance_1):
8172         * glyphs.c (Fmake_image_instance):
8173         allow for any domain (not just device), and process the
8174         governing domain correctly.  very big doc fix.
8175         * glyphs.c (Fimage_instance_domain):
8176         new primitive, to retrieve the governing domain of an image instance.
8177         * glyphs.c (image_instantiate):
8178         use new governing_domain stuff.  this fixes a crash you could get
8179         by instantiating certain widget glyphs in frame locales. (should
8180         signal an error instead of crashing.)
8181         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8182         * glyphs.c (Fglyphp): clean up doc.
8183         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8184         * glyphs.c (syms_of_glyphs):
8185         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8186         * glyphs.c (image_instantiator_format_create): add some comments about
8187         bogus code.
8188         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8189         for current-display-table. (Apparently Hrjove implemented in 1998 a
8190         design I wrote up in 1996, but didn't update the doc string.)
8191
8192         * glyphs.h: clean up a doc string.
8193         * glyphs.h (governing_domain):
8194         * glyphs.h (struct image_instantiator_methods):
8195         changes for governing_domain stuff.
8196
8197         * gutter.c:
8198         * gutter.c (Fgutter_specifier_p):
8199         * gutter.c (Fgutter_size_specifier_p):
8200         * gutter.c (Fgutter_visible_specifier_p):
8201         * objects.c:
8202         * objects.c (Fcolor_specifier_p):
8203         * objects.c (Ffont_specifier_p):
8204         * objects.c (Fface_boolean_specifier_p):
8205         doc strings moved to make-*-specifier.
8206
8207         * redisplay.c (add_disp_table_entry_runes_1):
8208         * redisplay.c (generate_fstring_runes):
8209         * redisplay.c (screen):
8210         add random comments and doc strings.
8211
8212         * specifier.c:
8213         * specifier.c (Fmake_specifier):
8214         major overhaul of this doc string.
8215
8216         * specifier.c (Fvalid_specifier_domain_p):
8217         comment about the bogosity of image instances being domains.
8218         * specifier.c (decode_domain):
8219         now non-static, used in glyphs.c.
8220         * specifier.c (specifier_instance):
8221         comment about the bogosity of image instances being domains.
8222         * specifier.c (Fgeneric_specifier_p):
8223         move doc string to make-generic-specifier.
8224         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8225         rebackslashify.
8226
8227         * specifier.h:
8228         * specifier.h (DOMAIN_FRAME):
8229         * specifier.h (DOMAIN_LIVE_P):
8230         * specifier.h (DOMAIN_XDEVICE):
8231         rebackslashify.
8232         add comments about problems with these macros.
8233         prototype for decode_domain.
8234
8235         * toolbar.c:
8236         * toolbar.c (Ftoolbar_specifier_p):
8237         move doc string to `make-toolbar-specifier'.
8238
8239         * window.c (window_unmap_subwindows_cache_mapper):
8240         *************************************************************
8241         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8242         HAVE BEEN GETTING.
8243         *************************************************************
8244
8245 2000-05-09  Andy Piper  <andy@xemacs.org>
8246
8247         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8248
8249         * window.c (Fset_window_configuration): reset the frame subwindow
8250         cache and re-initialize the window subwindow caches.
8251
8252         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8253
8254 2000-05-09  Ben Wing  <ben@xemacs.org>
8255
8256         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8257         DWORD.
8258
8259 2000-04-26  Mike Woolley  <mike@bulsara.com>
8260
8261         * ntheap.c: Changed recreate_heap to limit the amount reserved
8262         for the heap to that which is actually available. Also now
8263         displays a message box (with some dignostics) in the event that
8264         it still can't start.
8265
8266 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8267
8268         * callproc.c (Fold_call_process_internal): GCPRO path
8269
8270 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8271
8272         Patch by Bill Perry.
8273
8274         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8275         back data instead of #ifdef.
8276         (Fscrollbar_page_down): ditto.
8277
8278 2000-05-07  Ben Wing  <ben@xemacs.org>
8279
8280         * buffer.h:
8281         Kludge for defining Qmswindows_tstr.
8282
8283         * nt.c:
8284         * nt.c (open_input_file):
8285         * nt.c (open_output_file):
8286         * nt.c (rva_to_section):
8287         * nt.c (mswindows_executable_type):
8288         Move all memory-mapped-file routines here (some were in unexnt.c,
8289         which is bad because they are used by process-nt.c, and unexnt
8290         won't be around when portable dumping).  Synched the above routines
8291         with FSF 20.6.
8292
8293         * nt.h:
8294         Removed ifdef'd out bogus code.
8295         Fixed some prototypes.
8296
8297         * nt.h (file_data):
8298         * nt.h (OFFSET_TO_RVA):
8299         * nt.h (RVA_TO_OFFSET):
8300         * nt.h (RVA_TO_PTR):
8301         Moved the memory-mapped-file structures, macros and prototypes
8302         here, to parallel nt.c.  ntheap.h should really be removed
8303         entirely, and it's a non-portable-dumper specific file.
8304
8305         * ntheap.h (round_to_next):
8306         Moved the memory-mapped-file structures, macros and prototypes
8307         to nt.h.
8308
8309         * ntproc.c (compare_env):
8310         Moved rva_to_section and mswindows_executable_type to nt.c.
8311         Moved compare_env to process-nt.c.
8312         ntproc.c will die, one day.
8313
8314         * ntproc.c (sys_spawnve):
8315         Account for win32_ -> mswindows_.
8316
8317         * process-nt.c:
8318         * process-nt.c (struct nt_process_data):
8319         * process-nt.c (ensure_console_window_exists):
8320         * process-nt.c (compare_env):
8321         * process-nt.c (nt_create_process):
8322         * process-nt.c (nt_kill_process_by_pid):
8323         * process-nt.c (syms_of_process_nt):
8324         * process-nt.c (vars_of_process_nt):
8325         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8326         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8327         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8328         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8329         Move compare_env here from ntproc.c.
8330
8331         * process.c (Fprocess_send_region):
8332         Takes an optional fourth argument, BUFFER, which should fix some
8333         problems with call-process.
8334
8335         * syscommctrl.h:
8336         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8337
8338         * syswindows.h:
8339         Move ICC_BAR_CLASSES to syscommctrl.h.
8340         Add preliminary macros for MSWindows/Mule.  More to come.
8341
8342         * unexnt.c:
8343         * unexnt.c (unexec):
8344         open_output_file moved to nt.c.
8345
8346
8347 2000-05-05  Andy Piper  <andy@xemacs.org>
8348
8349         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8350         instance from the frame cache also since GC may catch up too late
8351         to make frame deletion sane.
8352
8353 2000-05-04  Andy Piper  <andy@xemacs.org>
8354
8355         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8356         (x_finalize_image_instance): ungcpro on deletion.
8357
8358         * glyphs.c (image_instantiator_format_create): give pointers a
8359         query geometry method so that the geometry is at least set.
8360
8361         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8362         initialize layouts if using widgets.
8363
8364 2000-05-03  Andy Piper  <andy@xemacs.org>
8365
8366         * nt.c: remove bogus reference to sysmmsystem.h
8367
8368         * gui-x.c (popup_selection_callback): fix no selection abort.
8369
8370 2000-05-02  Andy Piper  <andy@xemacs.org>
8371
8372         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8373         (mswindows_widget_instantiate): ditto.
8374
8375         * glyphs-widget.c (initialize_widget_image_instance): initialize
8376         children correctly.
8377         (widget_instantiate): cope with children and items in the same
8378         instance.
8379
8380         * glyphs.c (mark_image_instance): cope with children as a first
8381         class member.
8382         (image_instance_equal): ditto.
8383         (image_instance_hash): ditto.
8384         (image_instance_changed): ditto.
8385
8386 2000-04-30  Andy Piper  <andy@xemacs.org>
8387
8388         * glyphs.c (subwindow_query_geometry): new function. Return some
8389         defaults.
8390         (subwindow_instantiate): don't assign dimensions if none have been
8391         given.
8392         (image_instantiator_format_create): add subwindow_query_geometry.
8393         (print_image_instance): cope with layouts as widgets.
8394
8395 2000-04-29  Andy Piper  <andy@xemacs.org>
8396
8397         * frame.c (delete_frame_internal): call
8398         free_frame_subwindow_instance_cache so that all subwindows are
8399         finalized before their parent.
8400         (mark_frame): remove subwindow_cachels.
8401         (Fmake_frame): remove subwindow_cachel manipulation.
8402         (allocate_frame_core): subwindow_instance_cache is a weak list.
8403         (delete_frame_internal): set subwindow_instance_cache to nil.
8404
8405         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8406         finalization safe.
8407         (mswindows_finalize_image_instance): use the device
8408         not the domain as the domain may have died already.
8409
8410         * glyphs-x.c (x_finalize_image_instance): ditto.
8411         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8412         HEIGHT.
8413
8414         * redisplay-output.c (redisplay_unmap_subwindows): update for
8415         subwindow instance cache as a weak list.
8416         (redisplay_unmap_subwindows_maybe): ditto.
8417         (redisplay_unmap_subwindows_except_us): ditto.
8418
8419         * glyphs.c (unmap_subwindow): error checking will check the domain
8420         so don't deal with it here. Don't use cachels anymore.
8421         (map_subwindow): ditto.
8422         (update_subwindow_cachel_data): remove old accessor names.
8423         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8424         (Fresize_subwindow): don't update cachel.
8425         (mark_subwindow_cachels):
8426         (update_subwindow_cachel_data):
8427         (add_subwindow_cachel):
8428         (get_subwindow_cachel_index):
8429         (update_subwindow_cachel):
8430         (reset_subwindow_cachels):
8431         (mark_subwindow_cachels_as_not_updated): deleted.
8432         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8433         subwindow instance to the frame cache.
8434         (find_matching_subwindow): update for subwindow instance cache as
8435         a weak list.
8436         (update_widget_instances): ditto.
8437         (image_instance_type_to_mask):inlined.
8438         (free_frame_subwindow_instance_cache): new function. finalize all
8439         subwindows that are instantiated.
8440
8441         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8442         of cachel information.
8443         (IMAGE_INSTANCE_DISPLAY_X):
8444         (IMAGE_INSTANCE_DISPLAY_Y):
8445         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8446         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8447         (XIMAGE_INSTANCE_DISPLAY_X):
8448         (XIMAGE_INSTANCE_DISPLAY_Y):
8449         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8450         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8451         remove subwindow_cachel structure and function references.
8452         (image_instance_type_to_mask): inline from glyphs.c
8453
8454         * redisplay.c (redisplay_frame): remove subwindow_cachel
8455         references.
8456
8457         * frame.h (struct frame): remove subwindow_cachels.
8458         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8459
8460         * frameslots.h: add subwindow_instance_cache.
8461
8462         * window.c (replace_window): check subwindow cache of replacement.
8463         (window_unmap_subwindows_cache_mapper):
8464         (window_unmap_subwindows): new functions. Unmap all subwindows
8465         cached on this window.
8466         (mark_window_as_deleted): unmap all subwindows.
8467
8468 2000-04-27  Andy Piper  <andy@xemacs.org>
8469
8470         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8471
8472         * glyphs-widget.c (widget_layout): return something.
8473         (layout_layout): return something. Fail if not initialized.
8474         (layout_query_geometry): ditto.
8475         (image_instantiator_native_layout): new function. Initialized the
8476         native layout type.
8477         (widget_instantiate): don't do layout stuff here.
8478
8479         * glyphs.c (instantiate_image_instantiator): reorded calling or
8480         instantiate and post_instantiate with layout in between.
8481         (image_instance_layout): be more selective about deciding whether
8482         the layout has been done or not.
8483
8484         * glyphs.h (struct image_instantiator_methods): return a value
8485         from layout_method.
8486
8487 2000-04-26  Andy Piper  <andy@xemacs.org>
8488
8489         * glyphs.c (allocate_image_instance): make initial width and
8490         height unspecified. Set initialized to 0.
8491
8492         * syscommctrl.h new file. Encapsulates commctrl.h.
8493
8494         * syswindows.h new file. Encapsulates windows.h.
8495
8496         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8497         * nt.c: ditto.
8498         * console-msw.h: ditto.
8499
8500         * redisplay-tty.c (tty_output_display_block): remove layout references.
8501
8502         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8503         window handle rather than just the frame.
8504
8505         * glyphs.c (mark_image_instance): remove layout references.
8506         (print_image_instance): ditto.
8507         (image_instance_equal): ditto.
8508         (image_instance_hash): ditto.
8509         (decode_image_instance_type): ditto.
8510         (encode_image_instance_type): ditto.
8511         (image_instantiate): ditto.
8512         (allocate_glyph): ditto.
8513         (Fimage_instance_height): ditto.
8514         (Fimage_instance_width): ditto.
8515         (update_subwindow): ditto.
8516
8517         * redisplay-x.c (x_output_display_block): recode for layouts as
8518         widgets.
8519
8520         * redisplay-output.c (redisplay_output_layout): recode for layouts
8521         as widgets.
8522         (compare_runes): remove layout references.
8523
8524         * redisplay-msw.c (mswindows_output_display_block): recode for
8525         layouts as widgets.
8526
8527         * glyphs-widget.c (image_instantiator_layout): remove
8528         layout_possible_dest_types.
8529         (layout_possible_dest_types): deleted.
8530
8531         * glyphs.h (image_instance_type): remove layout references.
8532         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8533         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8534         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8535
8536 2000-04-25  Andy Piper  <andy@xemacs.org>
8537
8538         * glyphs-widget.c (image_instantiator_buttons):
8539         (image_instantiator_edit_fields):
8540         (image_instantiator_combo_box):
8541         (image_instantiator_scrollbar):
8542         (image_instantiator_progress_guage):
8543         (image_instantiator_tree_view):
8544         (image_instantiator_tab_control):
8545         (image_instantiator_labels):
8546         (image_instantiator_layout): call default post_instantiate method.
8547         (widget_post_instantiate): new function. Simply lays out the
8548         widgets.
8549
8550         * glyphs.h (struct image_instantiator_methods): add
8551         post_instantiate method.
8552
8553         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8554         method calls.
8555
8556 2000-04-23  Andy Piper  <andy@xemacs.org>
8557
8558         * glyphs.h (struct image_instantiator_methods): add
8559         decode_domain_method.
8560         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8561         derived from the domain.
8562         (IMAGE_INSTANCE_FRAME): new accessor.
8563         (XIMAGE_INSTANCE_FRAME): ditto.
8564
8565         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8566         instead of _SUBWINDOW_FRAME.
8567         (finalize_image_instance): ditto.
8568         (Fimage_instance_foreground): ditto.
8569         (Fimage_instance_background): ditto.
8570         (image_instantiate): ditto.
8571         (update_subwindow_cachel): ditto.
8572         (update_subwindow): ditto.
8573         (unmap_subwindow): ditto.
8574         (map_subwindow): ditto
8575         (subwindow_instantiate): ditto.
8576         * glyphs-msw.c (mswindows_update_widget): ditto.
8577         (mswindows_progress_gauge_instantiate): ditto.
8578         (mswindows_tab_control_update): ditto.
8579         * glyphs-x.c (x_update_widget): ditto.
8580         (x_widget_instantiate): ditto.
8581         (x_tab_control_instantiate): ditto.
8582         (x_tab_control_update): ditto.
8583         * event-msw.c (mswindows_wnd_proc): ditto
8584
8585         * glyphs-widget.c (image_instantiator_layout): use
8586         subwindow_decode_domain.
8587         (image_instantiator_buttons): ditto.
8588         (image_instantiator_edit_fields): ditto.
8589         (image_instantiator_combo_box): ditto.
8590         (image_instantiator_scrollbar): ditto.
8591         (image_instantiator_progress_guage): ditto.
8592         (image_instantiator_tree_view): ditto.
8593         (image_instantiator_tab_control): ditto.
8594         (image_instantiator_labels): ditto.
8595         (image_instantiator_layout): ditto.
8596
8597         * glyphs.c: add instance error checking to many functions.
8598         (instantiate_image_instantiator): decode device from cache_domain.
8599         (image_instantiate): partially rewrite by using
8600         decode_image_instantiator_domain to determine what domain the
8601         instance needs to be cached in.
8602         (decode_image_instantiator_domain): new function. Determine what
8603         domain the image needs to be cached in.
8604         (check_window_subwindow_cache): new error checking function.
8605         (check_instance_cache_mapper): ditto.
8606         (check_image_instance_structure): ditto.
8607         (subwindow_decode_domain): new function. Encodes a window as a
8608         subwindow's cache domain.
8609         (image_instantiator_format_create): use it for text and
8610         subwindows.
8611
8612 2000-04-21  Andy Piper  <andy@xemacs.org>
8613
8614         * glyphs.c (image_instance_device): new function.
8615         (image_instance_frame): new function.
8616         (image_instance_window): new function.
8617         (image_instance_live_p): new function.
8618
8619         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8620         cache to nil.
8621
8622         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8623         (IMAGE_INSTANCE_DOMAIN): new accessor.
8624         (XIMAGE_INSTANCE_DOMAIN): ditto.
8625
8626         * glyphs-x.c (x_finalize_image_instance): device->domain.
8627
8628         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8629         (mswindows_finalize_image_instance): ditto.
8630
8631         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8632         (gif_instantiate): ditto.
8633         (png_instantiate): ditto.
8634         (tiff_instantiate): ditto.
8635
8636         * glyphs.c (instantiate_image_instantiator): use domain rather
8637         than device.
8638         (mark_image_instance): device -> domain.
8639         (print_image_instance): ditto.
8640         (finalize_image_instance): ditto.
8641         (image_instance_equal): ditto.
8642         (allocate_image_instance): ditto.
8643         (Fcolorize_image_instance): ditto.
8644         (query_string_geometry): ditto.
8645         (image_instantiate): ditto
8646         (query_string_font): ditto.
8647         (image_instantiate): ditto.
8648         (update_subwindow): ditto.
8649         (unmap_subwindow): ditto.
8650         (map_subwindow): ditto.
8651         (subwindow_instantiate): ditto.
8652
8653         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8654         (DOMAIN_FRAME): ditto.
8655         (DOMAIN_WINDOW): ditto.
8656         (DOMAIN_LIVE_P): ditto.
8657         (XDOMAIN_DEVICE): ditto.
8658         (XDOMAIN_FRAME): ditto.
8659         (XDOMAIN_WINDOW): ditto.
8660
8661         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8662         a valid specifier domain.
8663
8664 2000-04-19  Andy Piper  <andy@xemacs.org>
8665
8666         * glyphs-widget.c (syms_of_glyphs_widget): remove
8667         widget-callback-current-channel.
8668         (vars_of_glyphs_widget): ditto.
8669         * glyphs.h: ditto
8670
8671         * gui.c (get_gui_callback): revert to previous behaviour.
8672
8673 2000-04-18  Andy Piper  <andy@xemacs.org>
8674
8675         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8676         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8677         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8678
8679         * glyphs.c (image_instance_equal): add margin_width.
8680         (image_instance_hash): ditto.
8681
8682         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8683         (layout_query_geometry): ditto.
8684         (layout_layout): ditto.
8685         (syms_of_glyphs_widget): add margin-width.
8686         (image_instantiator_layout): allow margin-width.
8687
8688         * glyphs.c (update_widget_instances): make a normal function.
8689         (syms_of_glyphs): remove Qupdate_widget_instances.
8690         * glyphs.h: ditto.
8691
8692         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8693         so that we don't corrupt ideas about the last event or
8694         command. Remove widget-callback-current-channel fiddling.
8695         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8696
8697 2000-05-01  Martin Buchholz <martin@xemacs.org>
8698
8699         * XEmacs 21.2.33 is released.
8700
8701 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8702
8703         * make-src-depend: Allow dots in header file name.
8704
8705 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8706
8707         * mule-charset.h (struct charset_lookup): Add
8708         next_allocated_1_byte_leading_byte and
8709         next_allocated_2_byte_leading_byte.
8710         * mule-charset.c: Move above two variables so that those values
8711         will be dumped.
8712
8713 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8714
8715         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8716         when string length is zero.
8717         (find_charsets_in_emchar_string): Ditto.
8718
8719 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8720
8721         * lisp.h: extern Qdialog and Qmenubar.
8722
8723         * gui-x.c: added events.h.
8724                 also fixed typo which made the file uncompilable.
8725
8726         * general.c: Added Qmenubar and Qdialog
8727
8728 2000-04-28  Ben Wing  <ben@xemacs.org>
8729
8730         * frame-msw.c (mswindows_init_frame_1):
8731         * frame-msw.c (mswindows_mark_frame):
8732         * event-msw.c (mswindows_enqueue_dispatch_event):
8733         * console-msw.h:
8734         * console-msw.h (struct mswindows_frame):
8735         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8736         there are now three hash tables for callbacks.
8737         mswindows_enqueue_dispatch_event is no longer static.
8738
8739         * dialog-x.c (maybe_run_dbox_text_callback):
8740         * dialog-x.c (dbox_descriptor_to_widget_value):
8741         switch to new cons3 form for callbacks.
8742
8743         * glyphs-msw.c (mswindows_register_gui_item):
8744         * glyphs-msw.c (mswindows_widget_instantiate):
8745         * glyphs-msw.c (add_tree_item):
8746         * glyphs-msw.c (add_tab_item):
8747         new image instance parameter, so it can be passed to callback-ex.
8748         respect :callback-ex as well as :callback.
8749
8750         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8751         add :callback-ex.
8752
8753         * glyphs.c (print_image_instance):
8754         prettify, e.g. now prints widget type.
8755
8756         * gui-x.h:
8757         certain funs have new image instance parameter.
8758
8759         * gui.c:
8760         * gui.c (get_gui_callback):
8761         * gui.c (gui_item_add_keyval_pair):
8762         * gui.c (gui_item_init):
8763         * gui.c (gui_add_item_keywords_to_plist):
8764         * gui.c (mark_gui_item):
8765         * gui.c (gui_item_hash):
8766         * gui.c (gui_item_equal):
8767         * gui.c (copy_gui_item):
8768         * gui.c (syms_of_gui):
8769         recognize callback-ex in a number of places.
8770         also, fix the annoying "can't get out of yes-no dialog" bug.
8771
8772         * gui.h:
8773         * gui.h (struct Lisp_Gui_Item):
8774         recognize callback-ex in a number of places.
8775
8776         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8777         new parameter in button_item_to_widget_value.
8778
8779         * glyphs-x.c (x_update_widget):
8780         * glyphs-x.c (x_button_instantiate):
8781         * glyphs-x.c (x_button_update):
8782         * glyphs-x.c (x_progress_gauge_instantiate):
8783         * glyphs-x.c (x_edit_field_instantiate):
8784         * glyphs-x.c (x_combo_box_instantiate):
8785         * glyphs-x.c (x_tab_control_instantiate):
8786         * glyphs-x.c (x_label_instantiate):
8787         new image instance parameter in various places.
8788
8789         * event-Xt.c:
8790         * event-Xt.c (enqueue_Xt_dispatch_event):
8791         this fun gets exported.
8792
8793         * gui-msw.c:
8794         * gui-msw.c (mswindows_handle_gui_wm_command):
8795         handle both :callback and :callback-ex, and generate our own
8796         event because it's one of the callback-ex arguments.
8797
8798         * gui-x.c:
8799         * gui-x.c (popup_selection_callback):
8800         handle both :callback and :callback-ex, and generate our own
8801         event because it's one of the callback-ex arguments.
8802         * gui-x.c (button_item_to_widget_value):
8803         * gui-x.c (gui_items_to_widget_values_1):
8804         * gui-x.c (gui_item_children_to_widget_values):
8805         * gui-x.c (gui_items_to_widget_values):
8806         new image instance parameter in various places.
8807
8808         * fns.c (Freplace_list):
8809         fix small typo in doc string.
8810
8811         * lisp.h:
8812         declare enqueue_Xt_dispatch_event.
8813
8814 2000-04-28  Ben Wing  <ben@xemacs.org>
8815
8816         * buffer.c:
8817         * buffer.c (Frecord_buffer):
8818         * buffer.c (syms_of_buffer):
8819         delete record-buffer-hook.
8820
8821         * fns.c:
8822         * fns.c (Freplace_list):
8823         * fns.c (syms_of_fns):
8824         new primitive replace-list.
8825
8826         * frameslots.h:
8827         slot for old buffer-alist.
8828
8829         * lisp.h:
8830         exfun replace-list.
8831
8832         * redisplay.c:
8833         * redisplay.c (redisplay_frame):
8834         * redisplay.c (syms_of_redisplay):
8835         * redisplay.c (vars_of_redisplay):
8836         new hook buffer-list-changed-hook.
8837         call it.
8838
8839 2000-04-27  Ben Wing  <ben@xemacs.org>
8840
8841         * extents.h: extern in_modeline_generation.
8842
8843         * redisplay.c (generate_formatted_string_db): set
8844         in_modeline_generation.
8845
8846         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8847         flags if in modeline generation.  otherwise frame-modified-tick
8848         is ticked far too often.
8849         Declare in_modeline_generation.
8850
8851 2000-04-26  Ben Wing  <ben@xemacs.org>
8852
8853         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8854         option.
8855         (vars_of_emacs): add quick-build as an error-checking option.
8856         A bit kludgy, but there doesn't seem much point in creating
8857         a real var for this.
8858
8859         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8860
8861 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8862
8863         * redisplay.h (struct display_line): Add a new variable,
8864         line_continuation.
8865
8866         * redisplay.c (create_text_block): Set dl->line_continuation if
8867         the line continues.
8868         (create_string_text_block): Ditto.
8869         (regenerate_window_incrementally): Use line_continuation instead
8870         of searching continuation glyph.
8871         (add_margin_runes): Call add_glyph_rune.
8872         (add_glyph_rune): Handle margin glyph.
8873
8874 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8875
8876         * filelock.c (fill_in_lock_file_name):
8877         ANSIfy.
8878         Check for IS_ANY_SEP instead of '/'.
8879         (lock_file_1):
8880         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8881         Never check errno without first seeing that system call failed.
8882         (unlock_file): Add GCPRO.
8883         (Flock_buffer): Fix docstring.
8884         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8885
8886 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8887
8888         * sysdep.c (get_pty_max_bytes):
8889         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8890         strings longer than 252 bytes.
8891
8892         * md5.c: Unconditionally include ANSI header <limits.h>
8893
8894         * glyphs-x.c (convert_EImage_to_XImage):
8895         * lisp-union.h (union Lisp_Object):
8896         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8897
8898 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8899
8900         * filelock.c (current_lock_owner): Remove unused variable o, p.
8901
8902 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8903
8904         * callint.c: Remove multiply defined symbol Qlet
8905         (syms_of_callint): ditto.
8906
8907 2000-04-14  Andy Piper  <andy@xemacs.org>
8908
8909         * general.c (syms_of_general): add last-command, this-command, let
8910         and funcall.
8911
8912         * lisp.h: declare various symbols.
8913
8914         * glyphs.h: declare Qwidget_callback_current_channel;
8915
8916         * glyphs-widget.c (syms_of_glyphs_widget): add
8917         Qgui_callback_current_channel.
8918         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8919
8920         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8921         widget-callback-current-channel when invoking the interactive
8922         arg. Also bind last-command and next-command when invoking the
8923         widget updates.
8924         * gui-x.c (popup_selection_callback): ditto.
8925
8926         * gui.c (get_gui_callback): massage args so that we are always
8927         calling eval. This allows us to add our own variable bindings
8928         outside.
8929
8930         * glyphs-x.c (x_button_instantiate): use
8931         gui_items_to_widget_values since this is GC safe.
8932         (x_progress_gauge_instantiate): ditto.
8933         (x_edit_field_instantiate): ditto.
8934         (x_label_instantiate): ditto.
8935
8936         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
8937         (emacs_Xt_event_widget_focus_out): new function
8938         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
8939         focus.
8940         (emacs_Xt_event_add_widget_actions): new function. add focus
8941         functions as actions.
8942         (init_event_Xt_late): use it.
8943
8944 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
8945
8946         * event-stream.c (Fdispatch_event): Doc fix.
8947
8948 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
8949
8950         * postgresql.c: Remove all references to PQsetenv*.
8951
8952         * postgresql.h: Remove references to PGsetenvHandler object.
8953         * lrecord.h (lrecord_type): Ditto.
8954
8955 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8956
8957         * glyphs-msw.h (struct mswindows_image_instance_data): Added
8958         real_heigh and real_width members, and accessor macros for these.
8959
8960         * glyphs-msw.c (init_image_instance_geometry): New function.
8961         (init_image_instance_from_dibitmap): Use it.
8962         (mswindows_resource_instantiate): Use it.
8963         (init_image_instance_from_xbm_inline): Use it.
8964         (mswindows_initialize_image_instance_mask): Use real bitmap
8965         geometry.
8966         (mswindows_create_resized_bitmap): Ditto.
8967         (mswindows_create_resized_mask): Ditto.
8968
8969         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
8970         and bitmap to their surface size.
8971
8972 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
8973
8974         * process-unix.c (unix_send_process): Guard against process MIA
8975         after Faccept_process_output.
8976
8977 2000-04-11  Ben Wing  <ben@xemacs.org>
8978
8979         * eval.c (unbind_to_hairy): fix brokenness introduced by
8980         nanosecond speed improvements.
8981
8982 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
8983
8984         * sunplay.c (init_device): To play sounds correctly, the device
8985         apparently needs to be initialized at least once by XEmacs.  Make
8986         it so.
8987
8988 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8989
8990         * redisplay.c (add_margin_runes): Add text image glyph
8991           handling.
8992
8993 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8994
8995         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
8996         gcc is newer than 2.5.
8997
8998 2000-04-06  Colin Rafferty  <colin@xemacs.org>
8999
9000         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9001
9002         * fns.c (size_bit_vector):
9003         * alloc.c (size_vector):
9004         (make_vector_internal):
9005         (make_bit_vector_internal):
9006         (sweep_bit_vectors_1):
9007         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9008
9009 2000-04-06  Andy Piper  <andy@xemacs.org>
9010
9011         * gmalloc.c (malloc): undo previous change.
9012         (malloc): ditto.
9013         (free): ditto.
9014         (realloc): ditto.
9015
9016 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9017
9018         * line-number.c (buffer_line_number): Revert to former version.
9019
9020 2000-04-06  Andy Piper  <andy@xemacs.org>
9021
9022         * gmalloc.c (malloc): add error checking.
9023         (malloc): ditto.
9024         (free): ditto.
9025         (realloc): ditto.
9026
9027         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9028         button_item_to_widget_value arg.
9029
9030         * glyphs-x.c (x_button_instantiate): add extra
9031         button_item_to_widget_value arg.
9032         (x_progress_gauge_instantiate): ditto.
9033         (x_edit_field_instantiate): ditto.
9034         (x_label_instantiate): ditto.
9035
9036         * gui-x.c (gui_items_to_widget_values_1): add extra
9037         button_item_to_widget_value arg.
9038         (button_item_to_widget_value): add extra menu_item_p arg.
9039
9040         * gui-x.h: change signature of button_item_to_widget_value.
9041
9042         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9043         button_item_to_widget_value arg.
9044
9045 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9046
9047         * buffer.h (struct buffer): auto_save_modified should be long.
9048
9049 2000-04-05  Andy Piper  <andy@xemacs.org>
9050
9051         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9052         type.
9053         (button_query_geometry): give a little more room so that athena
9054         buttons fit.
9055
9056 2000-04-05  Andy Piper  <andy@xemacs.org>
9057
9058         * faces.c (complex_vars_of_faces): The widget face should inherit
9059         the font of the gui-element face.
9060
9061 2000-04-04  Andy Piper  <andy@xemacs.org>
9062
9063         * glyphs-x.c (x_button_update): new function. unconditionally
9064         update a button's state when the instance is dirty.
9065         (image_instantiator_format_create_glyphs_x): add x_button_update.
9066         (x_widget_instantiate): remove old resize cruft.
9067
9068 2000-04-02  Andy Piper  <andy@xemacs.org>
9069
9070         * frame.c (change_frame_size_1): The introduction of gutters means
9071         that we need to allow 0 as a potential frame dimension.
9072
9073 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9074
9075         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9076         image glyph if allow_cursor.
9077         (add_hscroll_rune): Don't allow cursor to border glyph.
9078         (create_text_block): Ditto.
9079
9080         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9081         text not in buffer.
9082         (redisplay_output_layout): Call ensure_face_cachel_complete for
9083         text image glyph.
9084
9085
9086 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9087
9088         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9089
9090         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9091         not in buffer
9092
9093         * redisplay-tty.c (tty_output_display_block): Delete the routine
9094         for text image glyph
9095         * redisplay-x.c (x_output_display_block): ditto
9096         * redisplay-msw.c (mswindows_output_display_block): ditto
9097
9098 2000-02-02  Mike Alexander  <mta@arbortext.com>
9099
9100         Note: Some of these were committed by accident as part of other
9101         patches.
9102
9103         * regex.c (regex_compile): Avoid compiler warnings.
9104
9105         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9106
9107         * nt.h: Declare term_ntproc correctly.
9108
9109         * nt.c: Remove incorrect declaration of get_home_directory which
9110         is declared correctly in lisp.h.
9111
9112         * keymap.c (get_keyelt): Avoid compiler warnings.
9113         (raw_lookup_key_mapper): Avoid compiler warnings.
9114
9115         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9116
9117         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9118
9119         * filemode.c (mode_string): Avoid compiler warnings.
9120
9121         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9122         avoid warning.
9123
9124         * events-mod.h: Undef some things that winuser.h defines differently.
9125
9126         * data.c (Faset): Avoid compiler warnings.
9127
9128         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9129
9130 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9131
9132         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9133         Fall through to simple beep on error.
9134         Replace "extern" by real header file.
9135
9136         * linuxplay.c: Use nativesound.h
9137         (play_sound_data): Return error code. Be less verbose on error.
9138
9139         * sunplay.c: Use nativesound.h
9140         (play_sound_data): Return error code. Be less verbose on error.
9141
9142         * ntplay.c: Use nativesound.h
9143         (play_sound_data): Return fake error code
9144
9145         * sgiplay.c: Use nativesound.h
9146         (play_sound_data): Return error code
9147
9148         * hpplay.c: Use nativesound.h, partially implement
9149         new error code. Break compilation until finished.
9150         (play_sound_data): error code.
9151
9152         * nativesound.h (play_sound_file):
9153           (play_sound_data): Prototype in new header.
9154
9155 2000-03-31  Andy Piper  <andy@xemacs.org>
9156
9157         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9158         for toggle and radio buttons.
9159         (image_instantiator_buttons): use it.
9160
9161 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9162
9163         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9164         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9165         found. Scrollbar event probably belonged to some old config.
9166
9167 2000-03-31  Andy Piper  <andy@xemacs.org>
9168
9169         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9170         than 1.
9171         (initialize_widget_image_instance): default layout to
9172         LAYOUT_HORIZONTAL rather than 0.
9173         (widget_instantiate): reverse the item list at the end rather than
9174         every iteration.
9175         (layout_layout): re-code for the border text at the front of the
9176         item list rather than at the end.
9177         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9178         provided by the user.
9179         (widget_query_geometry): comment.
9180
9181 2000-03-30  Andy Piper  <andy@xemacs.org>
9182
9183         * glyphs-widget.c (image_instantiator_layout): allow standard
9184         widget keywords in layouts.
9185
9186         * gutter.c (output_gutter): cope with nil gutter contents.
9187
9188         * frame.c (Fset_frame_properties): add gutter docs.
9189
9190 2000-03-29  Andy Piper  <andy@xemacs.org>
9191
9192         * toolbar-msw.c (TBSTYLE_FLAT): add.
9193         (mswindows_output_toolbar): minor fiddling.
9194
9195 2000-03-29  Andy Piper  <andy@xemacs.org>
9196
9197         * gutter.c (output_gutter): force gutter size recalculation if
9198         what we are trying to display won't fit.
9199         (update_gutter_geometry): new function. A per-gutter version of
9200         update_frame_gutter_geometry.
9201         (update_frame_gutter_geometry): use it.
9202         (redraw_exposed_gutter): add extra debugging output.
9203
9204 2000-03-28  Mike Alexander  <mta@arbortext.com>
9205
9206         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9207         (pdump_file_unmap): Implement it on Windows
9208         (pdump_file_get): Save alocated handles for pdump_file_unmap
9209
9210 2000-03-28  Andy Piper  <andy@xemacs.org>
9211
9212         * gui.c (get_gui_callback): treat Quit specially.
9213
9214 2000-03-27  Andy Piper  <andy@xemacs.org>
9215
9216         * glyphs.c (image_instantiate): be careful to check in the same
9217         way we assigned.
9218
9219 2000-03-27  Didier Verna  <didier@xemacs.org>
9220
9221         * config.h.in: define the proper SMART_INCLUDE macro.
9222         handle renaming of `foo_h_path' to `foo_h_file'.
9223
9224         * database.c: ditto.
9225
9226         * emacs.c: ditto.
9227
9228         * linuxplay.c: ditto.
9229
9230         * terminfo.c: ditto.
9231
9232         * tooltalk.h: ditto.
9233
9234 2000-03-27  Andy Piper  <andy@xemacs.org>
9235
9236         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9237         gets updated whenever the face might have changed.
9238
9239 2000-03-26  Mike Alexander  <mta@arbortext.com>
9240
9241         * dumper.c (pdump_resource_free): Fix the comment.
9242
9243 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9244
9245         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9246
9247 2000-03-22  Mike Alexander  <mta@arbortext.com>
9248
9249         * dumper.c: Include Windows headers on Windows
9250         (pdump_resource_free): Add a body to the function
9251         (pdump_load): exe_name -> exe_path and add some comments.
9252
9253 2000-03-25  Mike Alexander  <mta@arbortext.com>
9254
9255         * gui.c (copy_gui_item_tree): Return a value in all cases
9256
9257 2000-03-21  Didier Verna  <didier@xemacs.org>
9258
9259         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9260         lwlib/config.h.in.
9261         (SMART_INCLUDE): new macro.
9262         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9263         the proper location.
9264
9265         * postgresql.c: use it.
9266
9267         * inline.c: ditto.
9268
9269 2000-03-24  Andy Piper  <andy@xemacs.org>
9270
9271         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9272         do this.
9273
9274 2000-03-24  Andy Piper  <andy@xemacs.org>
9275
9276         * redisplay-output.c (compare_runes): use image_instance_changed
9277         to detect changes. Do not depend on glyphs_changed, only depend on
9278         dirtiness.
9279          (redisplay_output_layout): add debug messages.
9280         (compare_runes): ditto.
9281
9282         * glyphs.h: declare new functions.
9283         (struct Lisp_Image_Instance): remove percent and associated
9284         accessors.
9285
9286         * gui.h: declare new copying functions.
9287
9288         * gui.c (copy_gui_item_tree): new function.
9289         (copy_gui_item): new function.
9290         (gui_item_id_hash): revert to standard hash.
9291         (gui_item_hash): ditto.
9292         (gui_item_hash_internal): deleted.
9293         (mark_gui_item): mark value.
9294         (gui_item_add_keyval_pair): add value.
9295         (gui_item_init): ditto.
9296         (gui_add_item_keywords_to_plist): ditto.
9297         (gui_item_equal): ditto.
9298         (syms_of_gui): add Q_value.
9299
9300         * glyphs-x.c (x_progress_gauge_update): use pending items and
9301         value for setting the state.
9302         (x_update_widget): don't set items from pending here.
9303
9304         * glyphs-widget.c (update_widget): update items here.
9305         (progress_gauge_set_property): use items for storing value. Put
9306         new value in pending items.
9307
9308         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9309         items for new value. Convert percent -> value.
9310         (mswindows_tab_control_update): don't update items here.
9311
9312         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9313         (update_subwindow): ditto.
9314         (image_instance_changed): new function. Compare hash values and
9315         past and present widget items.
9316         (image_instantiate): We more careful about where we instantiate
9317         things.
9318         (image_instantiate): add error checking.
9319
9320         * gutter.c (syms_of_gutter): use -hook.
9321
9322 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9323
9324         * console-tty.c (Fset_console_tty_input_coding_system): Use
9325         Qkeyboard.
9326         (Fset_console_tty_output_coding_system): Use Qterminal.
9327         (tty_init_console): Use Qkeyboard and Qterminal.
9328
9329 2000-03-21  Ben Wing  <ben@xemacs.org>
9330
9331         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9332         From Mike Alexander <mta@arbortext.com>.
9333
9334 2000-03-21  Ben Wing  <ben@xemacs.org>
9335
9336         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9337         process brokenness.  Proper implementation to come.
9338         * callproc.c:
9339         Rename call-process-internal to old-call-process-internal.
9340         New impl. in process.el.
9341
9342 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9343
9344         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9345
9346 2000-03-20  Andy Piper  <andy@xemacs.org>
9347
9348         * glyphs.c (full_list_hash): make hashes of the same elements in
9349         different orders return different values.
9350
9351 2000-03-20  Martin Buchholz <martin@xemacs.org>
9352
9353         * XEmacs 21.2.32 is released.
9354
9355 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9356
9357         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9358         (DFC_MALLOC_USE_CONVERTED_DATA):
9359         Add aliasing-safe casts to allow use with char* or unsigned char*
9360         lvalues.
9361
9362         * eldap.c (Fldap_open):
9363         (Fldap_search_basic):
9364         (Fldap_add):
9365         (Fldap_modify):
9366         Make C++-compilable.
9367         Make sure GCPRO'ed variables are initialized.
9368         Use temp variables to avoid repeated calls to Flength.
9369
9370 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9371
9372         * sysfile.h:
9373         Make sure PATH_MAX is always defined.
9374         Include limits.h for PATH_MAX.
9375         Deprecate use of MAXPATHLEN.
9376
9377 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9378
9379         * emacs.c: Add reinit_vars_of_fileio.
9380         * symsinit.h: Add reinit_vars_of_fileio.
9381         * fileio.c (reinit_vars_of_fileio): New.
9382         * fileio.c (Fmake_temp_name):
9383         Initialize temp_name random number from microseconds to make
9384         collisions even less likely.  Initialize always at process startup
9385         time.  (make-temp-name) used to return the same file name twice in
9386         a row when PDUMP.
9387         Random stylistic fiddling.
9388         Comment fixes.
9389
9390 2000-03-20  Andy Piper  <andy@xemacs.org>
9391
9392         * glyphs.c (image_instantiate): allow text glyphs to be
9393         instantiated in the minibuffer window.
9394
9395 2000-03-19  Andy Piper  <andy@xemacs.org>
9396
9397         * glyphs.c (image_instance_hash): be careful about which items we
9398         hash on.
9399
9400         * glyphs-widget.c (tab_control_set_property): record into pending
9401         items rather than the actual items.
9402
9403         * glyphs-x.c (x_update_widget): use pending items to update with.
9404
9405         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9406         to update with.
9407
9408         * glyphs.c (mark_image_instance): mark pending items.
9409
9410         * window.c (Fset_window_configuration): record the buffer.
9411         (Fselect_window): totally revert previous change which breaks many
9412         things.
9413
9414 2000-03-18  Andy Piper  <andy@xemacs.org>
9415
9416         * glyphs-msw.c (mswindows_tab_control_update): force selected
9417         item.
9418
9419         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9420         window domain cache, otherwise we get inconsistencies at
9421         startup. There is something fishy at startup which can lead to the
9422         minibuffer being the selected window when the gutter content is
9423         instantiated.
9424
9425         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9426         gcpros.
9427         (parse_gui_item_tree_children): ditto.
9428         (parse_gui_item_tree_item): ditto.
9429
9430         * glyphs.c (Fupdate_widget_instances): return something.
9431
9432 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9433
9434         * window.c (Fselect_window): Undo 2000-03-17 change.
9435
9436 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9437
9438         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9439         against v7.0 libraries.  Insta-coredump city until the postgres
9440         folks fix it.
9441
9442 2000-03-17  Andy Piper  <andy@xemacs.org>
9443
9444         * faces.c (complex_vars_of_faces): don't give the widget face an
9445         inherited background pixmap.
9446
9447         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9448         selected item.
9449
9450         * event-stream.c (Fdispatch_non_command_events): return something.
9451
9452         * gutter.c (output_gutter): use widget face.
9453         (clear_gutter): ditto.
9454
9455         * NEWS: adjust again.
9456
9457         * window.c (Fselect_window): make sure this runs to completion to
9458         avoid oddities with Fset_window_configuration.
9459         (Fcurrent_window_configuration): in general do not save the
9460         minibuffer as the selected window.
9461
9462         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9463
9464 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9465
9466         * emacs.c (Frunning_temacs_p): Revert previous patch.
9467         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9468
9469 2000-03-16  Andy Piper  <andy@xemacs.org>
9470
9471         * glyphs-x.c (x_tab_control_update): if no widget values then
9472         return.
9473
9474         * NEWS: update for new features.
9475
9476         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9477         synthetic event to the native system.
9478         (reinit_vars_of_event_Xt): set force_event_pending to
9479         emacs_Xt_force_event_pending.
9480
9481         * events.h (struct event_stream): add force_event_pending.
9482
9483         * specifier.c (recompute_one_cached_specifier_in_window): add
9484         comment.
9485
9486         * redisplay.c (redisplay_frame): don't call
9487         update_frame_subwindows. Reset subwindow cachels when
9488         subwindows_changed, removing this was an optimization too far.
9489
9490         * redisplay-output.c (compare_runes): reorganize so that we catch
9491         glyph changes when we want them. Set optimize_output when this
9492         would help layouts.
9493         (redisplay_output_layout): remove frame_really_changed, use
9494         optimize_output instead.
9495
9496         * redisplay-msw.c (mswindows_output_display_block): reset
9497         optimize_output after outputting a glyph.
9498         * redisplay-x.c (x_output_display_block): ditto.
9499         * redisplay-tty.c (tty_output_display_block): ditto.
9500
9501         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9502         functions.
9503         (gutter_specs_changed): do specific gutter positions.
9504         (top_gutter_specs_changed): new function. Only update the
9505         specified gutter specs.
9506         (bottom_gutter_specs_changed): ditto.
9507         (left_gutter_specs_changed): ditto.
9508         (right_gutter_specs_changed): ditto.
9509
9510         * gui.c (gui_item_hash_internal): new function, does a real hash.
9511         (gui_item_id_hash): use it.
9512         (gui_item_hash): hash the eval'ed gui_item.
9513
9514         * gui-x.c (popup_selection_callback): send an eval event to call
9515         Fupdate_widget_instances.
9516
9517         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9518         to call Fupdate_widget_instances.
9519
9520         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9521         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9522
9523         * glyphs.c: (update_frame_subwindows): deleted.
9524         (Fupdate_widget_instances): new function for updating the dirty
9525         state of widgets that might have changed.
9526         (syms_of_glyphs): add Qupdate_widget_instances.
9527         (full_list_hash): hash a list completely.
9528         (image_instance_hash): use it for items and properties.
9529
9530         * frame-msw.c (mswindows_size_frame_internal): remove unused
9531         variable.
9532
9533         * faces.h (struct face_cachel): fix comment.
9534
9535         * event-stream.c (Fdispatch_non_command_events): new
9536         function. Process non-command events, forcing an event cycle
9537         beforehand.
9538         (syms_of_event_stream): declare.
9539         (event_stream_force_event_pending): new function. Force an event
9540         on the native event queue so that an event cycle will occur next
9541         time we check.
9542
9543         * event-msw.c:
9544         (struct ntpipe_shove_stream):
9545         (mswindows_enqueue_dispatch_event):
9546         (mswindows_dequeue_dispatch_event):
9547         (mswindows_cancel_dispatch_event):
9548         (mswindows_pump_outstanding_events):
9549         (mswindows_drain_windows_queue):
9550         (mswindows_handle_paint):
9551         (mswindows_wnd_proc):
9552         (mswindows_key_to_emacs_keysym):
9553         (get_process_input_waitable):
9554         (emacs_mswindows_delete_stream_pair): re-indent file.
9555         (mswindows_need_event): do not process further fds if the windows
9556         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9557         fixes the 100% cpu problem.
9558         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9559
9560 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9561
9562         * alloc.h: New.
9563         * dumper.h: New.
9564         * dumper.c: New.
9565
9566         * emacs.c: Moved dump file searching to dumper.c.
9567         (Frunning_temacs_p): Fixed.
9568
9569         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9570         last_lrecord_type_index_assigned.
9571
9572 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9573
9574         * symsinit.h: Added reinit parameter to init_console_stream
9575         declaration.
9576
9577         * lisp.h: Added file parameter to pdump_load declaration.
9578
9579         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9580         support.  Added dump file searching.
9581
9582         * config.h.in: Added EMACS_PROGNAME.
9583
9584         * console-stream.c (init_console_stream): Fix reinitialisation
9585         when running from temacs.
9586
9587         * alloc.c (pdump): Add id support.
9588         (pdump_load): Add file parameter and signature/id support.
9589
9590         * Makefile.in.in: Add full pdump support.
9591
9592 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9593
9594         * postgresql.c: Update documentation to reflect latest code
9595         status.
9596         (print_result): Show tuple counts in printed representation when
9597         appropriate.
9598         (Fpq_put_nbytes): MULE-ize.
9599         (Fpq_get_line_async): Ditto.
9600
9601 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9602
9603         * postgresql.c (Fpq_lo_import): Fix return value.
9604         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9605
9606 2000-03-13  Ben Wing  <ben@xemacs.org>
9607
9608         * alloc.c (pdump_load):
9609         Fix compile warning under mswin.
9610
9611 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9612
9613         * postgresql.c: Mule-ization, bug fixes.
9614         Use PG_CODING to encapsulate coding system name changes.
9615         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9616         (pg-coding-system): Create.
9617
9618         (Fpq_conn_defaults): Mule-ize.
9619         (Fpq_connectdb): Mule-ize & bug fix.
9620         (Fpq_connect_start): Mule-ize.
9621         (Fpq_set_client_encoding): Mule-ize.
9622         (Fpq_finish): Document `DEAD' connection status.
9623         (Fpq_clear): Ditto.
9624         (Fpq_pgconn): Mule-ize.
9625         (Fpq_exec): Mule-ize & bug fix.
9626         (Fpq_send_query): Ditto.
9627         (Fpq_get_result): Ditto.
9628         (Fpq_res_status): Mule-ize.
9629         (Fpq_result_error_message): Mule-ize.
9630         (Fpq_ntuples): fix comments.
9631         (Fpq_fname): Mule-ize.
9632         (Fpq_fnumber): Mule-ize.
9633         (Fpq_ftype): fix comments.
9634         (Fpq_get_value): Mule-ize.
9635         (Fpq_cmd_status): Ditto.
9636         (Fpq_cmd_tuples): Ditto.
9637         (Fpq_oid_value): Ditto.
9638         (Fpq_notifies): Ditto.
9639         (Fpq_lo_import): Ditto.
9640         (Fpq_lo_export): Ditto.
9641         (Fpq_get_line): Ditto.
9642         (Fpq_put_line): Mule-ize and bug fix.
9643         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9644
9645 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9646
9647         * postgresql.c (vars_of_postgresql): Mule-ize.
9648         (Fpq_conn_defaults): Ditto.
9649
9650 2000-03-12  Ben Wing  <ben@xemacs.org>
9651
9652         * alloc.c (Fmake_byte_code):
9653         * alloc.c (debug_string_purity_print):
9654         * alloc.c (pdump_backtrace):
9655         * alloc.c (pdump_get_indirect_count):
9656         * alloc.c (pdump_register_sub):
9657         * alloc.c (pdump_register_object):
9658         * alloc.c (pdump_register_struct):
9659         * alloc.c (pdump_dump_data):
9660         * alloc.c (pdump_reloc_one):
9661         Minor cleanups.
9662
9663         * console-msw.c:
9664         * console-msw.c (GetConsoleHwnd):
9665         * console-msw.c (msw_hide_console):
9666         * console-msw.c (msw_show_console):
9667         * console-msw.c (msw_ensure_console_buffered):
9668         * console-msw.c (msw_output_console_string):
9669         * console-msw.c (console_type_create_mswindows):
9670
9671         a) Added functions to manipulate the console window for use with
9672         shell support.
9673
9674         b) Added support for writing text to the console, which is now
9675         used under Windows when xemacs is not being run non-interactively,
9676         to write text that would otherwise be destined for stdout because
9677         under these circumstances, text written to stdout tends to
9678         disappear and not be seen.
9679
9680         * console-msw.h:
9681         * event-Xt.c:
9682         * event-Xt.c (x_event_to_emacs_event):
9683         * event-Xt.c (describe_event_window):
9684         * events-mod.h (XEMACS_MOD_CONTROL):
9685         * events.c:
9686         * events.c (Fmake_event):
9687         * events.c (character_to_event):
9688         * events.c (event_to_character):
9689         * events.c (format_event_object):
9690         * events.c (Fevent_modifiers):
9691         * events.h:
9692         * events.h (struct key_data):
9693         * events.h (struct button_data):
9694         * events.h (struct misc_user_data):
9695         * frame-x.c (Fcde_start_drag_internal):
9696         * frame-x.c (Foffix_start_drag_internal):
9697         * gpmevent.c (Freceive_gpm_event):
9698         * keymap.c:
9699         * keymap.c (bucky_sym_to_bucky_bit):
9700         * keymap.c (control_meta_superify):
9701         * keymap.c (make_key_description):
9702         * keymap.c (keymap_lookup_directly):
9703         * keymap.c (create_bucky_submap):
9704         * keymap.c (keymap_store):
9705         * keymap.c (define_key_check_and_coerce_keysym):
9706         * keymap.c (define_key_parser):
9707         * keymap.c (define_key_alternate_name):
9708         * keymap.c (Fdefine_key):
9709         * keymap.c (raw_lookup_key_mapper):
9710         * keymap.c (struct map_keymap_unsorted_closure):
9711         * keymap.c (map_keymap_unsorted_mapper):
9712         * keymap.c (map_keymap_sort_predicate):
9713         * keymap.c (map_keymap_sorted):
9714         * keymap.c (accessible_keymaps_mapper_1):
9715         * keymap.c (where_is_recursive_mapper):
9716         * keymap.c (describe_map_mapper):
9717         * keymap.c (describe_map_sort_predicate):
9718         * keymap.c (describe_map):
9719         * keymap.c (complex_vars_of_keymap):
9720         And a number of other files, the key modifier preprocessor
9721         constants that xemacs uses have names that conflict with constants
9722         defined under MS Windows for other purposes, so they were renamed
9723         to begin with the prefix XEMACS_. The variables that hold such
9724         modifiers were changed to consistently be of type int to fix
9725         various compile warnings.
9726
9727         * console.c (complex_vars_of_console):
9728         * device.c:
9729         * device-msw.c:
9730         * device-msw.c (mswindows_finish_init_device):
9731         * device-msw.c (msw_get_workspace_coords):
9732         * device-msw.c (mswindows_device_system_metrics):
9733         and various other files, added support for a new
9734         device property called offset-workspace which returns the position
9735         of the upper left corner of the workspace area and goes along with
9736         the existing size-workspace property.
9737
9738         * dialog-msw.c:
9739         * dialog-msw.c (push_bufbyte_string_as_unicode):
9740         * dialog-msw.c (mswindows_popup_dialog_box):
9741         Added support for XEmacs-style accelerator specifications in
9742         button text.  Note: I didn't add support for this under X Windows,
9743         and somebody needs to do this.
9744
9745         * dialog.c:
9746         * dialog.c (Fpopup_dialog_box):
9747         Documented the support for accelerators that was just mentioned.
9748
9749         editfns.c (get_home_directory): Changed behavior under Windows
9750         when HOME not defined; former behavior was irretrievably broken.
9751
9752         * emacs.c:
9753         * emacs.c (main_1):
9754         * emacs.c (main):
9755         * minibuf.c (clear_echo_area_internal):
9756         * minibuf.c (echo_area_append):
9757         * print.c:
9758         * print.c (std_handle_out_external):
9759         * print.c (std_handle_out_va):
9760         * print.c (fatal):
9761         * print.c (write_string_to_stdio_stream):
9762         * print.c (output_string):
9763         * print.c (debug_print):
9764         * print.c (debug_backtrace):
9765         * print.c (debug_short_backtrace):
9766         Cleaned up the code that prints text to stdout so that this can be
9767         changed to output into a console window instead under MS Windows,
9768         as described above.
9769
9770         * eval.c:
9771         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9772         * eval.c (internal_catch):
9773         * eval.c (unwind_to_catch):
9774         * eval.c (throw_or_bomb_out):
9775         * eval.c (condition_case_1):
9776         * eval.c (signal_1):
9777         * eval.c (check_error_state_sanity):
9778         * eval.c (call_with_suspended_errors_1):
9779         * eval.c (call_with_suspended_errors):
9780         * eval.c (reinit_vars_of_eval):
9781         Added code to catch throw loops and check for a pesky bug that may
9782         be gone now.
9783
9784         * event-msw.c:
9785         * event-msw.c (key_needs_default_processing_p):
9786         * event-msw.c (mswindows_wnd_proc):
9787         * event-msw.c (mswindows_modifier_state):
9788         * event-msw.c (emacs_mswindows_quit_p):
9789         * event-msw.c (vars_of_event_mswindows):
9790         a) Added support for using the alt key to select menu items as is
9791         standard under MS Windows.  This is controlled using the variable
9792         menu-accelerator-enabled, just like under X Windows.  There is an
9793         option on the options menu to turn this support on.  I really
9794         think that it should be on by default under Windows, but I'm not
9795         going to make this change yet.
9796
9797         b)  Added support for dynamic display size changes under Windows.
9798
9799         * event-stream.c:
9800         * event-stream.c (maybe_echo_keys):
9801         * event-stream.c (Fnext_event):
9802         * event-stream.c (command_builder_find_leaf):
9803         * event-stream.c (lookup_command_event):
9804         * event-stream.c (execute_command_event):
9805         * event-stream.c (pre_command_hook):
9806         * event-stream.c (post_command_hook):
9807         * event-stream.c (syms_of_event_stream):
9808         * event-stream.c (vars_of_event_stream):
9809         * event-stream.c (complex_vars_of_event_stream):
9810         * events.h (struct command_builder):
9811
9812         a) Tried to clean up a little bit the horribly written x-specific
9813         accelerator code that crept into this file.  I moved this code
9814         into menubar-x.c where it belongs. I also needed to move the
9815         command builder structure into the file events.h because it is
9816         accessed directly by this accelerator code.  What I didn't do, but
9817         which should be done at some point, is to properly abstract this
9818         code using device methods instead of the kludgy way that it
9819         currently hooks into the event code.
9820
9821         b) Added the lisp variables this-command-properties and
9822         last-command- properties, which should be used to synchronize two
9823         adjacent commands in preference to playing games with the variable
9824         this-command, which is typically what happens.
9825
9826         c) Added some slightly nasty code to hook into the lisp support
9827         for shifted- motion-key selection.  This is actually necessary for
9828         somewhat complicated reasons, which are described in
9829         simple.el. (NB: I think the proper thing would be to have the code
9830         that calls the pre and post command hooks also call out to generic
9831         lisp functions in simple.el, where all built-in stuff could be
9832         added.  I will think about this more.)
9833
9834         * event-unixoid.c (poll_fds_for_input):
9835         * lread.c (readchar):
9836         * redisplay-tty.c (tty_clear_frame):
9837         * redisplay-x.c (x_get_gc):
9838         * signal.c (interrupt_signal):
9839         And a whole bunch of other files: fixed up places that printed
9840         directly to stderr to instead call the function stderr_out so that
9841         the changes I made under Windows work correctly.
9842
9843         * filemode.c (mode_string):
9844         Warning fixes.
9845
9846         * frame-msw.c:
9847         * frame-msw.c (mswindows_size_frame_internal):
9848         Fixed the computation of frame size and position to keep the frame
9849         within the workspace area, rather than within the physical
9850         dimensions of the screen, so that the frame doesn't overlap window
9851         manager decorations, such as the start menu and toolbar, typically
9852         at the bottom of the screen.
9853
9854         * frame.c (vars_of_frame):
9855         Changed the default frame title format under MS Windows to consist
9856         of buffername-XEmacs, which is standard under MS Windows.  I think
9857         it might be a good idea to change this everywhere because I think
9858         it is superior to the current frame title format, but this is the
9859         kind of change that is likely to cause some people to get annoyed,
9860         so I'm not making it.
9861
9862         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9863
9864         * gui-msw.c (mswindows_handle_gui_wm_command):
9865         Fixed compile warnings.
9866
9867         * gui-x.c:
9868         * gui-x.c (strdup_and_add_accel):
9869         * gui-x.c (button_item_to_widget_value):
9870         * gui-x.h:
9871         Added code to automatically put an accelerator onto the beginning
9872         of menu items that don't have one as is now the standard, and is
9873         described more later.  Also fixed things so that the menu item
9874         name can be an evaluated expression, again a new standard.
9875
9876         * gui.c:
9877         * gui.c (gui_item_add_keyval_pair):
9878         * gui.c (make_gui_item_from_keywords_internal):
9879         * gui.c (gui_add_item_keywords_to_plist):
9880         * gui.c (gui_item_accelerator):
9881         * gui.c (gui_name_accelerator):
9882         * gui.c (gui_item_included_p):
9883         * gui.c (gui_item_display_flush_left):
9884         * gui.c (gui_item_display_flush_right):
9885         * gui.c (parse_gui_item_tree_item):
9886         * gui.c (parse_gui_item_tree_children):
9887         * gui.c (parse_gui_item_tree_list):
9888         Mule-ized.  Cleanup.  GCPRO addition.
9889
9890         * line-number.c (buffer_line_number):
9891         * lisp.h:
9892         * lisp.h (EMACS_INT_MAX):
9893         Added the manifest constant EMACS_INT_MIN corresponding to the
9894         existing constant EMACS_INT_MAX.  This is partially to fix compile
9895         warnings under Windows, and partly for cleanliness.
9896
9897         * menubar-msw.c:
9898         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9899         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9900         * menubar-msw.c (displayable_menu_item):
9901         * menubar-msw.c (populate_menu_add_item):
9902         * menubar-msw.c (populate_or_checksum_helper):
9903         * menubar-msw.c (populate_menu):
9904         * menubar-msw.c (update_frame_menubar_maybe):
9905         * menubar-msw.c (prune_menubar):
9906         * menubar-msw.c (msw_char_is_accelerator):
9907         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9908         * menubar-msw.c (mswindows_handle_wm_command):
9909         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9910         * menubar-msw.c (mswindows_handle_wm_initmenu):
9911         * menubar-msw.c (mswindows_update_frame_menubars):
9912         * menubar-msw.c (mswindows_free_frame_menubars):
9913         * menubar-msw.c (mswindows_popup_menu):
9914         Fixed a bug in handling accelerators where an extra character
9915         would be displayed in the menu item.  Also generalized the
9916         function displayable_menu_item because it is now used by the
9917         dialog box code as well.  And finally, added code in the functions
9918         that create the menubar to extract a list of accelerators for the
9919         top level menubar, which is used in the event code to determine
9920         whether a particular alt-key combination should be used to invoke
9921         a menu item, or should be passed through to access the standard
9922         XEmacs keymap binding for this key combination.
9923
9924         Much needed GCPROing.
9925
9926         * menubar-x.c:
9927         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9928         * menubar-x.c (menu_item_descriptor_to_widget_value):
9929         * menubar-x.c (restore_in_menu_callback):
9930         * menubar-x.c (x_popup_menu):
9931         * menubar-x.c (menu_move_up):
9932         * menubar-x.c (menu_move_down):
9933         * menubar-x.c (menu_move_left):
9934         * menubar-x.c (menu_move_right):
9935         * menubar-x.c (menu_select_item):
9936         * menubar-x.c (command_builder_operate_menu_accelerator):
9937         * menubar-x.c (menu_accelerator_junk_on_error):
9938         * menubar-x.c (command_builder_find_menu_accelerator):
9939         * menubar-x.c (Faccelerate_menu):
9940         * menubar.h:
9941         Moved a whole bunch of code here that was previously in
9942         event-stream.c as described above.  There is also code connected
9943         to the new standard of adding an accelerator to the beginning of
9944         menu items that don't have one as described above and below.
9945
9946         * menubar.c:
9947         * menubar.c (menu_parse_submenu_keywords):
9948         * menubar.c (Fmenu_find_real_submenu):
9949         * menubar.c (Fnormalize_menu_item_name):
9950         * menubar.c (syms_of_menubar):
9951         * menubar.c (vars_of_menubar):
9952         * menubar.c (complex_vars_of_menubar):
9953
9954         a) Cleaned up a bunch of documentation and improved it.
9955
9956         b) XEmacs now automatically adds an accelerator onto the beginning
9957         of any menu items that don't have one.  I did this because there
9958         will inevitably be some menu items on the main menubar that don't
9959         have accelerators on them because the package that adds that
9960         particular menu item hasn't yet been fixed up to have accelerators
9961         in them and it looked rather strange to have some items with and
9962         some items without accelerators, especially since even in items
9963         without accelerators, you can, at least under windows, still
9964         access the item through an accelerator corresponding to the first
9965         character in the item's name.  If people don't like this behavior,
9966         I can add a variable to turn it off optionally, but I'm not sure
9967         this is a good idea because we really do need to have accelerators
9968         on all of the menu items, and if a package doesn't like the
9969         accelerators being put on the first character, then it should put
9970         the accelerators where they belong.
9971
9972         c) I made a behavior change, which is that the descriptor that
9973         specifies the text of the menu item, which formerly was just a
9974         string, can now also be an evaluated expression.  This makes this
9975         descriptor parallel with all of the others, which could also be
9976         evaluated expressions.  This also obviates the need for the
9977         keyword :label, which was previously listed in the documentation
9978         as unimplemented, and which was for the same purpose.
9979
9980         d) GCPROing.
9981
9982         * ntproc.c:
9983         * ntproc.c (new_child):
9984         * ntproc.c (sys_spawnve):
9985         * ntproc.c (find_child_console):
9986         * ntproc.c (sys_kill):
9987         Fixed compile warnings.  By the way, this file should really go
9988         away entirely, and this will happen as soon as Kirill makes his
9989         final round of process cleanups, which affect the function
9990         call-process.
9991
9992         * process-nt.c:
9993         * process-nt.c (struct nt_process_data):
9994         * process-nt.c (find_process_from_pid):
9995         * process-nt.c (send_signal_the_nt_way):
9996         * process-nt.c (enable_child_signals):
9997         * process-nt.c (find_child_console):
9998         * process-nt.c (send_signal_the_95_way):
9999         * process-nt.c (nt_finalize_process_data):
10000         * process-nt.c (ensure_console_window_exists):
10001         * process-nt.c (nt_create_process):
10002         * process-nt.c (nt_kill_child_process):
10003         * process-nt.c (nt_kill_process_by_pid):
10004         * process-nt.c (nt_open_network_stream):
10005         * process-nt.c (vars_of_process_nt):
10006         Copied over code from Emacs 20.5 to correctly send signals to sub-
10007         processes under Windows 95.  Also added code to automatically
10008         create and hide console window when a sub-process is created under
10009         Windows 95, which obviates the need for the separate runemacs.exe
10010         executable, and finally implemented some variables that were
10011         implemented in Emacs 20.5, but previously not in XEmacs.  These
10012         include mswindows- start-process-share-console and
10013         mswindows-start-process-inherit-error-mode. (Both of these only
10014         apply to Windows 95.)
10015
10016         * regex.c (regex_compile): Fixed a compile warning.
10017
10018         * select-msw.c:
10019         * select-msw.c (mswindows_own_selection):
10020         * select-msw.c (mswindows_get_foreign_selection):
10021         * select-msw.c (mswindows_disown_selection):
10022         * select-msw.c (console_type_create_select_mswindows):
10023         * select-msw.c (syms_of_select_mswindows):
10024         Cleaned up the file and implemented the device method
10025         selection_exists_p, which had accidentally been left out.  Also
10026         removed four lisp functions that were remnants from before the
10027         time when the selection code was properly device abstracted.
10028         These functions are no longer needed because there are generic
10029         equivalents, and because they were added recently and don't exist
10030         in FSF Emacs, I don't think there's any problem with just deleting
10031         them.
10032
10033         * sysdep.c:
10034         * sysdep.c (sys_subshell):
10035         Fixed a compile warning, although in this case there's probably
10036         something wrong with this code, and it ought to be looked into
10037         more thoroughly by somebody who understands it.
10038
10039         * window.c:
10040         * window.c (Fwindow_text_area_height):
10041         * window.c (Fwindow_width):
10042         * window.c (Fwindow_full_width):
10043         * window.c (Fwindow_pixel_width):
10044         * window.c (debug_print_window):
10045         * window.c (syms_of_window):
10046         Added functions window-text-area-height and window-full-width,
10047         which are functions for returning various width and height
10048         characteristics of a window. (One of these functions is necessary
10049         for making the file dialog box work correctly, and the other one
10050         was added for completeness.)  Also added a table to the
10051         documentation for window-height which describes the entire scheme
10052         for accessing width and height characteristics of a window.
10053
10054 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10055
10056         * nt.c (fstat): Added a comment for another problem with
10057         non-encapsulated [f]stat(), reported by Adrian Aichner
10058         <aichner@ecf.teradyne.com>.
10059
10060 2000-03-11  Andy Piper  <andy@xemacs.org>
10061
10062         * window.c (make_dummy_parent): initialize subwindow instance
10063         cache.
10064         (Fset_window_configuration): zero extent_modiff.
10065
10066 2000-03-10  Andy Piper  <andy@xemacs.org>
10067
10068         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10069         more changes can be triggered.
10070         (Fredisplay_frame): ditto.
10071         (Fredraw_device): ditto.
10072         (Fredisplay_device): ditto.
10073         (redisplay_frame): make non-static.
10074         (redisplay_frame): call update_frame_gutter_geometry outside of
10075         display proper.
10076
10077         * gutter.h: declare update_frame_gutter_geometry.
10078
10079         * redisplay.h: declare redisplay_frame.
10080
10081         * gutter.c (update_frame_gutter_geometry): move geometry changes
10082         in update_frame_gutters here. Geometry changes can only occur
10083         outside of redisplay.
10084         (update_frame_gutters): remove geometry change code.
10085         (Fredisplay_gutter_area): make sure that we are in display when we
10086         update and that we have flushed any size changes.
10087
10088 2000-03-11  Andy Piper  <andy@xemacs.org>
10089
10090         * alloc.c (pdump_dump_data): remove i & count shadows.
10091
10092 2000-02-27  Mike Alexander  <mta@arbortext.com>
10093
10094         * sysdep.h: Declare pdump_read_file
10095
10096         * sysdep.c (pdump_read_file): New function
10097
10098         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10099         dump data
10100
10101 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10102
10103         * lrecord.h: add `lrecord_type_pgsetenv'.
10104
10105 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10106
10107         * symsinit.h: declare (vars|syms)_of* functions.
10108         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10109
10110 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10111
10112         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10113
10114         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10115         GCCs.
10116
10117         * emacs.c (main_1): Call postgres initialization code.
10118
10119         * postgresql.h: New file.  PostgreSQL RDBMS support.
10120         * postgresql.c: New file.
10121
10122 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10123
10124         * redisplay-output.c (redisplay_output_display_block): Disable
10125         redundant code.
10126
10127 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10128
10129         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10130         (Fcanna_henkan_next): Ditto.
10131         (Fcanna_bunsetu_henkou): Ditto.
10132         (Fcanna_henkan_kakutei): Ditto.
10133         (Fcanna_henkan_end): Ditto.
10134         (Fcanna_henkan_quit): Ditto.
10135         (Fcanna_henkan_next): Set retun value correctly.
10136         (c2mu): Use unsigned char instead of signed char.
10137
10138 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10139
10140         * emacs.c (main_1): Always call syms_of_gui.
10141         * inline.c: include gui.h
10142
10143 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10144
10145         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10146         converted to Lisp_Object.
10147         (Qtop_bottom): New variable.
10148         (syms_of_redisplay): Initialize it.
10149         * redisplay.h (Vvisible_bell): Ditto.
10150         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10151         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10152         only flash top and bottom.
10153
10154 2000-03-08  Andy Piper  <andy@xemacs.org>
10155
10156         * buffer.c (Frename_buffer): record new buffer name the right way.
10157
10158 2000-03-08  Andy Piper  <andy@xemacs.org>
10159
10160         * glyphs.c (update_subwindow): increase hash depth so that widget
10161         items get picked up properly.
10162
10163         * redisplay-output.c (compare_runes): increase hash depth so that
10164         widget items get picked up properly.
10165
10166 2000-03-08  Andy Piper  <andy@xemacs.org>
10167
10168         * gutter.c (output_gutter): add some debug.
10169
10170         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10171         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10172         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10173
10174         * redisplay-output.c (compare_runes): use display_hash to
10175         determine if glyphs really are not the same.
10176
10177         * glyphs.c (update_subwindow): check display_hash to see if
10178         anything really needs to be updated. If not then do
10179         nothing. Record the display_hash after updating.
10180         (image_instance_equal): compare the image_instance face also.
10181
10182 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10183
10184         * redisplay.h: Fix comment style.
10185
10186 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10187
10188         * consle-msw.h (struct mswindows_frame):
10189         Added new member paint_pending to indicate whether a WM_PAINT
10190         magic event has been queued for this frame.
10191
10192         * event-msw.c (mswindows_drain_windows_queue):
10193         Don't queue a WM_PAINT magic event if one is already queued.
10194         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10195
10196         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10197
10198 2000-03-07  Didier Verna  <didier@xemacs.org>
10199
10200         * dired.c: #include `regex.h' after `sysfile.h'.
10201
10202 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10203
10204         * sound.c (init_nas_sound): Fix compiler warning.
10205
10206         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10207         (FREE_STRUCT_P):
10208         (MARK_STRUCT_AS_FREE):
10209         (MARK_STRUCT_AS_NOT_FREE):
10210         Make `gcc -fstrict-aliasing' work properly.
10211
10212 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10213
10214         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10215         (mswindows_delete_device): Call CoUnnitialize().
10216
10217         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10218
10219 2000-02-25    <CraigL@DyCon.com>
10220
10221         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10222         <errno.h>.
10223
10224         * sysdep.c: This extern declaration for environ prevents MinGW
10225         from finding the variable in CRTDLL.DLL.
10226
10227         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10228         windows headers.
10229         (SHGFI_EXETYPE): ..
10230         (WM_MOUSEWHEEL): ..
10231         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10232         definitions.
10233         (MMRESULT): Removed, now defined in cygwin's windows headers.
10234         (TIMECAPS): ..
10235         (uid_t,gid_t,pid_t,ssize_t): ..
10236         (_timeb): Removed, MinGW defines both _timeb and timeb.
10237         (HAVE_H_ERRNO): Added.
10238         (HAVE_TZNAME): Added, configure is not detecting this.
10239
10240 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10241
10242         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10243         * syntax.c (syntax_match): Use it.
10244
10245         * cmds.c: Import auto-fill-chars from FSF Emacs.
10246         (Vauto_fill_chars): New variables.
10247         (internal_self_insert): Check Vauto_fill_chars.
10248         (vars_of_cmds):
10249         Declare auto-fill-chars as a Lisp variable and initialize it.
10250
10251 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10252
10253         * fileio.c (Fmake_symbolic_link):
10254         (Ffile_symlink_p):
10255         Run handlers even if local machine doesn't have symlinks.
10256
10257 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10258
10259         * event-msw.c (mswindows_drain_windows_queue):
10260         Don't generate paint magic events for non-XEmacs frames.
10261
10262 2000-03-05  Andy Piper  <andy@xemacs.org>
10263
10264         * redisplay.c (redisplay_frame): generate_displayable_area and
10265         friends assumes that we are not in GC, we therefore have to make
10266         sure that this doesn't happen.
10267
10268         * gutter.c (calculate_gutter_size): generate_displayable_area
10269         assumes that we are not in GC, we therefore have to make sure that
10270         this doesn't happen.
10271
10272 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10273
10274         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10275
10276 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10277
10278         * redisplay.c (regenerate_window): Make sure we set a sane value
10279         for end_pos even if we jump out of the loop.
10280         (regenerate_window): Answer Ben's question :-).
10281         (start_end_of_last_line): Add may_error argument.
10282         (start_of_last_line):
10283         (end_of_last_line): Pass may_error = 0.
10284         (end_of_last_line_may_error): New function.
10285         (pixel_to_glyph_translation): Use it, so we don't crash in
10286         event_to_glyph.
10287
10288 2000-03-04  Andy Piper  <andy@xemacs.org>
10289
10290         * window.h (struct window): add gutter_extent_modiff.
10291
10292         * window.c (allocate_window): zero out gutter_extent_modiff.
10293
10294         * redisplay.h: declare sync_display_line_structs.
10295
10296         * redisplay.c (add_glyph_rune): add a better comment.
10297
10298         * redisplay-output.c (sync_display_line_structs): made non-static.
10299         (compare_runes): remove unneccesary glyph cachel access.
10300
10301         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10302
10303         * gutter.c (output_gutter): don't output the gutter if extent
10304         changes only involve extents in buffers. use 4 sets of display
10305         lines.
10306         (gutter_extent_signal_changed_region_maybe): new function. Mark
10307         extents in gutters as changed.
10308         (update_frame_gutters): use 4 sets of display lines.
10309         (reset_gutter_display_lines): ditto.
10310         (free_frame_gutters): ditto.
10311         (redraw_exposed_gutter): force output of gutters.
10312
10313         * frame.h (struct frame): add 4 sets of gutter display lines.
10314
10315         * extents.c: (extent_changed_for_redisplay): signal changes to
10316         extents in strings in the gutter as well as extents in buffers.
10317
10318 2000-03-02  Andy Piper  <andy@xemacs.org>
10319
10320         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10321
10322         * frame.c (Fmake_frame): make sure the gutters get initialized
10323         after the frame is visible.
10324         (set_frame_selected_window): re-arrange compilation macros a
10325         little.
10326         (change_frame_size_1): mark gutters changed.
10327
10328         * device.c (Fset_device_class): mark gutters changed.
10329
10330 2000-03-01  Andy Piper  <andy@xemacs.org>
10331
10332         * window.c (window_top_frame_gutter_height): deleted.
10333         (window_bottom_frame_gutter_height): ditto.
10334         (window_left_frame_gutter_height): ditto.
10335         (window_right_frame_gutter_height): ditto.
10336         (window_top_gutter_height): don't use them.
10337         (window_bottom_gutter_height): ditto.
10338         (window_left_gutter_width): ditto.
10339         (window_right_gutter_width): ditto.
10340         (Fsplit_window): ditto.
10341         (Fwindow_pixel_edges): don't use border dimensions here.
10342
10343         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10344         (update_scrollbar_instance): ditto.
10345
10346         * redisplay.c (generate_modeline): don't take gutters into account.
10347         (generate_modeline): ditto.
10348         (redisplay_frame): small gutter display optimization.
10349
10350         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10351
10352         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10353         gutters into account.
10354
10355         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10356         for window position and type.
10357
10358         * gutter.c (get_gutter_coords): fix for frame gutters.
10359         (update_frame_gutters): update frame geometry if the gutters have
10360         changed.
10361         (init_frame_gutters): record current gutter geometries.
10362
10363         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10364         var.
10365         (mswindows_widget_instantiate): ditto.
10366
10367         * frame.h (struct frame): add current_gutter_bounds.
10368
10369         * frame.c (change_frame_size_1): position window and minibuffer
10370         appropriately taking into account the frame gutters.
10371
10372         * frame-x.c: (x_initialize_frame_size): take into account the
10373         frame gutters.
10374
10375 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10376
10377         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10378
10379 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10380
10381         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10382
10383 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10384
10385         * file-coding.c (reset_decoding_stream): Clear previous
10386         detection state when autodetect.
10387
10388 2000-02-29  Didier Verna  <didier@xemacs.org>
10389
10390         * extents.c (set_extent_glyph_1): don't require extents to be
10391         attached.
10392
10393 2000-02-27  Andy Piper  <andy@xemacs.org>
10394
10395         * gutter.c (Fset_default_gutter_position): don't default left and
10396         right gutter visibility to t.
10397         (Fset_default_gutter_position): run
10398         default-gutter-position-changed-hook.
10399         (syms_of_gutter): add default-gutter-position-changed-hook.
10400
10401 2000-02-26  Andy Piper  <andy@xemacs.org>
10402
10403         * specifier.c (Fmake_specifier): add gutter references.
10404
10405         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10406
10407         * lisp.h: declare Fvalid_plist_p.
10408
10409         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10410         as changed.
10411         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10412         well as its visibility so that it gets reconstructed.
10413         (construct_window_gutter_spec): new function. Construct a string
10414         to be displayed in the gutter from a plist of strings. Take care
10415         to only use elements that are declared as visible.
10416         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10417         WINDOW_GUTTER.
10418         (gutter_validate): allow plists of strings in the specifier.
10419         (gutter_specs_changed): construct the real_gutter from the gutter
10420         specs using construct_window_gutter_spec.
10421         (gutter_visible_validate): gutter-visible is a new specifier type.
10422         (Fgutter_visible_specifier_p): new function for the new specifier.
10423         (syms_of_gutter): declare gutter-visible and
10424         Fgutter_visible_specifier_p.
10425         (specifier_type_create_gutter): intitalize new gutter-visible
10426         specifier.
10427         (reinit_specifier_type_create_gutter): ditto.
10428         (specifier_vars_of_gutter): use new specifier type for gutter
10429         visibility.
10430         (init_frame_gutters): construct real_gutter correctly.
10431         (Fgutter_specifier_p): beef up documentation.
10432         (Fgutter_size_specifier_p): ditto.
10433
10434         * winslots.h: add real_gutter slots.
10435
10436 2000-02-25  Andy Piper  <andy@xemacs.org>
10437
10438         * device-msw.c: Be kind to older cygwin versions. From Raymond
10439         Toy <toy@rtp.ericsson.se>.
10440
10441         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10442         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10443
10444 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10445
10446         * elhash.c (MARK_OBJ): Practice macro hygiene.
10447
10448 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10449
10450         * miscplay.c: s/__inline__/inline/g;
10451         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10452         (get_device_compdc): INLINE ==> static inline
10453         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10454         find -name '*.h' | \
10455         xargs global-replace \
10456         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10457
10458 2000-02-25  Andy Piper  <andy@xemacs.org>
10459
10460         * window.c (window_top_frame_gutter_height): new function.
10461         (window_top_window_gutter_height): ditto.
10462         (window_top_gutter_height): use them.
10463         (window_bottom_frame_gutter_height): new function.
10464         (window_bottom_window_gutter_height): ditto.
10465         (window_bottom_gutter_height): use them.
10466         (window_left_window_gutter_width): new function.
10467         (window_left_frame_gutter_width): ditto.
10468         (window_left_gutter_width): use them.
10469         (window_right_window_gutter_width): new function.
10470         (window_right_frame_gutter_width): ditto.
10471         (window_right_gutter_width): use them.
10472         (window_pixel_height): new function. calulate window pixel height
10473         with frame gutter involvement.
10474         (Fsplit_window): calculate new sizes taking frame gutters into
10475         account.
10476         (window_char_height_to_pixel_height): don't include frame gutters.
10477         (window_char_height): use window_pixel_height.
10478         (window_pixheight): rename from window_pixel_height.
10479         (change_window_height): use it.
10480         (window_pixel_height_to_char_height): don't include frame gutters.
10481         (window_char_width_to_pixel_width): ditto.
10482
10483 2000-02-25  Andy Piper  <andy@xemacs.org>
10484
10485         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10486         if it is.
10487
10488 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10489
10490         * alloc.c (staticpro):
10491         (staticpro_nodump):
10492         (dumpstruct):
10493         (dumpopaque):
10494         (pdump_wire):
10495         (pdump_wire_list):
10496         (compact_string_chars):
10497         (pdump_dump_wired):
10498         Convert:  if (foo) abort();  ==>  assert (! foo);
10499
10500         * eldap.c (Fldap_search_basic):
10501         (Fldap_add):
10502         (Fldap_modify):
10503         (Fldap_delete):
10504         Fix compiler warnings, and possible crashes if (random) return
10505         value were to be used.
10506
10507 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10508
10509         * device-msw.c: Workaround ResetDC failure.
10510
10511         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10512         applying a devmode.
10513
10514         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10515         (mswindows_text_width): Do not start printer page.
10516
10517         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10518
10519         * glyphs-msw.c: Added image methods to msprinter console and
10520         msprinter-specific image instantiation.
10521
10522 2000-02-20  Mike Alexander  <mta@arbortext.com>
10523
10524         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10525         to avoid crashes when selection-sets-clipboard is on
10526         (mswindows_own_selection): ditto
10527
10528 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10529
10530         * glyphs-msw.c:
10531         * redisplay-msw.c (get_frame_dc):
10532         (get_frame_compdc):
10533         * console-msw.h:
10534         * device-msw.c (mswindows_init_device):
10535         (mswindows_delete_device):
10536         (msprinter_init_device):
10537         (msprinter_delete_device):
10538         * frame-msw.c (mswindows_init_frame_1):
10539         (mswindows_delete_frame):
10540         (msprinter_init_frame_3):
10541         (msprinter_delete_frame): Move compatible DC to device object from
10542         frame object, for both mswindows and msprinter. Only one at a time
10543         is needed, it is a real waste to have one per frame!
10544
10545 2000-02-23  Andy Piper  <andy@xemacs.org>
10546
10547         * glyphs.c: add dynamic width and height elements.
10548         (image_instance_equal): ditto.
10549
10550         * glyphs-widget.c (widget_query_geometry): calculate width and
10551         height dynamically if required.
10552         (initialize_widget_image_instance): initialize dynamic dimensions.
10553         (widget_instantiate): pick-up dynamic dimensions.
10554
10555         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10556         dynamic determination. Add appropriate macros.
10557
10558         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10559         dimensions safe.
10560         (WINDOW_GUTTER_SIZE): ditto.
10561         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10562
10563         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10564         inline.
10565         (get_frame_dc): ditto.
10566
10567         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10568         here.
10569
10570 2000-02-23  Martin Buchholz <martin@xemacs.org>
10571
10572         * XEmacs 21.2.31 is released.
10573
10574 2000-02-22  Ben Wing <ben@xemacs.org>
10575
10576         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10577
10578 2000-02-22  Andy Piper  <andy@xemacs.org>
10579
10580         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10581
10582 2000-02-21  Mike Sperber <mike@xemacs.org>
10583
10584         * .dbxrc:
10585         * .gdbinit:
10586         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10587         variables.
10588
10589 2000-02-21  Mike Sperber <mike@xemacs.org>
10590
10591         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10592
10593 2000-02-21  Martin Buchholz <martin@xemacs.org>
10594
10595         * XEmacs 21.2.30 is released.
10596
10597 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10598
10599         Performance hacking.
10600         * *.c (syms_of_*):
10601         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10602         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10603         * emacs.c (main_1):
10604         * lisp.h (DEFUN):
10605         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10606         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10607         * symeval.h (DEFVAR_SYMVAL_FWD):
10608         * symbols.c (guts_of_unbound_marker):
10609         Make all c_readonly objects also lisp_readonly and marked for life.
10610         * lrecord.h (struct lrecord_implementation):
10611         Document flags better.
10612         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10613         * lrecord.h (DECLARE_LRECORD):
10614         * lrecord.h (XSETRECORD):
10615         * lrecord.h (RECORDP):
10616         * lrecord.h (RECORD_TYPEP):
10617         * lrecord.h (RECORD_MARKER): New.
10618         * lrecord.h (error_check_*):
10619         * lrecord.h (CONCHECK_NONRECORD):
10620         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10621         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10622         * lrecord.h (set_lheader_implementation):
10623         * lrecord.h (enum lrecord_type): New.
10624         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10625         * alloc.c (disksave_object_finalization_1):
10626         * alloc.c (mark_object):
10627         * alloc.c (lrecord_type_index):
10628         * alloc.c (tick_lcrecord_stats):
10629         * alloc.c (Fgarbage_collect):
10630         * alloc.c (init_alloc_once_early):
10631         * alloc.c (pdump_load):
10632         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10633         * alloc.c (lrecord_type_index): Delete.
10634         Make lisp object type indexes be constant.
10635           Makes (byte-compile) 5% faster.
10636         Put all marker functions into their own array.
10637           Makes (garbage-collect) 5% faster.
10638         Optimize SYMBOL_VALUE_MAGIC_P.
10639           Makes (byte-compile) 2-3% faster.
10640         * config.h.in (gc_checking_assert): New.
10641         * alloc.c: Use gc_checking_assert().
10642         * .dbxrc: Make compatible with new object type implementation.
10643         * .gdbinit: Make compatible with new object type implementation.
10644         * alloc.c: Delete all symbols defined only for debugging, such as
10645         Lisp_Type_Vector and lrecord_charset.
10646
10647 2000-02-21  Andy Piper  <andy@xemacs.org>
10648
10649         * gui-msw.c (Fmswindows_shell_execute): fix file location
10650         problems.
10651
10652         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10653         unshowing so that set_window_buffer doesn't undo
10654         kill_buffer_hook's hard work.
10655
10656         * glyphs-widget.c (tab_control_query_geometry): don't count the
10657         first item when calculating geometry.
10658
10659         * glyphs.c (map_subwindow): remove redundant code.
10660         (update_frame_subwindows): be more circumspect about when to
10661         update subwindows.
10662
10663         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10664         when items haven't changed. Update faces if faces have changed as
10665         well as just the widget face.
10666         (x_tab_control_update): Update faces if faces have changed as well
10667         as just the widget face.
10668
10669 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10670
10671         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10672         registration.
10673         (build_syscolor_string): Use mswindows_color_to_string to try to
10674         get a named color.
10675         (mswindows_device_system_metrics): Reverse the foreground and
10676         background colors so that they match the documentation.
10677
10678         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10679         they match the default Windows palette.
10680         (mswindows_color_to_string): New function.
10681
10682 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10683
10684         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10685
10686 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10687
10688         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10689         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10690
10691         * symbols.c (init_symbols_once_early): Removed obsolete
10692         DATA_SEG_BITS related kludge.
10693         (defvar_magic): Ditto.
10694
10695         * malloc.c: Removed obsolete DATA_SEG_BITS
10696         * ralloc.c: Ditto.
10697         * mem-limits.h: Ditto.
10698
10699         * Makefile.in.in: Removed obsolete HAVE_SHM
10700         * emacs.c: Ditto.
10701
10702 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10703
10704         *  device-msw.c (mswindows_delete_device): Free DDE string
10705         handles.
10706
10707 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10708
10709         * keymap.c (get_keyelt):
10710         * unexnt.c (unexec):
10711         * vm-limit.c (memory_warnings):
10712         * ntheap.c (recreate_heap):
10713         * ntheap.h (UNINIT_PTR):
10714         * select-msw.c (Fmswindows_get_clipboard):
10715         (Fmswindows_set_clipboard):
10716         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10717         * objects-msw.c:
10718         * menubar-msw.c (displayable_menu_item):
10719         * glyphs-msw.c:
10720         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10721         * sysdep.c (sys_subshell):
10722         * process-nt.c (nt_create_process):
10723         * nt.c (normalize_filename):
10724         (dostounix_filename):
10725         (unixtodos_filename):
10726         * ntproc.c (win32_executable_type):
10727         * ntplay.c (play_sound_data_1):
10728         (play_sound_file):
10729         * editfns.c (get_home_directory):
10730         * event-msw.c (struct winsock_stream):
10731         (mswindows_dde_callback):
10732         * device-msw.c (msprinter_init_device):
10733         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10734
10735         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10736         mswindows_clear_toolbar were swapped!
10737
10738         * objects-msw.c:(colormap_t):
10739         (fontmap_t):
10740         * emacs.c (struct standard_args): Fixed const jumble.
10741
10742         * glyphs-widget.c (update_widget): Fixed comparison notation.
10743
10744         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10745
10746         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10747         __declspec(noreturn) syntax.
10748
10749 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10750
10751         * eldap.c (Fldap_open):
10752         (Fldap_search_basic):
10753         (Fldap_add):
10754         (Fldap_modify):
10755         Use new coding system conversion macros.
10756
10757 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10758
10759         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10760
10761 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10762
10763         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10764         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10765
10766         * eldap.c (Qadd, Qreplace): New constant symbols
10767         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10768         interruptions by XEmacs signals
10769         Remove unnecessary calls to slow_down_interrupts and
10770         speed_up_interrupts
10771         (Fldap_search_basic): Renamed from Fldap_search_internal
10772         Added new optional parameter VERBOSE that triggers the
10773         display of progress messages
10774         Remove unnecessary calls to slow_down_interrupts and
10775         speed_up_interrupts
10776         LDAP result code analysis rewritten
10777         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10778         (syms_of_eldap): Define the new symbols and functions
10779
10780
10781 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10782
10783         * realpath.c: Determine PATH_MAX maximally portably.
10784
10785         * insdel.c (bytecount_to_charcount): Optimize.
10786         The function used to be optimized for entirely ASCII sequences.
10787         Now it is optimized for successive characters from the same
10788         charset.  This also wins big for _mostly_ ASCII sequences.
10789
10790         * fileio.c (Ffile_truename): convert return from realpath() using
10791         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10792         - Rewrite GCPROing slightly.
10793
10794         * sysdep.c (sys_open): Do filename conversion, like all other
10795         sys_* functions.  Fixes bug:
10796         (let ((file-name-coding-system 'iso-8859-2))
10797            (write-region x y latin2-name))
10798         ==> writes filename using internal encoding.
10799
10800 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10801
10802         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10803         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10804         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10805         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10806         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10807         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10808         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10809         (CONST_IF_NOT_DEBUG): Delete.
10810         * alloc.c (this_one_is_unmarkable): Delete.
10811         (mark_object): Don't check for this_one_is_unmarkable. Use the
10812         c_readonly flag instead.
10813         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10814
10815 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10816
10817         * event-msw.c (mswindows_drain_windows_queue):
10818         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10819         away redundant repaint events.
10820
10821 2000-02-17  Andy Piper  <andy@xemacs.org>
10822
10823         * redisplay.h: declare mark_redisplay_structs.
10824
10825         * redisplay.c (redisplay_window):
10826         (redisplay_frame): don't check subwindows_state_changed.
10827         (mark_redisplay): mark gutters here.
10828
10829         * glyphs.c: (instantiate_image_instantiator): always layout if we
10830         haven't done so already.
10831         (allocate_image_instance): don't mark as dirty.
10832         (update_subwindow): bind inhibit_quit.
10833
10834         * gutter.c (mark_gutters): new function.
10835
10836         * glyphs-x.c (x_update_widget): Always resize to get round a
10837         widget bug.
10838
10839         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10840         breaking absolutely everything.
10841
10842         * gutter.h: declare mark_gutters.
10843
10844 2000-02-16  Martin Buchholz <martin@xemacs.org>
10845
10846         * XEmacs 21.2.29 is released.
10847
10848 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10849
10850         * fns.c (size_bit_vector): Fix computation of the size.
10851
10852 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10853
10854         * *.[ch]: Change CONST to const globally.
10855         find -name '*.[ch]' | \
10856         xargs global-replace \
10857         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10858         - Remove vestigial references to CONST_IS_LOSING
10859
10860 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10861
10862         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10863         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10864         events instead of dispatching them directly.
10865         (mswindows_handle_paint): New function to do repainting.
10866         (mswindows_wnd_proc):
10867         (emacs_mswindows_handle_magic_event): Call above function.
10868
10869 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10870
10871         * objects-msw.c (mswindows_create_font_variant): Return the new
10872         font handle.
10873         (initialize_font_instance): Get font metrics from the underlined
10874         variant of the font to cope with the case where the underlined
10875         font has a bigger descent.
10876
10877 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10878
10879         * gui.c (gui_item_accelerator): Return the first underlined
10880         character in item name.
10881
10882 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10883
10884         * lisp.h: Added Qprinter.
10885
10886         * general.c (syms_of_general): Initialized it.
10887
10888         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10889         (get_frame_dc):
10890         (get_frame_compdc): Made inline.
10891
10892         * console.h (struct console_methods): Added eject_page method.
10893
10894         * frame.h: Added FRAME_DISPLAY_P and friends.
10895         Aligned backslahes in many macros in more readable fashion.
10896         Added page_number to struct frame, and an accessor macro
10897         for it.
10898
10899         * defice.h: Added DEVICE_DISPLAY_P and friends.
10900
10901         * device.c (Fdevice_printer_p): Used these.
10902
10903         * frame.c (allocate_frame_core): Initialize page number.
10904         (Fprint_job_page_number):
10905         (Fprint_job_eject_page): Implemented.
10906
10907         * frame-msw.c (msprinter_eject_page): Added method.
10908         (msprinter_start_page): Added.
10909
10910         * window.c (Fwindow_truncated_p): Fixed docstring.
10911         (Fwindow_last_line_visible_height): Implemented.
10912
10913 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10914
10915         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10916
10917 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10918
10919         * syntax.c (scan_words): Always advance at least one character.
10920
10921 2000-02-13  Andy Piper  <andy@xemacs.org>
10922
10923         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10924         to make sure the glyph is in the cachels.
10925
10926         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
10927         global image instance flag.
10928         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
10929         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
10930
10931         * glyphs.c (allocate_image_instance): set dirty bits correctly.
10932         (Fset_image_instance_property): mark layout as changed.
10933         (invalidate_glyph_geometry_maybe): mark layout as changed.
10934         (glyph_width): use new NEEDS_LAYOUT macro.
10935         (glyph_ascent): ditto.
10936         (glyph_descent): ditto.
10937         (glyph_height): ditto.
10938         (image_instance_layout): mark layout as clean after laying out.
10939         (update_subwindow): don't mark layout as clean here.
10940
10941         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
10942         should no longer be needed.
10943
10944         * glyphs-x.c (x_update_widget): sanitize asserts.
10945         (x_finalize_image_instance): sanitize assignment to widgets.
10946
10947         * glyphs-widget.c (widget_instantiate): don't need to clear the
10948         layout flag here.
10949
10950 2000-02-13  Martin Buchholz  <martin@xemacs.org>
10951
10952         * sysdep.c (getcwd): Use standard prototype.
10953         * sysdep.h (getcwd): Use standard prototype.
10954
10955         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
10956         (sequence, start, end).
10957         Remove redundant type checking.
10958         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
10959         view of `caller-protects') to avoid a crash where the real fix was
10960         found elsewhere.
10961
10962 2000-02-12  Martin Buchholz  <martin@xemacs.org>
10963
10964         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
10965
10966         * s/sol2.h: Remove feature macro initialization.
10967
10968         * alloc.c (alloc_lcrecord): Add more type checking assertions.
10969         (vector_hash): New.  Code from internal_hash.
10970         * lrecord.h:
10971         Fix up allocation subsystem comments.
10972
10973         * config.h.in: Add __EXTENSIONS__ for Solaris.
10974
10975         * systime.h (EMACS_GETTIMEOFDAY): New.
10976         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
10977         Remove Solaris-specific code.
10978         Use void* for the (ignored) second arg for gettimeofday().
10979
10980         * elhash.c (hash_table_hash): Implement it, finally.
10981         * elhash.c:  Use hashcode_t.
10982
10983         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
10984         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
10985
10986         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
10987         * fns.c (size_bit_vector):
10988         * alloc.c (size_vector):
10989         (make_vector_internal):
10990         (make_bit_vector_internal):
10991         (sweep_bit_vectors_1):
10992         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
10993
10994 2000-02-10  Martin Buchholz  <martin@xemacs.org>
10995
10996         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
10997         Include strings.h to avoid warnings for bzero and strcasecmp.
10998
10999 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11000
11001         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11002         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11003
11004         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11005         sequence.
11006
11007 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11008
11009         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11010         use a value field instead.
11011         (symbol_value_forward_forward): Use value field.
11012         (DEFVAR_SYMVAL_FWD): Use value field.
11013         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11014         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11015         (DEFVAR_CONST_INT): Ditto.
11016         (DEFVAR_BOOL): Ditto.
11017         (DEFVAR_CONST_BOOL): Ditto.
11018         (DEFVAR_INT_MAGIC): Ditto.
11019         (DEFVAR_BOOL_MAGIC): Ditto.
11020
11021         * symbols.c (guts_of_unbound_marker): Use value field.
11022         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11023         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11024
11025         * lisp.h: Declare dumpopaque and noninteractive1.
11026
11027         * alloc.c (dumpopaque): Added.
11028         (pdump_dump_opaquevec): Added.
11029         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11030         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11031         noninteractive.
11032
11033 2000-02-10  Andy Piper  <andy@xemacs.org>
11034
11035         * glyphs.c (image_instance_layout): if the size changes, mark it
11036         as such.
11037
11038         * redisplay-output.c (redisplay_output_layout): Update the
11039         subwindow here.
11040         (redisplay_output_subwindow): ditto.
11041
11042         * glyphs.c (update_subwindow): make sure we reset flags for
11043         layouts as well as everything else.
11044
11045         * glyphs-widget.c (layout_layout): don't need to set the instances
11046         dimensions here.
11047
11048 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11049
11050         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11051         not HAVE_DLOPEN, which is a lower-level thing.
11052
11053         * .cvsignore: Ignore gmon.out
11054
11055 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11056
11057         * .cvsignore: Ignore portable dumper xemacs.dmp file
11058
11059 2000-02-09  Andy Piper  <andy@xemacs.org>
11060
11061         * redisplay-output.c (redisplay_output_layout): be more clever
11062         about when we output based on the changed flags.
11063
11064         * glyphs.h (struct image_instantiator_methods): add update_method.
11065         (struct Lisp_Image_Instance): add changed flags. Declare new
11066         macros for manipulating them.
11067
11068         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11069         (image_instance_parent_glyph): find an image_instance's parent
11070         glyph or image_instance.
11071         (image_instance_layout): mark the size as changed.
11072         (set_image_instance_dirty_p): new function. mark an image
11073         instance, plus all of its parents, as dirty.
11074         (Fset_image_instance_property): use it.
11075         (Fglyph_animated_timeout_handler): use it.
11076         (update_subwindow): call update_widget and device methods for
11077         update_subwindow. Mark all changed flags as clean.
11078         (Fresize_subwindow): mark size as changed.
11079
11080         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11081         failures.
11082         (x_update_subwindow): only resize subwindows here.
11083         (x_update_widget): new function. Update all changed properties of
11084         a widget.
11085         (x_resize_subwindow): deleted.
11086         (x_widget_set_property): deleted.
11087         (x_progress_gauge_set_property): deleted.
11088         (x_progress_gauge_update): new function. Implement recorded
11089         changes.
11090         (x_tab_control_update): ditto.
11091         (x_tab_control_set_property): deleted.
11092         (console_type_create_glyphs_x): declare new functions.
11093         (image_instantiator_format_create_glyphs_x): ditto.
11094
11095         * glyphs-widget.c (widget_set_property): mark text changed.
11096         (update_widget): new function. Update properties of a widget.
11097         (widget_instantiate): for layouts make sure we set their
11098         children's parent correctly.
11099         (tab_control_set_property): new function. Record changes that will
11100         take place under redisplay's control.
11101         (progress_gauge_set_property): ditto.
11102         (image_instantiator_progress_guage): declare new functions.
11103         (image_instantiator_tab_control): ditto.
11104
11105         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11106         now.
11107         (mswindows_update_widget): new function. Update all properties on
11108         a widget that have changed.
11109         (mswindows_button_update): new function. Update a button's set
11110         state.
11111         (mswindows_tab_control_update): new function. Update the items in
11112         a tab.
11113         (mswindows_tab_control_set_property): deleted.
11114         (mswindows_progress_gauge_update): new function. Update the
11115         progress gauge's progress.
11116         (mswindows_widget_set_property): deleted. This is all done
11117         asynchronously now.
11118         (mswindows_progress_gauge_set_property): ditto.
11119         (console_type_create_glyphs_mswindows): declare new methods.
11120         (image_instantiator_format_create_glyphs_mswindows): ditto.
11121
11122         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11123         (msprinter_set_frame_properties): ditto.
11124
11125         * console.h (struct console_methods): Add update_widget_method.
11126
11127 2000-02-09  Andy Piper  <andy@xemacs.org>
11128
11129         * gui-msw.c (Fmswindows_shell_execute): Make
11130         mswindows-shell-execute industrial strength.
11131
11132 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11133
11134         * lrecord.h: Make macro argument `props' match member function `plist'.
11135         * fns.c (Fget):
11136         * fns.c (Fput):
11137         * fns.c (Fremprop):
11138         * fns.c (Fobject_plist):
11139         * alloc.c:
11140         * symbols.c:
11141         Object property list frobbing cleanup.
11142         - Allow any lisp object (compared with `eq'), not just symbols, as
11143           keys in object plists.
11144         - Move symbol plist frobbing into symbols.c, where it belongs.
11145         - Move string plist frobbing into alloc.c, where it belongs.
11146         - Everything's an lrecord now, so no need to test for symbolp, etc.
11147         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11148
11149         * extents.c: Reorder code to remove declarations.
11150
11151         * frame.h (store_in_alist): Remove useless declaration.
11152
11153 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11154
11155         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11156         * config.h.in: Add HAVE_XCONVERTCASE.
11157
11158 2000-02-07  Andy Piper  <andy@xemacs.org>
11159
11160         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11161         it breaks many things.
11162
11163 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11164
11165         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11166         actually can start a common comment type.
11167         * src/syntax.h (SYNTAX_END_P): ditto for end.
11168
11169 2000-02-07  Martin Buchholz <martin@xemacs.org>
11170
11171         * XEmacs 21.2.28 is released.
11172
11173 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11174
11175         * event-Xt.c (x_keysym_to_character): New.
11176         (maybe_define_x_key_as_self_inserting_character): New.
11177         (x_has_keysym): New.
11178         Auto-define all keys on the keyboard as self-insert-key.
11179
11180 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11181
11182         * menubar.c (vars_of_menubar): A small code simplification.
11183
11184         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11185
11186         * ExternalShell.c:
11187         * ExternalClient.c:
11188         * EmacsShell-sub.c:
11189         * EmacsManager.c:
11190         * EmacsFrame.c:
11191         Use consistent style for specifying X resources.
11192
11193         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11194         This makes (dontusethis-set-symbol-value-handler) actually usable.
11195
11196         * lrecord.h (lrecord_decription_type):
11197         * alloc.c (pdump_register_sub):
11198         (pdump_dump_data):
11199         (pdump_reloc_one):
11200         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11201         Comply with XEmacs coding style.
11202         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11203         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11204
11205         * keymap.c (Faccessible_keymaps):
11206         Make (accessible-keymaps map "\C-h") do the Right Thing.
11207         Make (accessible-keymaps map []) do the Right Thing.
11208         Make (accessible-keymaps map "") do the Right Thing.
11209         (check_keymap_definition_loop): New function.
11210         (keymap_store_internal): Keep luser from shooting self in foot,
11211           via (define-key ctl-x-4-map "p" global-map).
11212         Remove fullness slot from struct Lisp_Keymap, since hash tables
11213         are now reliable.
11214         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11215
11216 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11217
11218         * redisplay.c (init_redisplay): Fix small memory leak.
11219         * elhash.h:
11220         * elhash.c (pdump_reorganize_hash_table):
11221         Rename from reorganize_hash_table. Change prototype.
11222         Reuse the original memory for hentries.  Save 100k.
11223         * alloc.c (PDUMP_READ): new macro.
11224         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11225         * alloc.c: No need to #ifndef before #undef.
11226
11227         * print.c: Allow debug_print() to print readably by modifying
11228         debug_print_readably.  Use consistent variable names.
11229
11230         * .dbxrc: Try to get things to work even if stopped in a function
11231         without source available by explicitly specifying source files.
11232 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11233
11234         * unexnt.c (_start): Removed bogus code which caused loading heap
11235         from differrent executable file.
11236         Removed bogus assignment to _fmode, which caused inconsistencies.
11237
11238 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11239
11240         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11241         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11242         Do not preliminary `#define signal sigset'.
11243
11244         * systime.h: Do not prototype environ on windows nt and cygwin,
11245         this conflicts with system header.
11246
11247         * syssignal.h: Use correct define for WINDOWSNT
11248
11249         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11250         with system header.
11251
11252         * sysdep.c (near start of file): Fixed commentary and rearranged
11253         ifdefs in readable order.
11254         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11255         (start_of_text):
11256         (end_of_text):
11257         (end_of_data): Do not compile in if using PDUMP.
11258
11259         * symsinit.h: Prototyped vars_of_nt().
11260
11261         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11262         (find_child_console): Use it.
11263         (sys_kill): Use it.
11264
11265         * ntheap.h: Do not extern os_subtype.
11266
11267         * ntheap.c (cache_system_info): Do not cache unneeded:
11268         nt_major_version, nt_minor_version and os_subtype.
11269         (recreate_heap): Do not compile in when PDUMPing.
11270
11271         * nt.c (geteuid and friends): Use the new varibale
11272         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11273         (init_user_info): Removed the above mentioned hackery.
11274         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11275         stat has been fixed in the C runtime.
11276         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11277
11278         * file-coding.c (struct file_coding_dump): Do not define
11279         ucs_to_mule_table in the struct if not MULE.
11280         (struct struct lrecord_description fcd_description_1): Do not dump
11281         the above.
11282
11283         * emacs.c (main_1): Call vars_of_nt().
11284         (right before Fdump_emacs_data): Don't need lastfile if using both
11285         portabe dumper and system malloc.
11286
11287         * alloc.c (Fmemory_limit): Conditionalized out.
11288         (pdump): Use OPEN_BINARY for the portable dump file.
11289         (pdump_load): Ditto.
11290
11291 2000-02-02  Mike Alexander  <mta@arbortext.com>
11292
11293         * nt.c (convert_time): Set tm_isdst before calling mktime and
11294         avoid calling it at all if the compiler supports 64 bit integers.
11295         Also initialize utc_base_ft before using it.
11296
11297 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11298
11299         * frame.c (change_frame_size_1): Take f->internal_border_width
11300         into consideration when calculating the width of the frame.
11301
11302 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11303
11304         * window.c (frame_min_height):
11305         (frame_size_valid_p):
11306         (frame_pixsize_valid_p): Added.
11307         (check_frame_size): Generalized.
11308
11309         * window.h: Prototyped the above.
11310
11311         * lisp.h:
11312         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11313         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11314         Deleted Vwin32_* and Vbinary_process_* unused variables.
11315
11316         * device-msw.c (msprinter_init_device): Do not get printer font
11317         list; Added DEVMODE functions.
11318
11319         * frame-msw.c: Added lots of printer code.
11320
11321         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11322         general.c.
11323
11324         * console-msw.h: Added more msprinter device private slots.
11325
11326 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11327
11328         * event-msw.c (key_needs_default_processing_p): Added.
11329         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11330
11331 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11332
11333         * glyphs.c (image_instance_layout): Mark image instance as clean
11334         after layout.
11335         (glyph_dirty_p): Removed redundant function.
11336         (invalidate_glyph_geometry_maybe): Added.
11337         (update_glyph_cachel_data): Call it.
11338
11339         * glyphs.h: Prototyped it.
11340
11341         * redisplay.c (add_glyph_rune): Call it.
11342         (redisplay_window): Reset glyphs cachels when frame faces have
11343         changed, thus forcing recomputation of built-in border glyphs.
11344
11345 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11346
11347         * Makefile.in.in: Make portable dumper and purify play well together.
11348         Add imperfect, but better than nothing, support for pdump.
11349         Remove xemacs.dmp when temacs is re-generated.
11350         Don't ignore errors when dumping xemacs.
11351
11352         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11353
11354 2000-01-28  Andy Piper  <andy@xemacs.org>
11355
11356         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11357         (setup_normal_frame): ditto.
11358         (setup_frame_without_minibuffer): ditto.
11359         (setup_minibuffer_frame): ditto.
11360         (delete_frame_internal): ditto.
11361         (Fmake_frame_invisible): ditto.
11362         (Ficonify_frame): ditto.
11363
11364         * window.h: change Fset_window_buffer signature.
11365
11366         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11367         (Fset_window_buffer): allow recording of buffer if the window is
11368         the selected window.
11369         (window_loop): Use new Fset_window signature.
11370
11371 2000-01-23  Daniel Pittman  <daniel@danann.net>
11372
11373         * config.h.in: Added template for `HAVE_ATHENA_3D'
11374
11375 2000-01-29  Andy Piper  <andy@xemacs.org>
11376
11377         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11378
11379         * gutter.c (output_gutter): Don't output if the window isn't live.
11380
11381 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11382
11383         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11384         of 01/12/00: Moved SetFocus back here where it belongs.
11385
11386 2000-01-23  Andy Piper  <andy@xemacs.org>
11387
11388         * s/cygwin32.h: declare printer things.
11389
11390 2000-01-26  Andy Piper  <andy@xemacs.org>
11391
11392         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11393         Alexander.
11394
11395 2000-01-24  Andy Piper  <andy@xemacs.org>
11396
11397         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11398         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11399
11400         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11401
11402         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11403
11404         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11405
11406         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11407         (mswindows_output_display_block): Avoid local shadows.
11408
11409         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11410         (mswindows_enqueue_mouse_button_event): ditto.
11411         (mswindows_handle_gui_wm_command): remove declaration.
11412
11413         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11414         warnings.
11415
11416         * console-msw.h: Avoid shadows.
11417         (mswindows_get_toolbar_button_text):
11418         (emacs_mswindows_create_stream_pair):
11419         (emacs_mswindows_delete_stream_pair):
11420         (mswindows_handle_toolbar_wm_command): declare.
11421
11422         * device-msw.c (build_syscolor_string): Avoid shadows.
11423
11424 2000-01-23  Andy Piper  <andy@xemacs.org>
11425
11426         * glyphs-widget.c (widget_instantiate): reverse the items for
11427         layouts so that children are in the expected order.
11428
11429 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11430
11431         * ralloc.c: safe_bcopy ==> memmove
11432         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11433         * s/msdos.h: Remove BCOPY macros.
11434         * insdel.c (gap_right): Remove BCOPY conditional code.
11435         * insdel.c (gap_left): Remove BCOPY conditional code.
11436         XEmacs demands a working ANSI C compiler - hence memmove.
11437
11438         * regex.c (regex_compile): Remove accidental use of trigraphs.
11439
11440 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11441
11442         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11443         event timestamp.
11444
11445 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11446
11447         * event-msw.c (mswindows_drain_windows_queue): Added the
11448         parameter.
11449         (mswindows_need_event): Commented the call to
11450         mswindows_drain_windows_queue().
11451         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11452         only.
11453
11454         * console-msw.h: Moved a few function prototypes here from
11455         event-msw.c.
11456
11457         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11458         parameter from unsigned short to unsigned long.
11459         (Fmswindows_shell_execute): Added return value.
11460
11461 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11462
11463         * sysdep.c (init_system_name):
11464           process-unix.c (unix_canonicalized_host_name):
11465         Don't call freeaddrinfo() if getaddrinfo() fails.
11466
11467         * process-unix.c (unix_open_unix_network_stream):
11468         Moved the code to get a port # into address loop.
11469
11470 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11471
11472         * buffer.c (reinit_vars_of_buffer):
11473         The right place to initialize conversion_in_dynarr and
11474         conversion_out_dynarr.
11475
11476         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11477
11478         * process-unix.c (unix_canonicalize_host_name): Muleize.
11479         (unix_open_network_stream): Muleize.
11480
11481         * buffer.h: Fix up prototypes for ralloc.c functions.
11482
11483 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11484         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11485         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11486                 instead of gethostbyname()
11487         * process-unix.c: In unix_canonicalize_host_name() and
11488                 unix_open_network_stream(), add code to use getaddrinfo()
11489                 instead of gethostbyname().
11490
11491 2000-01-27  Daniel Pittman <daniel@danann.net>
11492
11493         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11494         libs when built with flat Athena.
11495
11496 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11497
11498         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11499         Use coding standards for function prototypes.
11500
11501 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11502
11503         * dialog-msw.c (push_lisp_string_as_unicode):
11504         * doc.c (unparesseuxify_doc_string):
11505         * dired.c (Fuser_name_completion_1):
11506         * dired.c (Fuser_name_all_completions):
11507         * dired.c (free_user_cache):
11508         * dired.c (user_name_completion):
11509         * console-x.c (get_display_arg_connection):
11510         * minibuf.c (clear_echo_area_internal):
11511         * minibuf.c (echo_area_append):
11512         * eldap.c (Fldap_open):
11513         * eldap.c (Fldap_search_internal):
11514         * frame-x.c (x_set_frame_text_value):
11515         * frame-x.c (x_set_frame_properties):
11516         * frame-x.c (x_create_widgets):
11517         * redisplay-tty.c (term_get_fkeys_1):
11518         * objects-x.c (x_parse_nearest_color):
11519         * objects-x.c (x_valid_color_name_p):
11520         * objects-x.c (x_initialize_font_instance):
11521         * objects-x.c (x_list_fonts):
11522         * objects-x.c (x_find_charset_font):
11523         * tooltalk.c (Fadd_tooltalk_message_arg):
11524         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11525         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11526         * process-unix.c (unix_create_process):
11527         * ntproc.c (sys_spawnve):
11528         * sound.c (Fplay_sound_file):
11529         * sound.c (Fplay_sound):
11530         * buffer.c (init_initial_directory):
11531         * buffer.c (init_buffer):
11532         * editfns.c (init_editfns):
11533         * editfns.c (Ftemp_directory):
11534         * editfns.c (Fuser_full_name):
11535         * editfns.c (uncache_home_directory):
11536         * editfns.c (get_home_directory):
11537         * editfns.c (Fuser_home_directory):
11538         * editfns.c (Fformat_time_string):
11539         * editfns.c (Fcurrent_time_string):
11540         * gui-x.c (button_item_to_widget_value):
11541         * database.c (Fopen_database):
11542         * event-Xt.c (x_to_emacs_keysym):
11543         * event-Xt.c (x_event_to_emacs_event):
11544         * event-Xt.c (describe_event_window):
11545         * event-msw.c (mswindows_wnd_proc):
11546         * glyphs-eimage.c (jpeg_instantiate):
11547         * glyphs-eimage.c (gif_instantiate):
11548         * glyphs-eimage.c (png_instantiate):
11549         * glyphs-eimage.c (tiff_instantiate):
11550         * glyphs-x.c (xbm_instantiate_1):
11551         * glyphs-x.c (x_xbm_instantiate):
11552         * glyphs-x.c (x_xface_instantiate):
11553         * glyphs-x.c (autodetect_instantiate):
11554         * glyphs-x.c (cursor_font_instantiate):
11555         * glyphs-x.c (x_widget_instantiate):
11556         * glyphs-x.c (x_widget_set_property):
11557         * glyphs-x.c (x_widget_property):
11558         * glyphs-x.c (BUILD_GLYPH_INST):
11559         * print.c (write_string_to_stdio_stream):
11560         * print.c (output_string):
11561         * print.c (Falternate_debugging_output):
11562         * print.c (Fexternal_debugging_output):
11563         * glyphs-msw.c (extract_xpm_color_names):
11564         * glyphs-msw.c (mswindows_xpm_instantiate):
11565         * glyphs-msw.c (bmp_instantiate):
11566         * glyphs-msw.c (resource_name_to_resource):
11567         * glyphs-msw.c (mswindows_resource_instantiate):
11568         * glyphs-msw.c (xbm_instantiate_1):
11569         * glyphs-msw.c (mswindows_xbm_instantiate):
11570         * glyphs-msw.c (mswindows_xface_instantiate):
11571         * glyphs-msw.c (mswindows_widget_instantiate):
11572         * glyphs-msw.c (add_tree_item):
11573         * glyphs-msw.c (add_tab_item):
11574         * glyphs-msw.c (mswindows_combo_box_instantiate):
11575         * glyphs-msw.c (mswindows_widget_property):
11576         * glyphs-msw.c (mswindows_combo_box_property):
11577         * glyphs-msw.c (mswindows_widget_set_property):
11578         * console.c (stuff_buffered_input):
11579         * objects-msw.c (mswindows_initialize_color_instance):
11580         * objects-msw.c (mswindows_valid_color_name_p):
11581         * objects-msw.c (mswindows_list_fonts):
11582         * objects-msw.c (mswindows_font_instance_truename):
11583         * bytecode.c (optimize_compiled_function):
11584         * select-x.c (symbol_to_x_atom):
11585         * select-x.c (x_atom_to_symbol):
11586         * select-x.c (hack_motif_clipboard_selection):
11587         * select-x.c (selection_data_to_lisp_data):
11588         * select-x.c (lisp_data_to_selection_data):
11589         * select-x.c (Fx_get_cutbuffer_internal):
11590         * select-x.c (Fx_store_cutbuffer_internal):
11591         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11592         * buffer.h (TO_INTERNAL_FORMAT): New function.
11593         * emacs.c (make_arg_list_1):
11594         * emacs.c (make_argc_argv):
11595         * emacs.c (main_1):
11596         * emacs.c (Fdump_emacs):
11597         * emacs.c (split_string_by_emchar_1):
11598         * file-coding.h:
11599         * lisp.h:
11600         * lstream.h:
11601         * symsinit.h:
11602         * device-x.c (x_init_device):
11603         * device-x.c (Fx_valid_keysym_name_p):
11604         * device-x.c (Fx_get_font_path):
11605         * device-x.c (Fx_set_font_path):
11606         * glyphs.c (bitmap_to_lisp_data):
11607         * glyphs.c (pixmap_to_lisp_data):
11608         * alloc.c (make_ext_string): Use coding system arguments.  Update
11609         all callers.
11610         * alloc.c (build_string):
11611         * callproc.c (child_setup):
11612         * callproc.c (init_callproc):
11613         * fileio.c (lisp_strerror):
11614         * fileio.c (directory_file_name):
11615         * fileio.c (Fexpand_file_name):
11616         * fileio.c (Ffile_truename):
11617         * fileio.c (Fsysnetunam):
11618         * fileio.c (Fdo_auto_save):
11619         * sysdep.c (sys_readdir):
11620         * tests.c: New file.  Allow adding C tests.
11621         Replace GET_* macros with a more comprehensible and flexible
11622         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11623         Modify all calls.
11624         Any coding system can be used to do format conversion.
11625         Eliminate enum external_data_format.
11626         Eliminate convert_to_external_format.
11627         Eliminate convert_to_internal_format.
11628         Make sure file-name, keyboard, terminal, and ctext are always
11629         defined as coding systems or aliases.  Make
11630         file-name-coding-system, terminal-coding-system, and
11631         keyboard-coding-system magical variables that are equivalent to
11632         defining the corresponding coding system aliases.
11633
11634         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11635         * file-coding.c (Fcoding_system_alias_p): New function.
11636         * file-coding.c (Fcoding_system_aliasee): New function.
11637         * file-coding.c (append_suffix_to_symbol): New function.
11638         * file-coding.c (dangling_coding_system_alias_p): New function.
11639         * file-coding.c (Ffind_coding_system):
11640         * file-coding.c (Fcopy_coding_system):
11641         * file-coding.c (encode_coding_no_conversion):
11642         * file-coding.c (syms_of_file_coding):
11643         * file-coding.c (vars_of_file_coding):
11644         Rewrite coding system alias code.
11645         Allow nested aliases, like symbolic links.
11646         Allow redefinition of coding system aliases.
11647         Prevent existence of dangling coding system aliases.
11648
11649         * dired.c (Fuser_name_completion_1):
11650         * dired.c (Fuser_name_all_completions):
11651         A crash would happen if user did QUIT in the middle of building
11652         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11653
11654         * lisp.h:
11655         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11656
11657         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11658         an unsigned char *.  Update all callers.
11659
11660 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11661
11662         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11663
11664 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11665
11666         * elhash.c (hentry_description): Use more portable definition.
11667         (resize_hash_table): Initialize new hentries using
11668         xnew_array_and_zero, thereby simplifying the code.
11669
11670         * mule-charset.c (make_charset): Make sure entire object is
11671         initialized, to avoid Purify warnings.
11672
11673         * alloc.c (resize_string): Fix unlikely crash with big strings.
11674
11675 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11676
11677         * realpath.c (xrealpath):
11678         Don't call getwd().
11679
11680 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11681
11682         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11683
11684 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11685
11686         * unexelfsgi.c (unexec): Change the way we decide which segment
11687         should be extended.
11688
11689         Assumption that .bss section should be outside the PT_LOADable
11690         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11691         it's present) is inside the 'data' segment. This would fail the
11692         test which was used to find a segment to grow and cover new
11693         heap. Instead of this assumption, I created another one - on IRIX
11694         the segment to grow should start below .bss and it's address
11695         should extent above the end of .bss. Once this segment is
11696         identified, it's grown to accommodate the new heap and new
11697         zero-length .bss section is added at the end of .data2.
11698
11699 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11700
11701         * eval.c (Feval): Wrong number of arguments should use original
11702         function, not the indirect_function version of it.
11703
11704 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11705
11706         * glyphs-x.c (x_button_instantiate): Don't add image if
11707         it is not a pixmap.
11708         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11709         is relative.
11710
11711 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11712
11713         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11714         declaration.
11715         (DEFVAR_INT_MAGIC): Ditto.
11716         (DEFVAR_BOOL_MAGIC): Ditto.
11717         * glyphs.h: Reindent backslash.
11718
11719 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11720
11721         * glyphs-widget.c (layout_query_geometry):
11722         (layout_layout): Use correct types for gheight, gwidth.
11723
11724 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11725
11726         * EmacsManager.c (QueryGeometry): Purified.
11727
11728 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11729
11730         * alloc.c (make_float): Make sure entire object is initialized, to
11731         avoid Purify warnings.
11732         (pdump_register_sub): Remove useless assignment.
11733         (pdump): Use xmalloc, not malloc.
11734         (pdump_load): Use xmalloc, not malloc.
11735
11736 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11737
11738         * callproc.c:
11739         * dired-msw.c:
11740         * fileio.c:
11741         * process-nt.c:
11742         * redisplay-msw.c:
11743         * sysdep.c: Removed redundant #include <windows.h>
11744
11745 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11746
11747         * frame.c (delete_frame_internal): Do not delete device when its
11748         implementation so declares.
11749         (delete_frame_internal): Set device selected frame to nil when
11750         last frame goes away.
11751
11752         * device-msw.c (msprinter_device_system_metrics): Implemented.
11753         (mswindows_device_system_metrics): Added 'device-dpi property.
11754
11755         * device.c: (Fdevice_printer_p): Added.
11756         Added 'offset-workspace device metric.
11757
11758         * console.h (device_metrics): Declared DM_offset_workspace.
11759
11760 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11761
11762         * fileio.c (Ffile_truename): Remove pointless and confusing
11763         initialization of elen.
11764
11765         * glyphs-widget.c: Compiler warning fixes.
11766
11767 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11768
11769         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11770         instead of a Lisp_Object as argument to make it consistent with
11771         the other LIVE_P macros.
11772         (CHECK_LIVE_PROCESS): New macro.
11773
11774         * process.c: Declare Qprocess_live_p.
11775         (Fprocess_live_p): New function.
11776         (create_process): Use PROCESS_LIVE_P.
11777         (read_process_output): Ditto.
11778         (set_process_filter): Ditto.
11779         (Fdelete_process): Ditto.
11780         (kill_buffer_processes): Ditto
11781         (process_send_signal): Use CHECK_LIVE_PROCESS.
11782         (Fprocess_input_coding_system): Check whether process is still
11783         alive (fix PR#1061).
11784         (Fprocess_output_coding_system): Ditto.
11785         (Fprocess_coding_system): Ditto.
11786         (Fset_process_input_coding_system): Ditto.
11787         (Fset_process_output_coding_system): Ditto.
11788
11789 2000-01-23  Andy Piper  <andy@xemacs.org>
11790
11791         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11792         layout and widget.
11793
11794         * glyphs.c (mark_image_instance): take into account changed
11795         image_instance format.
11796         (image_instance_equal): ditto.
11797         (image_instance_hash): ditto.
11798
11799         * glyphs-widget.c (widget_instantiate): Incorporate layout
11800         instantiation here. Delay layout of the layout until later.
11801         (layout_instantiate): deleted.
11802         (layout_query_geometry): new function. get the geometry of a
11803         layout.
11804         (layout_layout): layout a layout dynamically.
11805         (image_instantiator_widget): New function - splitting up
11806         image_instantiator_format_create_glyphs_widget for netwinder
11807         compilation.
11808         (image_instantiator_buttons):
11809         (image_instantiator_edit_fields):
11810         (image_instantiator_combo_box):
11811         (image_instantiator_scrollbar):
11812         (image_instantiator_progress_guage):
11813         (image_instantiator_tree_view):
11814         (image_instantiator_tab_control):
11815         (image_instantiator_labels):
11816         (image_instantiator_layout): ditto.
11817         (image_instantiator_format_create_glyphs_widget): Call preceding
11818         functions.
11819
11820 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11821
11822         * process.c (Fset_process_coding_system):
11823         * device-x.c (Fx_keysym_hash_table):
11824         Docstring fixes.
11825
11826         * lstream.c (Lstream_write): Return documented value, not 0.
11827
11828         * fileio.c (directory_file_name):
11829         (Fsubstitute_in_file_name):
11830         (Fsubstitute_insert_file_contents_internal):
11831         (Fwrite_region_internal):
11832         * emacs.c:
11833         * sysdep.c:
11834         * getloadavg.c:
11835         * systty.h:
11836         Remove vestigial APOLLO-conditional code.
11837
11838 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11839
11840         * getpagesize.h: Add guard macros.
11841         * libsst.h: Add guard macros.
11842         * libst.h: Add guard macros.
11843         * line-number.h: Add guard macros.
11844         * ndir.h: Add guard macros.
11845         * sysfloat.h: Add guard macros.
11846         * sysfile.h: Add guard macros.
11847         * sysproc.h: Add guard macros.
11848         * syswait.h: Add guard macros.
11849         * xintrinsic.h: Add guard macros.
11850         * xintrinsicp.h: Add guard macros.
11851         * xmmanager.h: Add guard macros.
11852         * xmmanagerp.h: Add guard macros.
11853         * xmprimitive.h: Add guard macros.
11854         * xmu.h: Add guard macros.
11855         * gpmevent.h: Add copyright statement. Add guard macros.
11856         * miscplay.h: Add guard macros.
11857         * *.h: Use consistent C-standards-approved guard macro names.
11858
11859         * opaque.c (make_opaque): Switch parameter order.
11860         * opaque.h (make_opaque): Switch parameter order.
11861         Update all callers.
11862         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11863
11864         * config.h.in (type_checking_assert): Added.
11865         (bufpos_checking_assert): Added.
11866
11867 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11868
11869         * alloc.c: Harmless pdump changes.
11870         - Use countof().
11871         - spell alignment correctly.
11872         * sysdep.c: Use countof()
11873
11874 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11875
11876         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11877         initially_selected_for_input() console method, default to 0.
11878         (semi_canonicalize_console_connection): Try to delegate to
11879         canonicalize_console_connection if no such console method.
11880         (canonicalize_console_connection): Vice versa.
11881         (print_console): Do not print nil connection.
11882
11883         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11884         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11885         (XDEVIMPF_FRAMELESS_OK): Added.
11886         (CONSOLE_INHERITS_METHOD): Added.
11887
11888         * console-msw.c (mswindows_canonicalize_console_connection):
11889         Added.
11890         (mswindows_canonicalize_device_connection): Added.
11891
11892         * console-msw.h (struct msprinter_device): Added this struct and
11893         accessor macros.
11894         (mswindows_device): Made fontlist a lisp object.
11895
11896         * device.c (semi_canonicalize_device_connection):  Try to delegate
11897         to canonicalize_device_connection if no such console method.
11898         (canonicalize_device_connection): Vice versa.
11899         (print_device): Do not print nil connection.
11900
11901         * device-msw.c (mswindows_init_device): Call InitCommonControls
11902         when have widgets.
11903         (mswindows_delete_device): Removed fontlist deallocation.
11904         (mswindows_mark_device): Added.
11905
11906         * events.c (event_equal): Added abort() at unreached code.
11907         (event_hash): Ditto.
11908
11909         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11910         fallback tags of Windows devices.
11911
11912         * general.c (syms_of_general): Initialized Qmsprinter.
11913
11914         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11915         of fallback tags of Windows devices.
11916
11917         * lisp.h: Declared Qmsprinter.
11918
11919         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11920         of strings.
11921         (mswindows_list_fonts): Ditto.
11922         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11923         that it can be used by both mswindows and msprinter devices.
11924         (initialize_font_instance): Added.
11925         (mswindows_initialize_font_instance): Use it.
11926         (msprinter_initialize_font_instance): Added.
11927
11928         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
11929         and implementation flags check.
11930         (redisplay_without_hooks): Changed the call to the above.
11931         (Fredraw_device): Ditto.
11932         (Fredisplay_device): Ditto.
11933
11934         * redisplay-msw.c (get_frame_dc): Implemented.
11935         (get_frame_compdc): Implemented.
11936         (many functions): Use the two functions above to get device
11937         contexts, ether for a window or a printer.
11938
11939 2000-01-21  Olivier Galibert  <galibert@pobox.com>
11940
11941         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
11942         initialization here.
11943         (init_symbols_once_early): Call it.
11944         * emacs.c (main_1): Call it.
11945         * symsinit.h: Declare it.
11946
11947 2000-01-19  Olivier Galibert  <galibert@pobox.com>
11948
11949         * alloc.c: Use a lrecord_header * in the backtrace instead of a
11950         Lisp_Object.
11951         (pdump_backtrace): Ditto.
11952         (pdump_register_object): Ditto.  Cleanup use of the pointers.
11953         (pdump_get_entry): Abort if trying to register a null pointer.
11954         (pdump_dump_data): Cleanup types when relocating.
11955         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
11956         (pdump_dump_rtables): Remove bad casts.
11957         (pdump_load): Cleanup relocation w.r.t union type.  Use a
11958         Lisp_Object instead of a EMACS_INT for the hashtable
11959         reorganization.
11960
11961 2000-01-20  Martin Buchholz  <martin@xemacs.org>
11962
11963         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
11964
11965         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
11966
11967         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
11968
11969         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
11970
11971 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11972
11973         * faces.h (FACE_STRIKETHRU_P): Added.
11974
11975         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
11976         of font variants.
11977
11978         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
11979         (mswindows_set_dc_font): New function, aware of font variants,
11980         separated from mswindows_update_dc.
11981
11982         * objects-msw.h (struct mswindows_font_instance_data): Added
11983         definition.
11984
11985         * objects-msw.c (mswindows_finalize_font_instance): Delete all
11986         cached fonts and the data structure.
11987         (mswindows_initialize_font_instance): Added creation of font data
11988         structure.
11989         (mswindows_print_font_instance): Print at least something.
11990         (mswindows_create_font_variant): Implemented.
11991         (mswindows_get_hfont): Implemented.
11992
11993 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
11994
11995         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
11996         prototyping problem with msvc.
11997
11998         * emacs.c (main_1): added syms_of_gui_mswindows() call
11999
12000         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12001         syms_of_gui_mswindows() function
12002
12003         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12004
12005 2000-01-18  Martin Buchholz <martin@xemacs.org>
12006
12007         * XEmacs 21.2.27 is released.
12008
12009 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12010
12011         * glyphs-eimage.c (struct tiff_error_struct):
12012         (tiff_error_func):
12013         (tiff_warning_func):
12014         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12015
12016         * unexmips.c:
12017         * unexhp9k3.c:
12018         * unexfreebsd.c:
12019         * unexec.c: Remove vestigial Lucid C code.
12020         * unexalpha.c:
12021         * unexaix.c:
12022         * termcap.c:
12023         * libsst.c: Ansify.
12024         Remove declarations of errno and strerror().
12025
12026         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12027
12028         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12029
12030 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12031
12032         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12033         Optimize.
12034
12035 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12036
12037         * md5.c:
12038         * file-coding.c:
12039         * file-coding.h:
12040         Change enum eol_type to eol_type_t.
12041
12042 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12043
12044         * gui.c (get_gui_callback): Check cons before accessing car.
12045
12046 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12047
12048         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12049         (XSETSPECIFIER_TYPE): Ditto.
12050
12051 2000-01-17  Didier Verna  <didier@xemacs.org>
12052
12053         * redisplay.c (generate_fstring_runes): compute string size in
12054         characters, not bytes.
12055
12056 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12057
12058         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12059
12060 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12061
12062         * print.c (print_error_message): Call print_prepare().
12063
12064 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12065
12066         * .dbxrc: Renamed from dbxrc.
12067
12068         * events.c (event_to_character):
12069         Use `assert (foo)' instead of `if (!foo) abort()'
12070
12071         * .gdbinit (xtype): Add documentation.
12072         * .gdbinit (check-temacs): New function.
12073         * .gdbinit (check-xemacs): New function.
12074         * dbxrc (check-xemacs): New function.
12075         * dbxrc (check-xemacs): New function.
12076
12077 2000-01-14  Andy Piper  <andy@xemacs.org>
12078
12079         * glyphs-widget.c (widget_query_geometry): Make sure that we
12080         calculate default dimensions correctly.
12081
12082 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12083
12084         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12085
12086         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12087         pdump_wire'd variable.
12088
12089         * emacs.c: (main_1): Conditionalized calls to
12090         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12091
12092 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12093
12094         * window.c (Fset_window_configuration):
12095         * sysdep.c (_start):
12096         * input-method-motif.c (res):
12097         * event-Xt.c (Xt_process_to_emacs_event):
12098         Simple compiler warning fixes.
12099
12100         * bytecode.c (funcall_compiled_function): Use the original
12101         function symbol on the backtrace list in preference to the
12102         compiled_function object in error messages.
12103
12104 2000-01-13  Andy Piper  <andy@xemacs.org>
12105
12106         * glyphs-x.c (update_widget_face): Make sure we update the widget
12107         background as well as foreground.
12108
12109 2000-01-13  Andy Piper  <andy@xemacs.org>
12110
12111         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12112         fields to subwindow.
12113         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12114         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12115         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12116         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12117
12118         * glyphs-widget.c (check_valid_tab_orientation): new function.
12119         (initialize_widget_image_instance): zero orientation and
12120         justification.
12121         (widget_instantiate): pick up orientation.
12122         (tab_control_query_geometry): return appropriate values for
12123         vertical tabs.
12124
12125         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12126         appropriate creation flags for left, right and bottom tabs.
12127
12128         * s/cygwin32.h: add tab definitions.
12129
12130 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12131
12132         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12133         frame upon hiding a subwindow.
12134         (mswindows_button_instantiate): Changed the push button style to
12135         BS_PUSHBUTTON.
12136         (mswindows_button_instantiate): Removed button BS_NOTIFY
12137         style.
12138         (mswindows_button_instantiate): Removed redundant check for
12139         a disabled gui item.
12140         (mswindows_button_instantiate): Made use of WS_TABSTOP
12141         consistent: "operable" controls (edit, button, tree, scroll) have
12142         this style, "display-only" ones (static, progress gauge) do
12143         not. This style is currently ignored by XEmacs though. Also,
12144         removed the WS_EX_CONTROLPARENT style - it is not for children,
12145         it is for their parents!
12146         (mswindows_edit_field_instantiate): Ditto.
12147         (mswindows_progress_gauge_instantiate): Ditto.
12148         (mswindows_tree_view_instantiate): Ditto.
12149         (mswindows_tab_control_instantiate): Ditto.
12150         (mswindows_scrollbar_instantiate): Ditto.
12151         (mswindows_combo_box_instantiate): Ditto.
12152         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12153         style to the "clip" window.
12154         (mswindows_button_instantiate): Removed compilation warning by
12155         equally typing terms of the ?: operator.
12156
12157 2000-01-12  Didier Verna  <didier@xemacs.org>
12158
12159         * redisplay.c (generate_fstring_runes): new parameter holding the
12160         last modeline-format extent.
12161         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12162         extent, fill the glyph block with it.
12163         (generate_fstring_runes): handle these parameters.
12164         (generate_formatted_string_db): ditto.
12165
12166         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12167         glyphs'extents in the modeline.
12168
12169 1999-01-11  Mike Woolley  <mike@bulsara.com>
12170
12171         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12172         256Mb, as a workaround for the non-starting problem many people
12173         have experienced.
12174
12175 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12176
12177         * console-tty.c (Fset_console_tty_output_coding_system):
12178         Force redrawing tty frame.
12179
12180 2000-01-10  Didier Verna  <didier@xemacs.org>
12181
12182         * redisplay.c (generate_fstring_runes): fix size computation bug.
12183
12184 2000-01-09  William M. Perry <wmperry@aventail.com>
12185
12186         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12187
12188 2000-01-09  Andy Piper  <andy@xemacs.org>
12189
12190         * glyphs-msw.c: index -> i to avoid shadows.
12191         (xbm_create_bitmap_from_data): make static.
12192         (check_valid_string_or_int): deleted.
12193         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12194
12195         * glyphs-x.c (x_update_subwindow): remove unused args.
12196
12197         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12198         back pointer - this is done in allocate_image_instance.
12199         (query_string_font): return Qnil to make the compiler happy.
12200         (unmap_subwindow): set to ~0 to make the compiler happy.
12201         (glyph_query_geometry): comment out until used.
12202         (glyph_layout): ditto.
12203
12204 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12205
12206         * insdel.c (signal_after_change): Remove extraneous unbind_to().