update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (decoding_table_put_char): Use `make_vector'
4         instead of `make_older_vector'.
5         (put_char_ccs_code_point): Likewise.
6         (mark_charset): Mark `cs->decoding_table'.
7         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
8
9         * lisp.h (make_older_vector): Deleted.
10         (make_vector_newer): Deleted.
11
12         * config.h.in (HAVE_GGC): Deleted.
13
14         * alloc.c (make_older_vector): Deleted.
15         (make_vector_newer_1): Deleted.
16         (make_vector_newer): Deleted.
17
18 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
19
20         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
21         (Qideograph_daikanwa_2): New variable.
22         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
23         (complex_vars_of_mule_charset): Add new coded-charset
24         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
25         `LEADING_BYTE_DAIKANWA'.
26
27         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
28         (LEADING_BYTE_DAIKANWA_1): New macro.
29         (LEADING_BYTE_DAIKANWA_2): New macro.
30         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
31
32 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
33
34         * mule-charset.c (complex_vars_of_mule_charset): Change
35         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
36         the second revised version.
37
38 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
39
40         * mule-charset.c (Vcharset_ucs_smp): New variable.
41         (Vcharset_ucs_sip): New variable.
42         (Qucs_smp): New variable.
43         (Qucs_sip): New variable.
44         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
45         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
46         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
47         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
48         `ucs-bmp'; addn new coded-charset `ucs-smp' and `ucs-sip'; change
49         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
50
51         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
52         (LEADING_BYTE_UCS_SIP): New macro.
53         (MIN_CHAR_SMP): New macro.
54         (MAX_CHAR_SMP): New macro.
55         (MIN_CHAR_SIP): New macro.
56         (MAX_CHAR_SIP): New macro.
57
58 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
59
60         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
61         utf-2000.
62
63 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
64
65         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
66         value; don't store value into `encoding_table' of `Lisp_Charset'.
67         (mark_charset): `encoding_table' was deleted.
68         (charset_description): Likewise.
69         (make_charset): Likewise.
70         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
71         `put_char_ccs_code_point'.
72
73         * chartab.h (Fput_char_attribute): New EXFUN.
74
75         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
76         is unified with normal symbol space.
77         (Fget_char_attribute): Likewise.
78         (Fput_char_attribute): Likewise; behavior of
79         `put_char_ccs_code_point' is changed.
80
81         * char-ucs.h: Include "elhash.h".
82         (Vchar_attribute_hash_table): New external variable.
83         (struct Lisp_Charset): Delete `encoding_table'.
84         (CHARSET_ENCODING_TABLE): New implementation; refer
85         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
86         `Lisp_Charset'.
87
88 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
89
90         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
91         (cs) == 0.
92
93 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
94
95         * text-coding.c (char_encode_big5): Prefer charset-g1 than
96         `chinese-big5'.
97
98 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
99
100         * chartab.c (uint8_byte_table_description): New constant.
101         (uint8-byte-table): Use `uint8_byte_table_description'.
102         (uint16_byte_table_description): New constant.
103         (uint16-byte-table): Use `uint16_byte_table_description'.
104
105 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
106
107         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
108         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
109
110 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
111
112         * mule-charset.c (Vcharset_ucs_ks): New variable.
113         (Qucs_ks): New variable.
114         (syms_of_mule_charset): Add new symbol `ucs-ks'.
115         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
116
117         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
118
119 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
120
121         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
122         (Fdecode_char): Likewise.
123
124         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
125         chartab.h.
126         (Fdefine_char): Modify for Fdecode_char.
127         (Ffind_char): Likewise.
128
129         * mule-charset.c (Fdecode_char): Add new optional argument
130         `defined-only'.
131         (Fdecode_builtin_char): Modify for `Fdecode_char'.
132
133 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
134
135         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
136         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
137         (allocate_coding_system): Initialize initial-charsets of
138         CODESYS_BIG5 in XEmacs UTF-2000.
139         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
140         CODESYS_BIG5 in XEmacs UTF-2000.
141         (decode_coding_big5): Use initial-charset-g0 and -g1 of
142         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
143
144         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
145         variables.
146         (Qideograph_hanziku_{1 .. 12}): Likewise.
147         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
148         .. 12}'.
149         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
150         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
151         `ideograph-hanziku-{1 .. 12}'.
152
153         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
154         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
155         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
156         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
157         (DECODE_DEFINED_CHAR): New inline function.
158         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
159
160 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
161
162         * mule-charset.c (Vcharset_china3_jef): Renamed from
163         `Vcharset_japanese_jef_china3'.
164         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
165         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
166         `{MIN|MAX}_CHAR_JEF_CHINA3'..
167         (syms_of_mule_charset): Rename `china3-jef' from
168         `japanese-jef-china3'.
169         (complex_vars_of_mule_charset): Likewise; rename
170         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
171
172         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
173         `LEADING_BYTE_JEF_CHINA3'.
174         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
175         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
176
177 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
178
179         * mule-charset.c (encode_builtin_char_1): Comment out special code
180         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
181
182         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
183         (MAX_CHAR_MOJIKYO_0): Comment out.
184         (MIN_CHAR_CBETA): Changed to 0x00E20000.
185         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
186         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
187         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
188
189 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
190
191         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
192         (Qideograph_cbeta): New variable.
193         (encode_builtin_char_1): Comment out special code for
194         coded-charset `mojikyo' and `japanese-jef-china3'.
195         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
196         (complex_vars_of_mule_charset): Add new coded-charset
197         `ideograph-cbeta'.
198
199         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
200         (MIN_CHAR_CBETA): New macro.
201         (MAX_CHAR_CBETA): New macro.
202
203 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
204
205         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
206         (LEADING_BYTE_JEF_CHINA3): New macro.
207         (MIN_CHAR_JEF_CHINA3): New macro.
208         (MAX_CHAR_JEF_CHINA3): Likewise.
209         (DECODE_CHAR): Fixed.
210
211 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
212
213         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
214         (Qjapanese_jef_china3): New variable.
215         (encode_builtin_char_1): Support `japanese-jef-china3'.
216         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
217         (complex_vars_of_mule_charset): Add new coded-charset
218         `japanese-jef-china3'.
219
220 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
221
222         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
223         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
224         94^4, 96^3, 96^4, 128^n and 256^n set.
225         (put_char_table): Use `XCHARSET_CELL_RANGE'.
226         (map_char_table): Likewise.
227
228 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
229
230         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
231         UTF-2000.
232
233 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
234
235         * chartab.h (get_char_id_table): New inline function.
236
237         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
238         function.
239
240 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
241
242         * chartab.h (decode_char_table_range): New prototype in XEmacs
243         UTF-2000.
244         (put_char_id_table): New inline function in XEmacs UTF-2000.
245
246         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
247         function.
248         (decode_char_table_range): Delete static declaration in XEmacs
249         UTF-2000.
250
251 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
252
253         * chartab.c (put_char_id_table): Use `put_char_table'.
254
255 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
256
257         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
258         (map_over_uint16_byte_table): Likewise.
259         (map_over_byte_table): Likewise.
260         (map_char_table): Modify for `map_over_uint8_byte_table',
261         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
262         UTF-2000.
263
264 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
265
266         * chartab.c (struct map_char_table_for_charset_arg): New
267         structure.
268         (map_char_table_for_charset_fun): New function.
269         (map_char_table): Use `map_char_table' for encoding_table of
270         `range->charset'.
271
272 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
273
274         * chartab.c (map_char_table): Check a character is found in
275         range->charset instead of non default value is defined in
276         char-table when range is CHARTAB_RANGE_ROW.
277
278 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
279
280         * chartab.c (map_char_id_table): Deleted.
281         (Fmap_char_attribute): Use `map_char_table' instead of
282         `map_char_id_table'.
283
284 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
285
286         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
287         UTF-2000.
288         (update_syntax_table): Deleted in XEmacs UTF-2000.
289
290         * syntax.c (find_defun_start): Use `syntax_table' instead of
291         `mirror_syntax_table' in XEmacs UTF-2000.
292         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
293         UTF-2000.
294         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
295         XEmacs UTF-2000.
296         (Fmatching_paren): Likewise.
297         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
298         in XEmacs UTF-2000.
299         (find_start_of_comment): Likewise.
300         (find_end_of_comment): Likewise.
301         (Fforward_comment): Likewise.
302         (scan_lists): Likewise.
303         (char_quoted): Likewise.
304         (Fbackward_prefix_chars): Likewise.
305         (scan_sexps_forward): Likewise.
306         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
307         (update_syntax_table): Likewise.
308
309         * search.c (skip_chars): Use `syntax_table' instead of
310         `mirror_syntax_table' in XEmacs UTF-2000.
311         (wordify): Likewise.
312         (Freplace_match): Likewise.
313
314         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
315         `mirror_syntax_table' in XEmacs UTF-2000.
316         (WORDCHAR_P_UNSAFE): Likewise.
317         (re_match_2_internal): Likewise.
318
319         * font-lock.c (find_context): Use `buf->syntax_table' instead of
320         `buf->mirror_syntax_table' in XEmacs UTF-2000.
321
322         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
323         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
324
325         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
326         XEmacs UTF-2000.
327
328         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
329         UTF-2000.
330         (print_char_table): Print `default_value' in XEmacs UTF-2000.
331         (char_table_description): Delete `mirror_table' in XEmacs
332         UTF-2000.
333         (fill_char_table): Don't call `update_syntax_table' in XEmacs
334         UTF-2000.
335         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
336         (Fcopy_char_table): Likewise.
337         (put_char_table): Don't call `update_syntax_table' in XEmacs
338         UTF-2000.
339
340         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
341         `buf->mirror_syntax_table' in XEmacs UTF-2000.
342         (casify_region_internal): Likewise.
343
344         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
345
346         * buffer.c (common_init_complex_vars_of_buffer): Don't use
347         `mirror_syntax_table' in XEmacs UTF-2000.
348
349         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
350         `buf->mirror_syntax_table' in XEmacs UTF-2000.
351         (Fexpand_abbrev): Likewise.
352
353 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
354
355         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
356
357 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
358
359         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
360         (map_over_uint16_byte_table): Likewise.
361         (map_over_byte_table): Likewise.
362         (get_char_id_table): Refer `cit->default_value'.
363         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
364         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
365         of character-id ranges.
366         (mark_char_table): Mark `ct->default_value'.
367         (char_table_description): Add `default_value'.
368         (fill_char_table): Use `default_value'.
369         (decode_char_table_range): Decode `nil' as
370         `CHARTAB_RANGE_DEFAULT'.
371         (get_char_id_table): Refer `cit->default_value'.
372         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
373         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
374         temporary hack; check value of char-table is bound or not.
375         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
376
377         * chartab.h (struct Lisp_Char_Table): Add new member
378         `default_value' in XEmacs UTF-2000.
379         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
380         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
381         UTF-2000.
382
383 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
384
385         * chartab.h (Lisp_Char_ID_Table): Deleted.
386
387         * chartab.c (char_table_description): Fix typo.
388         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
389         `Lisp_Char_ID_Table'.
390
391 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
392
393         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
394         `CHAR_ID_TABLE_P'.
395
396         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
397         `CHAR_ID_TABLE_P'.
398
399         * chartab.h (XCHAR_ID_TABLE): Deleted.
400         (XSETCHAR_ID_TABLE): Deleted.
401         (CHAR_ID_TABLE_P): Deleted.
402
403         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
404         `CHAR_ID_TABLE_P'.
405         (Fget_composite_char): Likewise.
406         (put_char_table): Likewise.
407         (add_char_attribute_alist_mapper): Fixed.
408         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
409         `CHAR_ID_TABLE_P'.
410         (Fget_char_attribute): Likewise.
411         (Fget_char_attribute): Likewise.
412         (Fmap_char_attribute): Likewise.
413
414         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
415         `CHAR_ID_TABLE_P'.
416         (encode_char_1): Likewise.
417
418 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
419
420         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
421         `XCHAR_ID_TABLE'.
422
423         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
424         instead of `XCHAR_ID_TABLE'.
425         (remove_char_ccs): Likewise.
426
427         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
428         `XCHAR_ID_TABLE'.
429         (Fget_composite_char): Likewise.
430         (Fchar_variants): Likewise.
431         (put_char_table): Likewise.
432         (add_char_attribute_alist_mapper): Likewise.
433         (Fchar_attribute_alist): Likewise.
434         (Fget_char_attribute): Likewise.
435         (Fput_char_attribute): Likewise.
436         (Fmap_char_attribute): Likewise.
437         (Fmap_char_attribute): Likewise.
438
439         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
440         `XCHAR_ID_TABLE'.
441         (encode_char_1): Likewise.
442
443 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
444
445         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
446         `Lisp_Char_ID_Table'.
447         (mark_char_id_table): Deleted.
448         (print_char_id_table): Likewise.
449         (char_id_table_equal): Likewise.
450         (char_id_table_hash): Likewise.
451         (char_id_table_description): Likewise.
452         (char_id_table): Likewise.
453         (make_char_id_table): Use `Fmake_char_table' and
454         `fill_char_table'.
455         (get_char_id_table): Use `Lisp_Char_Table' instead of
456         `Lisp_Char_ID_Table'.
457         (put_char_id_table): Likewise.
458         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
459         `XCHAR_ID_TABLE'.
460         (Fremove_char_attribute): Likewise.
461         (syms_of_chartab): Don't define type `char-id-table'.
462
463         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
464         (char_id_table): Likewise.
465         (GC_CHAR_ID_TABLE_P): Likewise.
466         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
467         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
468         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
469         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
470         (get_char_id_table): Use `Lisp_Char_Table' instead of
471         `Lisp_Char_ID_Table'.
472         (put_char_id_table_0): Likewise.
473         (put_char_id_table): Likewise.
474
475 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
476
477         * chartab.h: Lisp_Byte_Table related codes are moved from
478         chartab.h.
479
480         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
481
482 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
483
484         * chartab.h: Don't include "chartab.h".
485         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
486         (Lisp_Char_ID_Table): Likewise.
487         (char_id_table): Likewise.
488         (XCHAR_ID_TABLE): Likewise.
489         (XSETCHAR_ID_TABLE): Likewise.
490         (CHAR_ID_TABLE_P): Likewise.
491         (GC_CHAR_ID_TABLE_P): Likewise.
492         (get_char_id_table): Likewise.
493
494         * char-ucs.h: Include "chartab.h".
495         (struct Lisp_Char_ID_Table): Moved to chartab.h.
496         (Lisp_Char_ID_Table): Likewise.
497         (char_id_table): Likewise.
498         (XCHAR_ID_TABLE): Likewise.
499         (XSETCHAR_ID_TABLE): Likewise.
500         (CHAR_ID_TABLE_P): Likewise.
501         (GC_CHAR_ID_TABLE_P): Likewise.
502         (get_char_id_table): Likewise.
503
504 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
505
506         * chartab.c (copy_uint8_byte_table): New function.
507         (copy_uint16_byte_table): New function.
508         (copy_byte_table): New function.
509         (map_over_uint8_byte_table): Modify to avoid huge numbers of
510         characters to call.
511         (map_over_uint16_byte_table): Likewise.
512         (map_over_byte_table): Likewise.
513         (get_byte_table): Move prototype to chartab.h.
514         (put_byte_table): Likewise.
515         (put_char_id_table_0): Moved to chartab.h.
516         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
517         (char_table_entry_equal): Likewise.
518         (char_table_entry_hash): Likewise.
519         (char_table_entry_description): Likewise.
520         (char_table_entry): Likewise.
521         (make_char_table_entry): Likewise.
522         (copy_char_table_entry): Likewise.
523         (get_non_ascii_char_table_value): Likewise.
524         (map_over_charset_ascii): Likewise.
525         (map_over_charset_control_1): Likewise.
526         (map_over_charset_row): Likewise.
527         (map_over_other_charset): Likewise.
528         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
529         (print_char_table): Likewise.
530         (char_table_equal): Likewise.
531         (char_table_hash): Likewise.
532         (char_table_description): Likewise.
533         (fill_char_table): Likewise.
534         (Fcopy_char_table): Likewise.
535         (get_char_table): Likewise.
536         (Fget_range_char_table): Likewise.
537         (put_char_table): Likewise.
538         (map_char_table): Likewise.
539         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
540         UTF-2000.
541
542 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
543
544         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
545         `Vauto_fill_chars' in XEmacs UTF-2000.
546
547         * chartab.h (get_byte_table): New prototype [moved from
548         chartab.c].
549         (put_byte_table): Likewise [moved from chartab.c].
550         (put_char_id_table_0): New inline function [moved from chartab.c].
551         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
552         (Lisp_Char_Table_Entry): Likewise.
553         (char_table_entry): Likewise.
554         (XCHAR_TABLE_ENTRY): Likewise.
555         (XSETCHAR_TABLE_ENTRY): Likewise.
556         (CHAR_TABLE_ENTRYP): Likewise.
557         (CHECK_CHAR_TABLE_ENTRY): Likewise.
558         (NUM_ASCII_CHARS): Likewise.
559         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
560         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
561
562 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
563
564         * chartab.c (get_char_id_table): Change interface.
565         (put_char_id_table_0): New function.
566         (put_char_id_table): Change interface; new implementation.
567         (Fget_composite_char): Modify for interface change of
568         `get_char_id_table'.
569         (Fchar_variants): Likewise.
570         (add_char_attribute_alist_mapper): Likewise.
571         (Fchar_attribute_alist): Likewise.
572         (Fget_char_attribute): Likewise.
573         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
574         as same as character as the first argument like `put-char-table';
575         modify for interface change of `put_char_id_table'.
576         (Fremove_char_attribute): Modify for interface change of
577         `put_char_id_table'.
578
579 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
580
581         * text-coding.c: Sync up with XEmacs 21.2.41.
582         (COMPOSE_ADD_CHAR): Modify for interface change of
583         `get_char_id_table'.
584
585         * mule-charset.c (put_char_ccs_code_point): Modify for interface
586         change of `put_char_id_table'.
587         (remove_char_ccs): Likewise.
588
589         * chartab.h (put_char_id_table): Change interface.
590
591         * char-ucs.h (get_char_id_table): Change interface.
592         (charset_code_point): Modify for interface change of
593         `get_char_id_table'.
594         (encode_char_1): Likewise.
595
596 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
597
598         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
599         argument `ccs'.
600         (map_over_uint16_byte_table): Likewise.
601         (map_over_byte_table): Likewise.
602         (map_char_id_table): Add new argument `range' like
603         `map_char_table'.
604         (Fmap_char_attribute): Add new argument `range' like
605         `Fmap_char_table'.
606
607 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
608
609         * chartab.c (map_over_uint8_byte_table): Change interface of
610         mapping function to use struct chartab_range instead of Emchar.
611         (map_over_uint16_byte_table): Likewise.
612         (map_over_byte_table): Likewise.
613         (map_char_id_table): Likewise.
614         (struct slow_map_char_id_table_arg): Deleted.
615         (slow_map_char_id_table_fun): Deleted.
616         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
617         function `slow_map_char_table_fun' instead of struct
618         `slow_map_char_id_table_arg' and function
619         `slow_map_char_id_table_fun'.
620
621 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
622
623         * mule-charset.c: Move char-it-table related codes to chartab.c.
624         (Vutf_2000_version): Moved to chartab.c.
625         (Fdefine_char): Likewise.
626         (Ffind_char): Likewise.
627         (syms_of_mule_charset): Move types `uint8-byte-table',
628         `uint16-byte-table', `byte-table' and `char-id-table' to
629         chartab.c; move functions `char_attribute_list,
630         `find_char_attribute_table, `char_attribute_alist,
631         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
632         `map_char_attribute, `define_char, `find_char, `char_variants and
633         `get_composite_char to chartab.c; move symbols `=>ucs',
634         `->decomposition', `compat', `isolated', `initial', `medial',
635         `final', `vertical', `noBreak', `fraction', `super', `sub',
636         `circle', `square', `wide', `narrow', `small' and `font' to
637         chartab.c.
638         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
639         setting codes for `Vcharacter_composition_table' and
640         `Vcharacter_variant_table' to chartab.c.
641         (complex_vars_of_mule_charset): Move setting code for
642         `Vchar_attribute_hash_table' to chartab.c.
643
644         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
645         (make_char_id_table): New prototype.
646         (put_char_id_table): Likewise.
647         (Fget_char_attribute): Likewise.
648
649         * chartab.c: Move char-id-table related code from mule-charset.c.
650         (Vutf_2000_version): Moved from mule-charset.c.
651
652         * char-ucs.h (Qucs): New external variable.
653         (put_char_ccs_code_point): New prototype.
654         (remove_char_ccs): Likewise.
655
656 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
657
658         * mule-charset.c (Vcharset_ucs_jis): New variable.
659         (Qucs_jis): Likewise.
660         (syms_of_mule_charset): Add new symbol `ucs-jis'.
661         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
662
663         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
664
665 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
666
667         * mule-charset.c (map_over_uint8_byte_table): New function.
668         (map_over_uint16_byte_table): Likewise.
669         (map_over_byte_table): Likewise.
670         (map_char_id_table): Likewise.
671         (slow_map_char_id_table_fun): Likewise.
672         (Fmap_char_attribute): Likewise.
673         (syms_of_mule_charset): Add new function `map-char-attribute'.
674
675 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
676
677         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
678         (syms_of_mule_charset): Add new function `find-char'.
679
680 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
681
682         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
683         XEmacs UTF-2000.
684         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
685         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
686         XEmacs UTF-2000.
687         (complex_vars_of_mule_charset): Add new coded-charset
688         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
689         `ideograph-gt-pj-*'.
690
691         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
692
693 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
694
695         * mule-charset.c (encode_builtin_char_1): Purge codes about
696         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
697         {MIN|MAX}_CHAR_HEBREW.
698         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
699         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
700
701         * char-ucs.h (MIN_CHAR_GREEK): Purged.
702         (MAX_CHAR_GREEK): Purged.
703         (MIN_CHAR_CYRILLIC): Purged.
704         (MAX_CHAR_CYRILLIC): Purged.
705         (MIN_CHAR_HEBREW): Commented out.
706         (MAX_CHAR_HEBREW): Likewise.
707
708 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
709
710         * mule-charset.c (Qto_ucs): New variable.
711         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
712         (Fdefine_char): Likewise.
713         (syms_of_mule_charset): Add new symbol `=>ucs'.
714
715 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
716
717         * mule-charset.c (Fdecode_char): Fixed.
718
719 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
720
721         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
722         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
723         "tcvn5712-1".
724
725 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
726
727         * mule-charset.c (Vcharset_ucs_big5): New variable.
728         (Qucs_big5): Likewise.
729         (syms_of_mule_charset): Add new symbol `ucs-big5'.
730         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
731
732         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
733
734 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
735
736         * mule-charset.c (decode_builtin_char): Check Big5 code range
737         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
738
739 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
740
741         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
742         (Qchinese_gb12345): Likewise.
743         (Fdecode_builtin_char): Fixed.
744         (syms_of_mule_charset): Add `chinese-gb12345'.
745         (complex_vars_of_mule_charset): Add coded-charset
746         `chinese-gb12345'.
747
748         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
749         (LEADING_BYTE_CHINESE_GB12345): New macro.
750
751 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
752
753         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
754         and `latin-viscii-upper' for `latin-viscii'.
755
756 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
757
758         * mule-charset.c (Fdecode_builtin_char): Comment out
759         regularization code for ISO-IR GR representation.
760
761 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
762
763         * mule-charset.c (decode_builtin_char): New function; renamed from
764         `make_builtin_char'; return -1 instead of signal.
765         (Fdecode_builtin_char): Use `decode_builtin_char'.
766
767         * char-ucs.h (decode_builtin_char): New prototype; renamed from
768         `make_builtin_char'.
769         (DECODE_CHAR): Use `decode_builtin_char' instead of
770         `make_builtin_char'; use mapping table of `chinese-big5' for
771         `chinese-big5-{1,2}'.
772
773 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
774
775         * text-coding.c (char_encode_big5): New function.
776         (char_finish_big5): Likewise.
777         (reset_encoding_stream): Use `char_encode_big5' and
778         `char_finish_big5' for CODESYS_BIG5.
779         (mule_encode): Don't use `encode_coding_big5'.
780         (encode_coding_big5): Deleted.
781
782 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
783
784         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
785         0x81- in XEmacs UTF-2000.
786         (detect_coding_big5): Likewise.
787
788 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
789
790         * mule-charset.c (Fdefine_char): Don't use a CCS property to
791         generate character-id if the CCS property does not have
792         corresponding predefined character.
793         (make_builtin_char): Return -1 if corresponding predefined
794         character is not found.
795         (Fdecode_char): Return nil if corresponding character is not
796         found.
797         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
798         don't map to builtin ucs space.
799
800 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
801
802         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
803         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
804
805 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
806
807         * mule-charset.c (Vcharset_ideograph_gt): New variable.
808         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
809         (Qideograph_gt): Likewise.
810         (Qideograph_gt_pj_{1..11}): Likewise.
811         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
812         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
813         `ideograph-gt-pj-11'.
814         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
815         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
816         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
817
818         * char-ucs.h (LEADING_BYTE_GT): New macro.
819         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
820         (MIN_CHAR_GT): Likewise.
821         (MAX_CHAR_GT): Likewise.
822
823 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
824
825         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
826         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
827
828         * doprnt.c (unsigned_int_converters): Add `c'.
829         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
830
831         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
832         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
833         `MIN_CHAR_MOJIKYO'.
834         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
835         (MAX_CHAR_MOJIKYO_0): New macro.
836         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
837
838 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
839
840         * mule-charset.c (Fdefine_char): Delete cemented out code.
841         (encode_builtin_char_1): Modify for new allocation of builtin
842         Mojikyo characters.
843
844         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
845
846 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
847
848         * mule-charset.c (Vcharset_ucs_cns): New variable.
849         (Qucs_cns): New variable.
850         (syms_of_mule_charset): Add new symbol `ucs-cns'.
851         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
852
853 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
854
855         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
856
857 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
858
859         * search.c (search_buffer): Make `charset_base_code' as
860         character-id >> 6 to eliminate the corresponding last byte in
861         UTF-8 representation [I'm not sure it is right thing].
862         (boyer_moore): Likewise.
863
864 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
865
866         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
867         representation in MULE.
868
869 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
870
871         * text-coding.c (Fmake_coding_system): Use
872         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
873         `EXTERNAL_PROPERTY_LIST_LOOP'.
874
875 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
876
877         * text-coding.c (decode_output_utf8_partial_char): New function.
878         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
879
880 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
881
882         * text-coding.c (decode_coding_utf8): Output original byte
883         sequence if it is broken; change order of conditions.
884
885         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
886         of conditions.
887
888         * mb-multibyte.h (BYTE_ASCII_P):
889         Use bit ops for char-signedness safety.
890         (BYTE_C0_P): Use bit ops for char-signedness safety.
891         (BYTE_C1_P): Use bit ops for char-signedness safety.
892
893         * character.h: (XCHAR_OR_CHAR_INT):
894         Always use inline function.
895         Remove redundant type checking assert() - XINT will abort quite
896         nicely.
897
898 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
899
900         * text-coding.c: (Fencode_shift_jis_char):
901         (Fencode_big5_char):
902         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
903         Replace 0 with '\0' when working with bytes.
904         Replace initial "(" with "\(" in docstrings.
905
906         (Fmake_coding_system):
907         When type is ccl and value is vector, register it with a proper
908         symbol.  And checks whether the given ccl program is valid.
909         (mule_decode): When calling ccl_driver, if src indicates
910         NULL pointer, set an empty string instead.
911         (mule_encode): Likewise.
912
913         (detect_eol_type):
914         (detect_coding_sjis):
915         (decode_coding_sjis):
916         (detect_coding_big5):
917         (decode_coding_big5):
918         (detect_coding_ucs4):
919         (decode_coding_ucs4):
920         (detect_coding_utf8):
921         (decode_coding_utf8):
922         (detect_coding_iso2022):
923         (decode_coding_iso2022):
924         (decode_coding_no_conversion):
925         (mule_decode):
926         Make all detecting and decoding functions take an Extbyte * arg.
927         (text_encode_generic):
928         (encode_coding_big5):
929         (encode_coding_no_conversion):
930         (mule_encode):
931         Make all encoding functions take a Bufbyte * arg.
932         Use size_t instead of unsigned int for memory sizes.
933         Only cast to unsigned char whenever dereferencing Extbyte *.
934
935         (struct lrecord_description fcd_description_1): Use countof.
936         (complex_vars_of_file_coding):
937         Use countof instead of sizeof.
938         Use CHECK_NATNUM instead of CHECK_INT.
939
940 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
941
942         * mule-charset.c (Fget_char_attribute): Add new optional argument
943         `default-value'.
944         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
945         (remove_char_ccs): Likewise.
946
947 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
948
949         * text-coding.c (char_encode_shift_jis): New implementation in
950         UTF-2000.
951         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
952         ...)'.
953
954         * mule-charset.c (Vcharset_chinese_big5): New variable in
955         UTF-2000.
956         (Qchinese_big5): New variable in UTF-2000.
957         (BIG5_SAME_ROW): New macro in UTF-2000.
958         (make_builtin_char): Use builtin characters of
959         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
960         characters of `Vcharset_chinese_big5'.
961         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
962         (complex_vars_of_mule_charset): Add new coded-charset
963         `chinese-big5' in UTF-2000.
964
965         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
966         (Vcharset_chinese_big5): New external variable declaration.
967         (Vcharset_japanese_jisx0208_1990): Likewise.
968
969 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
970
971         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
972         function.
973         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
974
975 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
976
977         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
978         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
979         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
980         `mojikyo-pj-*'.
981
982 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
983
984         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
985
986 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
987
988         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
989         to 0.17.
990
991 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
992
993         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
994         for `CHARSET_BY_ATTRIBUTES'.
995         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
996         `CHARSET_BY_ATTRIBUTES'.
997
998         * text-coding.c (struct decoding_stream): Rename member `CH' to
999         `CPOS'.
1000         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1001         (decode_coding_sjis): Likewise.
1002         (decode_coding_big5): Likewise.
1003         (decode_coding_ucs4): Likewise.
1004         (decode_coding_utf8): Likewise.
1005         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1006         `CHARSET_BY_ATTRIBUTES'.
1007         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1008         `str->counter'; decode 3, 4 bytes sets.
1009         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1010         sets.
1011         (decode_coding_no_conversion): Use `str->cpos' instead of
1012         `str->ch'.
1013
1014         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1015         (Qmojikyo_2022_1): New variable.
1016         (make_charset): Don't use `CHARSET_TYPE_*'.
1017         (range_charset_code_point): Support coded-charset
1018         `mojikyo-2022-1'.
1019         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1020         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1021         `CHARSET_BY_ATTRIBUTES'.
1022         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1023         `CHARSET_BY_ATTRIBUTES'.
1024         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1025         (complex_vars_of_mule_charset): Add new coded-charset
1026         `mojikyo-2022-1'.
1027
1028         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1029         interface; changed to inline function.
1030
1031         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1032         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1033         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1034         (CHARSET_TYPE_94): Deleted.
1035         (CHARSET_TYPE_94X94): Deleted.
1036         (CHARSET_TYPE_96): Deleted.
1037         (CHARSET_TYPE_96X96): Deleted.
1038         (CHARSET_TYPE_128): Deleted.
1039         (CHARSET_TYPE_128X128): Deleted.
1040         (CHARSET_TYPE_256): Deleted.
1041         (CHARSET_TYPE_256X256): Deleted.
1042         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1043         to inline function.
1044         (DECODE_MOJIKYO_2022): New inline function.
1045         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1046         `Vcharset_mojikyo_2022_1'.
1047
1048 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1049
1050         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1051         instead of `EQ'.
1052         (put_byte_table): Likewise.
1053         (char_id_table_equal): Use `get_byte_table' [new implementation].
1054
1055 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1056
1057         * mule-charset.c: Include <limits.h> in UTF-2000.
1058         (BT_UINT8_MIN): New macro in UTF-2000.
1059         (BT_UINT8_MAX): New macro in UTF-2000.
1060         (BT_UINT8_t): New macro in UTF-2000.
1061         (BT_UINT8_nil): New macro in UTF-2000.
1062         (BT_UINT8_unbound): New macro in UTF-2000.
1063         (INT_UINT8_P): New inline function in UTF-2000.
1064         (UINT8_VALUE_P): New inline function in UTF-2000.
1065         (UINT8_ENCODE): New inline function in UTF-2000.
1066         (UINT8_DECODE): New inline function in UTF-2000.
1067         (mark_uint8_byte_table): New function in UTF-2000.
1068         (print_uint8_byte_table): New function in UTF-2000.
1069         (uint8_byte_table_equal): New function in UTF-2000.
1070         (uint8_byte_table_hash): New function in UTF-2000.
1071         (make_uint8_byte_table): New function in UTF-2000.
1072         (uint8_byte_table_same_value_p): New function in UTF-2000.
1073         (BT_UINT16_MIN): New macro in UTF-2000.
1074         (BT_UINT16_MAX): New macro in UTF-2000.
1075         (BT_UINT16_t): New macro in UTF-2000.
1076         (BT_UINT16_nil): New macro in UTF-2000.
1077         (BT_UINT16_unbound): New macro in UTF-2000.
1078         (INT_UINT16_P): New inline function in UTF-2000.
1079         (UINT16_VALUE_P): New inline function in UTF-2000.
1080         (UINT16_ENCODE): New inline function in UTF-2000.
1081         (UINT16_DECODE): New inline function in UTF-2000.
1082         (UINT8_TO_UINT16): New inline function in UTF-2000.
1083         (mark_uint16_byte_table): New function in UTF-2000.
1084         (print_uint16_byte_table): New function in UTF-2000.
1085         (uint16_byte_table_equal): New function in UTF-2000.
1086         (uint16_byte_table_hash): New function in UTF-2000.
1087         (make_uint16_byte_table): New function in UTF-2000.
1088         (uint16_byte_table_same_value_p): New function in UTF-2000.
1089         (print_byte_table): New function in UTF-2000.
1090         (byte-table): Use `print_byte_table' as printer.
1091         (make_byte_table): Delete second argument `older'.
1092         (byte_table_same_value_p): New function in UTF-2000.
1093         (copy_byte_table): Deleted.
1094         (get_byte_table): New function in UTF-2000.
1095         (put_byte_table): New function in UTF-2000.
1096         (print_char_id_table): New function in UTF-2000.
1097         (char-id-table): Use `print_char_id_table' as printer.
1098         (make_char_id_table): Delete second argument `older'.
1099         (get_char_id_table): Use `get_byte_table [new implementation].
1100         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1101         implementation].
1102         (Ffind_char_attribute_table): New function in UTF-2000.
1103         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1104         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1105         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1106         (syms_of_mule_charset): Add new function
1107         `find-char-attribute-table' in UTF-2000.
1108
1109         * lrecord.h (enum lrecord_type): Add
1110         `lrecord_type_uint16_byte_table' and
1111         `lrecord_type_uint8_byte_table'.
1112
1113         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1114         (Lisp_Uint8_Byte_Table): New type.
1115         (XUINT8_BYTE_TABLE): New macro.
1116         (XSETUINT8_BYTE_TABLE): New macro.
1117         (UINT8_BYTE_TABLE_P): New macro.
1118         (GC_UINT8_BYTE_TABLE_P): New macro.
1119         (struct Lisp_Uint16_Byte_Table): New structure.
1120         (Lisp_Uint16_Byte_Table): New type.
1121         (XUINT16_BYTE_TABLE): New macro.
1122         (XSETUINT16_BYTE_TABLE): New macro.
1123         (UINT16_BYTE_TABLE_P): New macro.
1124         (GC_UINT16_BYTE_TABLE_P): New macro.
1125
1126 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1127
1128         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1129         (Vcharacter_ideographic_strokes_table): Deleted.
1130         (Vcharacter_total_strokes_table): Deleted.
1131         (Vcharacter_morohashi_daikanwa_table): Deleted.
1132         (Vcharacter_decomposition_table): Deleted.
1133         (Qname): Deleted because it is duplicated.
1134         (Qideographic_radical): Deleted.
1135         (Qideographic_strokes): Deleted.
1136         (Qtotal_strokes): Deleted.
1137         (Qmorohashi_daikanwa): Deleted.
1138         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1139         `ideographic-radical', `ideographic-strokes', `total-strokes',
1140         `morohashi-daikanwa' and `->decomposition'.
1141         (Fget_char_attribute): Likewise.
1142         (Fput_char_attribute): Likewise; use `make-vector' instead of
1143         `make_older_vector' for `->decomposition' value.
1144         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1145         `ideograph-daikanwa'.
1146         (syms_of_mule_charset): Delete builtin symbols `name',
1147         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1148         `morohashi-daikanwa'.
1149         (vars_of_mule_charset): Don't setup
1150         `Vcharacter_ideographic_radical_table',
1151         `Vcharacter_ideographic_strokes_table',
1152         `Vcharacter_total_strokes_table',
1153         `Vcharacter_morohashi_daikanwa_table' and
1154         `Vcharacter_decomposition_table'.
1155
1156 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1157
1158         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1159         `make_older_vector', `make_vector_newer_1' and
1160         `make_vector_newer'.
1161
1162         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1163         `make_older_vector' and `make_vector_newer'.
1164
1165         * config.h.in (HAVE_GGC): New macro.
1166
1167 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1168
1169         * mule-charset.c (struct char_attribute_list_closure): New
1170         structure in UTF-2000.
1171         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1172         (Fchar_attribute_list): Likewise.
1173         (Fset_charset_mapping_table): Use `make_vector_newer'.
1174         (Fdecode_builtin_char): New function in UTF-2000.
1175         (syms_of_mule_charset): Add new function `char-attribute-list' and
1176         `decode-builtin-char' in UTF-2000.
1177
1178         * lisp.h (make_vector_newer): New prototype.
1179
1180         * alloc.c (make_vector_newer_1): New function.
1181         (make_vector_newer): New function.
1182
1183 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1184
1185         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1186         50100)'.
1187
1188 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1189
1190         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1191         (Vcharacter_attribute_table): Deleted.
1192         (Vcharacter_name_table): Deleted.
1193         (put_char_attribute): Deleted.
1194         (remove_char_attribute): Deleted.
1195         (struct char_attribute_alist_closure): New structure.
1196         (add_char_attribute_alist_mapper): New function.
1197         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1198         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1199         (Fget_char_attribute): Likewise.
1200         (Fput_char_attribute): Likewise.
1201         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1202         of `remove_char_attribute'.
1203         (Fdefine_char): Return character.
1204         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1205         and `Vcharacter_name_table'.
1206         (complex_vars_of_mule_charset): Likewise
1207         `Vchar_attribute_hash_table'.
1208
1209 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1210
1211         * character.h (CHARC_CHARSET): New macro.
1212         (CHARC_CHARSET_ID): New macro.
1213         (CHARC_CODE_POINT): New macro.
1214         (CHARC_COLUMNS): New macro.
1215         (CHARC_TO_CHAR): New inline function.
1216         (CHARC_EQ): New inline function.
1217         (CHARC_ASCII_EQ): New inline function.
1218         (CHARC_IS_SPACE): New inline function.
1219         (ASCII_TO_CHARC): New inline function.
1220
1221         * char-ucs.h (encode_char_2): Deleted.
1222         (ENCODE_CHAR): Use `encode_char_1' again.
1223         (breakup_char_1): Likewise.
1224         (CHAR_TO_CHARC): New inline function.
1225
1226         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1227
1228 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1229
1230         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1231         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1232         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1233         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1234         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1235         `CHARC_IS_SPACE'.
1236         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1237
1238         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1239         `CHARC_CODE_POINT'.
1240         (x_output_display_block): Use `CHARC_CHARSET' and
1241         `CHARC_ASCII_EQ'.
1242
1243         * redisplay-tty.c (tty_output_display_block): Use
1244         `CHARC_ASCII_EQ'.
1245         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1246
1247         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1248
1249         * insdel.c (find_charsets_in_charc_string): Use
1250         `CHARC_CHARSET_ID'.
1251         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1252         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1253         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1254         (convert_charc_string_into_malloced_string): Likewise.
1255
1256 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1257
1258         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1259         instead of <Emchar_dynarr *> for buf; use
1260         `convert_bufbyte_string_into_charc_dynarr' instead of
1261         `convert_bufbyte_string_into_emchar_dynarr'; use
1262         `find_charsets_in_charc_string' instead of
1263         `find_charsets_in_emchar_string'.
1264
1265         * redisplay.h:
1266         - Include "character.h".
1267         (struct rune): New member `cglyph'; delete member `chr'.
1268
1269         * redisplay.c (redisplay_text_width_charc_string): New function;
1270         delete `redisplay_text_width_emchar_string'.
1271         (rtw_charc_dynarr): New variable; renamed from
1272         `rtw_emchar_dynarr'.
1273         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1274         `rtw_emchar_dynarr'; use
1275         `convert_bufbyte_string_into_charc_dynarr' instead of
1276         `convert_bufbyte_string_into_emchar_dynarr'; use
1277         `redisplay_text_width_charc_string' instead of
1278         `redisplay_text_width_emchar_string'.
1279         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1280         instead of `rtw_emchar_dynarr'; use
1281         `convert_bufbyte_string_into_charc_dynarr' instead of
1282         `convert_bufbyte_string_into_emchar_dynarr'.
1283         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1284         `redisplay_text_width_charc_string' instead of
1285         `redisplay_text_width_emchar_string'.
1286         (create_text_block): Modify for <struct rune> change.
1287         (generate_formatted_string_db): Likewise.
1288         (create_string_text_block): Likewise.
1289         (pixel_to_glyph_translation): Likewise.
1290
1291         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1292         instead of <const Emchar *>.
1293         (x_text_width): Likewise.
1294         (x_output_display_block): Use <Charc_dynarr *> instead
1295         <Emchar_dynarr *>; modify for <structure rune> change.
1296         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1297         *>.
1298
1299         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1300         <const Emchar *>; use `charc_string_displayed_columns' instead of
1301         `emchar_string_displayed_columns'.
1302         (tty_output_display_block): Use <Charc_dynarr *> instead of
1303         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1304         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1305         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1306         `tty_output_emchar_dynarr_dynarr'.
1307         (tty_output_charc_dynarr): New function; delete
1308         `tty_output_charc_dynarr'.
1309
1310         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1311         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1312         <Emchar_dynarr *> for buf; use
1313         `convert_bufbyte_string_into_charc_dynarr' instead of
1314         `convert_bufbyte_string_into_emchar_dynarr'.
1315
1316         * frame.c (title_string_charc_dynarr): New variable; renamed from
1317         `title_string_emchar_dynarr'.
1318         (generate_title_string): Use `title_string_charc_dynarr' instead
1319         of `title_string_emchar_dynarr'; use
1320         `convert_charc_string_into_malloced_string' instead of
1321         `convert_emchar_string_into_malloced_string'.
1322         (init_frame): Use `title_string_charc_dynarr' instead of
1323         `title_string_emchar_dynarr'.
1324
1325         * console.h:
1326         - Include "character.h".
1327         (struct console_methods): Use <const Charc *> instead of <const
1328         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1329         <Emchar_dynarr *> in output_string_method.
1330
1331         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1332         <Emchar_dynarr *>.
1333
1334         * console-stream.c (stream_text_width): Use <const Charc *>
1335         instead of <const Emchar *>.
1336
1337         * character.h (Charc_dynarr): New type.
1338
1339         * char-ucs.h (structure Charc): New structure; define new type
1340         `Charc'.
1341
1342         * char-lb.h (DECODE_CHAR): New inline function.
1343         (encode_char_1): New inline function.
1344         (ENCODE_CHAR): New macro.
1345         (structure Charc): New structure; define new type `Charc'.
1346
1347         * char-1byte.h (Vcharset_control_1): New macro.
1348         (Vcharset_latin_iso8859_1): New macro.
1349         (DECODE_CHAR): New inline function.
1350         (encode_char_1): New inline function.
1351         (ENCODE_CHAR): New macro.
1352         (structure Charc): New structure; define new type `Charc'.
1353
1354         * insdel.c (find_charsets_in_charc_string): New function; delete
1355         `find_charsets_in_emchar_string'.
1356         (charc_string_displayed_columns): New function; delete
1357         `emchar_string_displayed_columns'.
1358         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1359         `convert_bufbyte_string_into_emchar_dynarr'.
1360         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1361         `convert_charc_string_into_bufbyte_dynarr'.
1362         (convert_charc_string_into_malloced_string): New function; delete
1363         `convert_charc_string_into_malloced_string'.
1364
1365         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1366         `find_charsets_in_emchar_string'.
1367         (charc_string_displayed_columns): New prototype; delete
1368         `emchar_string_displayed_columns'.
1369         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1370         `convert_charc_string_into_bufbyte_dynarr'.
1371         (convert_charc_string_into_malloced_string): New prototype; delete
1372         `convert_charc_string_into_malloced_string'.
1373
1374 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1375
1376         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1377
1378 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1379
1380         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1381
1382         * char-ucs.h: Use <short> for <Charset_ID>.
1383
1384         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1385         <Charset_ID>.
1386
1387 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1388
1389         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1390         to 0.16.
1391
1392 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1393
1394         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1395         variable.
1396         (Qmorohashi_daikanwa): New variable.
1397         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1398         for `morohashi-daikanwa' attribute.
1399         (Fget_char_attribute): Likewise.
1400         (Fput_char_attribute): Likewise.
1401         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1402         has the same value of `ideograph-daikanwa'.
1403         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1404         (vars_of_mule_charset): Setup
1405         `Vcharacter_morohashi_daikanwa_table'.
1406
1407 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1408
1409         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1410         attributes.
1411         (add_charset_to_list_mapper): Add `key' instead of
1412         `XCHARSET_NAME (value)' to return aliases.
1413
1414 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1415
1416         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1417         variable.
1418         (Vcharacter_ideographic_strokes_table): New variable.
1419         (Qideographic_radical): New variable.
1420         (Qideographic_strokes): New variable.
1421         (Fchar_attribute_alist): Use
1422         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1423         attribute; use `Vcharacter_ideographic_strokes_table' for
1424         `ideographic-strokes' attribute.
1425         (Fget_char_attribute): Likewise.
1426         (Fput_char_attribute): Likewise.
1427         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1428         `ideographic-strokes'.
1429         (vars_of_mule_charset): Setup
1430         `Vcharacter_ideographic_radical_table' and
1431         `Vcharacter_ideographic_strokes_table'.
1432
1433 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1434
1435         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1436         (Qtotal_strokes): New variable.
1437         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1438         `total-strokes' attribute.
1439         (Fget_char_attribute): Likewise.
1440         (Fput_char_attribute): Likewise.
1441         (syms_of_mule_charset): Add new symbol `total-strokes'.
1442         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1443
1444 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1445
1446         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1447         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1448         are found.
1449         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1450         `->decomposition' attribute.
1451         (Fput_char_attribute): Likewise.
1452         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1453
1454 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1455
1456         * mule-charset.c (decoding_table_check_elements): New function.
1457         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1458
1459 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1460
1461         * mule-charset.c (Fset_charset_mapping_table): Use
1462         `put_char_ccs_code_point'.
1463
1464 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1465
1466         * mule-charset.c (decoding_table_put_char): New inline function.
1467         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1468
1469 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1470
1471         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1472         (XCHARSET_BYTE_SIZE): New macro.
1473         (decoding_table_remove_char): New inline function.
1474         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1475         `decoding_table_remove_char'.
1476         (remove_char_ccs): Use `decoding_table_remove_char'.
1477         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1478
1479 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1480
1481         * mule-charset.c (Vcharacter_name_table): New variable.
1482         (Qname): New variable.
1483         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1484         attribute.
1485         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1486         `Vcharacter_name_table' for `name' attribute.
1487         (Fremove_char_attribute): Use function `remove_char_ccs'.
1488         (put_char_ccs_code_point): New function.
1489         (remove_char_ccs): New function.
1490         (syms_of_mule_charset): Add new symbol `name'.
1491         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1492
1493 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1494
1495         * mule-charset.c (make_byte_table): Add new argument `older'.
1496         (make_char_id_table): Likewise.
1497         (copy_char_id_table): Comment out because it is not used.
1498         (put_char_id_table): Modify for `make_byte_table'.
1499         (Fput_char_attribute): Make encoding_table as older object;
1500         inherit older bit of `Vcharacter_composition_table'.
1501         (mark_charset): Don't mark `cs->encoding_table'.
1502         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1503         normal object; make `Vcharacter_composition_table' as an older
1504         object; delete staticpro for `Vcharacter_composition_table'; make
1505         `Vcharacter_variant_table' as a normal object.
1506
1507         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1508         (mark_object): Don't check older object in UTF-2000.
1509
1510         * lrecord.h (struct lrecord_header): Add new member `older' in
1511         UTF-2000.
1512         (set_lheader_implementation): Setup `SLI_header->older' in
1513         UTF-2000.
1514         (set_lheader_older_implementation): New macro in UTF-2000.
1515         (OLDER_RECORD_P): New macro in UTF-2000.
1516         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1517         (alloc_older_lcrecord): New prototype in UTF-2000.
1518         (alloc_older_lcrecord_type): New macro in UTF-2000.
1519
1520 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1521
1522         * mule-charset.c (byte_table_description): Use
1523         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1524         (char_id_table_description): Delete bogus `, 1'.
1525         (Fget_char_attribute): Refer encoding_table of each coded-charset
1526         to get value of coded-charset attribute of a character.
1527         (Fput_char_attribute): Use `make_older_vector' instead of
1528         `make_vector'; use encoding_table of each coded-charset to store
1529         value of coded-charset attribute of a character.
1530         (Fremove_char_attribute): Use encoding_table of each coded-charset
1531         to store value of coded-charset attribute of a character.
1532         (mark_charset): Mark `cs->encoding_table'; don't mark
1533         `cs->decoding_table'.
1534         (charset_description): Add description of new member
1535         `encoding_table'.
1536         (make_charset): Initialize `encoding_table'.
1537
1538         * char-ucs.h (struct Lisp_Charset): Add new member
1539         `encoding_table'.
1540         (CHARSET_ENCODING_TABLE): New macro.
1541         (XCHARSET_ENCODING_TABLE): New macro.
1542         (charset_code_point): New implementation.
1543         (encode_char_1): Likewise.
1544
1545         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1546         (disksave_object_finalization_1): Call finalizers of
1547         `all_older_lcrecords' in UTF-2000.
1548         (make_older_vector): New function in UTF-2000.
1549         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1550         UTF-2000.
1551
1552         * lisp.h (make_older_vector): New prototype in UTF-2000.
1553
1554 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1555
1556         * lrecord.h (enum lrecord_type): Rename
1557         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1558
1559         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1560         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1561         `get_char_code_table'.
1562
1563         * mule-charset.c (mark_char_id_table): Renamed from
1564         `mark_char_code_table'.
1565         (char_id_table_equal): Renamed from `char_code_table_equal'.
1566         (char_id_table_hash): Renamed from `char_code_table_hash'.
1567         (make_char_id_table): Renamed from `make_char_code_table'.
1568         (copy_char_id_table): Renamed from `copy_char_code_table'.
1569         (get_char_id_table): Renamed from `get_char_code_table'.
1570         (put_char_id_table): Renamed from `put_char_code_table'.
1571         (to_char_id): Renamed from `to_char_code'.
1572
1573         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1574         `Lisp_Char_Code_Table'.
1575         (char_id_table): Renamed from `char_code_table'.
1576         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1577         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1578         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1579         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1580         (get_char_id_table): Renamed from `get_char_code_table'.
1581
1582 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1583
1584         * lrecord.h (enum lrecord_type): Rename
1585         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1586
1587         * mule-charset.c (mark_byte_table): Renamed from
1588         `mark_char_byte_table'.
1589         (byte_table_equal): Renamed from `char_byte_table_equal'.
1590         (byte_table_hash): Renamed from `byte_table_hash'.
1591         (make_byte_table): Renamed from `make_byte_table'.
1592         (copy_byte_table): Renamed from `copy_char_byte_table'.
1593
1594         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1595         `Lisp_Char_Byte_Table'.
1596         (byte_table): Renamed from `char_byte_table'.
1597         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1598         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1599         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1600         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1601
1602 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1603
1604         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1605         (dfc_convert_to_internal_format): Likewise.
1606         
1607         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1608         * text-coding.c (Fcoding_system_alias_p): New function.
1609         * text-coding.c (Fcoding_system_aliasee): New function.
1610         * text-coding.c (append_suffix_to_symbol): New function.
1611         * text-coding.c (dangling_coding_system_alias_p): New function.
1612         * text-coding.c (Ffind_coding_system):
1613         * text-coding.c (Fcopy_coding_system):
1614         * text-coding.c (encode_coding_no_conversion):
1615         * text-coding.c (syms_of_file_coding):
1616         * text-coding.c (vars_of_file_coding):
1617         Rewrite coding system alias code.
1618         Allow nested aliases, like symbolic links.
1619         Allow redefinition of coding system aliases.
1620         Prevent existence of dangling coding system aliases.
1621         Eliminate convert_to_external_format.
1622         Eliminate convert_to_internal_format.
1623         
1624         * text-coding.c: Change enum eol_type to eol_type_t.
1625
1626 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1627
1628         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1629         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1630
1631         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1632         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1633
1634 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1635
1636         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1637         `ideograph-daikanwa'.
1638
1639         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1640         (Vcharset_ucs_bmp): Likewise.
1641         (Vcharset_mojikyo): Add new extern variable definition.
1642         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1643         (Vcharset_latin_iso8859_3): Likewise.
1644         (Vcharset_latin_iso8859_4): Likewise.
1645         (Vcharset_latin_iso8859_9): Likewise.
1646         (Vcharset_latin_viscii_lower): Likewise.
1647         (Vcharset_latin_viscii_upper): Likewise.
1648         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1649         `mojikyo' code-point is used to decode.
1650         (encode_char_2): New function [to convert `mojikyo' code-point to
1651         Mojikyo font encoding].
1652         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1653         (breakup_char_1): Likewise.
1654         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1655
1656 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1657
1658         * text-coding.c (Fmake_coding_system): Add document about
1659         `disable-composition' property.
1660
1661 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1662
1663         * text-coding.c (Qdisable_composition): New variable; delete
1664         `Qcomposite'.
1665         (Fmake_coding_system): Add new property `disable-composite';
1666         delete property `composite'.
1667         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1668         instead of `!CODING_SYSTEM_COMPOSITE'.
1669         (syms_of_file_coding): Add new symbol `disable-composition';
1670         delete symbol `composite'.
1671
1672         * file-coding.h (struct Lisp_Coding_System): Add
1673         `disable_composition'; delete `enable_composition'.
1674         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1675         `CODING_SYSTEM_COMPOSITE'.
1676         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1677         `XCODING_SYSTEM_COMPOSITE'.
1678
1679 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1680
1681         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1682         to 0.15.
1683
1684 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1685
1686         * text-coding.c (Qcomposite): New variable.
1687         (Fmake_coding_system): Add new property `composite'.
1688         (struct decoding_stream): Add `combined_char_count',
1689         `combined_chars' and `combining_table' in UTF-2000.
1690         (COMPOSE_FLUSH_CHARS): New macro.
1691         (COMPOSE_ADD_CHAR): New macro.
1692         (reset_decoding_stream): Reset `str->combined_char_count' and
1693         `str->combining_table' in UTF-2000.
1694         (decode_coding_iso2022): Modify for character-decomposition.
1695         (syms_of_file_coding): Add new symbol `composite'.
1696
1697 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1698
1699         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1700         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1701         of `Vcharacter_composition_table' if `->decomposition' property
1702         has only 1 element.
1703         (Qlatin_tcvn5712): New variable.
1704         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1705         (complex_vars_of_mule_charset): Add new coded-charset
1706         `latin-tcvn5712'.
1707
1708         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1709
1710 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1711
1712         * file-coding.h (struct Lisp_Coding_System): Add
1713         `enable_composition'.
1714         (CODING_SYSTEM_COMPOSITE): New macro.
1715         (XCODING_SYSTEM_COMPOSITE): New macro.
1716
1717 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1718
1719         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1720
1721 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1722
1723         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1724         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1725
1726 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1727
1728         * mule-charset.c (Vcharset_mojikyo): New variable.
1729         (Fdefine_char): Don't use coded-charset which does not have
1730         non-builtin character range to allocate character-id.
1731         (Qmojikyo): New variable.
1732         (syms_of_mule_charset): Add new symbol `mojikyo'.
1733         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1734
1735         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1736         (LEADING_BYTE_MOJIKYO): New macro.
1737         (MIN_CHAR_MOJIKYO): New macro.
1738         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1739         (MAX_CHAR_MOJIKYO): New macro.
1740
1741 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1742
1743         * mule-charset.c (remove_char_attribute): Fixed.
1744
1745 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1746
1747         * mule-charset.c (remove_char_attribute): New function.
1748         (Fremove_char_attribute): New function.
1749         (encode_builtin_char_1): Comment out builtin-support for
1750         greek-iso8859-7 and cyrillic-iso8859-5.
1751         (Fdecode_char): Check `code' is an integer.
1752         (syms_of_mule_charset): Add `remove-char-attribute'.
1753         (MIN_CHAR_GREEK): Deleted.
1754         (MAX_CHAR_GREEK): Likewise.
1755         (MIN_CHAR_CYRILLIC): Likewise.
1756         (MAX_CHAR_CYRILLIC): Likewise.
1757         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1758         MAX_CHAR_GREEK for `greek-iso8859-7'.
1759
1760         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1761         (MAX_CHAR_GREEK): Likewise.
1762         (MIN_CHAR_CYRILLIC): Likewise.
1763         (MAX_CHAR_CYRILLIC): Likewise.
1764
1765 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1766
1767         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1768         format is used without `ucs' property.
1769         (Fdecode_char): Fix problem with GR representation.
1770         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1771         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1772
1773 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1774
1775         * mule-charset.c (make_builtin_char): New function.
1776         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1777         (Fset_charset_mapping_table): Modify for new representation of
1778         code-point.
1779         (Fdecode_char): New function.
1780         (syms_of_mule_charset): Add new builtin function `decode-char' in
1781         UTF-2000.
1782
1783         * char-ucs.h (make_builtin_char): New prototype.
1784         (DECODE_CHAR): New inline function.
1785         (MAKE_CHAR): Use `DECODE_CHAR'.
1786
1787 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1788
1789         * text-coding.c (parse_charset_conversion_specs): Use
1790         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1791         `XCHARSET_TYPE'.
1792         (iso2022_designate): Likewise.
1793
1794         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1795         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1796
1797         * mule-charset.c (Vcharset_ucs): New variable.
1798         (print_charset): Change design; use `CHARSET_CHARS' and
1799         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1800         (make_charset): Change signature to specify `chars' and
1801         `dimension' instead of `type'.
1802         (range_charset_code_point): Modify for 256^n-set.
1803         (encode_builtin_char_1): Encode as `ucs' in default.
1804         (Fmake_charset): Modify for `make_charset'.
1805         (Fmake_reverse_direction_charset): Likewise.
1806         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1807         UTF-2000.
1808         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1809         for `make_charset'.
1810
1811         * char-ucs.h (Vcharset_ucs): New variable.
1812         (LEADING_BYTE_UCS): New macro.
1813         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1814         and `chars' to `unsigned short' from `unsigned int'.
1815         (CHARSET_TYPE): Deleted.
1816         (XCHARSET_TYPE): Deleted.
1817
1818 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1819
1820         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1821
1822         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1823         (ENCODE_CHAR): New macro.
1824
1825 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1826
1827         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1828         to 0.14 (Kawachi-Katakami).
1829
1830 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1831
1832         * text-coding.c (char_encode_shift_jis): Modify for
1833         `charset_code_point'.
1834         (char_encode_iso2022): Likewise.
1835
1836         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1837         (integer) instead of list of <Lisp_Object>s (integers) as the
1838         format of code-point of a coded-charset.
1839         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1840         (encode_builtin_char_1): New function; delete
1841         `split_builtin_char'.
1842         (charset_code_point): Return <int> instead of <Lisp_Object>.
1843         (Fsplit_char): Don't use `SPLIT_CHAR'.
1844
1845         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1846         prototype for `split_builtin_char'.
1847         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1848         (charset_code_point): Likewise.
1849         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1850         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1851
1852 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1853
1854         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1855         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1856
1857 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1858
1859         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1860
1861         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1862         (MAX_CHAR_OBS_94x94): Deleted.
1863
1864 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1865
1866         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1867
1868         * char-ucs.h (MAX_CHAR_BMP): New macro.
1869
1870 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1871
1872         * text-coding.c: Sync with r21-2-24.
1873
1874 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1875
1876         * file-coding.c: Modify for UTF-2000.
1877
1878 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1879
1880         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1881         to 0.13 (Takaida).
1882
1883 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1884
1885         * mule-charset.c (split_builtin_char): Delete builtin support for
1886         `katakana-jisx0201'.
1887         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1888         BMP area in builtin representation.
1889
1890         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1891         `Vcharset_katakana_jisx0201'.
1892
1893 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1894
1895         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1896         (Qisolated): New variable.
1897         (Qinitial): New variable.
1898         (Qmedial): New variable.
1899         (Qfinal): New variable.
1900         (Qvertical): New variable.
1901         (Qsmall): New variable.
1902         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1903         `Qvertical' and `Qsmall'.
1904         (Qmojikyo_pj_[1 .. 21]): New variable.
1905         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1906         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1907         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1908         .. 21]'.
1909
1910 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1911
1912         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1913         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1914         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1915
1916 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1917
1918         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1919         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1920         BMP.
1921         (Qjapanese_jisx0208_1990): New variable.
1922         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1923         (complex_vars_of_mule_charset): Add new coded-charset
1924         `japanese-jisx0208-1990'.
1925
1926         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1927         (MIN_CHAR_JIS_X0208_1990): New macro.
1928         (MAX_CHAR_JIS_X0208_1990): New macro.
1929
1930 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1931
1932         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1933         coded-charset is not found.
1934
1935 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1936
1937         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1938         (Fdefine_char): Use `Fmake_char'.
1939
1940 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1941
1942         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1943         (Vcharset_hiragana_jisx0208): Deleted.
1944         (Vcharset_katakana_jisx0208): Deleted.
1945         (Qideograph_daikanwa): New variable.
1946         (Qhiragana_jisx0208): Deleted.
1947         (Qkatakana_jisx0208): Deleted.
1948         (split_builtin_char): Split `ideograph-daikanwa'.
1949         (Fsplit_char): New implementation for UTF-2000.
1950         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1951         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1952         (complex_vars_of_mule_charset): Add new coded-charset
1953         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1954         `katakana-jisx0208'.
1955
1956         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1957         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1958         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1959         (MIN_CHAR_DAIKANWA): New macro.
1960         (MAX_CHAR_DAIKANWA): New macro.
1961
1962 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1963
1964         * data.c (Fstring_to_number): Don't recognize floating point if
1965         base is not 10.
1966
1967 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1968
1969         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1970
1971 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1972
1973         * mule-charset.c (Qsquare): New variable.
1974         (to_char_code): Add `Qsquare'.
1975         (syms_of_mule_charset): Add new symbol `square'.
1976
1977 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1978
1979         * mule-charset.c (Qcircle): New variable.
1980         (to_char_code): Add `Qcircle'.
1981         (syms_of_mule_charset): Add new symbol `circle'.
1982
1983 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1984
1985         * mule-charset.c (Qfont): New variable.
1986         (to_char_code): Add `Qfont'.
1987         (syms_of_mule_charset): Add new symbol `font'.
1988
1989 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1990
1991         * mule-charset.c (Qsub): New variable.
1992         (to_char_code): Add `Qsub'.
1993         (syms_of_mule_charset): Add new symbol `sub'.
1994
1995 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1996
1997         * mule-charset.c (Fput_char_attribute): Convert each element of
1998         VALUE to GL position if ATTRIBUTE is a GR-set,
1999
2000 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2001
2002         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2003         coded-charset is a GR-set.
2004
2005 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2006
2007         * mule-charset.c (Fput_char_attribute): Check each element of
2008         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2009
2010 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2011
2012         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2013         UTF-2000.
2014         (Qethiopic_ucs): New variable in UTF-2000.
2015         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2016         (complex_vars_of_mule_charset): Add new coded-charset
2017         `ethiopic-ucs' in UTF-2000.
2018
2019         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2020         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2021         9)'.
2022         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2023         10)'.
2024         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2025
2026 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2027
2028         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2029         `ascii'.
2030
2031 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2032
2033         * mule-charset.c (Vcharacter_variant_table): New variable.
2034         (Q_ucs): New variable.
2035         (Fchar_variants): New function.
2036         (Fput_char_attribute): Register `->ucs' value to
2037         `Vcharacter_variant_table'.
2038         (syms_of_mule_charset): Add new function `char-variants' and new
2039         symbol `->ucs'.
2040         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2041
2042 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2043
2044         * mule-charset.c (get_char_code_table): Allow negative character
2045         code.
2046         (put_char_code_table): Likewise.
2047         (Vcharacter_composition_table): New variable.
2048         (Q_decomposition): New variable.
2049         (Qwide): New variable.
2050         (Qnarrow): New variable.
2051         (Qcompat): New variable.
2052         (QnoBreak): New variable.
2053         (Qsuper): New variable.
2054         (Qfraction): New variable.
2055         (to_char_code): New function.
2056         (Fget_composite_char): New function.
2057         (Fput_char_attribute): Register `->decomposition' value to
2058         `Vcharacter_composition_table'.
2059         (syms_of_mule_charset): Add new function `get-composite-char', new
2060         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2061         `super' and `fraction'.
2062         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2063
2064 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2065
2066         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2067         character; copy the return value.
2068
2069 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2070
2071         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2072
2073         * mule-charset.c (range_charset_code_point): Must use make_int.
2074         (split_builtin_char): New function.
2075
2076 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2077
2078         * mule-charset.c (char_byte_table): Change name from
2079         "char-code-table" to "char-byte-table".
2080         (mark_char_code_table): New function.
2081         (char_code_table_equal): New function.
2082         (char_code_table_hash): New function.
2083         (char_code_table_description): New constant.
2084         (char_code_table): New type.
2085         (make_char_code_table): New function.
2086         (copy_char_code_table): New function.
2087         (get_char_code_table): Modify for `char_code_table' type.
2088         (put_char_code_table): Likewise.
2089         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2090         (Kashiwara).
2091
2092         * char-ucs.h (char_code_table): New type.
2093         (XCHAR_CODE_TABLE): New macro.
2094         (XSETCHAR_CODE_TABLE): New macro.
2095         (CHAR_CODE_TABLE_P): New macro.
2096         (GC_CHAR_CODE_TABLE_P): New macro.
2097         (struct Lisp_Char_Code_Table): New structure.
2098
2099 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2100
2101         * mule-charset.c (Fmake_charset): Setup byte_offset for
2102         {94|96}^n-set.
2103
2104 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2105
2106         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2107         character.
2108
2109 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2110
2111         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2112         is found.
2113
2114 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2115
2116         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2117         charset, it is regarded as a charset.
2118         (put_char_attribute): New function in UTF-2000.
2119         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2120         charset, mapping-table of the charset is modified.
2121         (Fdefine_char): New function in UTF-2000.
2122         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2123         `Fput_char_attribute'.
2124         (syms_of_mule_charset): Add new function `define-char' and new
2125         symbol `ucs' in UTF-2000.
2126         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2127
2128 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2129
2130         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2131         non-UTF-2000 configuration.
2132
2133 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2134
2135         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2136         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2137
2138         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2139         deleted.
2140         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2141         (Fset_charset_mapping_table): Likewise.
2142
2143         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2144         (CHARSET_ENCODING_TABLE): Delete.
2145         (XCHARSET_ENCODING_TABLE): Delete.
2146         (charset_code_point): New interface.
2147
2148 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2149
2150         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2151         instead of `charset_get_byte1' and `charset_get_byte2'.
2152
2153         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2154         (charset_get_byte2): Deleted.
2155
2156 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2157
2158         * char-ucs.h (SPLIT_CHAR): New inline function.
2159         (breakup_char_1): Use `SPLIT_CHAR'.
2160
2161         * mule-charset.c (range_charset_code_point): New function.
2162         (charset_code_point): New function.
2163
2164         * char-ucs.h (range_charset_code_point): New interface.
2165         (breakup_char_1): Use `range_charset_code_point'.
2166
2167 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2168
2169         * mule-charset.c (Fmake_charset): Delete unused local variable
2170         `code_offset'.
2171
2172         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2173         (breakup_char_1): Find a charset and code-point in
2174         `Vcharacter_attribute_table'.
2175
2176 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2177
2178         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2179         to 0.10 (Yao).
2180
2181 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2182
2183         * mule-charset.c (Vcharacter_attribute_table): New variable.
2184         (Fchar_attribute_alist): New function.
2185         (Fget_char_attribute): New function.
2186         (Fput_char_attribute): New function.
2187         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2188         too.
2189         (syms_of_mule_charset): Add new function `char-attribute-alist',
2190         `get-char-attribute' and `put-char-attribute'.
2191         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2192
2193 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2194
2195         * mule-charset.c (Fmake_charset): Just use
2196         `get_unallocated_leading_byte'.
2197
2198         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2199         sets; don't use final-byte based number for private sets.
2200
2201 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2202
2203         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2204         integer.
2205
2206 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2207
2208         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2209         to 0.9.
2210
2211 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2212
2213         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2214         of `CHAR_LEADING_BYTE' in UTF-2000.
2215
2216         * insdel.c (find_charsets_in_bufbyte_string): Use
2217         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2218         (find_charsets_in_emchar_string): Likewise.
2219
2220         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2221         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2222
2223         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2224         (CHAR_CHARSET_ID): New macro.
2225
2226 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2227
2228         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2229         charset-id - MIN_LEADING_BYTE.
2230         (put_char_table): Likewise.
2231
2232 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2233
2234         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2235         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2236         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2237         (CHARSET_ID_OFFSET): New macro.
2238         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2239         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2240         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2241         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2242         4).
2243         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2244         5).
2245         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2246         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2247         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2248         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2249         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2250
2251 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2252
2253         * mule-charset.c (next_allocated_leading_byte): New variable in
2254         UTF-2000.
2255         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2256         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2257         (get_unallocated_leading_byte): Simply use
2258         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2259         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2260         UTF-2000.
2261
2262         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2263         (MAX_LEADING_BYTE_PRIVATE): New macro.
2264         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2265         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2266
2267 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2268
2269         * mule-charset.c (Fmake_charset): Allocate final-byte based
2270         charset-id for 94-set, 96-set and 94x94-set.
2271
2272 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2273
2274         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2275         ambiguous `else'.
2276         (Fmake_charset): Likewise.
2277         (complex_vars_of_mule_charset): Modify the font registry of
2278         `ucs-bmp' not to match `Ethiopic-Unicode'.
2279
2280 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2281
2282         * mule-charset.c (complex_vars_of_mule_charset): Add font
2283         registory of `ucs-bmp'.
2284
2285 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2286
2287         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2288         coded-charsets in `default-coded-charset-priority-list' when
2289         breaking up a character.
2290
2291         * mule-charset.c (Vcharset_latin_viscii): New variable.
2292         (Qlatin_viscii): New variable.
2293         (make_charset): Don't use `decoding_table'.
2294         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2295         byte_offset.
2296         (Fset_charset_mapping_table): New implementation.
2297         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2298         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2299         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2300         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2301         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2302         charset `latin_viscii'.
2303
2304         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2305         (CHARSET_TYPE_94X94): Change to 1 from 2.
2306         (CHARSET_TYPE_96): Change to 2 from 1.
2307         (CHARSET_TYPE_128): New macro.
2308         (CHARSET_TYPE_128X128): Change to 5 from 4.
2309         (CHARSET_TYPE_256): New macro.
2310         (CHARSET_TYPE_256X256): Change to 7 from 5.
2311         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2312
2313 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2314
2315         * text-coding.c (char_encode_shift_jis): Refer
2316         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2317         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2318
2319         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2320         (char_byte_table_equal): New function in UTF-2000.
2321         (char_byte_table_hash): New function in UTF-2000.
2322         (char_byte_table_description): New constant in UTF-2000.
2323         (char_byte_table): New type in UTF-2000.
2324         (make_char_byte_table): New function in UTF-2000.
2325         (copy_char_byte_table): New function in UTF-2000.
2326         (make_char_code_table): New macro in UTF-2000.
2327         (get_char_code_table): New function in UTF-2000.
2328         (put_char_code_table): New function in UTF-2000.
2329         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2330         (charset_description): Add setting in UTF-2000.
2331         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2332         `CHARSET_TO_BYTE1_TABLE(cs)'.
2333         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2334         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2335         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2336         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2337         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2338         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2339         `CHARSET_TO_BYTE2_TABLE(cs)'.
2340
2341         * char-ucs.h (char_byte_table): New type.
2342         (XCHAR_BYTE_TABLE): New macro.
2343         (XSETCHAR_BYTE_TABLE): New macro.
2344         (CHAR_BYTE_TABLE_P): New macro.
2345         (GC_CHAR_BYTE_TABLE_P): New macro.
2346         (struct Lisp_Char_Byte_Table): New structure.
2347         (get_char_code_table): New interface.
2348         (Emchar_to_byte_table): Deleted.
2349         (get_byte_from_character_table): Deleted.
2350         (struct Lisp_Charset): Add `encoding_table'; delete
2351         `to_byte1_table' and `to_byte2_table'.
2352         (CHARSET_ENCODING_TABLE): New macro.
2353         (CHARSET_TO_BYTE1_TABLE): Deleted.
2354         (CHARSET_TO_BYTE2_TABLE): Deleted.
2355         (XCHARSET_ENCODING_TABLE): New macro.
2356         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2357         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2358
2359 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2360
2361         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2362         `vietnamese-viscii-*'.
2363
2364 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2365
2366         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2367         (Qvietnamese_viscii_upper): New variable.
2368         (Fdefine_charset_alias): New function.
2369         (syms_of_mule_charset): Add new function `define-charset-alias'.
2370         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2371         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2372         `latin-viscii-*'.
2373
2374 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2375
2376         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2377         (MAX_CHAR_OBS_94x94): New macro.
2378         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2379         for 94x94 sets.
2380
2381         * mule-charset.c (put_byte_from_character_table): Change unit size
2382         from 128 to 256.
2383         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2384         not defined.
2385         (Fmake_reverse_direction_charset): Modify dummy argument of
2386         `make_charset' for non-UTF-2000 environment.
2387
2388 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2389
2390         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2391
2392         * mule-charset.c (destroy_byte_from_character_table): New macro.
2393         (latin_jisx0201_to_ucs): Deleted.
2394         (latin_iso8859_2_to_ucs): Deleted.
2395         (latin_iso8859_3_to_ucs): Deleted.
2396         (latin_iso8859_4_to_ucs): Deleted.
2397         (latin_iso8859_9_to_ucs): Deleted.
2398         (latin_viscii_lower_to_ucs): Deleted.
2399         (latin_viscii_upper_to_ucs): Deleted.
2400         (mark_charset): Mark `cs->decoding_table'.
2401         (Fcharset_mapping_table): Fix DOC-string.
2402         (Fset_charset_mapping_table): New function.
2403         (syms_of_mule_charset): Add nwe function
2404         `set-charset-mapping-table'.
2405         (complex_vars_of_mule_charset): Don't setup and use
2406         `latin_*_to_ucs'.
2407
2408 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2409
2410         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2411         charset.
2412
2413 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2414
2415         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2416         (Vcharset_katakana_jisx0208): New variable.
2417         (Qhiragana_jisx0208): New variable.
2418         (Qkatakana_jisx0208): New variable.
2419         (make_charset): Add new argument `byte_offset'.
2420         (charset_get_byte1): Modify for new coded-charset definition; use
2421         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2422         `XCHARSET_BYTE_OFFSET'.
2423         (Fmake_charset): Modify for `make_charset'.
2424         (Fmake_reverse_direction_charset): Likewise.
2425         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2426         `katakana-jisx0208'.
2427         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2428         `.'  in font registry of charset `katakana-jisx0201',
2429         `latin-jisx0201', `vietnamese-viscii-lower' and
2430         `vietnamese-viscii-upper'; modify DOC-string of charset
2431         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2432         registry of charset `japanese-jisx0208' not to use font for JIS
2433         X0208:1990; add new charset `hiragana-jisx0208' and
2434         `katakana-jisx0208'.
2435
2436         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2437         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2438         (struct Lisp_Charset): Add `byte_offset'.
2439         (CHARSET_BYTE_OFFSET): New macro.
2440         (XCHARSET_UCS_MIN): New macro.
2441         (XCHARSET_UCS_MAX): New macro.
2442         (XCHARSET_CODE_OFFSET): New macro.
2443         (XCHARSET_BYTE_OFFSET): New macro.
2444         (MIN_CHAR_HIRAGANA): New macro.
2445         (MAX_CHAR_HIRAGANA): New macro.
2446         (MIN_CHAR_KATAKANA): New macro.
2447         (MAX_CHAR_KATAKANA): New macro.
2448         (MAKE_CHAR): Modify for new coded-charset definition; use
2449         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2450         `XCHARSET_BYTE_OFFSET'.
2451
2452 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2453
2454         * mule-charset.c (CHAR96): Deleted.
2455         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2456         <Lisp_Object>.
2457         (latin_iso8859_2_to_ucs): Likewise.
2458         (latin_iso8859_3_to_ucs): Likewise.
2459         (latin_iso8859_4_to_ucs): Likewise.
2460         (latin_iso8859_9_to_ucs): Likewise.
2461         (latin_viscii_lower_to_ucs): Likewise.
2462         (latin_viscii_upper_to_ucs): Likewise.
2463         (latin_tcvn5712_to_ucs): Commented out.
2464         (make_charset): Change type of argument `decoding_table' from
2465         <Emchar*> to <Lisp_Object> [vector of characters].
2466         (Fmake_charset): Modify for `make_charset'.
2467         (Fmake_reverse_direction_charset): Likewise.
2468         (Fcharset_mapping_table): New function in UTF-2000.
2469         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2470         UTF-2000.
2471         (complex_vars_of_mule_charset): Modify for type change of
2472         `*_to_ucs'; modify for `make_charset'.
2473
2474         * char-ucs.h (struct Lisp_Charset): Change type of
2475         `decoding_table' from <Emchar*> to <Lisp_Object>.
2476         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2477
2478 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2479
2480         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2481         error with non-UTF-2000-Mule.
2482
2483 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2484
2485         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2486         in lisp again].
2487         (Vcharset_chinese_cns11643_4): Likewise.
2488         (Vcharset_chinese_cns11643_5): Likewise.
2489         (Vcharset_chinese_cns11643_6): Likewise.
2490         (Vcharset_chinese_cns11643_7): Likewise.
2491         (Qchinese_cns11643_3): Likewise.
2492         (Qchinese_cns11643_4): Likewise.
2493         (Qchinese_cns11643_5): Likewise.
2494         (Qchinese_cns11643_6): Likewise.
2495         (Qchinese_cns11643_7): Likewise.
2496         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2497         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2498         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2499         (complex_vars_of_mule_charset): Likewise.
2500
2501 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2502
2503         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2504         96-set.
2505         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2506         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2507
2508 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2509
2510         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2511         0xFF60.
2512         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2513         (breakup_char_1): Likewise.
2514
2515         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2516         one of them includes the specified character.
2517
2518 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2519
2520         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2521
2522 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2523
2524         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2525
2526 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2527
2528         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2529         definition for non-UTF-2000 Mule.
2530         (latin_iso8859_3_to_ucs): Likewise.
2531         (latin_iso8859_4_to_ucs): Likewise.
2532         (latin_iso8859_9_to_ucs): Likewise.
2533         (latin_jisx0201_to_ucs): Likewise.
2534         (MIN_CHAR_THAI): Likewise.
2535         (MAX_CHAR_THAI): Likewise.
2536         (MIN_CHAR_GREEK): Likewise.
2537         (MAX_CHAR_GREEK): Likewise.
2538         (MIN_CHAR_HEBREW): Likewise.
2539         (MAX_CHAR_HEBREW): Likewise.
2540         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2541         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2542         (MIN_CHAR_CYRILLIC): Likewise.
2543         (MAX_CHAR_CYRILLIC): Likewise.
2544
2545 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2546
2547         * char-ucs.h (breakup_char_1): Use
2548         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2549         thai-tis620 and katakana-jisx0201 area.
2550
2551 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2552
2553         * char-ucs.h (breakup_char_1): Use
2554         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2555         area.
2556
2557         * text-coding.c (reset_encoding_stream): Fixed.
2558         (char_encode_ucs4): Delete `& 255'.
2559
2560         * char-ucs.h (breakup_char_1): Use
2561         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2562
2563 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2564
2565         * file-coding.c (Fmake_coding_system): Don't set up
2566         `codesys->fixed.size'.
2567         (encode_coding_no_conversion): Don't refer
2568         `str->codesys->fixed.size'.
2569
2570 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2571
2572         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2573         (latin_a_char_to_byte1): Deleted.
2574         (latin_a_char_to_byte2): Deleted.
2575
2576 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2577
2578         * mule-charset.c (make_charset): Add new argument `ucs_min',
2579         `ucs_max' and `code_offset'.
2580         (charset_get_byte1): New implementation [delete specific charset
2581         depended implementations].
2582         (Fmake_charset): Modify for `make_charset'.
2583         (Fmake_reverse_direction_charset): Likewise.
2584         (complex_vars_of_mule_charset): Likewise.
2585
2586         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2587         `code_offset'.
2588         (CHARSET_UCS_MIN): New macro.
2589         (CHARSET_UCS_MAX): New macro.
2590         (CHARSET_CODE_OFFSET): New macro.
2591         (MAKE_CHAR): Delete charset depended definitions [except
2592         katakana-jisx0201].
2593
2594 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2595
2596         * char-ucs.h (breakup_char_1): Use
2597         `Vdefault_coded_charset_priority_list' for C0-Controls,
2598         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2599
2600 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2601
2602         * char-ucs.h (charset_get_byte1): New function.
2603         (XCHARSET_GET_BYTE1): Deleted.
2604         (charset_get_byte2): New function.
2605         (XCHARSET_GET_BYTE2): Deleted.
2606         (Vdefault_coded_charset_priority_list): New external variable.
2607         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2608         `Vdefault_preferred_coded_charset_list'.
2609
2610         * mule-charset.c (charset_get_byte1): New function.
2611         (charset_get_byte2): New function.
2612         (Vdefault_coded_charset_priority_list): New variable.
2613         (vars_of_mule_charset): Add new variable
2614         `default-coded-charset-priority-list'.
2615
2616 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2617
2618         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2619         (XCHARSET_GET_BYTE2): New inline function.
2620         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2621         `XCHARSET_GET_BYTE2'.
2622
2623 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2624
2625         * mule-charset.c (make_charset): Initialize
2626         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2627         NULL if table is not defined.
2628
2629 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2630
2631         * text-coding.c (char_encode_shift_jis): Use
2632         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2633         `ucs_to_latin_jisx0201'.
2634
2635         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2636         (ucs_to_latin_iso8859_2): Deleted.
2637         (ucs_to_latin_iso8859_3): Deleted.
2638         (ucs_to_latin_iso8859_4): Deleted.
2639         (ucs_to_latin_iso8859_9): Deleted.
2640         (ucs_to_latin_viscii_lower): Deleted.
2641         (ucs_to_latin_viscii_upper): Deleted.
2642         (ucs_to_latin_tcvn5712): Deleted.
2643         (make_charset): Add new argument `decoding_table'; set up
2644         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2645         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2646         `decoding_table' is defined in UTF-2000.
2647         (Fmake_charset): Modify for `make_charset'.
2648         (Fmake_reverse_direction_charset): Likewise.
2649         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2650         and `GENERATE_96_SET'.
2651
2652         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2653         (ucs_to_latin_jisx0201): Deleted.
2654         (latin_iso8859_2_to_ucs): Deleted.
2655         (ucs_to_latin_iso8859_2): Deleted.
2656         (latin_iso8859_3_to_ucs): Deleted.
2657         (ucs_to_latin_iso8859_3): Deleted.
2658         (latin_iso8859_4_to_ucs): Deleted.
2659         (ucs_to_latin_iso8859_4): Deleted.
2660         (latin_iso8859_9_to_ucs): Deleted.
2661         (ucs_to_latin_iso8859_9): Deleted.
2662         (latin_viscii_lower_to_ucs): Deleted.
2663         (ucs_to_latin_viscii_lower): Deleted.
2664         (latin_viscii_upper_to_ucs): Deleted.
2665         (ucs_to_latin_viscii_upper): Deleted.
2666         (struct Lisp_Charset): Renamed `encoding_table' to
2667         `to_byte1_table'; add `to_byte2_table'.
2668         (CHARSET_DECODING_TABLE): New macro.
2669         (CHARSET_TO_BYTE1_TABLE): New macro.
2670         (CHARSET_TO_BYTE2_TABLE): New macro.
2671         (XCHARSET_DECODING_TABLE): New macro.
2672         (XCHARSET_TO_BYTE1_TABLE): New macro.
2673         (XCHARSET_TO_BYTE2_TABLE): New macro.
2674         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2675         tables.
2676         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2677         don't use `ucs_to_*' tables.
2678
2679 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2680
2681         * text-coding.c (Fmake_coding_system): Don't set up
2682         `codesys->fixed.size'.
2683         (encode_coding_no_conversion): Use `if' instead of `switch'.
2684
2685         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2686
2687 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2688
2689         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2690         (Fmake_charset): Modify for `make_charset'.
2691         (Fmake_reverse_direction_charset): Likewise.
2692         (complex_vars_of_mule_charset): Likewise.
2693
2694 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2695
2696         * text-coding.c (char_encode_shift_jis): Use table
2697         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2698
2699 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2700
2701         * text-coding.c (text_encode_generic): Use `if' instead of
2702         `switch'.
2703         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2704         decode JIS-Latin.
2705
2706 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2707
2708         * text-coding.c (encode_coding_sjis): Deleted.
2709         (char_encode_shift_jis): New function.
2710         (char_finish_shift_jis): New function.
2711         (reset_encoding_stream): Set up `encode_char' and `finish' for
2712         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2713         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2714         (char_encode_utf8): Treat `eol_type'.
2715
2716 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2717
2718         * file-coding.c (decode_coding_iso2022): Use
2719         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2720
2721 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2722
2723         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2724         to 0.7 (Hirano).
2725
2726 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2727
2728         * char-lb.h (CHAR_COLUMNS): New macro.
2729
2730 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2731
2732         * text-coding.c (char_encode_ucs4): New function.
2733         (char_finish_ucs4): New function.
2734         (encode_coding_ucs4): Deleted.
2735         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2736         (text_encode_generic): Delete local variable `charset' and `half'.
2737         (ucs_to_mule_table): Deleted.
2738         (mule_to_ucs_table): Deleted.
2739         (Fset_ucs_char): Deleted.
2740         (ucs_to_char): Deleted.
2741         (Fucs_char): Deleted.
2742         (Fset_char_ucs): Deleted.
2743         (Fchar_ucs): Deleted.
2744         (decode_ucs4): Deleted.
2745         (mule_char_to_ucs4): Deleted.
2746         (encode_ucs4): Deleted.
2747         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2748         (decode_coding_utf8): Likewise.
2749         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2750         (char_encode_iso2022): Fixed.
2751         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2752         `Fset_char_ucs' and `Fchar_ucs'.
2753         (complex_vars_of_file_coding): Don't initialize
2754         `ucs_to_mule_table'.
2755
2756         * objects-tty.c (tty_initialize_font_instance): Don't use
2757         `XCHARSET_COLUMNS'.
2758
2759         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2760         UTF-2000.
2761
2762         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2763         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2764
2765         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2766         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2767         (emchar_string_displayed_columns): Likewise.
2768
2769         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2770         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2771         (string_column_at_point): Likewise.
2772         (Fmove_to_column): Likewise.
2773
2774         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2775         `encoding_table' and `decoding_table'.
2776         (CHARSET_REP_BYTES): Deleted.
2777         (XCHARSET_REP_BYTES): Deleted.
2778         (XCHARSET_COLUMNS): Deleted.
2779         (CHAR_COLUMNS): New macro.
2780         (lookup_composite_char): Deleted unconditionally.
2781         (composite_char_string): Likewise.
2782
2783 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2784
2785         * char-ucs.h (Emchar_to_byte_table): New type.
2786         (get_byte_from_character_table): New function interface.
2787         (Vcharset_latin_jisx0201): New variable.
2788         (latin_jisx0201_to_ucs): New variable.
2789         (ucs_to_latin_jisx0201): New variable.
2790         (Vcharset_latin_iso8859_2): New variable.
2791         (latin_iso8859_2_to_ucs): New variable.
2792         (ucs_to_latin_iso8859_2): New variable.
2793         (Vcharset_latin_iso8859_3): New variable.
2794         (latin_iso8859_3_to_ucs): New variable.
2795         (ucs_to_latin_iso8859_3): New variable.
2796         (Vcharset_latin_iso8859_4): New variable.
2797         (latin_iso8859_4_to_ucs): New variable.
2798         (ucs_to_latin_iso8859_4): New variable.
2799         (Vcharset_latin_iso8859_9): New variable.
2800         (latin_iso8859_9_to_ucs): New variable.
2801         (ucs_to_latin_iso8859_9): New variable.
2802         (Vcharset_latin_viscii_lower): New variable.
2803         (latin_viscii_lower_to_ucs): New variable.
2804         (ucs_to_latin_viscii_lower): New variable.
2805         (Vcharset_latin_viscii_upper): New variable.
2806         (latin_viscii_upper_to_ucs): New variable.
2807         (ucs_to_latin_viscii_upper): New variable.
2808         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2809         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2810         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2811         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2812         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2813         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2814         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2815         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2816         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2817         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2818
2819         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2820         (Vcharset_latin_viscii_upper): New variable.
2821         (make_byte_from_character_table): New function.
2822         (put_byte_from_character_table): New function.
2823         (get_byte_from_character_table): New function.
2824         (CHAR96): New macro.
2825         (ucs_to_latin_jisx0201): New variable.
2826         (latin_jisx0201_to_ucs): New variable.
2827         (ucs_to_latin_iso8859_2): New variable.
2828         (latin_iso8859_2_to_ucs): New variable.
2829         (ucs_to_latin_iso8859_3): New variable.
2830         (latin_iso8859_3_to_ucs): New variable.
2831         (ucs_to_latin_iso8859_4): New variable.
2832         (latin_iso8859_4_to_ucs): New variable.
2833         (ucs_to_latin_iso8859_9): New variable.
2834         (latin_iso8859_9_to_ucs): New variable.
2835         (ucs_to_latin_viscii_lower): New variable.
2836         (latin_viscii_lower_to_ucs): New variable.
2837         (ucs_to_latin_viscii_upper): New variable.
2838         (latin_viscii_upper_to_ucs): New variable.
2839         (ucs_to_latin_tcvn5712): New variable.
2840         (latin_tcvn5712_to_ucs): New variable.
2841         (Qlatin_viscii_lower): New variable.
2842         (Qlatin_viscii_upper): New variable.
2843         (syms_of_mule_charset): Set up new symbol
2844         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2845         (complex_vars_of_mule_charset): Set up new charset
2846         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2847         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2848         `ucs_to_<CHARSET>' tables.
2849
2850 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2851
2852         * text-coding.c: New file.
2853
2854 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2855
2856         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2857
2858         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2859         (MAKE_CHAR): Modify for `ucs-bmp'.
2860         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2861         non-MULE characters of BMP.
2862
2863 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2864
2865         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2866         to 0.6.
2867
2868 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2869
2870         * lstream.h:
2871         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2872         - Include character.h for `CHAR_ASCII_P'.
2873
2874         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2875
2876         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2877         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2878
2879         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2880         (BYTE_C0_P): Likewise.
2881         (BYTE_C1_P): Likewise.
2882         (Lstream_get_emchar_1): Likewise.
2883         (Lstream_fput_emchar): Likewise.
2884         (Lstream_funget_emchar): Likewise.
2885         (copy_internal_to_external): Likewise.
2886         (copy_external_to_internal): Likewise.
2887
2888         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2889         (BYTE_C0_P): Likewise.
2890         (BYTE_C1_P): Likewise.
2891         (Lstream_get_emchar_1): Likewise.
2892         (Lstream_fput_emchar): Likewise.
2893         (Lstream_funget_emchar): Likewise.
2894         (copy_internal_to_external): Likewise.
2895         (copy_external_to_internal): Likewise.
2896
2897         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2898         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2899
2900         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2901         (BYTE_ASCII_P): Moved to mb-1byte.h.
2902
2903 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2904
2905         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2906
2907         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2908         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2909         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2910         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2911         (VALIDATE_CHARPTR_FORWARD): Likewise.
2912         (simple_charptr_emchar): Moved to mb-multibyte.h.
2913         (simple_set_charptr_emchar): Likewise.
2914         (simple_charptr_copy_char): Likewise.
2915         (non_ascii_charptr_emchar): Likewise.
2916         (non_ascii_set_charptr_emchar): Likewise.
2917         (non_ascii_charptr_copy_char): Likewise.
2918         (charptr_emchar): Moved to mb-*byte.h.
2919         (set_charptr_emchar): Likewise.
2920         (charptr_copy_char): Likewise.
2921
2922         * mb-1byte.h, mb-multibyte.h: New files.
2923
2924 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2925
2926         * mb-utf-8.h (MULTIBYTE): New macro.
2927         (MAX_EMCHAR_LEN): Moved from buffer.h.
2928         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2929
2930         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2931
2932         * mb-lb.h, multibyte.h: New files.
2933
2934         * char-1byte.h (Charset_ID): Moved from buffer.h.
2935         (MIN_LEADING_BYTE): Likewise.
2936         (LEADING_BYTE_ASCII): Likewise.
2937         (NUM_LEADING_BYTES): Likewise.
2938         (CHARSETP): Likewise.
2939         (CHARSET_BY_LEADING_BYTE): Likewise.
2940         (XCHARSET_LEADING_BYTE): Likewise.
2941         (XCHARSET_GRAPHIC): Likewise.
2942         (XCHARSET_COLUMNS): Likewise.
2943         (XCHARSET_DIMENSION): Likewise.
2944         (CHAR_CHARSET): Likewise.
2945         (CHAR_LEADING_BYTE): Likewise.
2946         (BREAKUP_CHAR): Likewise.
2947         (Vcharset_ascii): Likewise.
2948
2949         * buffer.h: Include multibyte.h unconditionally.
2950         (VALID_CHARPTR_P): Moved to multibyte.h.
2951         (ASSERT_VALID_CHARPTR): Likewise.
2952         (REAL_INC_CHARPTR): Likewise.
2953         (REAL_INC_CHARBYTIND): Likewise.
2954         (REAL_DEC_CHARPTR): Likewise.
2955         (INC_CHARPTR): Likewise.
2956         (INC_CHARBYTIND): Likewise.
2957         (DEC_CHARPTR): Likewise.
2958         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2959         (VALIDATE_CHARPTR_FORWARD): Likewise.
2960         (charptr_n_addr): Likewise.
2961         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2962         (simple_charptr_emchar): Moved to multibyte.h.
2963         (simple_set_charptr_emchar): Likewise.
2964         (simple_charptr_copy_char): Likewise.
2965         (non_ascii_charptr_emchar): Likewise.
2966         (non_ascii_set_charptr_emchar): Likewise.
2967         (non_ascii_charptr_copy_char): Likewise.
2968         (charptr_emchar): Likewise.
2969         (set_charptr_emchar): Likewise.
2970         (charptr_copy_char): Likewise.
2971         (charptr_emchar_n): Likewise.
2972         (Charset_ID): Moved to char-1byte.h.
2973         (Vcharset_ascii): Likewise.
2974         (CHAR_CHARSET): Likewise.
2975         (CHAR_LEADING_BYTE): Likewise.
2976         (LEADING_BYTE_ASCII): Likewise.
2977         (NUM_LEADING_BYTES): Likewise.
2978         (MIN_LEADING_BYTE): Likewise.
2979         (CHARSETP): Likewise.
2980         (CHARSET_BY_LEADING_BYTE): Likewise.
2981         (XCHARSET_LEADING_BYTE): Likewise.
2982         (XCHARSET_GRAPHIC): Likewise.
2983         (XCHARSET_COLUMNS): Likewise.
2984         (XCHARSET_DIMENSION): Likewise.
2985         (BREAKUP_CHAR): Likewise.
2986
2987 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2988
2989         * character.h: Add document about interface for characters.
2990
2991         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2992         (MAKE_CHAR): Delete comment about
2993         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2994         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2995         (BREAKUP_CHAR): Modify name of arguments.
2996         (CHAR_CHARSET): Modify name of argument.
2997
2998         * buffer.h: Delete document about Emchar accessors.
2999
3000 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3001
3002         * character.h (CHAR_INTP): Moved from buffer.h
3003         (CHAR_OR_CHAR_INTP): Likewise.
3004         (XCHAR_OR_CHAR_INT): Likewise.
3005         (CHECK_CHAR_COERCE_INT): Likewise.
3006
3007         * buffer.h (CHAR_INTP): Moved to character.h
3008         (CHAR_OR_CHAR_INTP): Likewise.
3009         (XCHAR_OR_CHAR_INT): Likewise.
3010         (CHECK_CHAR_COERCE_INT): Likewise.
3011
3012 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3013
3014         * character.h:
3015         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3016         - Include char-1byte.h, char-lb.h or char-ucs.h.
3017
3018         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3019
3020         * buffer.h: Include character unconditionally.
3021         (valid_char_p): Moved to char-*.h.
3022         (non_ascii_valid_char_p): Moved to char-lb.h.
3023
3024         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3025
3026 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3027
3028         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3029         in UTF-2000 because it is not ported yet and not to use
3030         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3031         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3032         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3033
3034         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3035         (CHAR_ASCII_P): Moved from character.h.
3036
3037         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3038         (CHAR_ASCII_P): Likewise.
3039         (CHAR_FIELD1_MASK): Deleted.
3040         (CHAR_FIELD2_MASK): Deleted.
3041         (CHAR_FIELD3_MASK): Deleted.
3042         (MAX_CHAR_BASIC_LATIN): New macro.
3043         (CHAR_FIELD1): Deleted.
3044         (CHAR_FIELD2_INTERNAL): Deleted.
3045         (CHAR_FIELD3_INTERNAL): Deleted.
3046         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3047         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3048         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3049         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3050         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3051         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3052         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3053         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3054         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3055         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3056         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3057         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3058         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3059         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3060         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3061         (MIN_CHAR_COMPOSITION): Deleted.
3062         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3063         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3064
3065 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3066
3067         * buffer.h: Include mb-utf-8.h in UTF-2000.
3068
3069         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3070
3071         * mb-utf-8.h: New file.
3072
3073 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3074
3075         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3076         instead of `int'.
3077
3078         * mule-charset.h, buffer.h (Charset_ID): New type.
3079
3080 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3081
3082         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3083         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3084         instead of `MULE_CHAR_PRIVATE_OFFSET',
3085         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3086         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3087         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3088
3089         * character.h (Vcharset_japanese_jisx0212): New variable
3090         definition.
3091
3092 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3093
3094         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3095         (charset_by_attributes): Delete array about direction.
3096         (latin_a_char_to_charset): New variable in UTF-2000.
3097         (latin_a_char_to_byte1): New variable in UTF-2000.
3098         (latin_a_char_to_byte2): New variable in UTF-2000.
3099         (Qucs_bmp): New variable.
3100         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3101         `Bufbyte'.
3102         (next_allocated_2_byte_leading_byte): Likewise.
3103         (non_ascii_set_charptr_emchar): Likewise.
3104         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3105         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3106         `charset_by_attributes'.
3107         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3108         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3109         and `CHARSET_BY_LEADING_BYTE'.
3110         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3111         `utf-2000-version' to `vars_of_mule_charset'.
3112         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3113         define `leading-code-private-11' in UTF-2000; move setting of
3114         `utf-2000-version' from `syms_of_mule_charset'.
3115         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3116         UTF-2000.
3117
3118         * character.h (Charset_ID): New type.
3119         (LEADING_BYTE_UCS_BMP): New macro.
3120         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3121         (CHARSET_ID_OFFSET_94): New macro.
3122         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3123         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3124         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3125         final-byte.
3126         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3127         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3128         (CHARSET_ID_OFFSET_96): New macro.
3129         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3130         CHARSET_ID_OFFSET_96 and final-byte.
3131         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3132         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3133         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3134         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3135         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3136         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3137         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3138         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3139         (LEADING_BYTE_THAI_TIS620): Likewise.
3140         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3141         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3142         (CHARSET_ID_OFFSET_94x94): New macro.
3143         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3144         CHARSET_ID_OFFSET_94x94 and final-byte.
3145         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3146         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3147         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3148         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3149         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3150         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3151         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3152         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3153         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3154         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3155         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3156         (CHARSET_TYPE_128X128): New macro.
3157         (CHARSET_TYPE_256X256): New macro.
3158         (XCHARSET_PRIVATE_P): Delete unconditionally.
3159         (charset_by_attributes): Delete array about direction.
3160         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3161         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3162         (MIN_CHAR_94): New macro.
3163         (MAX_CHAR_94): New macro.
3164         (MIN_CHAR_96): New macro.
3165         (MAX_CHAR_96): New macro.
3166         (MIN_CHAR_94x94): New macro.
3167         (MAX_CHAR_94x94): New macro.
3168         (MIN_CHAR_96x96): New macro.
3169         (MAX_CHAR_96x96): New macro.
3170         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3171         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3172         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3173         - 32)'.
3174         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3175         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3176         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3177         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3178         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3179         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3180         `XCHARSET_LEADING_BYTE' to make code-point.
3181         (latin_a_char_to_charset): New variable.
3182         (latin_a_char_to_byte1): New variable.
3183         (latin_a_char_to_byte2): New variable.
3184         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3185         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3186         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3187
3188         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3189         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3190         (find_charsets_in_emchar_string): Likewise.
3191         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3192
3193         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3194         `int'.
3195         (decode_coding_iso2022): Likewise.
3196
3197         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3198         of `unsigned char'.
3199
3200         * redisplay.c (redisplay_text_width_emchar_string): Use
3201         `Charset_ID' instead of `unsigned char'.
3202         (redisplay_frame_text_width_string): Likewise.
3203
3204         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3205         `unsigned char'.
3206
3207         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3208         instead of `unsigned char'.
3209         (face_cachel_charset_font_metric_info): Likewise.
3210
3211         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3212         (get_non_ascii_char_table_value): Likewise.
3213         (get_char_table): Likewise.
3214         (put_char_table): Likewise.
3215         (map_over_other_charset): Likewise.
3216         (map_char_table): Likewise.
3217
3218         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3219         instead of `unsigned char'.
3220
3221 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3222
3223         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3224         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3225
3226         * mule-charset.c (leading_code_private_11): Don't define in
3227         UTF-2000.
3228
3229         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3230         in UTF-2000 because it is not ported yet and not to use
3231         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3232
3233 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3234
3235         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3236
3237 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3238
3239         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3240         in UTF-2000.
3241
3242         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3243         of unsigned char to store leading-byte.
3244
3245         * chartab.c (get_non_ascii_char_table_value): Don't use
3246         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3247
3248         * file-coding.c (encode_coding_big5): Delete bogus implementation
3249         in UTF2000.
3250
3251         * character.h (LEADING_BYTE_*): Delete definition for
3252         non-UTF-2000.
3253         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3254         (LEADING_BYTE_PREFIX_P): Deleted.
3255         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3256         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3257         (BUFBYTE_LEADING_BYTE_P): Deleted.
3258         (CHARSET_PRIVATE_P): Deleted unconditionally.
3259         (rep_bytes_by_first_byte): Deleted unconditionally.
3260         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3261         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3262         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3263         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3264         (CHAR_FIELD2): Deleted.
3265         (CHAR_FIELD3): Deleted.
3266         (MAKE_CHAR): Delete definition for non-UTF-2000.
3267         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3268         (breakup_char_1): New implementation.
3269         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3270         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3271
3272 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3273
3274         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3275         condition.
3276
3277 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3278
3279         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3280         (CHARSET_PRIVATE_P): Likewise.
3281         (XCHARSET_PRIVATE_P): Likewise.
3282         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3283
3284         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3285         UTF2000.
3286         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3287
3288 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3289
3290         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3291         (NUM_LEADING_BYTES): Changed from 128 to 256.
3292         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3293         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3294         UTF2000.
3295         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3296
3297         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3298         UTF2000.
3299         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3300         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3301         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3302         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3303         (Qchinese_cns11643_3): New variable in UTF2000.
3304         (Qchinese_cns11643_4): New variable in UTF2000.
3305         (Qchinese_cns11643_5): New variable in UTF2000.
3306         (Qchinese_cns11643_6): New variable in UTF2000.
3307         (Qchinese_cns11643_7): New variable in UTF2000.
3308         (syms_of_mule_charset): Define `chinese-cns11643-3',
3309         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3310         and `chinese-cns11643-7' in UTF2000.
3311         (vars_of_mule_charset): Initialize
3312         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3313         + 1 in UTF2000.
3314         (complex_vars_of_mule_charset): Setup charset
3315         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3316         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3317
3318 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3319
3320         * mule-charset.c: Move setting for `leading-code-private-11' from
3321         `syms_of_mule_charset' to `vars_of_mule_charset'.
3322
3323 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3324
3325         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3326         and `NUM_LEADING_BYTES' in assert.
3327
3328 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3329
3330         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3331         instead of 128.
3332         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3333         `NUM_LEADING_BYTES' instead of 128.
3334
3335 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3336
3337         * mule-charset.h (charset_by_leading_byte): Use
3338         `NUM_LEADING_BYTES' instead of 128.
3339         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3340
3341         * mule-charset.c (charset_by_leading_byte): Use
3342         `NUM_LEADING_BYTES' instead of 128.
3343         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3344
3345         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3346         128.
3347
3348 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3349
3350         * mule-charset.c (syms_of_mule_charset): Update to
3351         0.4 (Shin-Imamiya).
3352
3353 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3354
3355         * file-coding.c (encode_coding_sjis): New implementation for
3356         UTF2000.  (decode_coding_sjis): Ditto.
3357
3358 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3359
3360         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3361         Don't define in UTF2000.
3362
3363         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3364         defined.
3365
3366         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3367         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3368         MULE.
3369
3370 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3371
3372         * config.h.in (CHAR_IS_UCS4): New macro.
3373
3374         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3375         conventional MULE representation.
3376         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3377
3378         * mule-charset.h: Reverted to original.
3379
3380         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3381         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3382         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3383
3384         * character.h: New file.
3385
3386         * file-coding.c (Fmake_coding_system): Set 1 to
3387         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3388         defined.
3389         (encode_coding_no_conversion): New implementation for UTF2000.
3390
3391         * file-coding.h (struct Lisp_Coding_System): Add new member
3392         `fixed.size'.
3393
3394 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3395
3396         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3397         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3398         (encode_coding_iso2022): New implementation for UTF2000.
3399
3400 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3401
3402         * mule-canna.c (c2mu): New implementation for UTF2000.
3403         (m2c): Likewise.
3404
3405 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3406
3407         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3408
3409 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3410
3411         * file-coding.c (reset_encoding_stream): Set 0 to
3412         `str->iso2022.current_char_boundary' in UTF2000.
3413         (encode_utf8): Don't define in UTF2000.
3414         (encode_coding_utf8): New implementation for UTF-8 representation
3415         of UTF2000.
3416         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3417
3418 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3419
3420         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3421
3422         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3423         UTF2000.
3424         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3425
3426         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3427
3428         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3429         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3430         as UTF-8 in UTF2000.
3431         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3432         (non_ascii_valid_char_p): Don't define in UTF2000.
3433         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3434         (Lstream_get_emchar_1): Likewise.
3435         (utf-2000-version): New variable in UTF2000.
3436
3437         * lread.c (read_escape): Add new reader `u'.
3438
3439         * insdel.c (three_to_one_table): Don't define in UTF2000.
3440         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3441         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3442         UTF2000.
3443         (bytind_to_bufpos_func): Likewise.
3444         (buffer_mule_signal_inserted_region): Likewise.
3445         (vars_of_insdel): Don't initialize `three_to_one_table'.
3446         (init_buffer_text): Use `buf->text->mule_size' instead of
3447         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3448         UTF2000.
3449
3450         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3451         UTF-8 representation in UTF2000.
3452         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3453         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3454         (decode_coding_iso2022): Don't define local variable `lb' in
3455         UTF2000; don't use LEADING_BYTE in UTF2000; use
3456         `DECODE_ADD_UCS_CHAR' in UTF2000.
3457         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3458
3459         * config.h.in (UTF2000): New macro.
3460
3461         * buffer.h (struct buffer_text): Add new member `mule_size' and
3462         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3463         (valid_char_p): Return always 1 in UTF2000.
3464         (MAX_EMCHAR_LEN): 6 in UTF2000.
3465         (three_to_one_table): Don't define in UTF2000.
3466         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3467         UTF2000.
3468         (real_bytind_to_bufpos): Likewise.
3469
3470         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3471
3472 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3473
3474         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3475         representation change.
3476         (Vutf_2000_version): New variable.
3477         (leading_code_private_11): New variable.
3478         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3479         `leading-code-private-11'.
3480
3481         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3482         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3483         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3484         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3485         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3486         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3487         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3488         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3489         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3490         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3491         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3492         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3493         (MIN_CHAR_GREEK): New macro.
3494         (MAX_CHAR_GREEK): New macro.
3495         (MIN_CHAR_CYRILLIC): New macro.
3496         (MAX_CHAR_CYRILLIC): New macro.
3497         (MIN_CHAR_HEBREW): New macro.
3498         (MAX_CHAR_HEBREW): New macro.
3499         (MIN_CHAR_THAI): New macro.
3500         (MAX_CHAR_THAI): New macro.
3501         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3502         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3503         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3504         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3505         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3506         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3507         (CHAR_FIELD2): New inline function.
3508         (CHAR_FIELD3): New inline function.
3509         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3510         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3511         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3512         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3513         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3514         (MIN_CHAR_COMPOSITION): Likewise.
3515         (CHAR_LEADING_BYTE): Modified for character representation change.
3516         (MAKE_CHAR): Likewise.
3517
3518         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3519         (Vcharset_greek_iso8859_7): Likewise.
3520         (Vcharset_cyrillic_iso8859_5): Likewise.
3521         (Vcharset_hebrew_iso8859_8): Likewise.
3522         (Vcharset_thai_tis620): Likewise.
3523         (Vcharset_katakana_jisx0201): Likewise.
3524
3525 2001-01-26  Martin Buchholz <martin@xemacs.org>
3526
3527         * XEmacs 21.2.43 "Terspichore" is released.
3528
3529 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3530
3531         Type fiddling for window_config.saved_windows_count
3532         * window.c (struct window_config): 
3533         Make saved_windows_count member unsigned.
3534         * window.c (sizeof_window_config_for_n_windows): 
3535         Make parameter unsigned.
3536         * window.c (mark_window_config):
3537         * window.c (window_config_equal):
3538         * window.c (free_window_configuration):
3539         * window.c (Fset_window_configuration):
3540         * window.c (count_windows):
3541         * window.c (Fcurrent_window_configuration):
3542         * window.c (reinit_vars_of_window):
3543         Update all callers and users.
3544
3545 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3546
3547         Alignment correctness for flexible arrays.
3548         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
3549         Make alignment-correct. Add interesting comments.
3550         * alloc.c (size_vector):
3551         * alloc.c (make_vector_internal):
3552         * alloc.c (make_bit_vector_internal):
3553         * alloc.c (sweep_bit_vectors_1):
3554         * fns.c (size_bit_vector):
3555         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
3556         * window.c (sizeof_window_config_for_n_windows): 
3557         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
3558
3559 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3560
3561         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
3562
3563 2001-01-23  Andy Piper  <andy@xemacs.org>
3564
3565         * select.c (Fown_selection_internal): pass owned_p
3566
3567         * select-msw.c (mswindows_own_selection): New Signature.
3568
3569         * console.h (struct console_methods): add owned_p to
3570         _own_selection.
3571
3572         * select-x.c (x_own_selection): pass owned_p
3573         (hack_motif_clipboard_selection): use owned_p
3574         (vars_of_select_x): new variable -
3575         x_selection_strict_motif_ownership.
3576
3577 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3578
3579         * specifier.h (specifier_data_offset): Remove pointless parens.
3580         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
3581
3582 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3583
3584         Make Lisp_Object sizeof methods be alignment-correct.
3585         pdump must restore objects to the same alignment as the C compiler
3586         assumes.  It really matters on SGIs.
3587         * lstream.c (aligned_sizeof_lstream): New.
3588         (sizeof_lstream): Use aligned_sizeof_lstream.
3589         (Lstream_new): Likewise.
3590         * opaque.c (aligned_sizeof_opaque): New.
3591         (sizeof_opaque): Use aligned_sizeof_opaque.
3592         (make_opaque): Likewise.
3593         * specifier.c (aligned_sizeof_specifier): New.
3594         (sizeof_specifier): Use aligned_sizeof_specifier.
3595         (make_specifier_internal): Likewise.
3596
3597 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3598
3599         * lstream.h (struct lstream): Use max_align_t for trailing data.
3600         * specifier.h (struct Lisp_Specifier): Likewise.
3601
3602 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3603
3604         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
3605         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
3606         (CCL_SUSPEND): Likewise.
3607         (CCL_INVALID_CMD): Likewise.
3608         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
3609         (ccl_driver): Likewise.
3610         (CCL_WRITE_CHAR): Macro hygiene.
3611         (CCL_WRITE_STRING): Macro hygiene.
3612
3613 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3614
3615         Port "portable" dumper to SunOS 4 and HP-UX.
3616         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
3617         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
3618         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
3619
3620 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3621
3622         * lisp.h (ALIGNOF): A better definition for C++.
3623
3624 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3625
3626         Macro hygiene.
3627         Fix printf warnings: int format, long int arg.
3628         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
3629         (PUSH_FAILURE_POINT): Use correct printf formats.
3630         (POP_FAILURE_POINT): Use correct printf formats.  
3631         Use do {...} while (0)
3632
3633 2001-01-20  Martin Buchholz <martin@xemacs.org>
3634
3635         * XEmacs 21.2.42 "Poseidon" is released.
3636
3637 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3638
3639         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
3640
3641 2001-01-19  Martin Buchholz  <martin@xemacs.org>
3642
3643         De-kludgify FIXED_TYPE free list frobbing.
3644         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
3645         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
3646         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
3647         * alloc.c (Lisp_Free): New pseudo lisp object definition.
3648         * alloc.c (LRECORD_FREE_P): New.
3649         * alloc.c (MARK_LRECORD_AS_FREE): New.
3650         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
3651         * alloc.c (STRUCT_FREE_P): Deleted.
3652         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
3653         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
3654         * alloc.c (STRING_CHARS_FREE_P): New.
3655         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
3656         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
3657         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
3658         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
3659         * alloc.c (resize_string): Use new definitions.
3660         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
3661         * alloc.c (verify_string_chars_integrity): Use new definitions.
3662         * alloc.c (compact_string_chars): Use new definitions.
3663         * alloc.c: Update monster comments.
3664         * lrecord.h (lrecord_type): Add some new lrecord types for
3665         alloc.c's use.
3666
3667 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3668
3669         Improve alignment hackery.
3670         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
3671         (max_align_t): Moved from opaque.h - general purpose.
3672         (ALIGN_PTR): Use size_t, not long.
3673         * opaque.h (max_align_t): Move to lisp.h.
3674
3675 2001-01-18  Norbert Koch  <nk@LF.net>
3676
3677         * gui.h: Fix and add prototypes to fix build problems.
3678
3679 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3680
3681         temacs is going away, so `dump-temacs' is now a bad name.
3682         * .dbxrc (dump-temacs): Rename to `dmp'.
3683         * .gdbinit (dump-temacs): Rename to `dmp'.
3684
3685 2001-01-17  Andy Piper  <andy@xemacs.org>
3686
3687         * glyphs.c (print_image_instance): comment to make martin happy.
3688
3689         * glyphs-x.c (x_redisplay_widget): update faces after a frame
3690         change.
3691
3692         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
3693         activation.
3694         (mswindows_tab_control_redisplay): warning suppression.
3695
3696         * glyphs-widget.c (widget_update): re-write to cope with updated
3697         items.
3698         (widget_instantiate): use new gui_item functions.
3699         (tab_control_update): deleted.
3700         (progress_gauge_update): deleted.
3701         (image_instantiator_progress_guage): take out update reference.
3702         (image_instantiator_tree_view): ditto.
3703         (image_instantiator_tab_control): ditto.
3704
3705         * gui.c (widget_gui_parse_item_keywords): new function. Do things
3706         Right the new way.
3707         (gui_item_add_keyval_pair): re-write to cope with descriptors and
3708         return whether anything was changed.
3709         (update_gui_item_keywords): as it sounds.
3710
3711         * gui.h: declare widget_gui_parse_item_keywords.
3712
3713         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
3714         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
3715
3716 2001-01-17  Martin Buchholz <martin@xemacs.org>
3717
3718         * XEmacs 21.2.41 "Polyhymnia" is released.
3719
3720 2001-01-16  Didier Verna  <didier@xemacs.org>
3721
3722         * glyphs.c (image_instantiate): don't use fallbacks when
3723         instantiating a face's background pixmap by inheritance.
3724
3725 2001-01-14  Mike Sperber <mike@xemacs.org>
3726
3727         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3728         Conditionalize accordingly.
3729
3730 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3731
3732         * dumper.c (pdump_file_get): Fix a compiler warning.
3733
3734 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3735
3736         Make Purify happy when pdumping.
3737         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3738         iniitalizing all bits of new lisp object memory.
3739         * symbols.c (Fmake_local_variable): Likewise.
3740         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3741         * symbols.c (Fdefvaralias): Likewise.
3742         * mule-charset.c (vars_of_mule_charset): Likewise.
3743
3744 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3745         Add the `-nd' flag when running pre-dump operations under the debugger.
3746         * .dbxrc (run-temacs): Add `-nd'.
3747         * .dbxrc (update-elc): Likewise.
3748         * .dbxrc (dump-temacs): Likewise.
3749         * .gdbinit (run-temacs): Likewise.
3750         * .gdbinit (check-temacs): Likewise.
3751         * .gdbinit (update-elc): Likewise.
3752         * .gdbinit (dump-temacs): Likewise.
3753
3754 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3755
3756         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3757         export OBJECT_MODE=64
3758         configure --pdump --use-union-type=no
3759         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3760         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3761
3762         * miscplay.c (sndcnv8U_2mono):
3763         Avoid two uses of `++' in the same expression.
3764         Suppresses a GCC warning.
3765
3766 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3767
3768         Make sure future compilers don't miscompile alloc.c.
3769         * alloc.c:
3770         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3771         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3772
3773 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3774
3775         * dumper.c: A little post-pdump-rename comment fixup.
3776
3777 2001-01-09  Jerry James  <james@eecs.ku.edu>
3778
3779         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3780
3781 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3782
3783         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3784         script:
3785         #!/bin/sh
3786         replace_symbol () {
3787           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3788         }
3789
3790         replace_symbol pdump_wire_lists pdump_weak_object_chains
3791         replace_symbol pdump_wire_list dump_add_weak_object_chain
3792
3793         replace_symbol pdump_wires pdump_root_objects
3794         replace_symbol pdump_wire dump_add_root_object
3795
3796         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3797         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3798
3799         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3800         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3801         replace_symbol dumpstructinfo pdump_root_struct_ptr
3802         replace_symbol dumpstruct dump_add_root_struct_ptr
3803
3804         replace_symbol dumpopaque dump_add_opaque
3805         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3806         replace_symbol dumpopaqueinfos pdump_opaques
3807         replace_symbol dumpopaqueinfo pdump_opaque
3808
3809         replace_symbol nb_structdump nb_root_struct_ptrs
3810         replace_symbol nb_opaquedump nb_opaques
3811
3812         replace_symbol align_table pdump_align_table
3813         replace_symbol dump_header pdump_header
3814
3815         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3816         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3817
3818
3819 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3820
3821         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3822         optimizing bytecount_to_charcount().
3823
3824 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3825
3826         * config.h.in:
3827         (HAVE_DLFCN_H): Removed.
3828         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3829
3830 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3831
3832         Portable dumper maintainability improvements.
3833         * alloc.c (staticpro):
3834         * alloc.c (staticpro_nodump):
3835         * alloc.c (garbage_collect_1):
3836         * alloc.c (reinit_alloc_once_early):
3837         * alloc.c (init_alloc_once_early):
3838         * alloc.c: Move dumper functions to alloc.c.
3839         * dumper.c (pdump_backtrace):
3840         * dumper.c (pdump_dump_structs):
3841         * dumper.c (pdump_dump_opaques):
3842         * dumper.c (pdump_dump_rtables):
3843         * dumper.c (pdump_dump_wired):
3844         * dumper.c (pdump):
3845         * dumper.c (pdump_load_check):
3846         * dumper.c (pdump_load_finish):
3847         * dumper.c (pdump_file_unmap):
3848         * dumper.c (pdump_file_get):
3849         * dumper.c (pdump_resource_free):
3850         * dumper.c (pdump_resource_get):
3851         * dumper.c (pdump_file_free):
3852         * dumper.c (pdump_file_try):
3853         * dumper.c (pdump_load):
3854         Remove fixed size limits on staticpro(), staticpro_nodump(),
3855         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3856         Remove custom code for dumping lrecord_implementations_table - use
3857         dumpopaque instead.
3858         Remove (most of the) custom code for dumping staticpros - dump it
3859         like any other dynarr.
3860
3861         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3862         * dumper.c: Moved functions from alloc.c.
3863         * alloc.c (dumpstruct): Moved to dumper.c.
3864         * alloc.c (dumpopaque): Likewise.
3865         * alloc.c (pdump_wire): Likewise.
3866         * alloc.c (pdump_wire_list): Likewise.
3867
3868         * lisp.h (Dynarr_sizeof): New.
3869         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3870         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3871         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3872
3873         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3874         * lisp.h (dumpopaque): ditto.
3875         * lisp.h (pdump_wire): ditto.
3876         * lisp.h (pdump_wire_list): ditto.
3877
3878 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3879
3880         * make-src-depend (PrintPatternDeps):
3881         Use `sort' to make output independent of perl version.
3882
3883 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3884
3885         Port to Netbsd 1.5.
3886         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3887         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3888
3889 2001-01-03  Didier Verna  <didier@xemacs.org>
3890
3891         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3892         that `focus_frame' is alive before thinking of calling
3893         `redisplay_redraw_cursor' on it.
3894
3895 2001-01-08  Martin Buchholz <martin@xemacs.org>
3896
3897         * XEmacs 21.2.40 is released.
3898
3899 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3900
3901         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3902
3903 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3904
3905         * alloc.c (dbg_valmask): Make const.
3906         * alloc.c (dbg_typemask): Make const.
3907         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3908         * alloc.c (dbg_valbits): Make const.
3909         * alloc.c (dbg_gctypebits): Make const.
3910
3911 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3912
3913         * redisplay-x.c (x_bevel_area):
3914         redisplay.h (struct rune):
3915         Typo fixes in comments.
3916
3917 2001-01-05  Andy Piper  <andy@xemacs.org>
3918
3919         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3920         adjustment.
3921
3922         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3923
3924 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3925
3926         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3927
3928         * mule-ccl.c (stack_idx_of_map_multiple):
3929         Non const global data must not be initialized!
3930         Found by MIYASHITA Hisashi.
3931
3932 2001-01-02  Andy Piper  <andy@xemacs.org>
3933
3934         * frame.c (change_frame_size): make sure frame size is always
3935         marked as changed.
3936
3937         * glyphs.c (image_instance_layout): minor code reuse.
3938
3939         * window.c (Fcurrent_window_configuration): revert previous
3940         change.
3941
3942 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3943
3944         * glyphs.h:
3945         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3946
3947 2000-12-31  Andy Piper  <andy@xemacs.org>
3948
3949         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3950         when widget gets unmapped.
3951
3952         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3953         function. Make sure widgets losing focus don't just drop it.
3954         (handle_focus_event_1): record the widget with focus.
3955
3956 2000-12-31  Andy Piper  <andy@xemacs.org>
3957
3958         * window.c (allocate_window): use
3959         make_image_instance_cache_hash_table.
3960         (make_dummy_parent): ditto.
3961         (Fset_window_configuration): ditto.
3962
3963         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3964
3965         * glyphs.c (process_image_string_instantiator): use
3966         INSTANTIATOR_TYPE.
3967         (get_image_instantiator_governing_domain): ditto.
3968         (normalize_image_instantiator): ditto.
3969         (instantiate_image_instantiator): ditto.
3970         (make_image_instance_1): ditto.
3971         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3972         (instantiator_eq_equal): new function for use with instance hash
3973         tables.
3974         (instantiator_eq_hash): ditto.
3975         (make_image_instance_cache_hash_table): create a suitable hash
3976         table for storing image instances.
3977
3978         * elhash.h (hash_table_weakness): new internal weakness type
3979         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3980         declare new functions.
3981
3982         * elhash.c (finish_marking_weak_hash_tables): introduce yet
3983         another weakness type for glyphs.
3984         (make_standard_lisp_hash_table): new function split out from
3985         make_general_lisp_hash_table.
3986         (make_lisp_hash_table): call make_standard_lisp_hash_table.
3987         (hash_table_instantiate): ditto.
3988         (Fmake_hash_table): ditto.
3989
3990 2000-12-31  Martin Buchholz <martin@xemacs.org>
3991
3992         * XEmacs 21.2.39 is released.
3993
3994 2000-12-29  Andy Piper  <andy@xemacs.org>
3995
3996         * menubar.c (menubar_visible_p_changed): signal the frame changed.
3997
3998         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
3999         the frame has changed so that we pick up geometry changes such as
4000         menubar visibility.
4001
4002 2000-12-28  Andy Piper  <andy@xemacs.org>
4003
4004         * lastfile.c (my_ebss): make a char array so we can pad the
4005         bss. Fixes cygwin unexec.
4006
4007         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4008
4009 2000-12-26  Andy Piper  <andy@xemacs.org>
4010
4011         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4012         comments and try and be more precise about a non-/SIGIO world.
4013         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4014         SIGIO.
4015
4016         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4017         we don't normalize to zero width or height.
4018
4019 2000-12-24  Andy Piper  <andy@xemacs.org>
4020
4021         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4022
4023 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4024
4025         * s/sco5.h: SCO 5 has pty support.
4026
4027 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4028
4029         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4030         input-method-xlib.c contains whole contents of input-method-xfs.c,
4031         so we can use input-method-xlib.c's code for USE_XFONTSET
4032         using #ifdefs.
4033         * input-method-xfs.c: removed.
4034
4035 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4036
4037         * file-coding.h (enum coding_category_type): reorder enumerators to
4038         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4039         (now one greater than largest real coding_category_type enumerator).
4040         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4041         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4042         Fcoding_category_list, Fset_coding_priority_list,
4043         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4044         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4045
4046 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4047
4048         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4049         * redisplay-output.c (redisplay_output_window): Clear top of window
4050         when face is changed.
4051         * redisplay-x.c (x_redraw_exposed_window): Call
4052         redisplay_clear_top_of_window.
4053         * redisplay.h: Publish redisplay_clear_top_of_window.
4054
4055 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4056
4057         * buffer.c (Fkill_buffer): Map over all devices.
4058         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4059         (list_windows): New function.
4060         (list_all_windows): Ditto.
4061         (Freplace_buffer_in_windows): Use them.
4062
4063 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4064
4065         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4066         (Fopen_database): Use `db_create' instead of `db_open'.
4067         (syms_of_database): Initialize Qqueue.
4068
4069 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4070
4071         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4072         buffer_local_face_property.
4073         * buffer.h (struct buffer): New member buffer_local_face_property.
4074         * window.c (Fset_window_buffer):  Mark window's face as changed
4075         when buffer has buffer local face.
4076         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4077         * objects.c (color_after_change): Set buffer_local_face_property
4078         when locale of face specifier is buffer.
4079         * objects.c (font_after_change): Ditto.
4080         * objects.c (face_boolean_after_change): Ditto.
4081         * glyphs.c (image_after_change): Ditto.
4082
4083 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4084
4085         * nt.c (mswindows_fstat): Report file permissions, volume serial
4086         number, etc. Code adapted from FSF Emacs 20.7.
4087
4088 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4089
4090         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4091         of stat when we don't have symbolic links, to make sure
4092         mswindows_stat is called on mswindows.
4093
4094 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4095
4096         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4097
4098 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4099
4100         * doprnt.c (emacs_doprnt_1): More printing fixes.
4101         Make printing of numbers compatible with libc and FSF Emacs.
4102         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4103         Use the system printf to do most of the hard work of formatting,
4104         instead of doprnt_1().
4105         Calculate memory to allocate for format string.
4106         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4107         (doprnt_1): Cleaner code and documentation.
4108
4109 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4110
4111         * Makefile.in.in: Use the loop variable to install headers.
4112
4113 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4114
4115         * window.c (Fsplit_window): Don't invalidate face cache.
4116
4117 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4118
4119         * minibuf.c (Fall_completions): Undo the previous change
4120         which removed checking elements start with space.
4121
4122 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4123
4124         * mule-canna.c: Didier suppression.
4125
4126 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4127
4128         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4129         (warning suppression).  Add English comment translations.
4130
4131 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4132
4133         * unexelfsgi.c (unexec): Better test for mmap failure.
4134
4135 2000-12-05  Martin Buchholz <martin@xemacs.org>
4136
4137         * XEmacs 21.2.38 is released.
4138
4139 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4140
4141         * redisplay.c (bar-cursor): Make a user variable.
4142
4143         * symsinit.h: Add init_postgresql_from_environment.
4144
4145 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4146
4147         * regex.c: Convert to clean C.
4148
4149 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4150
4151         * realpath.c:
4152         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4153         initialization.
4154         (sys_readlink): renamed to system_readlink to avoid conflict with
4155         the other sys_readlink.
4156
4157 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4158
4159         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4160
4161 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4162
4163         * postgresql.c (init_postgresql_from_environment): new function.
4164         (vars_of_postgresql): Move code initializing Lisp variables out and
4165         into init_postgresql_from_environment.
4166         emacs.c (main_1): Call init_postgresql_from_environment if and only
4167         if running a dumped XEmacs.
4168
4169 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4170
4171         * buffer.c: Make find-file-compare-truenames default to true on
4172         windows.
4173
4174         * realpath.c (win32_abs_start):
4175         (cygwin_readlink):
4176         (win32_readlink): New functions.
4177         (xrealpath): Return really real filenames on windows.
4178
4179         * fileio.c (Ffile_truename): Make file-truename work on windows.
4180
4181 2000-11-29  Didier Verna  <didier@xemacs.org>
4182
4183         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4184         * faces.c (update_face_cachel_data): use it.
4185         * faces.c (add_face_cachel): use it. Complete background pixmap
4186         frobbing in face cache if `update_face_cachel_data' has not done so.
4187
4188 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4189
4190         * search.c (string_match_1): Don't set last_thing_searched
4191         when search failed.
4192
4193 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4194
4195         * buffer.c: Include casetab.h
4196         (common_init_complex_vars_of_buffer): Use new case-table object.
4197         * buffer.h: Include casetab.h
4198         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4199         (DOWNCASE_TABLE_OF): Ditto.
4200         * bufslots.h: Remove char-tables and add case-table.
4201         * casetab.c: Include casetab.h
4202         (CASE_TABLE_P): Removed.
4203         (mark_case_table): New function.
4204         (allocate_case_table): New function.
4205         (Fcase_table_p): Use new case-table.
4206         (case_table_char): New function.
4207         (Fget_case_table): Ditto.
4208         (Fput_case_table): Ditto.
4209         (Fput_case_table_pair): Ditto.
4210         (Fcopy_case_table): Ditto.
4211         (Fcurrent_case_table): Return case-table.
4212         (Fstandard_case_table): Return case-table.
4213         (Fset_case_table): Fix doc-string.
4214         (set_case_table): Use case-table
4215         (syms_of_casetab): DEFSUBR new functions.
4216         (complex_vars_of_casetab): Set up standard case-table.
4217         * casetab.h: New file.
4218         * editfns.c: Include casetab.h
4219         (Fcompare_buffer_substrings): Use case-table.
4220         * inline.c: Include casetab.h
4221         * lisp.h: Remove bogus extern.
4222         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4223         * search.c: Include casetab.h
4224         (TRANSLATE_ASCII): Removed.
4225         (TRANSLATE): Unconditionally translate character.
4226         (looking_at_1): Use case-table.
4227         (string_match_1): Ditto.
4228         (fast_string_match): Ditto.
4229         (search_command): Ditto.
4230         (search_buffer): Separate boyer_moore.  Check whether
4231         boyer_moore is possible.
4232         (simple_search): New function.
4233         (boyer_moore): Separated from search_buffer. Translate char.
4234
4235 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4236
4237         * regex.c (RE_TR_ASCII): Removed.
4238         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4239         (PATFETCH): Call PATFETCH_RAW.
4240         (PATFETCH_RAW): Fetch Emchar.
4241         (PATUNFETCH): Decrement charptr.
4242         (GET_BUFFER_SPACE): Rename b to buf_end.
4243         (BUF_PUSH): Ditto.
4244         (BUF_PUSH_2): Ditto.
4245         (BUF_PUSH_3): Ditto.
4246         (EXTEND_BUFFER): Ditto.
4247         (SET_LIST_BIT): Ditto.
4248         (regex_compile): Ditto.  Translate non ASCII char.
4249         (compile_range): Ditto.
4250         (re_search_2): Ditto.
4251         (re_match_2_internal): Compare Emchar.
4252         (bcmp_translate): Ditto.
4253
4254 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4255
4256         * lisp.h (basic char/int typedefs):  comment improvement.
4257
4258 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4259
4260         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4261         unstomp inhibit_site_lisp.  Improve comments.
4262
4263 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4264
4265         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4266
4267 2000-11-28  Andy Piper  <andy@xemacs.org>
4268
4269         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4270         clipped display for windows in the gutter also.
4271         (redisplay_display_boxes_in_window_p): change semantics of return
4272         codes to be more intuitive.
4273
4274         * gutter.h: declare display_boxes_in_gutter_p.
4275
4276         * gutter.c (display_boxes_in_gutter_p): new function for
4277         redisplay.
4278
4279 2000-11-22  Andy Piper  <andy@xemacs.org>
4280
4281         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4282         autodetect domain.
4283
4284 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4285
4286         * callproc.c (Fold_call_process_internal):
4287         * gpm.c (Freceive_gpm_event):
4288         (tty_get_foreign_selection): Might be just warning supression.
4289         * fileio.c (Fwrite_region_internal):
4290         (Fset_visited_file_modtime):
4291         * keymap.c (event_matches_key_specifier_p):
4292         Initialize GCPROed variable.
4293
4294         * menubar-x.c (command_builder_find_menu_accelerator):
4295         Initialize before use.
4296
4297 2000-11-23  Andy Piper  <andy@xemacs.org>
4298
4299         * unexcw.c (unexec): make the resulting executable executable.
4300
4301 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4302
4303         * doc.c (get_doc_string):
4304         Use size_t, not int, for result of XSTRING_LENGTH.
4305
4306         * cmds.c (Fdelete_char):
4307         * cmds.c (Fpoint_at_eol):
4308         * cmds.c (Fself_insert_command):
4309         Use EMACS_INT, not int, for result of XINT.
4310         Someday, someone will want to insert more than 2**31 identical characters.
4311
4312         * cmds.c (Fdelete_char):
4313         * cmds.c (Fdelete_backward_char):
4314         * syntax.c (Fforward_word):
4315         * syntax.c (Fforward_comment):
4316         Make COUNT argument optional, for consistency with forward-char et al.
4317
4318 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4319
4320         * lisp.h:
4321         * print.c (long_to_string):
4322         Return a useful value: the pointer at end of data written.
4323
4324         * doprnt.c:
4325         Use `static const char * const' for constant strings.
4326         (union printf_arg): Delete `i', `ui' members.
4327         (get_doprnt_args):
4328         (emacs_doprnt_1):
4329         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4330         Do all printf-ing via the `l' specifier.
4331         Use EMACS_INT instead of int.
4332         Optimize.
4333
4334 2000-11-20  Didier Verna  <didier@xemacs.org>
4335
4336         * faces.c (update_face_cachel_data): don't frob the background
4337         pixmap when the window is being created. The face is needed but
4338         does not exist yet.
4339
4340 2000-11-20  Andy Piper  <andy@xemacs.org>
4341
4342         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4343         messing with a debug environment.
4344
4345 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4346
4347         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4348
4349 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4350
4351         * casetab.c (Fcase_table_p): Fix compile error and crash.
4352
4353 2000-11-18  Philip Aston  <philipa@mail.com>
4354
4355         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4356
4357 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4358
4359         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4360         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4361
4362 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4363
4364         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4365         * unexelf.c: Use HAVE_ELF_H.
4366         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4367         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4368         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4369         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4370         for testing.
4371         So this is an unexelfsgi.c from a different line of development.
4372
4373 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4374
4375         * regex.c (RE_TR_ASCII): New function.
4376         (RE_TRANSLATE): Call it.
4377
4378 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4379
4380         * buffer.h (TRT_TABLE_OF): Remove assert.
4381         (IN_TRT_TABLE_DOMAIN): Removed.
4382
4383 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4384
4385         * free-hook.c (log_gcpro):
4386         (show_gcprohist): Add support for GCPRO5.
4387
4388 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4389
4390         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4391
4392 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4393
4394         * symeval.h: Declare flush_all_buffer_local_cache.
4395
4396         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4397         (flush_buffer_local_cache): Added.
4398         (flush_all_buffer_local_cache): Added.
4399
4400         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4401
4402         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4403         (pdump_dump_data): Ditto.
4404         (pdump_reloc_one): Ditto.
4405         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4406         before dumping.
4407
4408
4409 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4410
4411         * buffer.c: Remove if 0'ed entry.
4412         * buffer.h: Rewrite TRT to use char-table.
4413         * bufslots.h: Remove mirror tables.
4414         * casetab.c: Remove mirror tables.
4415         (CASE_TABLE_P): New macro.
4416         (Fcase_table_p): Element of a case table is string or char-table.
4417         (make_mirror_trt_table): Removed.
4418         (set_case_table): Setup char-table from strings for backward
4419         compatibility.
4420         * dired.c (Fdirectory_files):
4421         * dired-msw.c: (mswindows_get_files):
4422         * lisp.h: Change prototype of re_pattern_buffer.
4423         * regex.c: (RE_TRANSLATE): New macro.
4424         (TRANSLATE_P): Ditto.
4425         Change translate to type RE_TRANSLATE_TYPE.
4426         * regex.h: Define RE_TRANSLATE_TYPE
4427         * search.c (TRANSLATE): New macro.
4428         (TRANSLATE_ASCII): New macro.
4429         Translate table is changed to Lisp_Object.
4430         (signal_failure): Inhibit return.
4431
4432 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4433
4434         * device-msw.c:
4435         * eldap.c:
4436         * event-Xt.c:
4437         * event-stream.c:
4438         * print.c:
4439         Do UNGCPRO before return.
4440
4441 2000-11-14  Martin Buchholz <martin@xemacs.org>
4442
4443         * XEmacs 21.2.37 is released.
4444
4445 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4446
4447         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4448         Add comments about discarded return value.
4449
4450 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4451
4452         * callint.c:
4453         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4454
4455 2000-10-27  Andy Piper  <andy@xemacs.org>
4456
4457         * gutter.c (Fset_default_gutter_position): default left and right
4458         gutters to visible.
4459         (calculate_gutter_size): calculate resonable heuristic for left
4460         and right gutter sizes.
4461         (specifier_vars_of_gutter): change left and right gutter sizes to
4462         autodetect.
4463         (calculate_gutter_size_from_display_lines): new function.
4464         (output_gutter): check for resizing on left and right gutters.
4465         (clear_gutter): don't special case top and left gutters.
4466         (specifier_vars_of_gutter): use new signature for
4467         set_specifier_caching.
4468
4469         * glyphs-x.c (x_redisplay_widget): spelling fix.
4470         * glyphs.c (specifier_vars_of_glyphs):
4471         * menubar.c (specifier_vars_of_menubar):
4472         * redisplay.c (specifier_vars_of_redisplay):
4473         * toolbar.c (specifier_vars_of_toolbar):
4474         * window.c (specifier_vars_of_window):
4475         * scrollbar.c (specifier_vars_of_scrollbar):
4476         (complex_vars_of_scrollbar): use new signature for
4477         set_specifier_caching.
4478
4479         * specifier.c (set_specifier_caching): include recompute flag.
4480         (recompute_one_cached_specifier_in_window): always recompute if
4481         flag set.
4482         (recompute_one_cached_specifier_in_frame): ditto.
4483
4484         * specifier.h (struct specifier_caching): add recompute flag.
4485
4486 2000-10-24  Andy Piper  <andy@xemacs.org>
4487
4488         * unexcw.c (copy_executable_and_dump_data_section): add new
4489         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4490         5.0 happy.
4491
4492 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4493
4494         * console-x.h (x_device): New member modifier_release_time.
4495         * event-Xt.c (x_handle_sticky_modifiers):
4496         Bound interval modifier keys are sticky.
4497         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4498         * events.h: extern it.
4499
4500 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4501
4502         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4503
4504 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4505
4506         * event-stream.c (execute_command_event): Preserve current_events
4507         and the like when event is misc-user-event.
4508         Inhibit quit during the call to maybe_echo_keys.
4509
4510 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4511
4512         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4513         symlink when buffer is killed.
4514         (inhibit_clash_detection): New variable.
4515
4516 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4517
4518         * console.c (Fset_input_method): Trigger redisplay on tty.
4519
4520 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4521
4522         * process.c (Fprocess_status): Revert to previous behavior:
4523         (process-status "nosuchprocess") ==> nil
4524
4525 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4526
4527         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4528         Work around another GCC 2.95.2 optimizer bug.
4529
4530 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4531
4532         * process.c (Fget_process): Use LIST_LOOP_2.
4533         (kill_buffer_processes): Use LIST_LOOP_2.
4534
4535         * minibuf.c (Fall_completions):
4536         Delete old non-functional code for FSF fourth argument.
4537
4538         * frame.c (frame_matches_frame_spec):
4539         Renamed from `frame_matches_frametype'.  Update all callers.
4540         (device_matches_device_spec):
4541         Renamed from 'device_matches_console_spec'.  Update all callers.
4542
4543         * doc.c (Fsubstitute_command_keys):
4544         Remove buffer overflow crash.  Small code cleanups.
4545
4546         * casetab.c (check_case_table): Simpler code.
4547
4548         * window.c (Freplace_buffer_in_windows):
4549         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4550         (and similar implementation) as Fdelete_windows_on.
4551         Update all callers.
4552
4553         * alloc.c (Fmake_list):
4554         * alloc.c (make_vector):
4555         * alloc.c (Fmake_vector):
4556         * alloc.c (make_bit_vector):
4557         * alloc.c (Fmake_bit_vector):
4558         * alloc.c (Fbit_vector):
4559         * alloc.c (Fmake_string):
4560         * alloc.c (Fpurecopy):
4561         * alloc.c (Fmemory_limit):
4562         * buffer.c:
4563         * buffer.c (Fget_buffer):
4564         * buffer.c (Fkill_buffer):
4565         * buffer.c (complex_vars_of_buffer):
4566         * bytecode.c (Fcompiled_function_stack_depth):
4567         * callint.c (Fprefix_numeric_value):
4568         * event-stream.c:
4569         * event-stream.c (Fread_key_sequence):
4570         * casetab.c:
4571         * casetab.c (Fcase_table_p):
4572         * casetab.c (check_case_table):
4573         * casetab.c (Fset_case_table):
4574         * casetab.c (Fset_standard_case_table):
4575         * chartab.c:
4576         * chartab.c (Fchar_table_type):
4577         * chartab.c (Freset_char_table):
4578         * chartab.c (Fget_char_table):
4579         * chartab.c (Fget_range_char_table):
4580         * chartab.c (Fput_char_table):
4581         * chartab.c (Fmap_char_table):
4582         * chartab.c (Fcategory_table_p):
4583         * chartab.c (Fcheck_category_at):
4584         * chartab.c (Fchar_in_category_p):
4585         * chartab.c (Fcategory_table):
4586         * chartab.c (Fcopy_category_table):
4587         * chartab.c (Fset_category_table):
4588         * chartab.c (Fcategory_designator_p):
4589         * chartab.c (Fcategory_table_value_p):
4590         * cmds.c (Fdelete_char):
4591         * cmds.c (Fdelete_backward_char):
4592         * cmds.c (Fself_insert_command):
4593         * cmds.c (Fself_insert_internal):
4594         * console.c (Fvalid_console_type_p):
4595         * console.c (Fcdfw_console):
4596         * console.c (Fconsole_type):
4597         * console.c (Fconsole_name):
4598         * console.c (Fconsole_device_list):
4599         * console.c (Fconsole_on_window_system_p):
4600         * data.c:
4601         * data.c (Feq):
4602         * data.c (Fold_eq):
4603         * data.c (Fsubr_interactive):
4604         * data.c (Fchar_to_int):
4605         * data.c (Fint_to_char):
4606         * data.c (Fsetcar):
4607         * data.c (Fsetcdr):
4608         * data.c (Fnumber_to_string):
4609         * data.c (Fstring_to_number):
4610         * data.c (Frem):
4611         * database.c (mark_database):
4612         * database.c (finalize_database):
4613         * database.c (Fdatabase_live_p):
4614         * database.c (Fdatabasep):
4615         * device-x.c (Fx_get_resource):
4616         * device.c (Fdfw_device):
4617         * dired.c:
4618         * dired.c (Ffile_name_completion):
4619         * dired.c (Ffile_name_all_completions):
4620         * dired.c (Fuser_name_completion):
4621         * dired.c (Fuser_name_completion_1):
4622         * dired.c (Fuser_name_all_completions):
4623         * doc.c (Fdocumentation):
4624         * doc.c (Fdocumentation_property):
4625         * doc.c (Fsubstitute_command_keys):
4626         * editfns.c:
4627         * editfns.c (Fchar_to_string):
4628         * editfns.c (Fstring_to_char):
4629         * editfns.c (Ftemp_directory):
4630         * editfns.c (Finsert_char):
4631         * editfns.c (Fbuffer_substring_no_properties):
4632         * editfns.c (Fnarrow_to_region):
4633         * editfns.c (Fchar_equal):
4634         * editfns.c (Fchar_Equal):
4635         * editfns.c (Ftranspose_regions):
4636         * emacs.c (Fdump_emacs):
4637         * eval.c (Fthrow):
4638         * eval.c (Fcommand_execute):
4639         * eval.c (Fautoload):
4640         * eval.c (Fbacktrace):
4641         * eval.c (Fbacktrace_frame):
4642         * events.c:
4643         * events.c (Fcopy_event):
4644         * events.c (Fcharacter_to_event):
4645         * events.c (Fevent_button):
4646         * events.c (Fevent_process):
4647         * extents.c:
4648         * extents.c (Fnext_extent_change):
4649         * extents.c (Fextent_property):
4650         * faces.c (Ffacep):
4651         * faces.c (Fmake_face):
4652         * file-coding.c:
4653         * file-coding.c (Fencode_shift_jis_char):
4654         * file-coding.c (Fencode_big5_char):
4655         * fileio.c (Ffile_name_directory):
4656         * fileio.c (Ffile_name_nondirectory):
4657         * fileio.c (Ffile_name_as_directory):
4658         * fileio.c (Fdirectory_file_name):
4659         * fileio.c (Ffile_truename):
4660         * fileio.c (Fsubstitute_in_file_name):
4661         * fileio.c (Ffile_modes):
4662         * fileio.c (Fset_file_modes):
4663         * fileio.c (Fset_default_file_modes):
4664         * fileio.c (Fverify_visited_file_modtime):
4665         * floatfns.c (Facos):
4666         * floatfns.c (Fasin):
4667         * floatfns.c (Fatan):
4668         * floatfns.c (Fcos):
4669         * floatfns.c (Fsin):
4670         * floatfns.c (Ftan):
4671         * floatfns.c (Fbessel_j0):
4672         * floatfns.c (Fbessel_j1):
4673         * floatfns.c (Fbessel_jn):
4674         * floatfns.c (Fbessel_y0):
4675         * floatfns.c (Fbessel_y1):
4676         * floatfns.c (Fbessel_yn):
4677         * floatfns.c (Ferf):
4678         * floatfns.c (Ferfc):
4679         * floatfns.c (Flog_gamma):
4680         * floatfns.c (Fexp):
4681         * floatfns.c (Fexpt):
4682         * floatfns.c (Flog):
4683         * floatfns.c (Flog10):
4684         * floatfns.c (Fsqrt):
4685         * floatfns.c (Fcube_root):
4686         * floatfns.c (Facosh):
4687         * floatfns.c (Fasinh):
4688         * floatfns.c (Fatanh):
4689         * floatfns.c (Fcosh):
4690         * floatfns.c (Fsinh):
4691         * floatfns.c (Ftanh):
4692         * floatfns.c (Fabs):
4693         * floatfns.c (Ffloat):
4694         * floatfns.c (Flogb):
4695         * floatfns.c (Fceiling):
4696         * floatfns.c (Ffloor):
4697         * floatfns.c (Fround):
4698         * floatfns.c (Ftruncate):
4699         * floatfns.c (Ffceiling):
4700         * floatfns.c (Fffloor):
4701         * floatfns.c (Ffround):
4702         * floatfns.c (Fftruncate):
4703         * fns.c (Fstring_equal):
4704         * fns.c (Fstring_lessp):
4705         * fns.c (concat2):
4706         * fns.c (concat3):
4707         * fns.c (vconcat2):
4708         * fns.c (vconcat3):
4709         * fns.c (Fsubstring):
4710         * fns.c (Fassoc):
4711         * fns.c (Fold_assoc):
4712         * fns.c (assoc_no_quit):
4713         * fns.c (Fassq):
4714         * fns.c (Fold_assq):
4715         * fns.c (assq_no_quit):
4716         * fns.c (Frassoc):
4717         * fns.c (Fold_rassoc):
4718         * fns.c (Frassq):
4719         * fns.c (Fold_rassq):
4720         * fns.c (rassq_no_quit):
4721         * fns.c (Fremassoc):
4722         * fns.c (remassoc_no_quit):
4723         * fns.c (Fremassq):
4724         * fns.c (remassq_no_quit):
4725         * fns.c (Fremrassoc):
4726         * fns.c (Fremrassq):
4727         * fns.c (remrassq_no_quit):
4728         * fns.c (Fsort):
4729         * fns.c (Fplist_get):
4730         * fns.c (Fplist_put):
4731         * fns.c (Fplist_remprop):
4732         * fns.c (Fplist_member):
4733         * fns.c (Flax_plist_get):
4734         * fns.c (Flax_plist_put):
4735         * fns.c (Flax_plist_remprop):
4736         * fns.c (Flax_plist_member):
4737         * fns.c (Fequal):
4738         * fns.c (Fold_equal):
4739         * fns.c (Frequire):
4740         * fns.c (Fbase64_encode_region):
4741         * fns.c (Fbase64_encode_string):
4742         * fns.c (Fbase64_decode_region):
4743         * frame.c:
4744         * frame.c (frame_matches_frame_spec):
4745         * frame.c (device_matches_device_spec):
4746         * frame.c (next_frame):
4747         * frame.c (previous_frame):
4748         * frame.c (Fnext_frame):
4749         * frame.c (Fprevious_frame):
4750         * frame.c (Fframe_property):
4751         * frame.c (Fset_frame_height):
4752         * frame.c (Fset_frame_size):
4753         * frame.h:
4754         * glyphs.c:
4755         * glyphs.c (if):
4756         * glyphs.c (decode_error_behavior_flag):
4757         * glyphs.c (Fmake_image_instance):
4758         * indent.c (Findent_to):
4759         * intl.c (Fignore_defer_gettext):
4760         * keymap.c (Fkeymapp):
4761         * keymap.c (Flookup_key):
4762         * lread.c:
4763         * lread.c (Fload_internal):
4764         * lread.c (Feval_buffer):
4765         * lread.c (Feval_region):
4766         * macros.c (Fexecute_kbd_macro):
4767         * marker.c (set_marker_internal):
4768         * marker.c (Fset_marker):
4769         * marker.c (set_marker_restricted):
4770         * marker.c (Fcopy_marker):
4771         * marker.c (noseeum_copy_marker):
4772         * menubar.c:
4773         * menubar.c (Fpopup_menu):
4774         * minibuf.c:
4775         * mule-charset.c (Fcharset_name):
4776         * mule-charset.c (Fchar_charset):
4777         * mule-charset.c (Fchar_octet):
4778         * mule-charset.c (Fsplit_char):
4779         * mule-wnnfns.c (Fwnn_open):
4780         * mule-wnnfns.c (Fwnn_dict_comment):
4781         * mule-wnnfns.c (Fwnn_quit_henkan):
4782         * mule-wnnfns.c (Fwnn_word_toroku):
4783         * mule-wnnfns.c (Fwnn_word_sakujo):
4784         * mule-wnnfns.c (Fwnn_word_use):
4785         * mule-wnnfns.c (Fwnn_hindo_set):
4786         * objects.c:
4787         * objects.c (Fmake_color_instance):
4788         * objects.c (Fmake_font_instance):
4789         * print.c (Fwrite_char):
4790         * process.c:
4791         * process.c (mark_process):
4792         * process.c (print_process):
4793         * process.c (get_process_from_usid):
4794         * process.c (Fprocessp):
4795         * process.c (Fprocess_live_p):
4796         * process.c (Fget_process):
4797         * process.c (Fget_buffer_process):
4798         * process.c (get_process):
4799         * process.c (Fprocess_id):
4800         * process.c (Fprocess_name):
4801         * process.c (Fprocess_command):
4802         * process.c (init_process_io_handles):
4803         * process.c (start_process_unwind):
4804         * process.c (Fstart_process_internal):
4805         * process.c (Fopen_multicast_group_internal):
4806         * process.c (Fset_process_window_size):
4807         * process.c (read_process_output):
4808         * process.c (send_process):
4809         * process.c (Fprocess_tty_name):
4810         * process.c (Fset_process_buffer):
4811         * process.c (Fprocess_buffer):
4812         * process.c (Fprocess_mark):
4813         * process.c (set_process_filter):
4814         * process.c (Fset_process_filter):
4815         * process.c (Fprocess_filter):
4816         * process.c (Fprocess_send_region):
4817         * process.c (Fprocess_send_string):
4818         * process.c (exec_sentinel):
4819         * process.c (Fset_process_sentinel):
4820         * process.c (Fprocess_sentinel):
4821         * process.c (status_notify):
4822         * process.c (Fprocess_status):
4823         * process.c (Fprocess_exit_status):
4824         * process.c (process_send_signal):
4825         * process.c (Fprocess_send_eof):
4826         * process.c (deactivate_process):
4827         * process.c (remove_process):
4828         * process.c (Fdelete_process):
4829         * process.c (kill_buffer_processes):
4830         * process.c (Fprocess_kill_without_query):
4831         * process.c (Fprocess_kill_without_query_p):
4832         * rangetab.c:
4833         * rangetab.c (Fget_range_table):
4834         * rangetab.c (Fput_range_table):
4835         * rangetab.c (Fremove_range_table):
4836         * rangetab.c (Fclear_range_table):
4837         * search.c:
4838         * search.c (Fskip_chars_forward):
4839         * search.c (Fskip_chars_backward):
4840         * search.c (Fskip_syntax_forward):
4841         * search.c (Fskip_syntax_backward):
4842         * search.c (search_command):
4843         * search.c (Freplace_match):
4844         * search.c (Fregexp_quote):
4845         * select.c (Fown_selection_internal):
4846         * select.c (Fselection_owner_p):
4847         * select.c (Fselection_exists_p):
4848         * select.c (Fget_selection_internal):
4849         * specifier.c:
4850         * symbols.c:
4851         * symbols.c (Fintern):
4852         * symbols.c (Fintern_soft):
4853         * symbols.c (Funintern):
4854         * symbols.c (Fapropos_internal):
4855         * symbols.c (Fset_default):
4856         * syntax.c:
4857         * syntax.c (Fsyntax_table_p):
4858         * syntax.c (Fcopy_syntax_table):
4859         * syntax.c (Fset_syntax_table):
4860         * syntax.c (Fchar_syntax):
4861         * syntax.c (syntax_match):
4862         * syntax.c (Fmatching_paren):
4863         * syntax.c (Fforward_word):
4864         * syntax.c (scan_lists):
4865         * syntax.c (Fscan_lists):
4866         * syntax.c (Fscan_sexps):
4867         * syntax.c (Fparse_partial_sexp):
4868         * toolbar.c (Fcheck_toolbar_button_syntax):
4869         * tooltalk.doc:
4870         * window.c:
4871         * window.c (Fwindowp):
4872         * window.c (Fwindow_live_p):
4873         * window.c (Fwindow_point):
4874         * window.c (Fdelete_window):
4875         * window.c (Fnext_window):
4876         * window.c (Fprevious_window):
4877         * window.c (Fother_window):
4878         * window.c (window_loop):
4879         * window.c (Fget_lru_window):
4880         * window.c (Fsplit_window):
4881         * window.c (Fenlarge_window):
4882         * window.c (Fenlarge_window_pixels):
4883         * window.c (Fshrink_window):
4884         * window.c (Fshrink_window_pixels):
4885         * window.c (change_window_height):
4886         * window.c (Fwindow_configuration_p):
4887         * window.c (Fcurrent_window_configuration):
4888         * window.h:
4889         * casefiddle.c (casify_object):
4890         * casefiddle.c (Fupcase):
4891         * casefiddle.c (Fdowncase):
4892         * casefiddle.c (Fcapitalize):
4893         * casefiddle.c (Fupcase_initials):
4894         * casefiddle.c (casify_region_internal):
4895         * casefiddle.c (casify_region):
4896         * casefiddle.c (Fupcase_region):
4897         * casefiddle.c (Fdowncase_region):
4898         * casefiddle.c (Fcapitalize_region):
4899         * casefiddle.c (Fupcase_initials_region):
4900         * casefiddle.c (Fupcase_word):
4901         * casefiddle.c (Fdowncase_word):
4902         * casefiddle.c (Fcapitalize_word):
4903         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4904         Replace 0 with '\0' when working with bytes.
4905         Replace initial "(" with "\(" in docstrings.
4906
4907 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4908
4909         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4910
4911         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4912
4913 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4914
4915         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4916
4917 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4918
4919         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4920         correctly.
4921
4922 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4923
4924         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4925         (inhibit_auto_save_session): New variable.
4926         (vars_of_fileio): Declare and initialize them.
4927         * fileio.c (Fdo_auto_save): Don't create session file if
4928         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4929
4930 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4931
4932         * sgiplay.c (play_internal): C++ compilability.
4933         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4934         * callproc.c (Fold_call_process_internal):
4935         Remove unused vars `env', `first'.
4936         * scrollbar.c (update_scrollbar_instance):
4937         #### unused var `current_window'.
4938         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4939         etc. within #ifdef NOT_YET.
4940         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4941         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4942         * specifier.c (specifier_instance):
4943         #### unused var `tag'.
4944         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4945
4946 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4947
4948         * fns.c (Fbutlast):
4949         * fns.c (list_sort):
4950         * fns.c (Ffillarray):
4951         * fns.c (bytecode_nconc2):
4952         * fns.c (Fnconc):
4953         * fns.c (mapcar1):
4954         * fns.c (Fmapconcat):
4955         Be pedantically 64-bit correct.  For the time when someone will
4956         want to have a list with length > 2**32.
4957
4958         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4959         Work around MIPSpro compiler bug.
4960
4961         * process-unix.c (unix_kill_child_process): Add snarky comment.
4962         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4963
4964         * config.h.in: Oops, _getpt ==> _getpty
4965
4966 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4967
4968         * config.h.in:
4969         * regex.c:
4970         Use void*, not char*, as return type of alloca().
4971
4972         * alloc.c (free_marker): Side effect inside assert expression!
4973
4974 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4975
4976         * mule-charset.c (Fset_charset_ccl_program): To check
4977         if the given ccl program is valid, use setup_ccl_program()
4978         instead of CHECK_VECTOR().
4979         (Fmake_charset): Likewise.
4980
4981 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4982
4983         * faces.c (get_extent_fragment_face_cache_index):
4984         Fix cachel.merged_faces memory leak.
4985
4986 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
4987
4988         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
4989         Reset MSB of octets obtained by DECODE_SJIS
4990         because of the incompatibility with Emacs.
4991         (ccl_driver)<CCL_ENCODE_SJIS>:
4992         Set MSB of octets before passing them to
4993         ENCODE_SJIS because of the incompatibility
4994         with Emacs.
4995
4996 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
4997
4998         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
4999         (DECLARE_LRECORD): Undo the last change.
5000         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5001
5002 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5003
5004         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5005         the implementation to lrecord_implementations_table.
5006
5007 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5008
5009         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5010         initial value of `lrecord_type_##c_name' and
5011         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5012         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5013         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5014         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5015         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5016
5017 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5018
5019         * miscplay.c (sndcnv8S_2mono):
5020         (sndcnv2monounsigned):
5021         (sndcnvULaw_2linear):
5022         (sndcnv16swap):
5023         Remove implementation-defined behavior.
5024
5025 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5026
5027         * input-method-xlib.c: Warning suppression.
5028
5029 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5030
5031         * mule-ccl.c: Sync up with Emacs 21.0.90.
5032         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5033         Do nothing.
5034         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5035         Likewise.
5036         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5037         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5038         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5039         leading char belongs to official 2-dimensional charset.
5040         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5041         write the given character as is.  Otherwise,
5042         if it is a multibyte char, convert it by
5043         non_ascii_set_charptr_emchar, then write it.
5044         (CCL_WRITE_STRING): Likewise.
5045         (ccl_get_compiled_code): New function.
5046         (setup_ccl_program): When ccl_prog is invalid,
5047         return -1.
5048         (Fregister_code_conversion_map): New function.
5049         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5050
5051         * mule-ccl.h: Sync up with Emacs 21.0.90.
5052         (Fregister_ccl_program): export it.
5053
5054         * redisplay-msw.c (separate_textual_runs):
5055         If ccl program is not valid, don't do ccl conversion.
5056
5057         * redisplay-x.c (separate_textual_runs): Ditto.
5058
5059         * file-coding.c (Fmake_coding_system):
5060         When type is ccl and value is vector, register it
5061         with a proper symbol.  And checks whether the
5062         given ccl program is valid.
5063         (mule_decode): When calling ccl_driver, if src indicates
5064         NULL pointer, set an empty string instead.
5065         (mule_encode): Likewise.
5066
5067 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5068
5069         The following large batch of changes gets us back to a state of
5070         C++ compilability.  Extbyte is now a char, which means that
5071         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5072
5073         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5074
5075         * sound.c (Fplay_sound): Type correctness.
5076
5077         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5078         (x_get_window_property): Type correctness.
5079         (receive_incremental_selection): unsigned char ==> Extbyte
5080         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5081         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5082         (Fx_store_cutbuffer_internal): Type correctness.
5083
5084         * process-unix.c (try_to_initialize_subtty): Type correctness.
5085
5086         * objects-x.c (x_print_color_instance): Type correctness.
5087         (x_print_font_instance): Type correctness.
5088         (x_list_fonts): SExtbyte ==> Extbyte.
5089         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5090         (x_find_charset_font): SExtbyte ==> Extbyte.
5091         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5092         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5093         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5094         Use bufbyte_strcmp.
5095
5096         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5097         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5098         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5099         (BYTE_C0_P): Use bit ops for char-signedness safety.
5100         (BYTE_C1_P): Use bit ops for char-signedness safety.
5101         (CHARSET_BY_LEADING_BYTE):
5102         (CHARSET_BY_ATTRIBUTES):
5103         Always use inline function.
5104         Use type_checking_assert.
5105         Hide chlook.
5106
5107         * mule-charset.c (non_ascii_charptr_copy_char):
5108         Modify to work with both ASCII and non-ASCII characters.
5109         Improve docs and variable names.
5110         Replace over-clever fall-through switch with a simple loop.
5111         (Lstream_get_emchar_1):
5112         Replace over-clever fall-through switch with a simple loop.
5113
5114         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5115         Warning suppression.
5116
5117         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5118         the return value of Lstream_getc, which could be EOF as well.
5119
5120         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5121
5122         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5123         APIs can be used on Extbytes without casts.  Risky!
5124         (SExtbyte): Remove.
5125         (UExtbyte): Remove.
5126
5127         * input-method-xlib.c (XIM_init_device):
5128         Use Xlib.h instead of IntrinsicP.h.
5129         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5130         which will break in X11R7.
5131         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5132         to call XRegisterIMInstantiateCallback with correct types.
5133
5134         * gui-x.c (button_item_to_widget_value): Type correctness.
5135
5136         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5137
5138         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5139         (xbm_instantiate_1): Type correctness.
5140         (BUILD_GLYPH_INST):  Type correctness.
5141
5142         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5143
5144         * file-coding.c:
5145         (decode_coding_sjis):
5146         (decode_coding_big5):
5147         (decode_coding_ucs4):
5148         (decode_coding_utf8):
5149         (decode_coding_iso2022):
5150         (decode_coding_no_conversion):
5151         Make all decoding functions take an Extbyte * arg.
5152         (encode_coding_sjis):
5153         (encode_coding_big5):
5154         (encode_coding_ucs4):
5155         (encode_coding_utf8):
5156         (encode_coding_iso2022):
5157         (encode_coding_no_conversion):
5158         Make all encoding functions take a Bufbyte * arg.
5159         Use size_t instead of unsigned int for memory sizes.
5160         Only cast to unsigned char whenever dereferencing Extbyte *.
5161
5162         * doc.c (unparesseuxify_doc_string): Type correctness.
5163
5164         * console-x.c (split_up_display_spec):
5165         Rewrite without using details of internal string representation.
5166         (x_semi_canonicalize_device_connection): Type correctness.
5167
5168         * config.h.in:
5169         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5170         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5171         (HAVE_XFREE386): Removed.
5172
5173         * buffer.h (DEC_CHARPTR): `const' correctness.
5174         (bufbyte_strcmp): New.
5175         (bufbyte_memcmp): New.
5176
5177         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5178
5179         * buffer.h (XCHAR_OR_CHAR_INT):
5180         Always use inline function.
5181         Remove redundant type checking assert() - XINT will abort quite nicely.
5182
5183 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5184
5185         * search.c (Freplace_match): Set newtext to an empty string.
5186
5187 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5188
5189         * s/decosf1-3.h: Remove #include of stropts.h
5190         * s/ptx.h: Remove #include of stropts.h
5191         * s/usg5-4.h: Remove #include of stropts.h
5192         * sysproc.h:
5193         * config.h.in:
5194         Use stropts.h, not sys/stropts.h.
5195         Use strtio.h, not sys/strtio.h.
5196
5197 2000-10-04  Martin Buchholz <martin@xemacs.org>
5198
5199         * XEmacs 21.2.36 is released.
5200
5201 2000-09-21  Andy Piper  <andy@xemacs.org>
5202
5203         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5204         changes still involve copying the widget tree.
5205         (update_widget_face): make sure a change is register in the widget
5206         tree. Call update_tab_widget_face appropriately.
5207         (update_tab_widget_face): ditto.
5208         (x_tab_control_redisplay): make sure non-structural changes still
5209         involve copying the widget tree.
5210
5211 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5212
5213         * lread.c (locate_file): Check the path element is non-nil.
5214
5215 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5216
5217         * lisp.h: Warning suppression for SCO compilers.
5218
5219         * redisplay-tty.c (reset_tty_modes): Fix crash.
5220         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5221
5222 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5223
5224         Big signal/process handling overhaul.  Bugs fixed:
5225         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5226         M-x comint-kill-subjob should work for both values nil and t of
5227         process-connection-type. It was broken on most platforms.
5228         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5229         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5230         * process-unix.c: Signal/Process handling overhaul.
5231         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5232         (allocate_pty): Use all available modern methods of allocating
5233         ptys, falling back to old style BSD allocation as a last resort.
5234         Use allegedly more secure Unix98 pty allocation by default.
5235         (allocate_pty_the_old_fashioned_way): New. the last resort.
5236         (unix_create_process): Push ptem, ldterm, ttcompat where
5237         available.  Autoconfiscate.
5238         (try_to_initialize_subtty): New.
5239         (unix_kill_child_process): Proper signal handling for ptys on most
5240         platforms, using special knowledge of AIX, BSD, etc...
5241         (unix_create_process): Always disconnect_controlling_terminal() for
5242         subprocesses, whether using ptys or not.
5243         * process.h: Remove old getpt-dependent PTY code.
5244         * process.c (Fprocess_send_signal): New, obvious generic function.
5245         (decode_signal): New.
5246         (Finterrupt_process):
5247         (Fkill_process):
5248         (Fquit_process):
5249         (Fstop_process):
5250         (Fcontinue_process):
5251         (Fsignal_process): Use decode_signal.
5252         (process_send_signal):
5253         Many docstring corrections.
5254         Allow any signal to be sent to a process object.
5255         * config.h.in: Add symbols for big signal/process overhaul.
5256         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5257         * sysproc.h: Include process-related headers, where available:
5258         sys/stropts.h sys/strtio.h pty.h libutil.h
5259         * s/irix4-0.h:
5260         * s/irix5-0.h:
5261         * s/cygwin32.h:
5262         * s/gnu.h:
5263         * s/linux.h:
5264         * s/hpux.h:
5265         * s/aix3-1.h:
5266         Remove old S&M pty stuff.
5267         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5268         * systty.h: Simplify cpp hackery, improve comments.
5269         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5270
5271         * editfns.c (Fformat_time_string):
5272         Be a little more paranoid with the return value of ctime.
5273
5274         * fileio.c (check_executable):
5275         (check_writable):
5276         Use symbolic constants X_OK, W_OK.
5277
5278         * console-x.c (split_up_display_spec): Fix a warning.
5279
5280 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5281
5282         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5283         * ntproc.c (sys_spawnve): make_string ==> build_string
5284         Small clarity improvements.
5285
5286 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5287
5288         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5289
5290         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5291
5292         * config.h.in (HAVE_STRCASECMP): Remove.
5293
5294 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5295
5296         * redisplay-output.c (redisplay_output_pixmap):
5297         Cleaner and possibly more 64-bit correct code.
5298
5299 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5300
5301         * dumper.c (pdump_load_finish): move restoration of
5302         `noninteractive1' to emacs.c (main_1).
5303         * emacs.c (main_1): protect LISP-visible command-line flags
5304         from pdump_load().
5305
5306 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5307
5308         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5309         DUMP_TARGET instead of literal program names.
5310
5311 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5312
5313         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5314
5315 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5316
5317         * *: Spelling mega-patch
5318
5319 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5320
5321         * fns.c (bad_bad_turtle):
5322         Delete "Eek!" comment, since we fixed the bug to which it refers.
5323
5324 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5325
5326         * alloca.c: Replace REGISTER with register.
5327
5328 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5329
5330         * file-coding.c (ucs_to_char): Use countof.
5331
5332 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5333
5334         * file-coding.c: (ucs_to_char):
5335         (complex_vars_of_file_coding):
5336         Use countof instead of sizeof.
5337         Use CHECK_NATNUM instead of CHECK_INT.
5338
5339         * sysdep.c (strcasecmp): Remove.
5340         * device-x.c (ascii_strcasecmp): New.
5341         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5342         Avoid using non-standard non-portable strcasecmp.
5343
5344 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5345
5346         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5347         * font-lock.c: remove reference to emacsfns.h.
5348         * search.c: small doc improvement.
5349         * event-Xt.c: correct file names in comments.
5350         * console-x.h Correct file names in comments.
5351         * frame.c: Correct file names in comments.
5352         * event-stream.c: remove Energize from comments.
5353
5354 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5355
5356         * symeval.h (DEFERROR_STANDARD):
5357         (DEFERROR):
5358         (DEFSYMBOL):
5359         (DEFSYMBOL_NO_DUMP):
5360         (DEFSYMBOL_MULTIWORD_PREDICATE):
5361         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5362         (DEFKEYWORD):
5363         The construct &##name is not sensible C.
5364         Fixes compilation errors with Unixware native compiler.
5365
5366 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5367
5368         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5369         (next_frame_internal): Removed.  We now just have next_frame.
5370         (next_frame):
5371         Write a simpler and cleaner one-pass algorithm.
5372         Remove called_from_delete_device arg and #ifdefed-out code.
5373         (previous_frame):
5374         Renamed from prev_frame.  Update callers.
5375         Cleaned up to have an analogous implementation to next_frame.
5376         (other_visible_frames_internal): Remove the
5377         called_from_delete_device bogus arg, and hence, remove this
5378         function.  Just use other_visible_frames().
5379
5380         * window.c (Fnext_window):
5381         Prettify docstring.
5382         Since next_frame() is guaranteed to return a frame, remove check
5383         for nil inserted in previous patch.
5384         (Fprevious_window):
5385         Prettify docstring.
5386         Make code look more like Fnext_window.
5387         (window_loop):
5388         Respect the `console' arg when iterating through windows.
5389         Fixes bug: (get-buffer-window buffer t device) not respecting
5390         the `device' arg.
5391         This function needs more work, as others have pointed out.
5392
5393         * frame.h: Rename prev_frame to previous_frame.
5394         device_matches_console_spec no longer takes a `frame' arg.
5395
5396         * s/gnu.h:
5397         * s/linux.h:
5398         * s/hpux.h:
5399         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5400         From "Golubev I. N." <gin@mo.msk.ru>.
5401
5402         * make-src-depend: Fix typo.
5403
5404 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5405
5406         * window.c (Fnext_window):
5407         next_frame() might return nil, not a frame.
5408         Fixes this crash:
5409         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5410
5411         * frame.c (next_frame_internal):
5412         We've passed a frame if we've passed its device.
5413         Fixes this crash:
5414         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5415 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5416
5417 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5418
5419         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5420         Allow option to suppress accelerators in menu/dialog items.
5421         (populate_or_checksum_helper): Pass dialog title through above.
5422
5423 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5424
5425         * event-msw.c (mswindows_key_to_emacs_keysym):
5426         Add "pause" key, fix "menu" key.
5427
5428 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5429
5430         * eval.c (reinit_vars_of_eval):
5431         Increase max_lisp_eval_depth to 1000,
5432         required for thai-xtis.el to byte-compile under some circumstances.
5433
5434 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5435
5436         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5437         From Kenichi Handa.
5438
5439 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5440
5441         * make-src-depend: Make the generated Makefiles smaller.
5442
5443         * s/hpux.h (SETUP_SLAVE_PTY):
5444         Provide a %d in the format string for the errno argument.
5445
5446         * editfns.c (Ftemp_directory):
5447         Warning fix.
5448         Avoid buffer overrun on very long file name.
5449
5450         * input-method-xlib.c (XIM_init_device):
5451         6th parameter of XRegisterIMInstantiateCallback has different
5452         pointer types on different OSes, so simply cast to (void *).
5453
5454         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5455
5456         * sysdll.c (dll_open):
5457         shl_load will hang hard if passed a NULL filename.
5458         Simply return NULL for compatibility with dlopen.
5459         * sysdll.c: Conform to XEmacs coding standards.
5460
5461         * sysdep.c (get_pty_max_bytes):
5462         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5463
5464 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5465
5466         * tooltalk.c: Add #include <syssignal.h>
5467
5468 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5469
5470         * s/hpux.h: Don't use undefined function sigunblock().
5471
5472 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5473
5474         * config.h.in: Add HAVE_BALLOON_HELP.
5475         * emacs.c: Use HAVE_BALLOON_HELP.
5476         * Makefile.in.in (x_objs):
5477         Make Balloon Help conditional on finding shape.h.
5478
5479 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5480
5481         * syntax.c (regex_emacs_buffer_p): New variable.
5482         * syntax.h (regex_emacs_buffer_p): extern.
5483         * search.c (looking_at_1):
5484         (string_match_1):
5485         (fast_string_match):
5486         (search_buffer): Set regex_emacs_buffer_p.
5487         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5488         when before_dot, at_dot, after_dot.
5489
5490 2000-08-23  Andy Piper  <andy@xemacs.org>
5491
5492         * gui-x.c (popup_selection_callback): Only set action_occurred
5493         when we really have an image instance.
5494         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5495
5496 2000-08-23  Andy Piper  <andy@xemacs.org>
5497
5498         * gui-msw.c (mswindows_handle_gui_wm_command): set
5499         action_occurred.
5500         * gui-x.c (popup_selection_callback): ditto.
5501
5502         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5503         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5504         (struct Lisp_Image_Instance): add action_occurred flag.
5505
5506         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5507         (image_instance_changed): ditto.
5508         (reset_frame_subwindow_instance_cache): only unmap windows - do
5509         not remove them from the cache also.
5510
5511         * glyphs-widget.c (tab_control_update): better debug.
5512         (progress_gauge_update): ditto.
5513         (layout_update): ditto.
5514         (layout_instantiate): ditto.
5515         (tab_control_order_only_changed): cope with null pending items.
5516
5517         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5518         debug. Force selection of an item when an action occurred. Cope
5519         with null pending_items.
5520         (mswindows_progress_gauge_redisplay): better debug.
5521         * glyphs-x.c (x_tab_control_redisplay): ditto.
5522
5523         * redisplay.c (redisplay_frame): reset the frame cache if the
5524         frame is garbaged.
5525
5526         * window.c (Fset_window_configuration): potentially re-enable
5527         frame cache reset.
5528         (window_unmap_subwindows): need to finalize instances here since
5529         it is only used in mark_window_as_deleted.
5530
5531 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5532
5533         * nas.c (SndOpenDataForReading):
5534         nas.c (WaveOpenDataForReading):
5535         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5536         Somehow escaped from the 2000-08-14 patch.
5537
5538 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5539
5540         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5541         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5542
5543 2000-08-21  Andy Piper  <andy@xemacs.org>
5544
5545         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5546         window if it is not already displayed.
5547
5548         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5549         it is not already displayed.
5550
5551         * window.c (Fset_window_configuration): don't reset the frame
5552         cache.
5553
5554         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5555         instances from the frame cache if we are actually finalizing them.
5556         (reset_frame_subwindow_instance_cache): reset frame cache only
5557         after unmapping everything.
5558         (map_subwindow): set displayed flag after mapping.
5559
5560 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5561
5562         * data.c (indirect_function):
5563         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5564
5565         * eval.c (function_argcount):
5566         Use original function when signaling errors.
5567
5568 2000-08-18  Andy Piper  <andy@xemacs.org>
5569
5570         * frame.c (delete_frame_internal): use new
5571         free_frame_subwindow_instances name.
5572
5573         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5574         (add_tab_item): make return type correct.
5575         (mswindows_tab_control_instantiate): assert index of tab.
5576         (mswindows_tab_control_redisplay): Re-code to use
5577         gui_item_equal_sans_selected and gui_item_list_find_selected.
5578
5579         * glyphs-widget.c (tab_control_update): Correct comment.
5580
5581         * window.c (window_unmap_subwindows): use new
5582         unmap_subwindow_instance_cache_mapper.
5583         (window_unmap_subwindows_cache_mapper): deleted.
5584         (Fset_window_configuration): comparisons should now be with
5585         EQ. Preserve the subwindow instance cache across configuration
5586         changes.
5587         (allocate_window): ditto.
5588         (make_dummy_parent): ditto.
5589
5590         * glyphs.c (free_frame_subwindow_instances): rename from
5591         free_frame_subwindow_instance_cache. finalize all instances rather
5592         than just those in the display cache.
5593         (finalize_all_subwindow_instances): walk windows unmapping and
5594         finalizing subwindows.
5595         (unmap_subwindow_instance_cache_mapper): moved from
5596         window.c. Allow finalization as well as unmapping.
5597
5598         * gui.c (gui_item_list_find_selected): new function.
5599
5600         * gui.h (gui_item_list_find_selected): declare.
5601
5602         * glyphs-x.c (x_tab_control_redisplay): pick tab
5603         explicitly. Re-code to use gui_item_equal_sans_selected and
5604         gui_item_list_find_selected.
5605
5606         * glyphs-x.h: add lwlib-utils.h
5607
5608         * buffer.c (Frecord_buffer): undo previous change.
5609
5610 2000-08-09  Vin Shelton  <acs@xemacs.org>
5611
5612         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5613         possible.  Create temporary files more securely.  The patch was
5614         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5615         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5616         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5617         for details.
5618
5619 2000-08-07  Ben Wing  <ben@xemacs.org>
5620
5621         * getloadavg.c: remove duplicate (and windows-breaking)
5622         includes of fcntl.h and sys/file.h.
5623
5624         * nt.c: remove duplicate getloadavg() definition.
5625
5626         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5627         encodings.
5628
5629 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5630
5631         * eval.c (function_argcount): If function needs to be autoloaded
5632         actually use the loaded definition.
5633         GCPRO function.
5634
5635 2000-08-05  Ben Wing  <ben@xemacs.org>
5636
5637         * getloadavg.c: add prototype for getloadavg().  remove
5638         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5639         of the code).  remove duplicate header includes.
5640
5641         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5642
5643         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5644         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5645         useful load average.
5646
5647         * alloc.c (reinit_alloc_once_early): removed references to
5648         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5649         the lisp vars are the only things referencing the malloc_sbrk_*
5650         vars, and they were already if 0'd out.  these vars only exist
5651         in the older malloc.c, which is basically unused, and they're
5652         only for informational purposes.
5653
5654         * m\*.h: removed useless VIRT_ADDR_VARIES.
5655
5656         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5657
5658 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5659
5660         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5661         color if the image is a mono pixmap.
5662
5663 2000-07-30  Ben Wing  <ben@xemacs.org>
5664
5665         * Makefile.in.in (release):
5666         Remove stray @.
5667
5668         * buffer.c (directory_is_current_directory):
5669         * dired-msw.c (mswindows_get_files):
5670         * dired.c:
5671         * dired.c (Fdirectory_files):
5672         * dired.c (file_name_completion_stat):
5673         * dired.c (Ffile_attributes):
5674         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5675         preprocessor tricks, to avoid problems on some machines
5676         (e.g. SCO).
5677
5678         * callproc.c (egetenv): GC docs.
5679
5680         * console-msw.h:
5681         * console-msw.h (struct mswindows_dialog_id):
5682         * lrecord.h (lrecord_type):
5683         New object for use with MSW dialogs.
5684
5685         * console.h (struct console_methods):
5686         New enable/disable frame methods, for proper modal dialogs.
5687
5688         * device-msw.c (msprinter_default_printer): Fix to follow
5689         proper Mule conventions.
5690
5691         * device-msw.c:
5692         * device-msw.c (signal_open_printer_error):
5693         * device-msw.c (msprinter_init_device):
5694         * device-msw.c (ensure_not_printing):
5695         * device-msw.c (plist_get_margin):
5696         * device-msw.c (Fmsprinter_select_settings):
5697         * device-msw.c (finalize_devmode):
5698         * device-msw.c (Fmsprinter_settings_despecialize):
5699         * device-msw.c (signal_enum_priner_error):
5700         * extents.c (decode_extent):
5701         * extents.c (decode_map_extents_flags):
5702         * extents.c (decode_extent_at_flag):
5703         * extents.c (Fextent_at):
5704         * extents.c (Fextents_at):
5705         * extents.c (symbol_to_glyph_layout):
5706         [[[[2]]]] Use structured errors.
5707
5708         * dialog-msw.c:
5709         * dialog-msw.c (mswindows_is_dialog_msg):
5710         * dialog-msw.c (mark_mswindows_dialog_id):
5711         * dialog-msw.c (dialog_proc):
5712         * dialog-msw.c (handle_question_dialog_box):
5713         * dialog-msw.c (syms_of_dialog_mswindows):
5714         Define new object to clean up marking; use it as a dialog identifier.
5715         Call new delete-dialog-box-hook.
5716
5717         * dialog-x.c (dbox_selection_callback):
5718         * dialog-x.c (dbox_descriptor_to_widget_value):
5719         * dialog-x.c (x_make_dialog_box_internal):
5720         Call new delete-dialog-box-hook.
5721         Return an id.
5722
5723         * dialog.c:
5724         * dialog.c (syms_of_dialog):
5725         * dialog.c (vars_of_dialog):
5726         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5727
5728         * eval.c:
5729         * eval.c (signal_call_debugger):
5730         when noninteractive, output stack traces on the console instead
5731         of in a (never-seen) buffer.
5732
5733         * eval.c (signal_type_error):
5734         * eval.c (invalid_argument_2):
5735         * lisp.h:
5736         new funs for use w/structured errors.
5737
5738         * event-Xt.c:
5739         * event-Xt.c (x_to_emacs_keysym):
5740         * event-Xt.c (describe_event):
5741         * event-Xt.c (emacs_Xt_event_handler):
5742         * event-Xt.c (vars_of_event_Xt):
5743         * event-msw.c:
5744         * event-msw.c (mswindows_wnd_proc):
5745         * event-msw.c (vars_of_event_mswindows):
5746         rename {x,mswindows}-debug-events to debug-{}-events for
5747         consistency with other debug-foo variables.
5748
5749         * event-stream.c:
5750         document next-event more clearly.
5751
5752         * fileio.c (Ffile_name_directory):
5753         * fileio.c (Ffile_name_nondirectory):
5754         * fileio.c (Funhandled_file_name_directory):
5755         * fileio.c (file_name_as_directory):
5756         * fileio.c (Ffile_name_as_directory):
5757         * fileio.c (directory_file_name):
5758         * fileio.c (Fdirectory_file_name):
5759         * fileio.c (Fmake_temp_name):
5760         * fileio.c (Ffile_truename):
5761         * fileio.c (Fsubstitute_in_file_name):
5762         * fileio.c (expand_and_dir_to_file):
5763         * fileio.c (barf_or_query_if_file_exists):
5764         * fileio.c (check_executable):
5765         * fileio.c (Ffile_exists_p):
5766         * fileio.c (Ffile_writable_p):
5767         * fileio.c (Ffile_directory_p):
5768         * fileio.c (Ffile_regular_p):
5769         * fileio.c (Ffile_modes):
5770         * fileio.c (Ffile_newer_than_file_p):
5771         * fileio.c (Fverify_visited_file_modtime):
5772         * fileio.c (Fset_visited_file_modtime):
5773         * fileio.c (auto_save_1):
5774         (1). (2).
5775         fix up gcpro's.
5776
5777         * frame-msw.c:
5778         * frame-msw.c (mswindows_init_frame_1):
5779         * frame-msw.c (mswindows_enable_frame):
5780         * frame-msw.c (error_frame_unsizable):
5781         * frame-msw.c (msprinter_init_frame_1):
5782         * frame-msw.c (msprinter_init_frame_3):
5783         * frame-msw.c (console_type_create_frame_mswindows):
5784         (2).
5785         implement new enable/disable frame methods.
5786
5787         * frame-x.c:
5788         * frame-x.c (x_enable_frame):
5789         * frame-x.c (console_type_create_frame_x):
5790         implement new enable/disable frame methods.
5791
5792         * frame.c:
5793         * frame.c (Fdisable_frame):
5794         * frame.c (syms_of_frame):
5795         * frame.h (struct frame):
5796         implement new enable/disable frame methods/functions.
5797
5798         * general-slots.h:
5799         add initial-focus.
5800
5801         * glyphs-msw.c (mswindows_widget_instantiate):
5802         comment that initial-focus should be implemented.
5803
5804         * glyphs-widget.c:
5805         * glyphs-widget.c (check_valid_instantiator):
5806         * glyphs-widget.c (check_valid_orientation):
5807         * glyphs-widget.c (check_valid_tab_orientation):
5808         * glyphs-widget.c (check_valid_justification):
5809         * glyphs-widget.c (check_valid_border):
5810         * glyphs-widget.c (check_valid_callback):
5811         * glyphs-widget.c (check_valid_int_or_function):
5812         * glyphs-widget.c (check_valid_string_or_vector):
5813         * glyphs-widget.c (check_valid_item_list_1):
5814         * glyphs-widget.c (widget_validate):
5815         * glyphs-widget.c (combo_box_validate):
5816         * glyphs-widget.c (widget_instantiate):
5817         * glyphs-widget.c (syms_of_glyphs_widget):
5818         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5819         * glyphs-widget.c (image_instantiator_combo_box):
5820         * glyphs-widget.c (image_instantiator_scrollbar):
5821         * glyphs-widget.c (image_instantiator_tab_control):
5822         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5823         (2).
5824         support (unimplemented) keyword initial-focus.
5825         reindent long macros.
5826
5827         * glyphs-x.c (x_redisplay_widget):
5828         * glyphs-x.c (x_button_instantiate):
5829         * glyphs-x.c (x_button_redisplay):
5830         * glyphs-x.c (x_progress_gauge_instantiate):
5831         * glyphs-x.c (x_edit_field_instantiate):
5832         * glyphs-x.c (x_combo_box_instantiate):
5833         * glyphs-x.c (x_tab_control_instantiate):
5834         * glyphs-x.c (x_label_instantiate):
5835         * gui-x.c:
5836         * gui-x.c (button_item_to_widget_value):
5837         * gui-x.c (gui_items_to_widget_values_1):
5838         * gui-x.c (gui_item_children_to_widget_values):
5839         * gui-x.c (gui_items_to_widget_values):
5840         * gui-x.h:
5841         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5842         add new flag to gui-parsing routines to indicate whether
5843         accelerator specs should be supported.
5844
5845         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5846
5847         * glyphs.h (struct Lisp_Image_Instance):
5848         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5849         add initial-focus flag.
5850
5851         * gui.c:
5852         * gui.c (syms_of_gui):
5853         * gui.c (vars_of_gui):
5854         clean up menu-no-selection-hook.
5855
5856         * gui.h:
5857         support delete-dialog-box-hook.
5858
5859         * lread.c (Fload_internal):
5860         * lread.c (locate_file_in_directory_mapper):
5861         (1).
5862
5863         * lrecord.h:
5864         * lrecord.h (struct toolbar_button):
5865         * lrecord.h (syms_of_toolbar):
5866         document how to create a new object.
5867
5868         * menubar-msw.c (mswindows_char_is_accelerator):
5869         may be called on frames w/o menus.
5870
5871         * menubar.c (vars_of_menubar):
5872         clean up :filter docs.
5873
5874         * nt.c (readdir):
5875         * ntproc.c:
5876         (1).
5877
5878         * process-nt.c:
5879         * process-nt.c (validate_signal_number):
5880         * process-nt.c (signal_cannot_launch):
5881         * process-nt.c (nt_create_process):
5882         * process-nt.c (nt_send_process):
5883         * process-nt.c (nt_kill_child_process):
5884         * process-nt.c (nt_open_network_stream):
5885         * process-nt.c (syms_of_process_nt):
5886         (2).
5887         delete quote-handling.  call new lisp code that does it better.
5888
5889         * process-unix.c (connect_to_file_descriptor):
5890         * process-unix.c (allocate_pty):
5891         * process-unix.c (unix_send_process):
5892         * process-unix.c (unix_kill_child_process):
5893         * process-unix.c (unix_open_network_stream):
5894         * process-unix.c (unix_open_multicast_group):
5895         (1). (2).
5896
5897         * process.c:
5898         * process.c (Fstart_process_internal):
5899         (2).  need to canonicalize process path even if absolute.
5900
5901         * select-msw.c (symbol_to_ms_cf):
5902         * select-msw.c (ms_cf_to_symbol):
5903         * select-msw.c (cf_is_autofreed):
5904         * select-msw.c (mswindows_destroy_selection):
5905         * select.c:
5906         * select.c (syms_of_select):
5907         * select.h:
5908         support dibv5, fix bugs. (from Mike Alexander)
5909
5910         * select.c (Fget_selection_internal):
5911         * select.c (select_convert_out):
5912
5913         * sysdep.c:
5914         * sysdep.c (xemacs_stat):
5915         renamed.
5916
5917         * sysdep.c (mkdir):
5918         * sysdep.c (rmdir):
5919         but keep original stat() here because we provide encapsulation
5920         around these funs.
5921
5922         * sysfile.h:
5923         * sysfile.h (fstat):
5924         remove stat garbage.
5925
5926         * syswindows.h:
5927         fix X/MSW conflict.
5928         don't include tchar.h.  it's inappropriate because it makes
5929         compile-time distinctions when we want runtime distinctions.
5930         (we provide our own tchar replacements)
5931
5932         * toolbar.c:
5933         use default object printer for toolbar-button.
5934
5935         * unexcw.c:
5936         make sure we don't encapsulate.
5937
5938         * window.c (vars_of_window):
5939         emphasize that temp-buffer-show-hook is obsolete.
5940
5941 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5942
5943         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5944         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5945
5946         * events.c (Fevent_timestamp_lessp):
5947         Not 64-bit clean.  Use EMACS_INT, not int.
5948
5949 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5950
5951         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5952         unsigned int and changed the last enum to
5953         lrecord_type_last_built_in_type.
5954         (lrecord_implementations_table): changed prototype to know how
5955         long the array is supposed to be.
5956         (lrecord_type_count): new unsigned int to keep track of the
5957         current number of lisp lrecord types.
5958         (DEFINE_EXTERNAL_LRECORD):
5959         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5960         dynamic-modules to declare new lisp types. They are the same
5961         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5962         int for each new type, and increment lrecord_type_count by 1.
5963
5964         * alloc.c (lrecord_implementations_table): Changed to reference
5965         lrecord_type_last_built_in_type for the size of the array.
5966         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5967
5968 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5969
5970         * glyphs.h (check_valid_item_list): Renamed from
5971         check_valid_item_list_1.
5972
5973 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5974
5975         * select.c (Qselect_coerce): New.
5976         * select.c (Vselection_coercion_alist): New.
5977         * select.c (syms_of_select): Declare.
5978         * select.c (get-selection-internal): Use it.
5979         Use the new select-coerce functionality.
5980
5981         * select.c (select_coerce): New.
5982         * select.h (select_coerce): Declare.
5983         New function to coerce one type of data into another.
5984
5985 2000-08-03  Martin Buchholz  <martin@xemacs.org>
5986
5987         * callproc.c (Fcall_process_internal):
5988         (Fcall_process_internal):
5989         * process-unix.c (unix_create_process):
5990         Save and restore the value of errno, so that error messages are accurate.
5991
5992 2000-08-01  Martin Buchholz  <martin@xemacs.org>
5993
5994         * elhash.c (print_hash_table):
5995         Fix printing of hash tables to also use `key-and-value' instead of `t'.
5996         Prettify docstrings and indentation.
5997
5998 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5999
6000         * window.c (Fwindow_pixel_edges): Subtract frame border and
6001         gutter size.
6002
6003 2000-07-31  Andy Piper  <andy@xemacs.org>
6004
6005         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6006         will acknowledge the change.
6007
6008         * glyphs.h: declare tab_control_order_only_changed.
6009
6010         * glyphs-x.c (x_tab_control_redisplay): use
6011         tab_control_order_only_changed.
6012
6013         * glyphs-widget.c (tab_control_order_only_changed): new function.
6014
6015         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6016         tab_control_order_only_changed.
6017
6018         * gui.c (gui_item_equal_sans_selected): new function.
6019         (gui_item_equal): use it.
6020
6021         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6022         :properties in favor of :items..
6023
6024         * glyphs-widget.c (check_valid_item_list): rename from
6025         check_valid_item_list_1.
6026         (check_valid_item_list_1): renamed.
6027         (combo_box_validate): deprecate :properties in favor of :items.
6028         (widget_instantiate): ditto.
6029         (tab_control_update): ditto.
6030         (image_instantiator_combo_box): ditto.
6031         (image_instantiator_tree_view): ditto.
6032         (image_instantiator_tab_control): ditto.
6033         (layout_post_instantiate): remove dead code.
6034
6035         * print.c (debug_print_no_newline): only write to debugger if in
6036         WIN32_NATIVE.
6037
6038         * elhash.c (Fmake_hash_table): update doc string.
6039
6040         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6041         messages whilst in GC. This at least stops XEmacs crashing but has
6042         the potential for wierd behaviour.
6043
6044 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6045
6046         * config.h.in:
6047         Make existence of s&m files optional.
6048
6049         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6050         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6051         * s/gnu.h: Remove HAVE_GETLOADAVG.
6052         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6053         * s/sol2.h: Remove HAVE_GETLOADAVG.
6054         * lisp.h: Remove getloadavg() declaration.
6055         * fns.c:
6056         Include <sys/loadavg.h> if available.
6057         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6058         * config.h.in:  Group together getloadavg()-related macros.
6059         Use only configure-time tests to detect getloadavg().
6060
6061 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6062
6063         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6064
6065 2000-07-25  Andy Piper  <andy@xemacs.org>
6066
6067         * syswindows.h: add tchar.h for native builds.
6068
6069         * frame.c (syms_of_frame): remove set-glyph-image.
6070
6071         * general-slots.h: add Qset_glyph_image.
6072
6073         * glyphs-widget.c (layout_update): add domain arg to
6074         set-glyph-image.
6075         (syms_of_glyphs_widget): remove set-glyph-image.
6076
6077 2000-07-23  Ben Wing  <ben@xemacs.org>
6078
6079         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6080         Vpopup_frame_list.
6081
6082 2000-07-22  Andy Piper  <andy@xemacs.org>
6083
6084         * symsinit.h: add syms_of_win32().
6085
6086         * gui-msw.c (syms_of_gui_mswindows): remove
6087         Fmswindows_shell_execute.
6088         (Fmswindows_shell_execute): moved to win32.c.
6089
6090         * emacs.c (main_1): add syms_of_win32 ().
6091
6092         * win32.c (init_potentially_nonexistent_functions): rewrite in
6093         compiler-friendly terms.
6094         (Fmswindows_shell_execute): move here from gui-msw.c.
6095         (syms_of_win32): new.
6096
6097         * device-msw.c (Fmswindows_printer_list): clean up args to
6098         EnumPrinters.
6099         Don't include tchar under cygwin or mingw.
6100         (msprinter_default_printer): make cygwin-friendly.
6101
6102 2000-07-21  Andy Piper  <andy@xemacs.org>
6103
6104         * glyphs-widget.c (image_instantiator_tree_view): use tab
6105         control's update function.
6106         (layout_property): new function. Retrieve items.
6107
6108         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6109         function. Re-populate the tree view from the pending items.
6110
6111         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6112         is designated the parent if the domain is an image instance. This
6113         is needed so that dirtiness can be cascade up the hierarchy and
6114         thus for layout children to be redisplayed correctly.
6115         (allocate_image_instance): rename glyph -> parent.
6116
6117         * redisplay.h: change redisplay_output_layout signature.
6118
6119         * redisplay-msw.c (mswindows_output_display_block): use domain
6120         arg.
6121
6122         * redisplay-x.c (x_output_display_block): use domain arg.
6123
6124 2000-07-10  Andy Piper  <andy@xemacs.org>
6125
6126         * window.c (Fset_window_configuration): add comment.
6127
6128         * redisplay-output.c (compare_runes):
6129         (redisplay_output_subwindow): redisplay rather than update subwindow.
6130         (redisplay_output_layout): ditto.
6131
6132         * redisplay-msw.c (mswindows_frame_output_end):
6133         (mswindows_frame_output_end): make defer window pos optional.
6134
6135         * lisp.h: add Flast.
6136
6137         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6138         normalize method. Change update method to be for changed
6139         instantiators. Add redisplay method. Change signature of layout
6140         method.
6141         (struct Lisp_Image_Instance): add instantiator.
6142         (IMAGE_INSTANCE_INSTANTIATOR): new.
6143         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6144         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6145         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6146
6147         * glyphs.c:
6148         (find_instantiator_differences): new function.
6149         (Fset_instantiator_property): new convenience function.
6150         (check_image_instance_structure): strictly check for vector
6151         instantiators.
6152         (normalize_image_instantiator): make non-static.
6153         (instantiate_image_instantiator): pass on dest_mask and use new
6154         signatures for image_instance_layout and friends.
6155         (mark_image_instance): mark the instantiator. Mark the subwindow
6156         face not the widget face.
6157         (image_instance_equal): add instantiator.
6158         (image_instance_hash): ditto.
6159         (allocate_image_instance): ditto.
6160         (Fset_image_instance_property): removed.
6161         (Fimage_instance_file_name): ditto.
6162         (Fcolorize_image_instance): ditto.
6163         (image_instance_layout): add offsets to be set.
6164         (update_image_instance): new function. update an image instance
6165         from its changed instantiator.
6166         (inherit_normalize): add dest_mask.
6167         (xbm_normalize): ditto.
6168         (xface_normalize): ditto.
6169         (xpm_normalize): ditto.
6170         (text_update): set_property -> update.
6171         (image_instantiate): use the glyph identity as a hash key, not the
6172         instantiator.
6173         (glyph_width): use new image_instance_layout signature.
6174         (glyph_ascent): ditto.
6175         (glyph_descent): ditto.
6176         (glyph_height): ditto.
6177         (glyph_query_geometry): ressurrect.
6178         (glyph_layout): ditto.
6179         (redisplay_subwindow): update -> redisplay.
6180         (syms_of_glyphs): add Fset_instantiator_property.
6181         (image_instantiator_format_create): set_property -> update.
6182
6183         * glyphs-x.c:
6184         (autodetect_normalize): add dest_maks to signature.
6185         (x_redisplay_subwindow): update -> redisplay.
6186         (x_redisplay_widget): ditto.
6187         (x_button_redisplay): ditto.
6188         (x_progress_gauge_redisplay): ditto.
6189         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6190         stacking order.
6191         (console_type_create_glyphs_x): update -> redisplay.
6192         (image_instantiator_format_create_glyphs_x): ditto.
6193
6194         * glyphs-widget.c:
6195         (check_valid_instantiator): disallow glyphs in the instantiator,
6196         they must now be vectors.
6197         (check_valid_instantiator_list): ditto.
6198         (glyph_instantiator_to_glyph): use internal symbol rather than
6199         intern.
6200         (widget_update): renamed from widget_set_property. Call cascaded
6201         update methods.
6202         (redisplay_widget): renamed from update_widget.
6203         (widget_layout): image_instance_layout now takes position as well
6204         as size.
6205         (widget_normalize): ditto.
6206         (widget_instantiate): ditto.
6207         (tab_control_query_geometry) ditto.:
6208         (tab_control_update): renamed from tab_control_set_property.
6209         (progress_gauge_update): set_property -> update.
6210         (layout_normalize): rewrite so that child instantiators are
6211         normalized also.
6212         (layout_update): new function. Create glyphs from the normalized
6213         children and cope with any other layout keywords. We do not
6214         instantiate children here that will be take care of by
6215         redisplay_output_layout.
6216         (layout_instantiate): call layout_update and not much else.
6217         (layout_post_instantiate): not sure whether this is needed
6218         anymore.
6219         (layout_query_geometry): query glyph geometry rather than
6220         image_instance geometry.
6221         (layout_layout): set offsets from pass in parameters. Use glyph
6222         geometry and layout functions rather than image instance ones.
6223         (native_layout_layout): ditto.
6224         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6225         (image_instantiator_widget): set_property -> update.
6226         (image_instantiator_buttons): ditto.
6227         (image_instantiator_progress_guage): ditto.
6228         (image_instantiator_tab_control): ditto.
6229         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6230         (image_instantiator_layout): add update method.
6231
6232         * glyphs-msw.c (bmp_normalize):
6233         (mswindows_resource_normalize): add dest_mask so that it can be
6234         proprogated by layout_normalize.
6235         (begin_defer_window_pos): make optional because it may not be the
6236         right thing to do and it introduces differences with X.
6237         (mswindows_unmap_subwindow): ditto.
6238         (mswindows_map_subwindow): ditto.
6239         (mswindows_redisplay_subwindow): renamed from
6240         mswindows_update_subwindow.
6241         (mswindows_redisplay_widget): ditto.
6242         (mswindows_button_redisplay): renamed from
6243         mswindows_button_update. Update is now what the instantiation
6244         function does for a changed instantiator.
6245         (mswindows_progress_gauge_instantiate): set the progress value
6246         here if appropriate.
6247         (mswindows_tab_control_redisplay): cope with re-ordering of the
6248         members of the tab widget by simply selecting the new top
6249         widget. This makes things appear ok if you click on a tab.
6250         (mswindows_combo_box_instantiate): image_instance_layout now takes
6251         position as well as size.
6252         (mswindows_progress_gauge_redisplay): renamed from
6253         mswindows_progress_gauge_update.
6254         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6255         (image_instantiator_format_create_glyphs_mswindows): ditto.
6256
6257         * glyphs-eimage.c (jpeg_normalize):
6258         (gif_normalize):
6259         (png_normalize):
6260         (tiff_normalize): add dest_mask so that it can be proprogated by
6261         layout_normalize.
6262
6263         * elhash.c:
6264         (print_hash_table):
6265         (hash_table_weakness_validate):
6266         (decode_hash_table_weakness):
6267         (Fhash_table_weakness):
6268         (Fhash_table_type):
6269         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6270
6271         * console.h (struct console_methods): move update_* to
6272         redisplay_*.
6273
6274 2000-07-20  Ben Wing  <ben@xemacs.org>
6275
6276         * *.[ch] (XSETOBJ): remove unused middle argument.
6277         lisp-disunion.h: correct wrap_object() to one argument.
6278
6279 2000-07-15  Ben Wing  <ben@xemacs.org>
6280
6281         * s/cygwin32.h:
6282         * s/cygwin32.h (CYGWIN_CONV_PATH):
6283         Add missing logb prototype for v1.1.
6284         Use post-b20 names and alias to pre-b20 names when pre-b20.
6285
6286         * s/windowsnt.h: [5].
6287
6288 2000-07-15  Ben Wing  <ben@xemacs.org>
6289
6290         * Makefile.in.in (x_objs):
6291         * Makefile.in.in (sheap_objs):
6292         * Makefile.in.in (objs):
6293         added win32.o, cosmetic cleanups.
6294
6295         * alloc.c (Fmake_byte_code):
6296         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6297         etc. macros which declare their own args now.
6298
6299         * alloc.c (syms_of_alloc):
6300         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6301
6302         * buffer.c:
6303         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6304
6305         * buffer.c (Fget_file_buffer):
6306         Fixed GCPRO problem.
6307
6308         * buffer.c (get_truename_buffer):
6309         Fixed comment about GC checking.
6310
6311         * buffer.c (syms_of_buffer):
6312         Undeclared those dedicated frame funs.
6313         [2].
6314
6315         * buffer.h:
6316         Define convenience macros for internal/external conversions.
6317         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6318         and Qenvironment_variable_encoding for cleaner code.
6319
6320         * bufslots.h:
6321         Remove dedicated-frame; in lisp.
6322
6323         * bytecode.c (funcall_compiled_function):
6324         [1].
6325
6326         * bytecode.c (syms_of_bytecode):
6327         [2].
6328
6329         * console-msw.c:
6330         * console-msw.c (mswindows_show_console): Rewrote.
6331
6332         * console-msw.c (Fmswindows_debugging_output): New.
6333         Sends to OutputDebugString (special MSWin debugger interface).
6334
6335         * console-msw.c (Fmswindows_message_box):
6336         Fixed stupid bugs so it works when called from kill-emacs.
6337
6338         * console-msw.c (syms_of_console_mswindows):
6339         Declare Fmswindows_debugging_output.
6340
6341         * console-msw.h:
6342         New MSWin prototypes.
6343
6344         * console-msw.h (struct mswindows_frame):
6345         New entry last-click-mods for improved button-modifier support.
6346
6347         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6348         New struct entry `popup' with corresponding accessor.
6349
6350         * console-x.c:
6351         * console-x.c (split_up_display_spec):
6352         * console-x.c (get_display_arg_connection):
6353         * console-x.c (x_semi_canonicalize_console_connection):
6354         * console-x.c (x_canonicalize_device_connection):
6355         [[[6]]]: Change char to more specific type.
6356         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6357
6358         * console-x.c (x_semi_canonicalize_console_connection):
6359         * console-x.c (x_canonicalize_device_connection):
6360         [[[9]]]: Fix up error signalling to use new structured error system.
6361
6362         * console-x.h:
6363         [[[4]]]: Define codesys aliases:
6364         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6365         Qx_color_name_encoding, Qx_display_name_encoding.
6366
6367         * console.h (struct console_methods):
6368         New method make_dialog_box_internal supersedes older
6369         popup_dialog_box method.
6370
6371         * data.c:
6372         Define many new errors, part of new structured errors.
6373
6374         * data.c (init_errors_once_early):
6375         * data.c (syms_of_data):
6376         [2].
6377
6378         * device-msw.c (mswindows_init_device):
6379         [[[5]]]: Cleanup to support NT 3.51.
6380
6381         * device-msw.c (decode_devmode): Cleanup.
6382
6383         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6384         * device-msw.c (mswindows_handle_print_dialog_box):
6385         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6386         * device-msw.c (syms_of_device_mswindows):
6387         Delete the dialog box primitives recently introduced by Kirill and
6388         instead interface to general dialog box interface.
6389
6390         * device-x.c:
6391         * device-x.c (compute_x_app_name):
6392         * device-x.c (x_init_device):
6393         * device-x.c (Fx_valid_keysym_name_p):
6394         * device-x.c (Fx_set_font_path):
6395         [6].
6396         [7].
6397
6398         * device.h (wrap_device): New.
6399         First of its kind; meant to replace XSETDEVICE.
6400
6401         * dialog-msw.c: Many file-dialog symbols.
6402
6403         * dialog-msw.c (mswindows_register_popup_frame): New.
6404         * dialog-msw.c (mswindows_is_dialog_msg): New.
6405         For supporting kbd traversal in dialog boxes.
6406
6407         * dialog-msw.c (dialog_proc):
6408         Support hitting ESC in dialogs.
6409
6410         * dialog-msw.c (struct):
6411         Common dialog box errors.
6412
6413         * dialog-msw.c (handle_file_dialog_box): New.
6414         Add file dialog code.
6415
6416         * dialog-msw.c (handle_question_dialog_box):
6417         Redo existing code to support new question dialog syntax.
6418
6419         * dialog-msw.c (console_type_create_dialog_mswindows):
6420         We support new dialog console method.
6421
6422         * dialog-msw.c (syms_of_dialog_mswindows):
6423         * dialog-msw.c (vars_of_dialog_mswindows):
6424         New file dialog symbols, vars.
6425
6426         * dialog-x.c:
6427         * dialog-x.c (maybe_run_dbox_text_callback):
6428         * dialog-x.c (dbox_descriptor_to_widget_value):
6429         * dialog-x.c (x_make_dialog_box_internal):
6430         * dialog-x.c (console_type_create_dialog_x):
6431         Mule-ize entire file.
6432         Redo to support question dialog syntax.
6433         [6].
6434
6435         * dialog.c:
6436         * dialog.c (Fmake_dialog_box_internal):
6437         * dialog.c (syms_of_dialog):
6438         Kill old popup-dialog-box, replace with new primitive.
6439         Just call device method or signal error.
6440
6441         * eldap.c (Fldap_open):
6442         * eldap.c (Fldap_search_basic):
6443         * eldap.c (Fldap_add):
6444         * eldap.c (Fldap_modify):
6445         [1].
6446         [7].
6447
6448         * emacs.c:
6449         * emacs.c (make_arg_list_1):
6450         * emacs.c (make_arg_list):
6451         Mule-ize call to dll_init().
6452         [6].
6453         [8].
6454
6455         * emacs.c (make_argc_argv):
6456         * emacs.c (free_argc_argv):
6457         * emacs.c (init_cmdargs):
6458         * emacs.c (main_1):
6459         * emacs.c (Fkill_emacs):
6460         * emacs.c (Fdump_emacs):
6461         Update comments about what can be used in syms_* etc.
6462         Call init_win32() when necessary.
6463         Fix up MS Win dialog box in kill-buffer to actually work right.
6464         [7].
6465
6466         * eval.c:
6467         * eval.c (For):
6468         * eval.c (Fand):
6469         * eval.c (Fprogn):
6470         * eval.c (Fprog1):
6471         * eval.c (Fprog2):
6472         * eval.c (FletX):
6473         * eval.c (Flet):
6474         * eval.c (condition_case_3):
6475         * eval.c (Feval):
6476         * eval.c (function_argcount):
6477         * eval.c (funcall_lambda):
6478         [1].
6479
6480         * eval.c (type_error): New.
6481         * eval.c (maybe_type_error): New.
6482         * eval.c (continuable_type_error): New.
6483         * eval.c (maybe_continuable_type_error): New.
6484         * eval.c (type_error_with_frob): New.
6485         * eval.c (maybe_type_error_with_frob): New.
6486         * eval.c (continuable_type_error_with_frob): New.
6487         * eval.c (maybe_continuable_type_error_with_frob): New.
6488         New functions for use with structured errors.
6489
6490         * event-Xt.c:
6491         * event-Xt.c (x_event_to_emacs_event):
6492         Buttons are now modifiers too.
6493
6494         * event-Xt.c (emacs_Xt_current_event_timestamp):
6495         Implement new event method.
6496         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6497
6498         * event-msw.c:
6499         * event-msw.c (ntpipe_shove_writer): [5].
6500         * event-msw.c (mswindows_enqueue_mouse_button_event):
6501         * event-msw.c (mswindows_drain_windows_queue):
6502         * event-msw.c (mswindows_wnd_proc): [7].
6503         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6504         * event-msw.c (mswindows_modifier_state):
6505         Throughout: support new button modifiers.
6506
6507         * event-msw.c (emacs_mswindows_current_event_timestamp):
6508         Implement new event method.
6509         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6510
6511         * event-stream.c:
6512         * event-stream.c (event_stream_current_event_timestamp): New.
6513         * event-stream.c (maybe_kbd_translate): New functionality.
6514         * event-stream.c (vars_of_event_stream):
6515         Document new kbd-translate-table functionality.
6516
6517         * event-stream.c (Fcurrent_event_timestamp): New.
6518         New primitive for use in fabricated events.
6519         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6520
6521         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6522
6523         * events.c:
6524         * events.c (Fmake_event):
6525         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6526         [1].
6527         [9].
6528
6529         * events.c (format_event_object): fix gcc warnings.
6530
6531         * events.c (Fevent_timestamp): Document new primitives.
6532
6533         * events.c (TIMESTAMP_HALFSPACE): New.
6534
6535         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6536         comparing timestamps correctly (half-space algorithm).
6537
6538         * events.c (Fevent_modifier_bits): Doc fix.
6539
6540         * events.c (Fevent_modifiers): Major doc addition.
6541         * events.c (event_x_y_pixel_internal): Typo fix.
6542         * events.c (syms_of_events): Declare new primitives.
6543
6544         * events.h:
6545         Update long comment for button modifiers, timestamps.
6546
6547         * events.h (struct event_stream):
6548         New current_event_timestamp method.
6549
6550         * extents.c:
6551         * extents.c (extent_in_region_p):
6552         * extents.c (decode_extent):
6553         * extents.c (Fset_extent_parent):
6554         * extents.c (decode_map_extents_flags):
6555         Fix gcc warnings.
6556         [9].
6557
6558         * extents.c (struct extent_at_arg):
6559         * extents.c (decode_extent_at_flag):
6560         * extents.c (extent_at_mapper):
6561         * extents.c (extent_at_bytind):
6562         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6563         * extents.c (Fextents_at): New primitive. [9].
6564         * extents.c (symbol_to_glyph_layout): [9].
6565         Support new primitive `extents-at'.
6566
6567
6568         * extents.c (get_text_property_bytind):
6569         extent_at_bytind has another arg.
6570         [9].
6571
6572         * extents.c (syms_of_extents): New primitive.
6573
6574         * file-coding.c (Fmake_coding_system): [1].
6575         * file-coding.c (subsidiary_coding_system): fix gcc warning
6576         * file-coding.c (syms_of_file_coding): [2].
6577
6578         * fileio.c (Fexpand_file_name):
6579         * fileio.c (Fsysnetunam):
6580         * fileio.c (Ffile_exists_p):
6581         * fileio.c (Ffile_executable_p):
6582         * fileio.c (Fverify_visited_file_modtime):
6583         Clean up GCPROing.
6584
6585         * fileio.c (syms_of_fileio): [2].
6586
6587         * filelock.c (lock_file_1):
6588         * filelock.c (current_lock_owner):
6589         * filelock.c (lock_if_free):
6590         * filelock.c (lock_file):
6591         * filelock.c (unlock_file):
6592         Clean up GCPROing.
6593
6594         * fns.c (concat): Fix gcc warning.
6595
6596         * fns.c (Fmember):
6597         * fns.c (Fold_member):
6598         * fns.c (Fmemq):
6599         * fns.c (Fold_memq):
6600         * fns.c (memq_no_quit):
6601         * fns.c (Fassoc):
6602         * fns.c (Fold_assoc):
6603         * fns.c (Fassq):
6604         * fns.c (Fold_assq):
6605         * fns.c (assq_no_quit):
6606         * fns.c (Frassoc):
6607         * fns.c (Fold_rassoc):
6608         * fns.c (Frassq):
6609         * fns.c (Fold_rassq):
6610         * fns.c (rassq_no_quit):
6611         * fns.c (Fdelete):
6612         * fns.c (Fold_delete):
6613         * fns.c (Fdelq):
6614         * fns.c (Fold_delq):
6615         * fns.c (delq_no_quit):
6616         * fns.c (Fremassoc):
6617         * fns.c (Fremassq):
6618         * fns.c (remassq_no_quit):
6619         * fns.c (Fremrassoc):
6620         * fns.c (Fremrassq):
6621         * fns.c (remrassq_no_quit):
6622         * fns.c (Freverse):
6623         * fns.c (mapcar1):
6624         [1].
6625
6626         * frame-msw.c (mswindows_init_frame_1):
6627         * frame-msw.c (mswindows_delete_frame):
6628         Register popups with dialog code so keyboard traversing works.
6629
6630         * frame-tty.c (tty_raise_frame_no_select): [1].
6631
6632         * frame-x.c:
6633         * frame-x.c (x_set_frame_text_value):
6634         * frame-x.c (x_set_frame_properties):
6635         * frame-x.c (x_create_widgets):
6636         [7].
6637
6638         * frame.c:
6639         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6640
6641         * frame.h (wrap_frame): New.
6642         Macro like wrap_device.
6643
6644         * general.c:
6645         * general.c (SYMBOL):
6646         * general.c (syms_of_general):
6647         Major reorg.  This is now just a wrapper and symbols themselves
6648         are listed in general-slots.h.
6649
6650         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6651         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6652
6653         * glyphs-msw.c (mswindows_native_layout_instantiate):
6654         Add DS_CONTROL so keyboard traversal will work.
6655
6656         * glyphs-widget.c:
6657         * glyphs-widget.c (syms_of_glyphs_widget):
6658         Move some symbols to general-slots.h.
6659
6660         * glyphs-x.c:
6661         * glyphs-x.c (xbm_instantiate_1):
6662         * glyphs-x.c (x_xbm_instantiate):
6663         * glyphs-x.c (x_xface_instantiate):
6664         * glyphs-x.c (autodetect_instantiate):
6665         * glyphs-x.c (cursor_font_instantiate):
6666         * glyphs-x.c (x_update_widget):
6667         * glyphs-x.c (x_widget_instantiate):
6668         * glyphs.c (bitmap_to_lisp_data):
6669         * glyphs.c (pixmap_to_lisp_data):
6670         [7].
6671
6672         * glyphs.c (syms_of_glyphs):
6673         [2].
6674
6675         * gui-x.c:
6676         * gui-x.c (print_widget_value):
6677         * gui-x.c (menu_separator_style_and_to_external):
6678         * gui-x.c (add_accel_and_to_external):
6679         * gui-x.c (button_item_to_widget_value):
6680         * gui-x.c (gui_items_to_widget_values_1):
6681         * gui-x.c (gui_items_to_widget_values):
6682         * gui-x.c (syms_of_gui_x):
6683         * gui-x.c (vars_of_gui_x):
6684         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6685         [9].
6686
6687         * gui-x.h:
6688         Muleize, prototype changes matching gui-x.c.
6689
6690         * gui.c:
6691         * gui.c (separator_string_p):
6692         * gui.c (gui_item_add_keyval_pair):
6693         * gui.c (make_gui_item_from_keywords_internal):
6694         * gui.c (signal_too_long_error):
6695         * gui.c (parse_gui_item_tree_item):
6696         * gui.c (syms_of_gui):
6697         * gui.c (vars_of_gui):
6698         * gui.h:
6699         menu-no-selection-hook moved here (used by MSWin).
6700         Move some symbols to general-slots.h.
6701         [6].
6702         [9].
6703
6704         * insdel.c (get_buffer_pos_char):
6705         * insdel.c (get_buffer_range_char):
6706         Add GC comments.
6707
6708         * keymap.c (keymap_lookup_directly):
6709         * keymap.c (keymap_store):
6710         * keymap.c (ensure_meta_prefix_char_keymapp):
6711         * keymap.c (describe_map):
6712         * keymap.h:
6713         Support new button modifiers.
6714
6715         * lisp-disunion.h (wrap_object):
6716         * lisp-disunion.h (XSETOBJ):
6717         Rename make_obj to wrap_object.
6718
6719         * lisp-union.h:
6720         * lisp-union.h (make_int):
6721         * lisp-union.h (make_char):
6722         Support wrap_object.
6723
6724         * lisp.h:
6725         * lisp.h (LIST_LOOP):
6726         * lisp.h (EXTERNAL_LIST_LOOP):
6727         * lisp.h (LIST_LOOP_2):
6728         * lisp.h (EXTERNAL_LIST_LOOP_1):
6729         * lisp.h (EXTERNAL_LIST_LOOP_2):
6730         * lisp.h (EXTERNAL_LIST_LOOP_3):
6731         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6732         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6733         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6734         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6735         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6736         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6737         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6738         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6739         * lisp.h (struct Lisp_Symbol):
6740         * lisp.h (maybe_continuable_error_with_frob):
6741         Fix up section comments.
6742         Add new types for char to indicate usage.
6743         Delete symbols auto-generated from general-slots.h.
6744         Add prototypes for structured error functions.
6745         Add long comments describing looping macros and change interface
6746         so that lvalues are automatically declared.
6747         Add NO_DECLARE macro in case callers want to declare lvalues
6748         themselves.
6749
6750         * lread.c (read_syntax_error):
6751         * lread.c (continuable_read_syntax_error):
6752         * lread.c (read_structure):
6753         * lread.c (sequence_reader):
6754         * lread.c (read_list_conser):
6755         * lread.c (read_compiled_function):
6756         Rename syntax_error and continuable_syntax_error to avoid clash
6757         with same-named structured error functions.
6758
6759         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6760         * menubar-msw.c (populate_menu_add_item):
6761         * menubar-msw.c (populate_or_checksum_helper):
6762         [5].
6763         [9].
6764
6765         * menubar-x.c:
6766         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6767         Mule-ize whole file.
6768
6769         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6770
6771         * mule-charset.c (Fmake_charset):
6772         * mule-wnnfns.c (Fwnn_set_param):
6773         [1].
6774
6775         * ntproc.c (create_child):
6776         * ntproc.c (Fwin32_set_current_locale):
6777         Add comments portending doom.
6778
6779         * objects-msw.c:
6780         * objects-msw.c (old_font_enum_callback_2):
6781         * objects-msw.c (font_enum_callback_1):
6782         * objects-msw.c (mswindows_enumerate_fonts):
6783         [5].
6784
6785         * objects-x.c:
6786         * objects-x.c (allocate_nearest_color):
6787         * objects-x.c (x_parse_nearest_color):
6788         * objects-x.c (x_initialize_color_instance):
6789         * objects-x.c (x_print_color_instance):
6790         * objects-x.c (x_finalize_color_instance):
6791         * objects-x.c (x_valid_color_name_p):
6792         * objects-x.c (x_initialize_font_instance):
6793         * objects-x.c (x_print_font_instance):
6794         * objects-x.c (valid_x_font_name_p):
6795         * objects-x.c (truename_via_FONT_prop):
6796         * objects-x.c (truename_via_random_props):
6797         * objects-x.c (truename_via_XListFonts):
6798         * objects-x.c (x_font_truename):
6799         * objects-x.c (x_font_instance_truename):
6800         * objects-x.c (x_font_instance_properties):
6801         * objects-x.c (x_list_fonts):
6802         * objects-x.c (x_find_charset_font):
6803         Mule-ize entire file.
6804         [7].
6805
6806         * objects-x.h:
6807         Mule-verify.
6808
6809         * print.c:
6810         * print.c (std_handle_out_external):
6811         * print.c (debug_print_no_newline):
6812         * print.c (syms_of_print):
6813         Output to all debugger kinds in debug-print.
6814         Fix console-output code under MSWin to actually work.
6815
6816         * process-nt.c (send_signal):
6817         * process-nt.c (nt_create_process):
6818         Use newer Unicode macros.
6819
6820         * process-unix.c (unix_create_process):
6821         * process-unix.c (unix_canonicalize_host_name):
6822         * process-unix.c (unix_open_network_stream):
6823         [7].
6824
6825         * scrollbar-x.c:
6826         Mule-verify.
6827
6828         * search.c (syms_of_search):
6829         [2].
6830
6831         * select-msw.c (mswindows_destroy_selection):
6832         Use LIST_LOOP_2.
6833
6834         * select-x.c (symbol_to_x_atom):
6835         [7].
6836
6837         * select.c (syms_of_select):
6838         [2].
6839
6840         * sound.c (Fplay_sound_file):
6841         [7].
6842
6843         * specifier.c:
6844         * specifier.c (decode_specifier_type):
6845         * specifier.c (Fvalid_specifier_locale_type_p):
6846         * specifier.c (check_valid_locale_or_locale_type):
6847         * specifier.c (decode_locale):
6848         * specifier.c (decode_locale_type):
6849         * specifier.c (decode_locale_list):
6850         * specifier.c (check_valid_domain):
6851         * specifier.c (decode_specifier_tag_set):
6852         * specifier.c (Fcanonicalize_tag_set):
6853         * specifier.c (Fdefine_specifier_tag):
6854         * specifier.c (Fspecifier_tag_predicate):
6855         * specifier.c (check_valid_inst_list):
6856         * specifier.c (check_valid_spec_list):
6857         * specifier.c (decode_how_to_add_specification):
6858         * specifier.c (check_modifiable_specifier):
6859         * specifier.c (specifier_add_spec):
6860         * specifier.c (boolean_validate):
6861         * specifier.c (display_table_validate):
6862         [9].
6863
6864         * specifier.c (syms_of_specifier):
6865         Move some symbols to general-slots.h.
6866         [2].
6867
6868         * symbols.c:
6869         * symbols.c (Fmapatoms):
6870         * symbols.c (Fapropos_internal):
6871         Add GCPROs.
6872
6873         * symbols.c (set_default_buffer_slot_variable):
6874         * symbols.c (set_default_console_slot_variable):
6875         [1].
6876
6877         * symbols.c (defsymbol_massage_name_1):
6878         * symbols.c (defkeyword_massage_name):
6879         * symbols.c (deferror_1):
6880         * symbols.c (deferror):
6881         * symbols.c (deferror_massage_name_and_message):
6882         * symeval.h:
6883         * symeval.h (DEFSYMBOL):
6884         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6885
6886         * symbols.c (syms_of_symbols):
6887         [2].
6888
6889         * symsinit.h:
6890         * symsinit.h (init_win32): New.
6891         Also new is syms_of_dialog_mswindows.
6892
6893         * syswindows.h:
6894         Add new Unicode macros, missing Cygwin wide-char functions,
6895         convenience conversion macros for Qmswindows_tstr, macros for
6896         encapsulating required MSWin <-> Cygwin filename conversions,
6897         prototype for dynamically-extracted (not in NT 3.51) functions.
6898
6899         * toolbar-x.c:
6900         Mule-verify.
6901
6902         * tooltalk.c (Fadd_tooltalk_message_arg):
6903         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6904         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6905         [7].
6906
6907         * tooltalk.c (syms_of_tooltalk):
6908         [2].
6909
6910         * unexnt.c:
6911         * unexnt.c (unexec):
6912         Fix up headers, declaration of unexec() to be more standard.
6913
6914 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6915
6916         * offix.h: Revert change to guard macros - they're used in offix.c!
6917
6918 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6919
6920         * lisp.h: Defsubred Fdelete.
6921
6922         * console-msw.h:  (msprinter_default_printer): Added.
6923
6924         * console-msw.c (msprinter_canonicalize_console_connection):
6925         (msprinter_canonicalize_device_connection): Added.
6926
6927         * device-msw.c (msprinter_default_printer):
6928         (Fmswingows_get_default_printer):
6929         (signal_enum_priner_error):
6930         (Fmswingows_printer_list): Added.
6931
6932 2000-07-19  Martin Buchholz <martin@xemacs.org>
6933
6934         * XEmacs 21.2.35 is released.
6935
6936 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6937
6938         * select-x.c (x_handle_selection_request):
6939         Text selected in xemacs and pasted into xterm failed to appear.
6940         Spelling fixes and cosmetic changes.
6941
6942 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6943
6944         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6945         XEmacs frame (fix for doubling chars in dialog boxes).
6946
6947 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6948
6949         * select.c (select_convert_in, select_convert_out):
6950         Don't call intern() every time.
6951
6952         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6953         * select.c (vars_of_select): Initialise them.
6954
6955 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6956
6957         * select.c (selection-coercible-types): New.
6958
6959         * select.c (own-selection-internal):
6960         * select.c (get-selection-internal):
6961         MULE bug fix - these should default to COMPOUND_TEXT and not
6962         STRING for MULE. I think.
6963
6964         * select.c (select_convert_out): Use selection-coercible-types
6965         to find types that we can attempt to perform coercions on.
6966
6967 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6968
6969         * mule-wnnfns.c:
6970         * mule-canna.c:
6971         Add coding: cookie to identify encoding.
6972
6973         * mule-canna.c (CANNA_mode_keys): make static.
6974         Use proper prototypes, even for functions of no arguments.
6975         Remove external prototype for Fding().
6976
6977         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6978
6979         * select.c (syms_of_select): Add missing DEFSUBR.
6980
6981 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6982
6983         * select.c (get_selection_internal, own_selection_internal):
6984         Make the type default to STRING, rather than placing a nil type
6985         into Vselection_alist.
6986
6987 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6988
6989         * gpmevent.c (tty_selection_exists_p):
6990         * gpmevent.c (tty_own_selection):
6991         Updated parameter lists.
6992
6993 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
6994
6995         * select.h (selection-alist): Removed declaration.
6996
6997         * select.h (get_local_selection):
6998         * select.c (get_local_selection):
6999         Made static.
7000
7001         * select.h (convert_selection): Removed declaration.
7002         * select.c (convert_selection): Removed.
7003         This function belongs in Lisp.
7004
7005         * select.h (select_convert_in): Declare.
7006         * select.h (select_convert_out): Declare.
7007         * select.c (select_convert_in): New.
7008         * select.c (select_convert_out): New.
7009         New conversion functions for other files to call.
7010
7011         * select.h (select_notify_buffer_kill): Declare.
7012         * select.c (select_notify_buffer_kill): New.
7013         New functions that get called from kill-buffer.
7014
7015         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7016         X-specific lisp code.
7017
7018         * select.h: Declare some of the lisp-visible functions for
7019         external use.
7020
7021         * select.c (clean_local_selection_data): Removed. This was
7022         a disgusting function, and previously should have been in
7023         select-x.c in any case. The functionality is now provided
7024         in select-convert-from-integer (select.el).
7025
7026         * select.c (available-selection-types): Fixed stupidity where
7027         INTEGER and ATOM got added twice. Also add STRING when we see an
7028         extent.
7029
7030         * select.c (get-selection-internal): Removed symbol stripping. No
7031         longer causes conversion when data comes from the internal cache.
7032
7033         * select.c (syms_of_select): Added new functions.
7034
7035         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7036         error checking - previously this called abort!
7037
7038         * select-x.c (x_own_selection): Changed comment.
7039
7040         * select-x.c (x_handle_selection_request): Use select_convert_out.
7041         Don't mess with selection-alist; it's an internal variable of select.c.
7042
7043         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7044
7045         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7046         rather than messing with selection-alist.
7047
7048         * select-msw.c (mswindows_get_foreign_selection):
7049         Use TO_INTERNAL_FORMAT rather than hacking.
7050
7051 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7052
7053         * process-unix.c (unix_open_multicast_group):
7054         (unix_open_multicast_group): Remove useless casts.
7055
7056 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7057
7058         * sound.c (Fplay_sound): Fix `unused variable' warning.
7059
7060         * emacs.c (main): Use correct type for _environ on SCO5.
7061
7062 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7063
7064         * console.h (own_selection_method):
7065         * console.h (selection_exists_p_method):
7066         * console.h (available_selection_types_method): New.
7067         * console.h (register_selection_data_type_method): New.
7068         * console.h (selection_data_type_name): New.
7069
7070         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7071         function & alist to track GlobalAlloc()'d handles that need
7072         releasing when the clipboard data gets replaced or emptied.
7073
7074         * event-msw.c (mswindows_wnd_proc): Call it.
7075
7076         * lisp.h, general.c (Qappend): New symbol representing a
7077         `how-to-add' mode.
7078
7079         * select.c (own-selection-internal):
7080         * select.c (selection-exists-p):
7081         * select.c (available-selection-types): New.
7082         * select.c (register-selection-data-type): New.
7083         * select.c (selection-data-type-name): New.  New functions to deal
7084         with device-specific selection data formats.
7085         * select.c (selection-converter-out-alist): Renamed.
7086         * select.c (selection-converter-in-alist): New.
7087         * select.c (selection-appender-alist): New.  Added new alists.
7088         * select.c (syms_of_select, vars_of_select): Added new symbols &
7089         variables.
7090         * select.c (get_local_selection): Split.
7091         * select.c: Removed spurious type checking - selections may now be
7092         of any type, not just strings.
7093         * select.c (own-selection-internal):
7094
7095         * select.h, select.c (convert_selection): New. Created
7096         convert_selection() function based on get_local_selection().
7097         * select.h, select.c (QCF_*): New symbols representing mswindows
7098         clipboard formats.
7099         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7100         symbols representing `how-to-add' modes.
7101
7102         * select-msw.c (x_sym_p): New.
7103         * select-msw.c (symbol_to_ms_cf): New.
7104         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7105         symbols & clipboard formats. Can also handle string names.
7106         * select-msw.c (mswindows_own_selection):
7107         * select-msw.c (mswindows_selection_exists_p):
7108         Added `data-type' parameter. Use it.
7109         * select-msw.c (mswindows_available_selection_types): New.
7110         * select-msw.c (mswindows_register_selection_data_type): New.
7111         * select-msw.c (mswindows_selection_data_type_name): New.
7112         * select-msw.c (mswindows_own_selection):
7113         * select-msw.c (mswindows_get_foreign_selection):
7114         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7115         * select-msw.c (console_create_select_mswindows): Added new methods.
7116         * select-msw.c (mswindows_destroy_selection): New.
7117         * select-msw.c (Vhandle_alist): New list.
7118         * select-msw.c (mswindows_own_selection):
7119
7120         * select-x.c (x_own_selection):
7121         * select-x.c (x_selection_exists_p):
7122         * select-x.c: Added some comments about maybe using new
7123         functionality.
7124         * select-x.c (x_own_selection):
7125
7126         * specifier.c: Remove definition of Qappend (now in general.c)
7127         * specifier.c (syms_of_specifier): Remove Qappend.
7128
7129 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7130
7131         * config.h.in: Add socklen_t.
7132
7133         * s/decosf4-0.h: No special compiler flags needed or desired.
7134         In particular, undefine _BSD for DEC OSF 4.0.
7135
7136 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7137
7138         * redisplay-msw.c (msprinter_frame_output_end): Added.
7139         (console_type_create_redisplay_mswindows): Referred the above.
7140
7141         * frame.c (setup_frame_without_minibuffer): Do not create a
7142         default minibuffer frame on a printer device.
7143
7144         * frame-msw.c (apply_dc_geometry): Added.
7145         (msprinter_start_page):
7146         (msprinter_init_frame_3):
7147         (msprinter_eject_page): Use it.
7148
7149         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7150         and removed residual duplex and orientation properties.
7151
7152 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7153
7154         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7155
7156         * unexalpha.c: Remove system prototypes from C sources!
7157
7158 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7159
7160         * eval.c: Remove references to M-x edit-options in DEFUNs for
7161         `defvar' and `defconst'.
7162
7163 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7164
7165         * config.h.in: Remove SMART_INCLUDE hackery.
7166
7167         PostgreSQL hacking:
7168         * config.h.in: Don't use SMART_INCLUDE.
7169
7170         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7171         * inline.c: Simply #include "postgresql.h"
7172         * postgresql.c:
7173         - Don't use SMART_INCLUDE
7174         - Use simply "const".
7175         - Use standard doc string conventions.
7176         - Use correct type for result of PQstatus.
7177
7178 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7179
7180         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7181
7182         C++ compilation changes.
7183         * config.h.in (EXTERN_C): Define.
7184         * config.h.in (not): This is also a C++ keyword.
7185         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7186         * cm.c: Use EXTERN_C.
7187         * redisplay-tty.c: Use EXTERN_C.
7188         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7189
7190 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7191
7192         * general.c: Remove duplicate definition for Qfunction.
7193
7194 2000-07-08  Ben Wing  <ben@xemacs.org>
7195
7196         * device-msw.c (msprinter_init_device):
7197         * device-msw.c (sync_printer_with_devmode):
7198         * device-msw.c (handle_devmode_changes):
7199         * device-msw.c (print_dialog_worker):
7200         * device-msw.c (Fmsprinter_apply_settings):
7201         * device-msw.c (hash_devmode):
7202         * device-msw.c (Fmsprinter_settings_despecialize):
7203         use Qmswindows_tstr, not Qctext.
7204
7205         * vm-limit.c (check_memory_limits):
7206         avoid infinite loop printing warning messages.
7207
7208 2000-07-05  Craig Lanning  <lanning@scra.org>
7209
7210         * Makefile.in.in: Add support for including the Windows resources
7211         when building with the cygwin and mingw targets.
7212
7213         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7214         not set or not correct.
7215         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7216         (init_initial_directory): Don't try to use $PWD on the
7217         WIN32_NATIVE target.
7218
7219         * s\cygwin32.h:
7220         [[Add -mwindows to eliminate console window.]] not required --ben
7221         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7222         (MAIL_USE_POP): removed; now handled by configure.
7223
7224         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7225         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7226         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7227         (MAIL_USE_POP): removed; now handled by configure.
7228         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7229         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7230         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7231         constant string.
7232         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7233         up from <winsock.h> via systime.h.
7234         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7235         (getpagesize): from Dan Holmsand, added.
7236         Added #endif which was left dangling by Ben's mega patch; added
7237         comment to help prevent this in the future.
7238
7239         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7240
7241 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7242
7243         * console-msw.h (struct mswindows_device): Removed unnecessary
7244         cached device geometry values.
7245         Added update_tick and an accessor macro.
7246         (Lisp_Devmode): Added lrecord declaration.
7247         (struct msprinter_device): Contain devmode as a Lisp object.
7248         Added mswindows_get_selected_frame_hwnd();
7249
7250         * console.h (struct console_methods): Indentation nitpicking.
7251
7252         * device-msw.c (mswindows_init_device): Do not initialize geometry
7253         cache. Initialize update tick.
7254         (mswindows_device_system_metrics): Ask the device for its geometry.
7255         (global_free_2_maybe):
7256         (devmode_to_hglobal):
7257         (handle_printer_changes):
7258         (ensure_not_printing):
7259         (print_dialog_worker):
7260         (Fmsprinter_print_setup_dialog):
7261         (Fmsprinter_print_dialog):
7262         (plist_get_margin):
7263         (plist_set_margin):
7264         (Fmsprinter_page_setup_dialog): Added functions.
7265         (sync_printer_with_devmode):
7266         (handle_devmode_changes):
7267         (Fmsprinter_get_settings):
7268         (Fmsprinter_select_settings):
7269         (Fmsprinter_apply_settings):
7270         (allocate_devmode):
7271         (Fmsprinter_settings_copy):
7272         (Fmsprinter_settings_despecialize):
7273         (print_devmode):
7274         (finalize_devmode):
7275         (equal_devmode):
7276         (hash_devmode): Added functions
7277         (syms_of_device_mswindows): Init devmode lrecord class.
7278
7279         * device.h: Added an exfun for find-device.
7280
7281         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7282         geometry; although, recreate the device compatible DC.
7283
7284         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7285         (msprinter_init_frame_3):
7286         (msprinter_frame_property):
7287         (msprinter_internal_frame_property_p):
7288         (msprinter_frame_properties):
7289         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7290         print job properties (will move to device settings).
7291
7292         * lisp.h: Added symbols.
7293
7294         * general.c (syms_of_general): Declared them.
7295
7296         * hash.c (string_hash): Added.
7297
7298         * lrecord.h (lrecord_type): Added devmode lrecord type.
7299
7300 2000-07-02  Mike Sperber <mike@xemacs.org>
7301
7302         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7303         FreeBSD 4.0.
7304
7305 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7306
7307         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7308         integer.
7309
7310 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7311
7312         * data.c (Fstring_to_number): Don't recognize floating point if
7313         base is not 10.
7314
7315 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7316
7317         * glyphs-widget.c (tab_control_query_geometry):
7318         (widget_query_geometry):
7319         (button_query_geometry):
7320         * glyphs.c (text_query_geometry):
7321         Enforce type correctness.
7322
7323 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7324
7325         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7326         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7327
7328 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7329
7330         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7331         conflicts with gcc's fixincluded version of FOO.h.
7332
7333         * glyphs.h (image_instance_geometry): Remove trailing `,'
7334
7335 2000-06-08  Mike Alexander  <mta@arbortext.com>
7336
7337         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7338         (shove_thread): Don't write the same output twice
7339         (make_ntpipe_output_stream): Increase priority of shove thread
7340         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7341         chance to run
7342         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7343         it.
7344
7345 2000-06-12  Ben Wing  <ben@xemacs.org>
7346
7347         * s\mingw32.h (sigset):
7348         * s\windowsnt.h (sigset):
7349         rename msw_ to mswindows_ for consistency with general convention.
7350
7351 2000-06-12  Ben Wing  <ben@xemacs.org>
7352
7353         * console-msw.c:
7354         * console-msw.c (mswindows_get_console_hwnd):
7355         * console-msw.c (mswindows_ensure_console_allocated):
7356         * console-msw.c (mswindows_hide_console):
7357         * console-msw.c (mswindows_show_console):
7358         * console-msw.c (mswindows_ensure_console_buffered):
7359         * console-msw.c (mswindows_output_console_string):
7360         * console-msw.c (mswindows_windows9x_p):
7361         * console-msw.h:
7362         * device-msw.c (mswindows_get_workspace_coords):
7363         * device-msw.c (mswindows_device_system_metrics):
7364         * dialog-msw.c (mswindows_popup_dialog_box):
7365         * event-msw.c (mswindows_wnd_proc):
7366         * frame-msw.c (mswindows_size_frame_internal):
7367         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7368         * menubar-msw.c (displayable_menu_item):
7369         * menubar-msw.c (mswindows_char_is_accelerator):
7370         * nt.c:
7371         * nt.c (mswindows_sigset):
7372         * nt.c (mswindows_sigrelse):
7373         * nt.c (mswindows_sigpause):
7374         * nt.c (mswindows_raise):
7375         * nt.c (timer_proc):
7376         * ntproc.c:
7377         * ntproc.c (find_child_console):
7378         * ntproc.c (sys_kill):
7379         * print.c:
7380         * print.c (std_handle_out_external):
7381         * process-nt.c (find_child_console):
7382         * process-nt.c (send_signal_the_95_way):
7383         * process-nt.c (ensure_console_window_exists):
7384         * process-nt.c (nt_create_process):
7385         * syssignal.h:
7386         rename msw_ to mswindows_ for consistency with general convention.
7387
7388         * emacs.c:
7389         * dumper.c:
7390         include nt.h, not syswindows.h.
7391
7392         * nt.c (mswindows_fstat):
7393         * nt.c (mswindows_stat):
7394         prefix mswindows_ instead of attempting to directly override the
7395         library functions.  fix declarations.
7396
7397         * nt.h:
7398         include syswindows.h.  move some sysdep.h stuff here.
7399
7400         * ntheap.h:
7401         include syswindows.h, not <windows.h>.
7402
7403         * ntplay.c:
7404         clean up headers.
7405
7406         * sysdep.c:
7407         clean up headers.
7408
7409         * sysdep.c (sys_fstat):
7410         * sysdep.c (sys_stat):
7411         call mswindows versions when appropriate.
7412
7413         * sysdep.h:
7414         move mswin decls to nt.h.
7415
7416         * syswindows.h:
7417         add long comment describing appropriate use of the various windows
7418         headers.
7419
7420 2000-06-11  Ben Wing  <ben@xemacs.org>
7421
7422         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7423
7424 2000-06-10  Ben Wing  <ben@xemacs.org>
7425
7426         * Makefile.in.in (release):
7427         Correction to make sure xemacs.exe always dumped when correct.
7428
7429         * alloca.c:
7430         * balloon_help.c:
7431         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7432
7433         * buffer.c (set_buffer_internal):
7434         [[[[2]]]]: Remove HAVE_FEP code.
7435
7436         * buffer.c (init_initial_directory):
7437         [3].
7438
7439         * bytecode.c:
7440         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7441         individual files.
7442
7443         * callproc.c:
7444         * callproc.c (call_process_cleanup):
7445         * callproc.c (Fold_call_process_internal):
7446         * callproc.c (child_setup):
7447         * callproc.c (getenv_internal):
7448         * callproc.c (init_callproc):
7449         * callproc.c (vars_of_callproc):
7450         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7451         __CYGWIN32__ -> CYGWIN.
7452         DOS_NT -> WIN32_NATIVE.
7453         Remove MSDOS support/references, converting to WIN32_NATIVE
7454           where correct.
7455         __MINGW32__ -> MINGW.
7456         Fix windows.h includes.
7457         Remove bogus HAVE_NTGUI.
7458
7459         * config.h.in:
7460         [2].
7461
7462         * console-msw.c:
7463         mswindows_message_outputted added for use in allowing startup
7464         errors on the console to be seen.
7465
7466         * console-msw.c (msw_ensure_console_allocated):
7467         * console-msw.c (msw_output_console_string):
7468         * console-msw.c (DHEADER):
7469         * console-msw.c (DOPAQUE_DATA):
7470         * console-msw.c (DEVENT):
7471         * console-msw.c (DCONS):
7472         * console-msw.c (DCONSCDR):
7473         * console-msw.c (DSTRING):
7474         * console-msw.c (DVECTOR):
7475         * console-msw.c (DSYMBOL):
7476         * console-msw.c (DSYMNAME):
7477         Fix warnings.
7478
7479         * console-stream.c (stream_init_console):
7480         Fix text/binary problems.
7481
7482         * device-msw.c:
7483         * device-msw.c (mswindows_finish_init_device):
7484         * device-msw.c (mswindows_delete_device):
7485         [1].
7486
7487         * device.c (handle_asynch_device_change):
7488         [3].
7489
7490         * dgif_lib.c:
7491         * dgif_lib.c (DGifOpenFileName):
7492         * dgif_lib.c (DGifOpenFileHandle):
7493         * dgif_lib.c (DGifGetLine):
7494         * dgif_lib.c (DGifGetPixel):
7495         Added config.h/lisp.h, fix up includes.
7496         [1].
7497
7498         * dired-msw.c:
7499         [4].
7500
7501         * dired.c:
7502         * dired.c (file_name_completion):
7503         * dired.c (Ffile_attributes):
7504         * dired.c (syms_of_dired):
7505         [1].
7506
7507         * dumper.c:
7508         * dumper.c (pdump_file_unmap):
7509         * dumper.c (pdump_load):
7510         [1].
7511
7512         * editfns.c:
7513         * editfns.c (Ftemp_directory):
7514         * editfns.c (user_login_name):
7515         * editfns.c (Fuser_real_login_name):
7516         * editfns.c (get_home_directory):
7517         [1].
7518
7519         * elhash.c (finish_marking_weak_hash_tables):
7520         [[[[5]]]]: Fix GCC warnings.
7521
7522         * emacs.c:
7523         * emacs.c (mswindows_handle_hardware_exceptions):
7524         * emacs.c (make_arg_list_1):
7525         * emacs.c (main_1):
7526         * emacs.c (Fkill_emacs):
7527         * emacs.c (Fdump_emacs):
7528         [1].
7529         Fix problems with nested crashes, add long comment.
7530
7531         * event-Xt.c (init_event_Xt_late):
7532         [1].
7533
7534         * event-msw.c:
7535         * event-msw.c (mswindows_dde_callback):
7536         * event-msw.c (mswindows_handle_sticky_modifiers):
7537         * event-msw.c (mswindows_wnd_proc):
7538         [1].
7539         [5].
7540
7541         * events.c (character_to_event):
7542         [1].
7543
7544         * fileio.c:
7545         * fileio.c (Ffile_name_directory):
7546         * fileio.c (Ffile_name_nondirectory):
7547         * fileio.c (directory_file_name):
7548         * fileio.c (Fexpand_file_name):
7549         * fileio.c (Fsubstitute_in_file_name):
7550         * fileio.c (Ffile_name_absolute_p):
7551         * fileio.c (check_executable):
7552         * fileio.c (Ffile_readable_p):
7553         * fileio.c (Ffile_accessible_directory_p):
7554         * fileio.c (Ffile_modes):
7555         * fileio.c (Funix_sync):
7556         * fileio.c (vars_of_fileio):
7557         [1]. [4].
7558
7559         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7560
7561         Expand getdefdir defn.
7562         Fix bogus rename() comment.
7563
7564         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7565         to use standard XEmacs include files, e.g. sysfile.h, rather
7566         than system-specific includes.
7567
7568         * fns.c:
7569         * fns.c (Fsubseq):
7570         [5]. [6].
7571
7572         * frame.c (vars_of_frame):
7573         [1].
7574
7575         * getloadavg.c:
7576         * getloadavg.c (getloadavg):
7577         [1]. [6].
7578         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7579         (We don't use it elsewhere in the code; just add a comment.)
7580
7581         * gif_io.c:
7582         [6].
7583         Add config.h.
7584
7585         * glyphs-msw.c:
7586         * glyphs-msw.c (mswindows_resource_instantiate):
7587         [1].
7588
7589         * glyphs-x.c (x_native_layout_instantiate):
7590         [5].
7591
7592         * gui-msw.c (Fmswindows_shell_execute):
7593         [1].
7594
7595         * insdel.c:
7596         [4].
7597
7598         * lisp.h:
7599         [4]. [5].
7600
7601         * lread.c (locate_file_in_directory_mapper):
7602         [1].
7603
7604         * lstream.c:
7605         [4].
7606
7607         * mem-limits.h:
7608         * mem-limits.h (get_lim_data):
7609         [1].
7610
7611         * menubar-msw.c:
7612         [4].
7613
7614         * ndir.h:
7615         [1].
7616
7617         * nt.c:
7618         * nt.c (getwd):
7619         * nt.c (closedir):
7620         * nt.c (rva_to_section):
7621         * nt.c (mswindows_executable_type):
7622         [1]. [6].
7623         Fix closedir() defn.
7624
7625         * nt.h:
7626         [[[[8]]]]: *_OK defs moved to sysfile.h.
7627
7628         * ntproc.c:
7629         [6]. [7].
7630
7631         * objects-x.c:
7632         [4].
7633
7634         * print.c:
7635         * print.c (std_handle_out_external):
7636         [1]. [4].
7637
7638         * process-nt.c:
7639         * process-nt.c (nt_create_process):
7640         [6].
7641         try to fix process quoting somewhat.
7642
7643         * process-unix.c (unix_create_process):
7644         [1].
7645
7646         * process.c:
7647         * process.c (vars_of_process):
7648         Add Vnull_device.
7649
7650         * process.h:
7651         [1].
7652
7653         * realpath.c:
7654         * realpath.c (xrealpath):
7655         [1].
7656
7657         * redisplay-tty.c (init_tty_for_redisplay):
7658         [3].
7659
7660         * redisplay.c:
7661         [4]. [6].
7662
7663         * scrollbar-msw.c:
7664         [4].
7665
7666         * sheap.c:
7667         * sheap.c (more_static_core):
7668         * sheap.c (report_sheap_usage):
7669         [5]. [6].
7670
7671         * signal.c:
7672         * signal.c (alarm_signal):
7673         [1]. [6].
7674
7675         * sound.c:
7676         [6].
7677
7678         * strftime.c:
7679         * strftime.c (zone_name):
7680         [1]. [5].
7681
7682         * symsinit.h (init_sunpro):
7683         [1].
7684
7685         * syscommctrl.h:
7686         commctrl.h not in Cygwin b20.1.
7687
7688         * sysdep.c:
7689         * sysdep.c (endif):
7690         * sysdep.c (sys_subshell):
7691         * sysdep.c (init_baud_rate):
7692         * sysdep.c (emacs_get_tty):
7693         * sysdep.c (emacs_set_tty):
7694         * sysdep.c (tty_init_sys_modes_on_device):
7695         * sysdep.c (init_system_name):
7696         * sysdep.c (sys_open):
7697         * sysdep.c (interruptible_open):
7698         * sysdep.c (sys_fopen):
7699         * sysdep.c (sys_mkdir):
7700         * sysdep.c (sys_rename):
7701         * sysdep.c (get_process_times_1):
7702         [1]. [6].
7703
7704         * sysdep.h:
7705         [1].
7706
7707         * sysdir.h:
7708         * sysdir.h (DIRENTRY_NONEMPTY):
7709         [1]. [6].
7710
7711         * sysdll.c (dll_init):
7712         * sysdll.h:
7713         [1].
7714
7715         * sysfile.h:
7716         [1]. [6]. [8].
7717         added text/binary defs.
7718
7719         * sysfloat.h:
7720         [1].
7721
7722         * sysproc.h:
7723         * sysproc.h (EDESTADDRREQ):
7724         * sysproc.h (poll_fds_for_input):
7725         [1]. [6].
7726
7727         * syspwd.h:
7728         [6].
7729
7730         * syssignal.h:
7731         [1].
7732
7733         * systime.h:
7734         [1]. [6].
7735
7736         * systty.h:
7737         [1].
7738
7739         * syswindows.h:
7740         [1].
7741         Always define WIN32_LEAN_AND_MEAN.
7742
7743         * unexcw.c (unexec):
7744         [5].
7745
7746         * unexec.c:
7747         * unexec.c (copy_text_and_data):
7748         * unexec.c (adjust_lnnoptrs):
7749         [1].
7750
7751         * unexnt.c:
7752         * unexnt.c (_start):
7753         [1].
7754
7755 2000-06-07  Ben Wing  <ben@xemacs.org>
7756
7757         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7758         was used only as a model.  We've long since extracted any useful
7759         logic or code out of this. (I just did an exhaustive search.)
7760
7761         * s\msdos.h: Removed.
7762
7763         * s\windows95.h: Removed.
7764
7765 2000-06-10  Ben Wing  <ben@xemacs.org>
7766
7767         * s\cygwin32.h:
7768         [1]. [5].
7769         Don't use extern with fun defs.
7770
7771         * s\mingw32.h:
7772         [1]. [7].
7773         Remove nt\inc include.
7774         Remove getdisk, getdefdir. (The former is unused, the latter
7775         expanded in fileio.h.)
7776
7777         * s\windowsnt.h:
7778         * s\windowsnt.h (WIN32_NATIVE):
7779         * s\windowsnt.h (HAVE_STRCASECMP):
7780         [1]. [7].
7781         Add long comment about preprocessor changes.
7782         Remove getdisk, getdefdir. (The former is unused, the latter
7783         expanded in fileio.h.)
7784
7785 2000-06-10  Ben Wing  <ben@xemacs.org>
7786
7787         * m\arm.h:
7788         * m\delta.h:
7789         * m\intel386.h:
7790         * m\sequent.h:
7791         * m\template.h:
7792         * m\windowsnt.h:
7793         [1].
7794         Remove bogus/unused NO_SOCK_SIGIO.
7795
7796 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7797
7798         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7799         not an Emchar.
7800
7801 2000-06-04  Mike Sperber <mike@xemacs.org>
7802
7803         * casetab.c (set_case_table): For `set-standard-case-table',
7804         actually deposit the new case tables where the rest of XEmacs can
7805         see them.
7806
7807 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7808
7809         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7810
7811 2000-06-05  Ben Wing  <ben@xemacs.org>
7812
7813         * callproc.c (child_setup): Don't do close_load_descs() under
7814         MS Windows.  Put in a comment explaining why.
7815
7816 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7817
7818         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7819         Toolkit shell" which breaks `kill-compilation' on Windows NT
7820         native, retaining STDERR handling improvements.
7821
7822 2000-06-01  Andreas Jaeger  <aj@suse.de>
7823
7824         * s/s390.h: Support for S390, based on a patch by Martin
7825         Schwidefsky <schwidefsky@de.ibm.com>.
7826
7827 2000-05-30  Andy Piper  <andy@xemacs.org>
7828
7829         * window.c (allocate_window):
7830         (make_dummy_parent):
7831         (Fset_window_configuration): use new hashtable type.
7832
7833         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7834         (struct image_instantiator_methods):
7835         (struct Lisp_Image_Instance): make instance geometry signed.
7836
7837         * glyphs.c (instantiate_image_instantiator):
7838         (image_instance_query_geometry):
7839         (image_instance_layout):
7840         (image_instance_layout):
7841         (query_string_geometry):
7842         (text_query_geometry):
7843         (image_instantiate):
7844         (image_instantiate):
7845         (cache_subwindow_instance_in_frame_maybe):
7846         (subwindow_query_geometry): make instance geometry signed.
7847
7848         * glyphs-widget.c (widget_query_geometry):
7849         (widget_layout):
7850         (button_query_geometry):
7851         (tree_view_query_geometry):
7852         (tab_control_query_geometry):
7853         (layout_query_geometry):
7854         (layout_layout):
7855         (native_layout_layout): make instance geometry signed.
7856
7857 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7858
7859         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7860         constant.
7861
7862         * general.c (syms_of_general): Add Qfull_assoc symbol.
7863
7864         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7865         correctly.
7866         (decode_weak_list_type): Decode full-assoc type.
7867         (encode_weak_list_type): Encode full-assoc type.
7868         (Fmake_weak_list): Update doc string.
7869
7870 2000-05-30  Andy Piper  <andy@xemacs.org>
7871
7872         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7873
7874         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7875         (decode_hash_table_weakness): ditto.
7876         (Fhash_table_weakness): ditto.
7877         (Fhash_table_type): ditto.
7878         (finish_marking_weak_hash_tables): ditto.
7879         (hash_table_weakness_validate): ditto.
7880         (syms_of_elhash): ditto.
7881
7882 2000-05-28  Martin Buchholz <martin@xemacs.org>
7883
7884         * XEmacs 21.2.34 is released.
7885
7886 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7887
7888         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7889         start cache.
7890         (updating_line_start_cache): Gone.
7891         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7892         generic code to force a minimum of 1 line laid out in the
7893         CMOTION_DISP case.
7894
7895 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7896
7897         * glyphs.c (instantiate_image_instantiator): Check for initialized
7898         height & width no longer special cases IMAGE_NOTHING.
7899         (nothing_instantiate): Set height and width of instance.
7900
7901 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7902
7903         * unexelf.c (unexec): Search for ".data" section.
7904         Initialize new_data2_offset from old_data_index.
7905         Remove redundant check for ElfW.
7906
7907 2000-05-23  Andy Piper  <andy@xemacs.org>
7908
7909         * glyphs.c (get_image_instantiator_governing_domain): allow more
7910         specific domains as the governing domain rather than expecting an
7911         exact match. This fixes problems with layouts.
7912
7913 2000-05-22  Andy Piper  <andy@xemacs.org>
7914
7915         * redisplay-output.c (compare_runes): check for non-images
7916
7917         * glyphs.c (set_glyph_dirty_p): ditto.
7918         (update_glyph_cachel_data): ditto.
7919
7920         * glyphs-widget.c (layout_post_instantiate): ditto.
7921         (layout_post_instantiate): ditto.
7922
7923         * event-msw.c (mswindows_wnd_proc): warning removal.
7924
7925 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7926
7927         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7928
7929         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7930
7931         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7932
7933         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7934         (mswindows_executable_type): mingw32 now has enough headers for
7935         this to work.
7936
7937 2000-05-20  Andy Piper  <andy@xemacs.org>
7938
7939         * console-msw.c (mswindows_output_last_error): ; -> ,
7940
7941 2000-05-12  Andy Piper  <andy@xemacs.org>
7942
7943         * console-msw.c (FROB): compare ints with ints.
7944
7945 2000-05-11  Andy Piper  <andy@xemacs.org>
7946
7947         * glyphs-x.c (x_finalize_image_instance): make minimal build
7948         happy.
7949
7950 2000-05-20  Ben Wing  <ben@xemacs.org>
7951
7952         * event-Xt.c:
7953         * event-Xt.c (vars_of_event_Xt):
7954         move modifier-keys-are-sticky to event-stream.c.
7955
7956         * event-msw.c:
7957         * event-msw.c (mswindows_enqueue_mouse_button_event):
7958         * event-msw.c (key_needs_default_processing_p):
7959         * event-msw.c (XEMSW_LCONTROL):
7960         * event-msw.c (mswindows_handle_sticky_modifiers):
7961         * event-msw.c (FROB):
7962         * event-msw.c (clear_sticky_modifiers):
7963         * event-msw.c (output_modifier_keyboard_state):
7964         * event-msw.c (output_alt_keyboard_state):
7965         * event-msw.c (mswindows_wnd_proc):
7966         * event-msw.c (mswindows_modifier_state):
7967         * event-msw.c (emacs_mswindows_handle_magic_event):
7968         implement sticky modifiers.
7969
7970         * event-stream.c:
7971         * event-stream.c (vars_of_event_stream):
7972         move modifier-keys-are-sticky here.
7973
7974         * lisp.h:
7975         add CHECK_FUNCTION.
7976
7977         * rangetab.c:
7978         implement map-range-table.
7979
7980
7981 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7982
7983         * redisplay-tty.c (reset_tty_modes):
7984         (tty_redisplay_shutdown): Adjust argument type to
7985         tty_frame_output_end.
7986
7987 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7988
7989         * eval.c (Fbacktrace): Don't output a line with only right
7990         parenthesis.
7991
7992 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
7993
7994         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
7995         (Fpq_reset_poll): Ditto.
7996
7997 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
7998
7999         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8000
8001 2000-05-16  Ben Wing  <ben@xemacs.org>
8002
8003         * buffer.c:
8004         * buffer.c (dfc_convert_to/from_internal_format):
8005         * buffer.c (reinit_vars_of_buffer):
8006         Fix conversion functions to allow reentrancy.
8007
8008         * console-msw.c:
8009         * console-msw.c (mswindows_output_last_error):
8010         New fun, generally useful -- output a human-readable
8011         version of GetLastError() on the console.
8012
8013         * console-msw.h:
8014         * console-msw.h (struct mswindows_frame):
8015         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8016
8017         * console-stream.c (stream_output_begin):
8018         * console-stream.c (stream_output_end):
8019         * console-stream.c (stream_output_vertical_divider):
8020         * console-stream.c (stream_clear_region):
8021         * console-stream.c (stream_flash):
8022         * console-stream.c (console_type_create_stream):
8023         Delete blank stream methods, not needed.
8024
8025         * console.h (struct console_methods):
8026         Split begin/end methods into window and frame.
8027
8028         * event-msw.c:
8029         * event-msw.c (mswindows_handle_paint):
8030         * event-msw.c (output_alt_keyboard_state):
8031         * event-msw.c (mswindows_wnd_proc):
8032         * event-msw.c (vars_of_event_mswindows):
8033         Comment about problems with ignored-expose.
8034         Define mswindows-debug-events; not really implemented.
8035
8036         * frame-msw.c (mswindows_init_frame_1):
8037         random cleanups.
8038
8039         * glyphs-msw.c:
8040         * glyphs-msw.c (begin_defer_window_pos):
8041         * glyphs-msw.c (mswindows_unmap_subwindow):
8042         * glyphs-msw.c (mswindows_map_subwindow):
8043         * glyphs-msw.c (mswindows_resize_subwindow):
8044         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8045
8046         * glyphs.c (make_image_instance_1):
8047         Fix crash.
8048
8049         * gutter.c (Fredisplay_gutter_area):
8050         Use new begin/end methods.
8051
8052         * lisp.h (Dynarr_new2):
8053         New creation fun.
8054
8055         * redisplay-msw.c:
8056         * redisplay-msw.c (mswindows_frame_output_begin):
8057         * redisplay-msw.c (mswindows_frame_output_end):
8058         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8059         New begin/end methods -- handle DeferWindowPos.
8060
8061         * redisplay-output.c (redisplay_move_cursor):
8062         * redisplay-output.c (redraw_cursor_in_window):
8063         * redisplay-output.c (redisplay_update_line):
8064         * redisplay-output.c (redisplay_output_window):
8065         New begin/end methods.
8066
8067         * redisplay-tty.c:
8068         * redisplay-tty.c (tty_frame_output_begin):
8069         * redisplay-tty.c (tty_frame_output_end):
8070         * redisplay-tty.c (console_type_create_redisplay_tty):
8071         New begin/end methods.
8072
8073         * redisplay-x.c:
8074         * redisplay-x.c (x_window_output_begin):
8075         * redisplay-x.c (x_window_output_end):
8076         * redisplay-x.c (console_type_create_redisplay_x):
8077         New begin/end methods.
8078
8079         * redisplay.c (redisplay_frame):
8080         * redisplay.c (Fredisplay_echo_area):
8081         New begin/end methods.
8082         use MAYBE_DEVMETH for clear_frame; it may not exist.
8083
8084         * window.h (WINDOW_XFRAME):
8085         WINDOW_XFOO macros -- get locale and decode struct pointer.
8086
8087
8088 2000-05-12  Ben Wing  <ben@xemacs.org>
8089
8090         * emacs.c:
8091         * emacs.c (ensure_no_quitting_from_now_on):
8092         * emacs.c (fatal_error_signal):
8093         * emacs.c (mswindows_handle_hardware_exceptions):
8094         * emacs.c (main):
8095         * emacs.c (Fkill_emacs):
8096         * emacs.c (shut_down_emacs):
8097         * emacs.c (assert_failed):
8098         various improvements in fatal error handling.
8099
8100         * eval.c:
8101         move preparing_for_armageddon to emacs.c.
8102
8103         * lisp.h:
8104         declare fatal_error_in_progress.
8105
8106         * print.c:
8107         * print.c (std_handle_out_external):
8108         * print.c (std_handle_out_va):
8109         * print.c (stderr_out):
8110         * print.c (stdout_out):
8111         use console under mswin when no standard output.
8112         don't do code conversion during fatal error.
8113
8114         * scrollbar.c (Fscrollbar_page_up):
8115         * scrollbar.c (Fscrollbar_page_down):
8116         fix missing else.  reindent.
8117
8118 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8119
8120         Emergency fix.
8121
8122         * glyphs.h (GLYPH_CACHEL_DESCENT):
8123         (GLYPH_CACHEL_DESCENT):
8124         (GLYPH_CACHEL_DESCENT):
8125         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8126         used in case these are inline functions.
8127         Use more absurd values to error check.
8128
8129         include window.h for error check functions.
8130
8131 2000-05-11  Ben Wing  <ben@xemacs.org>
8132
8133         * cmdloop.c (Freally_early_error_handler):
8134         Display message box under windows; otherwise, message will disappear
8135         before it can be viewed.
8136
8137         * console-msw.c:
8138         * console-msw.c (Fmswindows_message_box):
8139         * console-msw.c (FROB):
8140         * console-msw.c (syms_of_console_mswindows):
8141         Define new fun `mswindows-message-box'.
8142         #### I will merge this into `popup-dialog-box'; just give me
8143         a bit of time.
8144
8145         * general.c:
8146         * general.c (syms_of_general):
8147         Some new symbols used in `mswindows-message-box'.
8148
8149         * glyphs.c:
8150         * glyphs.c (Fset_image_instance_property):
8151         put warning in this fun.
8152
8153         * glyphs.h:
8154         * glyphs.h (GLYPH_CACHEL_WIDTH):
8155         * glyphs.h (GLYPH_CACHEL_ASCENT):
8156         * glyphs.h (GLYPH_CACHEL):
8157         * glyphs.h (GLYPH_CACHEL_GLYPH):
8158         define error-checking versions to try to catch a bug i've seen --
8159         redisplay gets in an infinite loop because the glyph width of the
8160         continuation glyph is 65535.
8161
8162         * lisp.h:
8163         Extern message-box stuff.
8164
8165         * window.c (allocate_window):
8166         * window.c (make_dummy_parent):
8167         * window.c (Fset_window_configuration):
8168         Use EQUAL not EQ for subwindow caches to make them work a bit
8169         better. (Something is still very broken.)
8170
8171
8172 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8173
8174         * glyphs.c (image_instantiate): Suppress gcc warnings.
8175         (Fmake_image_instance): Fix doc string.
8176         * specifier.c (Fmake_specifier): Ditto.
8177
8178 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8179
8180         * paths.h.in (PATH_LOCK): Removed.
8181         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8182         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8183
8184 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8185
8186         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8187         Document (featurep '(and xemacs 21.02)).
8188
8189 2000-05-09  Ben Wing  <ben@xemacs.org>
8190
8191         * buffer.c (complex_vars_of_buffer):
8192         update modeline-format doc.
8193
8194         * device.h:
8195         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8196
8197         * emacs.c:
8198         timeline of all released versions of Emacs, for use in creating
8199         authorship comments and in synching up.
8200
8201         * glyphs-widget.c (image_instantiator_buttons):
8202         * glyphs-widget.c (image_instantiator_edit_fields):
8203         * glyphs-widget.c (image_instantiator_combo_box):
8204         * glyphs-widget.c (image_instantiator_scrollbar):
8205         * glyphs-widget.c (image_instantiator_progress_guage):
8206         * glyphs-widget.c (image_instantiator_tree_view):
8207         * glyphs-widget.c (image_instantiator_tab_control):
8208         * glyphs-widget.c (image_instantiator_labels):
8209         * glyphs-widget.c (image_instantiator_layout):
8210         * glyphs-widget.c (image_instantiator_native_layout):
8211         rename decode_domain method to governing_domain.
8212
8213         * glyphs.c:
8214         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8215         * glyphs.c (add_entry_to_device_ii_format_list):
8216         make sure we don't put an entry more than once into the list.
8217         * glyphs.c (check_instance_cache_mapper):
8218         *************************************************************
8219         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8220         HAVE BEEN GETTING.
8221         *************************************************************
8222         * glyphs.c (get_image_instantiator_governing_domain):
8223         clean up, expand on new concept of governing domain.
8224         * glyphs.c (instantiate_image_instantiator):
8225         * glyphs.c (allocate_image_instance):
8226         use governing_domain instead of cache_domain in naming.
8227         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8228         * glyphs.c (make_image_instance_1):
8229         * glyphs.c (Fmake_image_instance):
8230         allow for any domain (not just device), and process the
8231         governing domain correctly.  very big doc fix.
8232         * glyphs.c (Fimage_instance_domain):
8233         new primitive, to retrieve the governing domain of an image instance.
8234         * glyphs.c (image_instantiate):
8235         use new governing_domain stuff.  this fixes a crash you could get
8236         by instantiating certain widget glyphs in frame locales. (should
8237         signal an error instead of crashing.)
8238         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8239         * glyphs.c (Fglyphp): clean up doc.
8240         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8241         * glyphs.c (syms_of_glyphs):
8242         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8243         * glyphs.c (image_instantiator_format_create): add some comments about
8244         bogus code.
8245         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8246         for current-display-table. (Apparently Hrjove implemented in 1998 a
8247         design I wrote up in 1996, but didn't update the doc string.)
8248
8249         * glyphs.h: clean up a doc string.
8250         * glyphs.h (governing_domain):
8251         * glyphs.h (struct image_instantiator_methods):
8252         changes for governing_domain stuff.
8253
8254         * gutter.c:
8255         * gutter.c (Fgutter_specifier_p):
8256         * gutter.c (Fgutter_size_specifier_p):
8257         * gutter.c (Fgutter_visible_specifier_p):
8258         * objects.c:
8259         * objects.c (Fcolor_specifier_p):
8260         * objects.c (Ffont_specifier_p):
8261         * objects.c (Fface_boolean_specifier_p):
8262         doc strings moved to make-*-specifier.
8263
8264         * redisplay.c (add_disp_table_entry_runes_1):
8265         * redisplay.c (generate_fstring_runes):
8266         * redisplay.c (screen):
8267         add random comments and doc strings.
8268
8269         * specifier.c:
8270         * specifier.c (Fmake_specifier):
8271         major overhaul of this doc string.
8272
8273         * specifier.c (Fvalid_specifier_domain_p):
8274         comment about the bogosity of image instances being domains.
8275         * specifier.c (decode_domain):
8276         now non-static, used in glyphs.c.
8277         * specifier.c (specifier_instance):
8278         comment about the bogosity of image instances being domains.
8279         * specifier.c (Fgeneric_specifier_p):
8280         move doc string to make-generic-specifier.
8281         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8282         rebackslashify.
8283
8284         * specifier.h:
8285         * specifier.h (DOMAIN_FRAME):
8286         * specifier.h (DOMAIN_LIVE_P):
8287         * specifier.h (DOMAIN_XDEVICE):
8288         rebackslashify.
8289         add comments about problems with these macros.
8290         prototype for decode_domain.
8291
8292         * toolbar.c:
8293         * toolbar.c (Ftoolbar_specifier_p):
8294         move doc string to `make-toolbar-specifier'.
8295
8296         * window.c (window_unmap_subwindows_cache_mapper):
8297         *************************************************************
8298         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8299         HAVE BEEN GETTING.
8300         *************************************************************
8301
8302 2000-05-09  Andy Piper  <andy@xemacs.org>
8303
8304         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8305
8306         * window.c (Fset_window_configuration): reset the frame subwindow
8307         cache and re-initialize the window subwindow caches.
8308
8309         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8310
8311 2000-05-09  Ben Wing  <ben@xemacs.org>
8312
8313         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8314         DWORD.
8315
8316 2000-04-26  Mike Woolley  <mike@bulsara.com>
8317
8318         * ntheap.c: Changed recreate_heap to limit the amount reserved
8319         for the heap to that which is actually available. Also now
8320         displays a message box (with some dignostics) in the event that
8321         it still can't start.
8322
8323 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8324
8325         * callproc.c (Fold_call_process_internal): GCPRO path
8326
8327 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8328
8329         Patch by Bill Perry.
8330
8331         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8332         back data instead of #ifdef.
8333         (Fscrollbar_page_down): ditto.
8334
8335 2000-05-07  Ben Wing  <ben@xemacs.org>
8336
8337         * buffer.h:
8338         Kludge for defining Qmswindows_tstr.
8339
8340         * nt.c:
8341         * nt.c (open_input_file):
8342         * nt.c (open_output_file):
8343         * nt.c (rva_to_section):
8344         * nt.c (mswindows_executable_type):
8345         Move all memory-mapped-file routines here (some were in unexnt.c,
8346         which is bad because they are used by process-nt.c, and unexnt
8347         won't be around when portable dumping).  Synched the above routines
8348         with FSF 20.6.
8349
8350         * nt.h:
8351         Removed ifdef'd out bogus code.
8352         Fixed some prototypes.
8353
8354         * nt.h (file_data):
8355         * nt.h (OFFSET_TO_RVA):
8356         * nt.h (RVA_TO_OFFSET):
8357         * nt.h (RVA_TO_PTR):
8358         Moved the memory-mapped-file structures, macros and prototypes
8359         here, to parallel nt.c.  ntheap.h should really be removed
8360         entirely, and it's a non-portable-dumper specific file.
8361
8362         * ntheap.h (round_to_next):
8363         Moved the memory-mapped-file structures, macros and prototypes
8364         to nt.h.
8365
8366         * ntproc.c (compare_env):
8367         Moved rva_to_section and mswindows_executable_type to nt.c.
8368         Moved compare_env to process-nt.c.
8369         ntproc.c will die, one day.
8370
8371         * ntproc.c (sys_spawnve):
8372         Account for win32_ -> mswindows_.
8373
8374         * process-nt.c:
8375         * process-nt.c (struct nt_process_data):
8376         * process-nt.c (ensure_console_window_exists):
8377         * process-nt.c (compare_env):
8378         * process-nt.c (nt_create_process):
8379         * process-nt.c (nt_kill_process_by_pid):
8380         * process-nt.c (syms_of_process_nt):
8381         * process-nt.c (vars_of_process_nt):
8382         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8383         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8384         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8385         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8386         Move compare_env here from ntproc.c.
8387
8388         * process.c (Fprocess_send_region):
8389         Takes an optional fourth argument, BUFFER, which should fix some
8390         problems with call-process.
8391
8392         * syscommctrl.h:
8393         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8394
8395         * syswindows.h:
8396         Move ICC_BAR_CLASSES to syscommctrl.h.
8397         Add preliminary macros for MSWindows/Mule.  More to come.
8398
8399         * unexnt.c:
8400         * unexnt.c (unexec):
8401         open_output_file moved to nt.c.
8402
8403
8404 2000-05-05  Andy Piper  <andy@xemacs.org>
8405
8406         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8407         instance from the frame cache also since GC may catch up too late
8408         to make frame deletion sane.
8409
8410 2000-05-04  Andy Piper  <andy@xemacs.org>
8411
8412         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8413         (x_finalize_image_instance): ungcpro on deletion.
8414
8415         * glyphs.c (image_instantiator_format_create): give pointers a
8416         query geometry method so that the geometry is at least set.
8417
8418         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8419         initialize layouts if using widgets.
8420
8421 2000-05-03  Andy Piper  <andy@xemacs.org>
8422
8423         * nt.c: remove bogus reference to sysmmsystem.h
8424
8425         * gui-x.c (popup_selection_callback): fix no selection abort.
8426
8427 2000-05-02  Andy Piper  <andy@xemacs.org>
8428
8429         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8430         (mswindows_widget_instantiate): ditto.
8431
8432         * glyphs-widget.c (initialize_widget_image_instance): initialize
8433         children correctly.
8434         (widget_instantiate): cope with children and items in the same
8435         instance.
8436
8437         * glyphs.c (mark_image_instance): cope with children as a first
8438         class member.
8439         (image_instance_equal): ditto.
8440         (image_instance_hash): ditto.
8441         (image_instance_changed): ditto.
8442
8443 2000-04-30  Andy Piper  <andy@xemacs.org>
8444
8445         * glyphs.c (subwindow_query_geometry): new function. Return some
8446         defaults.
8447         (subwindow_instantiate): don't assign dimensions if none have been
8448         given.
8449         (image_instantiator_format_create): add subwindow_query_geometry.
8450         (print_image_instance): cope with layouts as widgets.
8451
8452 2000-04-29  Andy Piper  <andy@xemacs.org>
8453
8454         * frame.c (delete_frame_internal): call
8455         free_frame_subwindow_instance_cache so that all subwindows are
8456         finalized before their parent.
8457         (mark_frame): remove subwindow_cachels.
8458         (Fmake_frame): remove subwindow_cachel manipulation.
8459         (allocate_frame_core): subwindow_instance_cache is a weak list.
8460         (delete_frame_internal): set subwindow_instance_cache to nil.
8461
8462         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8463         finalization safe.
8464         (mswindows_finalize_image_instance): use the device
8465         not the domain as the domain may have died already.
8466
8467         * glyphs-x.c (x_finalize_image_instance): ditto.
8468         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8469         HEIGHT.
8470
8471         * redisplay-output.c (redisplay_unmap_subwindows): update for
8472         subwindow instance cache as a weak list.
8473         (redisplay_unmap_subwindows_maybe): ditto.
8474         (redisplay_unmap_subwindows_except_us): ditto.
8475
8476         * glyphs.c (unmap_subwindow): error checking will check the domain
8477         so don't deal with it here. Don't use cachels anymore.
8478         (map_subwindow): ditto.
8479         (update_subwindow_cachel_data): remove old accessor names.
8480         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8481         (Fresize_subwindow): don't update cachel.
8482         (mark_subwindow_cachels):
8483         (update_subwindow_cachel_data):
8484         (add_subwindow_cachel):
8485         (get_subwindow_cachel_index):
8486         (update_subwindow_cachel):
8487         (reset_subwindow_cachels):
8488         (mark_subwindow_cachels_as_not_updated): deleted.
8489         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8490         subwindow instance to the frame cache.
8491         (find_matching_subwindow): update for subwindow instance cache as
8492         a weak list.
8493         (update_widget_instances): ditto.
8494         (image_instance_type_to_mask):inlined.
8495         (free_frame_subwindow_instance_cache): new function. finalize all
8496         subwindows that are instantiated.
8497
8498         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8499         of cachel information.
8500         (IMAGE_INSTANCE_DISPLAY_X):
8501         (IMAGE_INSTANCE_DISPLAY_Y):
8502         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8503         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8504         (XIMAGE_INSTANCE_DISPLAY_X):
8505         (XIMAGE_INSTANCE_DISPLAY_Y):
8506         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8507         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8508         remove subwindow_cachel structure and function references.
8509         (image_instance_type_to_mask): inline from glyphs.c
8510
8511         * redisplay.c (redisplay_frame): remove subwindow_cachel
8512         references.
8513
8514         * frame.h (struct frame): remove subwindow_cachels.
8515         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8516
8517         * frameslots.h: add subwindow_instance_cache.
8518
8519         * window.c (replace_window): check subwindow cache of replacement.
8520         (window_unmap_subwindows_cache_mapper):
8521         (window_unmap_subwindows): new functions. Unmap all subwindows
8522         cached on this window.
8523         (mark_window_as_deleted): unmap all subwindows.
8524
8525 2000-04-27  Andy Piper  <andy@xemacs.org>
8526
8527         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8528
8529         * glyphs-widget.c (widget_layout): return something.
8530         (layout_layout): return something. Fail if not initialized.
8531         (layout_query_geometry): ditto.
8532         (image_instantiator_native_layout): new function. Initialized the
8533         native layout type.
8534         (widget_instantiate): don't do layout stuff here.
8535
8536         * glyphs.c (instantiate_image_instantiator): reorded calling or
8537         instantiate and post_instantiate with layout in between.
8538         (image_instance_layout): be more selective about deciding whether
8539         the layout has been done or not.
8540
8541         * glyphs.h (struct image_instantiator_methods): return a value
8542         from layout_method.
8543
8544 2000-04-26  Andy Piper  <andy@xemacs.org>
8545
8546         * glyphs.c (allocate_image_instance): make initial width and
8547         height unspecified. Set initialized to 0.
8548
8549         * syscommctrl.h new file. Encapsulates commctrl.h.
8550
8551         * syswindows.h new file. Encapsulates windows.h.
8552
8553         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8554         * nt.c: ditto.
8555         * console-msw.h: ditto.
8556
8557         * redisplay-tty.c (tty_output_display_block): remove layout references.
8558
8559         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8560         window handle rather than just the frame.
8561
8562         * glyphs.c (mark_image_instance): remove layout references.
8563         (print_image_instance): ditto.
8564         (image_instance_equal): ditto.
8565         (image_instance_hash): ditto.
8566         (decode_image_instance_type): ditto.
8567         (encode_image_instance_type): ditto.
8568         (image_instantiate): ditto.
8569         (allocate_glyph): ditto.
8570         (Fimage_instance_height): ditto.
8571         (Fimage_instance_width): ditto.
8572         (update_subwindow): ditto.
8573
8574         * redisplay-x.c (x_output_display_block): recode for layouts as
8575         widgets.
8576
8577         * redisplay-output.c (redisplay_output_layout): recode for layouts
8578         as widgets.
8579         (compare_runes): remove layout references.
8580
8581         * redisplay-msw.c (mswindows_output_display_block): recode for
8582         layouts as widgets.
8583
8584         * glyphs-widget.c (image_instantiator_layout): remove
8585         layout_possible_dest_types.
8586         (layout_possible_dest_types): deleted.
8587
8588         * glyphs.h (image_instance_type): remove layout references.
8589         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8590         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8591         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8592
8593 2000-04-25  Andy Piper  <andy@xemacs.org>
8594
8595         * glyphs-widget.c (image_instantiator_buttons):
8596         (image_instantiator_edit_fields):
8597         (image_instantiator_combo_box):
8598         (image_instantiator_scrollbar):
8599         (image_instantiator_progress_guage):
8600         (image_instantiator_tree_view):
8601         (image_instantiator_tab_control):
8602         (image_instantiator_labels):
8603         (image_instantiator_layout): call default post_instantiate method.
8604         (widget_post_instantiate): new function. Simply lays out the
8605         widgets.
8606
8607         * glyphs.h (struct image_instantiator_methods): add
8608         post_instantiate method.
8609
8610         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8611         method calls.
8612
8613 2000-04-23  Andy Piper  <andy@xemacs.org>
8614
8615         * glyphs.h (struct image_instantiator_methods): add
8616         decode_domain_method.
8617         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8618         derived from the domain.
8619         (IMAGE_INSTANCE_FRAME): new accessor.
8620         (XIMAGE_INSTANCE_FRAME): ditto.
8621
8622         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8623         instead of _SUBWINDOW_FRAME.
8624         (finalize_image_instance): ditto.
8625         (Fimage_instance_foreground): ditto.
8626         (Fimage_instance_background): ditto.
8627         (image_instantiate): ditto.
8628         (update_subwindow_cachel): ditto.
8629         (update_subwindow): ditto.
8630         (unmap_subwindow): ditto.
8631         (map_subwindow): ditto
8632         (subwindow_instantiate): ditto.
8633         * glyphs-msw.c (mswindows_update_widget): ditto.
8634         (mswindows_progress_gauge_instantiate): ditto.
8635         (mswindows_tab_control_update): ditto.
8636         * glyphs-x.c (x_update_widget): ditto.
8637         (x_widget_instantiate): ditto.
8638         (x_tab_control_instantiate): ditto.
8639         (x_tab_control_update): ditto.
8640         * event-msw.c (mswindows_wnd_proc): ditto
8641
8642         * glyphs-widget.c (image_instantiator_layout): use
8643         subwindow_decode_domain.
8644         (image_instantiator_buttons): ditto.
8645         (image_instantiator_edit_fields): ditto.
8646         (image_instantiator_combo_box): ditto.
8647         (image_instantiator_scrollbar): ditto.
8648         (image_instantiator_progress_guage): ditto.
8649         (image_instantiator_tree_view): ditto.
8650         (image_instantiator_tab_control): ditto.
8651         (image_instantiator_labels): ditto.
8652         (image_instantiator_layout): ditto.
8653
8654         * glyphs.c: add instance error checking to many functions.
8655         (instantiate_image_instantiator): decode device from cache_domain.
8656         (image_instantiate): partially rewrite by using
8657         decode_image_instantiator_domain to determine what domain the
8658         instance needs to be cached in.
8659         (decode_image_instantiator_domain): new function. Determine what
8660         domain the image needs to be cached in.
8661         (check_window_subwindow_cache): new error checking function.
8662         (check_instance_cache_mapper): ditto.
8663         (check_image_instance_structure): ditto.
8664         (subwindow_decode_domain): new function. Encodes a window as a
8665         subwindow's cache domain.
8666         (image_instantiator_format_create): use it for text and
8667         subwindows.
8668
8669 2000-04-21  Andy Piper  <andy@xemacs.org>
8670
8671         * glyphs.c (image_instance_device): new function.
8672         (image_instance_frame): new function.
8673         (image_instance_window): new function.
8674         (image_instance_live_p): new function.
8675
8676         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8677         cache to nil.
8678
8679         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8680         (IMAGE_INSTANCE_DOMAIN): new accessor.
8681         (XIMAGE_INSTANCE_DOMAIN): ditto.
8682
8683         * glyphs-x.c (x_finalize_image_instance): device->domain.
8684
8685         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8686         (mswindows_finalize_image_instance): ditto.
8687
8688         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8689         (gif_instantiate): ditto.
8690         (png_instantiate): ditto.
8691         (tiff_instantiate): ditto.
8692
8693         * glyphs.c (instantiate_image_instantiator): use domain rather
8694         than device.
8695         (mark_image_instance): device -> domain.
8696         (print_image_instance): ditto.
8697         (finalize_image_instance): ditto.
8698         (image_instance_equal): ditto.
8699         (allocate_image_instance): ditto.
8700         (Fcolorize_image_instance): ditto.
8701         (query_string_geometry): ditto.
8702         (image_instantiate): ditto
8703         (query_string_font): ditto.
8704         (image_instantiate): ditto.
8705         (update_subwindow): ditto.
8706         (unmap_subwindow): ditto.
8707         (map_subwindow): ditto.
8708         (subwindow_instantiate): ditto.
8709
8710         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8711         (DOMAIN_FRAME): ditto.
8712         (DOMAIN_WINDOW): ditto.
8713         (DOMAIN_LIVE_P): ditto.
8714         (XDOMAIN_DEVICE): ditto.
8715         (XDOMAIN_FRAME): ditto.
8716         (XDOMAIN_WINDOW): ditto.
8717
8718         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8719         a valid specifier domain.
8720
8721 2000-04-19  Andy Piper  <andy@xemacs.org>
8722
8723         * glyphs-widget.c (syms_of_glyphs_widget): remove
8724         widget-callback-current-channel.
8725         (vars_of_glyphs_widget): ditto.
8726         * glyphs.h: ditto
8727
8728         * gui.c (get_gui_callback): revert to previous behaviour.
8729
8730 2000-04-18  Andy Piper  <andy@xemacs.org>
8731
8732         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8733         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8734         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8735
8736         * glyphs.c (image_instance_equal): add margin_width.
8737         (image_instance_hash): ditto.
8738
8739         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8740         (layout_query_geometry): ditto.
8741         (layout_layout): ditto.
8742         (syms_of_glyphs_widget): add margin-width.
8743         (image_instantiator_layout): allow margin-width.
8744
8745         * glyphs.c (update_widget_instances): make a normal function.
8746         (syms_of_glyphs): remove Qupdate_widget_instances.
8747         * glyphs.h: ditto.
8748
8749         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8750         so that we don't corrupt ideas about the last event or
8751         command. Remove widget-callback-current-channel fiddling.
8752         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8753
8754 2000-05-01  Martin Buchholz <martin@xemacs.org>
8755
8756         * XEmacs 21.2.33 is released.
8757
8758 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8759
8760         * make-src-depend: Allow dots in header file name.
8761
8762 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8763
8764         * mule-charset.h (struct charset_lookup): Add
8765         next_allocated_1_byte_leading_byte and
8766         next_allocated_2_byte_leading_byte.
8767         * mule-charset.c: Move above two variables so that those values
8768         will be dumped.
8769
8770 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8771
8772         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8773         when string length is zero.
8774         (find_charsets_in_emchar_string): Ditto.
8775
8776 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8777
8778         * lisp.h: extern Qdialog and Qmenubar.
8779
8780         * gui-x.c: added events.h.
8781                 also fixed typo which made the file uncompilable.
8782
8783         * general.c: Added Qmenubar and Qdialog
8784
8785 2000-04-28  Ben Wing  <ben@xemacs.org>
8786
8787         * frame-msw.c (mswindows_init_frame_1):
8788         * frame-msw.c (mswindows_mark_frame):
8789         * event-msw.c (mswindows_enqueue_dispatch_event):
8790         * console-msw.h:
8791         * console-msw.h (struct mswindows_frame):
8792         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8793         there are now three hash tables for callbacks.
8794         mswindows_enqueue_dispatch_event is no longer static.
8795
8796         * dialog-x.c (maybe_run_dbox_text_callback):
8797         * dialog-x.c (dbox_descriptor_to_widget_value):
8798         switch to new cons3 form for callbacks.
8799
8800         * glyphs-msw.c (mswindows_register_gui_item):
8801         * glyphs-msw.c (mswindows_widget_instantiate):
8802         * glyphs-msw.c (add_tree_item):
8803         * glyphs-msw.c (add_tab_item):
8804         new image instance parameter, so it can be passed to callback-ex.
8805         respect :callback-ex as well as :callback.
8806
8807         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8808         add :callback-ex.
8809
8810         * glyphs.c (print_image_instance):
8811         prettify, e.g. now prints widget type.
8812
8813         * gui-x.h:
8814         certain funs have new image instance parameter.
8815
8816         * gui.c:
8817         * gui.c (get_gui_callback):
8818         * gui.c (gui_item_add_keyval_pair):
8819         * gui.c (gui_item_init):
8820         * gui.c (gui_add_item_keywords_to_plist):
8821         * gui.c (mark_gui_item):
8822         * gui.c (gui_item_hash):
8823         * gui.c (gui_item_equal):
8824         * gui.c (copy_gui_item):
8825         * gui.c (syms_of_gui):
8826         recognize callback-ex in a number of places.
8827         also, fix the annoying "can't get out of yes-no dialog" bug.
8828
8829         * gui.h:
8830         * gui.h (struct Lisp_Gui_Item):
8831         recognize callback-ex in a number of places.
8832
8833         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8834         new parameter in button_item_to_widget_value.
8835
8836         * glyphs-x.c (x_update_widget):
8837         * glyphs-x.c (x_button_instantiate):
8838         * glyphs-x.c (x_button_update):
8839         * glyphs-x.c (x_progress_gauge_instantiate):
8840         * glyphs-x.c (x_edit_field_instantiate):
8841         * glyphs-x.c (x_combo_box_instantiate):
8842         * glyphs-x.c (x_tab_control_instantiate):
8843         * glyphs-x.c (x_label_instantiate):
8844         new image instance parameter in various places.
8845
8846         * event-Xt.c:
8847         * event-Xt.c (enqueue_Xt_dispatch_event):
8848         this fun gets exported.
8849
8850         * gui-msw.c:
8851         * gui-msw.c (mswindows_handle_gui_wm_command):
8852         handle both :callback and :callback-ex, and generate our own
8853         event because it's one of the callback-ex arguments.
8854
8855         * gui-x.c:
8856         * gui-x.c (popup_selection_callback):
8857         handle both :callback and :callback-ex, and generate our own
8858         event because it's one of the callback-ex arguments.
8859         * gui-x.c (button_item_to_widget_value):
8860         * gui-x.c (gui_items_to_widget_values_1):
8861         * gui-x.c (gui_item_children_to_widget_values):
8862         * gui-x.c (gui_items_to_widget_values):
8863         new image instance parameter in various places.
8864
8865         * fns.c (Freplace_list):
8866         fix small typo in doc string.
8867
8868         * lisp.h:
8869         declare enqueue_Xt_dispatch_event.
8870
8871 2000-04-28  Ben Wing  <ben@xemacs.org>
8872
8873         * buffer.c:
8874         * buffer.c (Frecord_buffer):
8875         * buffer.c (syms_of_buffer):
8876         delete record-buffer-hook.
8877
8878         * fns.c:
8879         * fns.c (Freplace_list):
8880         * fns.c (syms_of_fns):
8881         new primitive replace-list.
8882
8883         * frameslots.h:
8884         slot for old buffer-alist.
8885
8886         * lisp.h:
8887         exfun replace-list.
8888
8889         * redisplay.c:
8890         * redisplay.c (redisplay_frame):
8891         * redisplay.c (syms_of_redisplay):
8892         * redisplay.c (vars_of_redisplay):
8893         new hook buffer-list-changed-hook.
8894         call it.
8895
8896 2000-04-27  Ben Wing  <ben@xemacs.org>
8897
8898         * extents.h: extern in_modeline_generation.
8899
8900         * redisplay.c (generate_formatted_string_db): set
8901         in_modeline_generation.
8902
8903         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8904         flags if in modeline generation.  otherwise frame-modified-tick
8905         is ticked far too often.
8906         Declare in_modeline_generation.
8907
8908 2000-04-26  Ben Wing  <ben@xemacs.org>
8909
8910         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8911         option.
8912         (vars_of_emacs): add quick-build as an error-checking option.
8913         A bit kludgy, but there doesn't seem much point in creating
8914         a real var for this.
8915
8916         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8917
8918 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8919
8920         * redisplay.h (struct display_line): Add a new variable,
8921         line_continuation.
8922
8923         * redisplay.c (create_text_block): Set dl->line_continuation if
8924         the line continues.
8925         (create_string_text_block): Ditto.
8926         (regenerate_window_incrementally): Use line_continuation instead
8927         of searching continuation glyph.
8928         (add_margin_runes): Call add_glyph_rune.
8929         (add_glyph_rune): Handle margin glyph.
8930
8931 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8932
8933         * filelock.c (fill_in_lock_file_name):
8934         ANSIfy.
8935         Check for IS_ANY_SEP instead of '/'.
8936         (lock_file_1):
8937         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8938         Never check errno without first seeing that system call failed.
8939         (unlock_file): Add GCPRO.
8940         (Flock_buffer): Fix docstring.
8941         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8942
8943 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8944
8945         * sysdep.c (get_pty_max_bytes):
8946         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8947         strings longer than 252 bytes.
8948
8949         * md5.c: Unconditionally include ANSI header <limits.h>
8950
8951         * glyphs-x.c (convert_EImage_to_XImage):
8952         * lisp-union.h (union Lisp_Object):
8953         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8954
8955 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8956
8957         * filelock.c (current_lock_owner): Remove unused variable o, p.
8958
8959 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8960
8961         * callint.c: Remove multiply defined symbol Qlet
8962         (syms_of_callint): ditto.
8963
8964 2000-04-14  Andy Piper  <andy@xemacs.org>
8965
8966         * general.c (syms_of_general): add last-command, this-command, let
8967         and funcall.
8968
8969         * lisp.h: declare various symbols.
8970
8971         * glyphs.h: declare Qwidget_callback_current_channel;
8972
8973         * glyphs-widget.c (syms_of_glyphs_widget): add
8974         Qgui_callback_current_channel.
8975         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8976
8977         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8978         widget-callback-current-channel when invoking the interactive
8979         arg. Also bind last-command and next-command when invoking the
8980         widget updates.
8981         * gui-x.c (popup_selection_callback): ditto.
8982
8983         * gui.c (get_gui_callback): massage args so that we are always
8984         calling eval. This allows us to add our own variable bindings
8985         outside.
8986
8987         * glyphs-x.c (x_button_instantiate): use
8988         gui_items_to_widget_values since this is GC safe.
8989         (x_progress_gauge_instantiate): ditto.
8990         (x_edit_field_instantiate): ditto.
8991         (x_label_instantiate): ditto.
8992
8993         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
8994         (emacs_Xt_event_widget_focus_out): new function
8995         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
8996         focus.
8997         (emacs_Xt_event_add_widget_actions): new function. add focus
8998         functions as actions.
8999         (init_event_Xt_late): use it.
9000
9001 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9002
9003         * event-stream.c (Fdispatch_event): Doc fix.
9004
9005 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9006
9007         * postgresql.c: Remove all references to PQsetenv*.
9008
9009         * postgresql.h: Remove references to PGsetenvHandler object.
9010         * lrecord.h (lrecord_type): Ditto.
9011
9012 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9013
9014         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9015         real_heigh and real_width members, and accessor macros for these.
9016
9017         * glyphs-msw.c (init_image_instance_geometry): New function.
9018         (init_image_instance_from_dibitmap): Use it.
9019         (mswindows_resource_instantiate): Use it.
9020         (init_image_instance_from_xbm_inline): Use it.
9021         (mswindows_initialize_image_instance_mask): Use real bitmap
9022         geometry.
9023         (mswindows_create_resized_bitmap): Ditto.
9024         (mswindows_create_resized_mask): Ditto.
9025
9026         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9027         and bitmap to their surface size.
9028
9029 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9030
9031         * process-unix.c (unix_send_process): Guard against process MIA
9032         after Faccept_process_output.
9033
9034 2000-04-11  Ben Wing  <ben@xemacs.org>
9035
9036         * eval.c (unbind_to_hairy): fix brokenness introduced by
9037         nanosecond speed improvements.
9038
9039 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9040
9041         * sunplay.c (init_device): To play sounds correctly, the device
9042         apparently needs to be initialized at least once by XEmacs.  Make
9043         it so.
9044
9045 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9046
9047         * redisplay.c (add_margin_runes): Add text image glyph
9048           handling.
9049
9050 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9051
9052         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9053         gcc is newer than 2.5.
9054
9055 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9056
9057         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9058
9059         * fns.c (size_bit_vector):
9060         * alloc.c (size_vector):
9061         (make_vector_internal):
9062         (make_bit_vector_internal):
9063         (sweep_bit_vectors_1):
9064         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9065
9066 2000-04-06  Andy Piper  <andy@xemacs.org>
9067
9068         * gmalloc.c (malloc): undo previous change.
9069         (malloc): ditto.
9070         (free): ditto.
9071         (realloc): ditto.
9072
9073 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9074
9075         * line-number.c (buffer_line_number): Revert to former version.
9076
9077 2000-04-06  Andy Piper  <andy@xemacs.org>
9078
9079         * gmalloc.c (malloc): add error checking.
9080         (malloc): ditto.
9081         (free): ditto.
9082         (realloc): ditto.
9083
9084         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9085         button_item_to_widget_value arg.
9086
9087         * glyphs-x.c (x_button_instantiate): add extra
9088         button_item_to_widget_value arg.
9089         (x_progress_gauge_instantiate): ditto.
9090         (x_edit_field_instantiate): ditto.
9091         (x_label_instantiate): ditto.
9092
9093         * gui-x.c (gui_items_to_widget_values_1): add extra
9094         button_item_to_widget_value arg.
9095         (button_item_to_widget_value): add extra menu_item_p arg.
9096
9097         * gui-x.h: change signature of button_item_to_widget_value.
9098
9099         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9100         button_item_to_widget_value arg.
9101
9102 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9103
9104         * buffer.h (struct buffer): auto_save_modified should be long.
9105
9106 2000-04-05  Andy Piper  <andy@xemacs.org>
9107
9108         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9109         type.
9110         (button_query_geometry): give a little more room so that athena
9111         buttons fit.
9112
9113 2000-04-05  Andy Piper  <andy@xemacs.org>
9114
9115         * faces.c (complex_vars_of_faces): The widget face should inherit
9116         the font of the gui-element face.
9117
9118 2000-04-04  Andy Piper  <andy@xemacs.org>
9119
9120         * glyphs-x.c (x_button_update): new function. unconditionally
9121         update a button's state when the instance is dirty.
9122         (image_instantiator_format_create_glyphs_x): add x_button_update.
9123         (x_widget_instantiate): remove old resize cruft.
9124
9125 2000-04-02  Andy Piper  <andy@xemacs.org>
9126
9127         * frame.c (change_frame_size_1): The introduction of gutters means
9128         that we need to allow 0 as a potential frame dimension.
9129
9130 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9131
9132         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9133         image glyph if allow_cursor.
9134         (add_hscroll_rune): Don't allow cursor to border glyph.
9135         (create_text_block): Ditto.
9136
9137         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9138         text not in buffer.
9139         (redisplay_output_layout): Call ensure_face_cachel_complete for
9140         text image glyph.
9141
9142
9143 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9144
9145         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9146
9147         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9148         not in buffer
9149
9150         * redisplay-tty.c (tty_output_display_block): Delete the routine
9151         for text image glyph
9152         * redisplay-x.c (x_output_display_block): ditto
9153         * redisplay-msw.c (mswindows_output_display_block): ditto
9154
9155 2000-02-02  Mike Alexander  <mta@arbortext.com>
9156
9157         Note: Some of these were committed by accident as part of other
9158         patches.
9159
9160         * regex.c (regex_compile): Avoid compiler warnings.
9161
9162         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9163
9164         * nt.h: Declare term_ntproc correctly.
9165
9166         * nt.c: Remove incorrect declaration of get_home_directory which
9167         is declared correctly in lisp.h.
9168
9169         * keymap.c (get_keyelt): Avoid compiler warnings.
9170         (raw_lookup_key_mapper): Avoid compiler warnings.
9171
9172         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9173
9174         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9175
9176         * filemode.c (mode_string): Avoid compiler warnings.
9177
9178         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9179         avoid warning.
9180
9181         * events-mod.h: Undef some things that winuser.h defines differently.
9182
9183         * data.c (Faset): Avoid compiler warnings.
9184
9185         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9186
9187 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9188
9189         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9190         Fall through to simple beep on error.
9191         Replace "extern" by real header file.
9192
9193         * linuxplay.c: Use nativesound.h
9194         (play_sound_data): Return error code. Be less verbose on error.
9195
9196         * sunplay.c: Use nativesound.h
9197         (play_sound_data): Return error code. Be less verbose on error.
9198
9199         * ntplay.c: Use nativesound.h
9200         (play_sound_data): Return fake error code
9201
9202         * sgiplay.c: Use nativesound.h
9203         (play_sound_data): Return error code
9204
9205         * hpplay.c: Use nativesound.h, partially implement
9206         new error code. Break compilation until finished.
9207         (play_sound_data): error code.
9208
9209         * nativesound.h (play_sound_file):
9210           (play_sound_data): Prototype in new header.
9211
9212 2000-03-31  Andy Piper  <andy@xemacs.org>
9213
9214         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9215         for toggle and radio buttons.
9216         (image_instantiator_buttons): use it.
9217
9218 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9219
9220         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9221         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9222         found. Scrollbar event probably belonged to some old config.
9223
9224 2000-03-31  Andy Piper  <andy@xemacs.org>
9225
9226         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9227         than 1.
9228         (initialize_widget_image_instance): default layout to
9229         LAYOUT_HORIZONTAL rather than 0.
9230         (widget_instantiate): reverse the item list at the end rather than
9231         every iteration.
9232         (layout_layout): re-code for the border text at the front of the
9233         item list rather than at the end.
9234         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9235         provided by the user.
9236         (widget_query_geometry): comment.
9237
9238 2000-03-30  Andy Piper  <andy@xemacs.org>
9239
9240         * glyphs-widget.c (image_instantiator_layout): allow standard
9241         widget keywords in layouts.
9242
9243         * gutter.c (output_gutter): cope with nil gutter contents.
9244
9245         * frame.c (Fset_frame_properties): add gutter docs.
9246
9247 2000-03-29  Andy Piper  <andy@xemacs.org>
9248
9249         * toolbar-msw.c (TBSTYLE_FLAT): add.
9250         (mswindows_output_toolbar): minor fiddling.
9251
9252 2000-03-29  Andy Piper  <andy@xemacs.org>
9253
9254         * gutter.c (output_gutter): force gutter size recalculation if
9255         what we are trying to display won't fit.
9256         (update_gutter_geometry): new function. A per-gutter version of
9257         update_frame_gutter_geometry.
9258         (update_frame_gutter_geometry): use it.
9259         (redraw_exposed_gutter): add extra debugging output.
9260
9261 2000-03-28  Mike Alexander  <mta@arbortext.com>
9262
9263         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9264         (pdump_file_unmap): Implement it on Windows
9265         (pdump_file_get): Save alocated handles for pdump_file_unmap
9266
9267 2000-03-28  Andy Piper  <andy@xemacs.org>
9268
9269         * gui.c (get_gui_callback): treat Quit specially.
9270
9271 2000-03-27  Andy Piper  <andy@xemacs.org>
9272
9273         * glyphs.c (image_instantiate): be careful to check in the same
9274         way we assigned.
9275
9276 2000-03-27  Didier Verna  <didier@xemacs.org>
9277
9278         * config.h.in: define the proper SMART_INCLUDE macro.
9279         handle renaming of `foo_h_path' to `foo_h_file'.
9280
9281         * database.c: ditto.
9282
9283         * emacs.c: ditto.
9284
9285         * linuxplay.c: ditto.
9286
9287         * terminfo.c: ditto.
9288
9289         * tooltalk.h: ditto.
9290
9291 2000-03-27  Andy Piper  <andy@xemacs.org>
9292
9293         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9294         gets updated whenever the face might have changed.
9295
9296 2000-03-26  Mike Alexander  <mta@arbortext.com>
9297
9298         * dumper.c (pdump_resource_free): Fix the comment.
9299
9300 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9301
9302         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9303
9304 2000-03-22  Mike Alexander  <mta@arbortext.com>
9305
9306         * dumper.c: Include Windows headers on Windows
9307         (pdump_resource_free): Add a body to the function
9308         (pdump_load): exe_name -> exe_path and add some comments.
9309
9310 2000-03-25  Mike Alexander  <mta@arbortext.com>
9311
9312         * gui.c (copy_gui_item_tree): Return a value in all cases
9313
9314 2000-03-21  Didier Verna  <didier@xemacs.org>
9315
9316         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9317         lwlib/config.h.in.
9318         (SMART_INCLUDE): new macro.
9319         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9320         the proper location.
9321
9322         * postgresql.c: use it.
9323
9324         * inline.c: ditto.
9325
9326 2000-03-24  Andy Piper  <andy@xemacs.org>
9327
9328         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9329         do this.
9330
9331 2000-03-24  Andy Piper  <andy@xemacs.org>
9332
9333         * redisplay-output.c (compare_runes): use image_instance_changed
9334         to detect changes. Do not depend on glyphs_changed, only depend on
9335         dirtiness.
9336          (redisplay_output_layout): add debug messages.
9337         (compare_runes): ditto.
9338
9339         * glyphs.h: declare new functions.
9340         (struct Lisp_Image_Instance): remove percent and associated
9341         accessors.
9342
9343         * gui.h: declare new copying functions.
9344
9345         * gui.c (copy_gui_item_tree): new function.
9346         (copy_gui_item): new function.
9347         (gui_item_id_hash): revert to standard hash.
9348         (gui_item_hash): ditto.
9349         (gui_item_hash_internal): deleted.
9350         (mark_gui_item): mark value.
9351         (gui_item_add_keyval_pair): add value.
9352         (gui_item_init): ditto.
9353         (gui_add_item_keywords_to_plist): ditto.
9354         (gui_item_equal): ditto.
9355         (syms_of_gui): add Q_value.
9356
9357         * glyphs-x.c (x_progress_gauge_update): use pending items and
9358         value for setting the state.
9359         (x_update_widget): don't set items from pending here.
9360
9361         * glyphs-widget.c (update_widget): update items here.
9362         (progress_gauge_set_property): use items for storing value. Put
9363         new value in pending items.
9364
9365         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9366         items for new value. Convert percent -> value.
9367         (mswindows_tab_control_update): don't update items here.
9368
9369         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9370         (update_subwindow): ditto.
9371         (image_instance_changed): new function. Compare hash values and
9372         past and present widget items.
9373         (image_instantiate): We more careful about where we instantiate
9374         things.
9375         (image_instantiate): add error checking.
9376
9377         * gutter.c (syms_of_gutter): use -hook.
9378
9379 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9380
9381         * console-tty.c (Fset_console_tty_input_coding_system): Use
9382         Qkeyboard.
9383         (Fset_console_tty_output_coding_system): Use Qterminal.
9384         (tty_init_console): Use Qkeyboard and Qterminal.
9385
9386 2000-03-21  Ben Wing  <ben@xemacs.org>
9387
9388         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9389         From Mike Alexander <mta@arbortext.com>.
9390
9391 2000-03-21  Ben Wing  <ben@xemacs.org>
9392
9393         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9394         process brokenness.  Proper implementation to come.
9395         * callproc.c:
9396         Rename call-process-internal to old-call-process-internal.
9397         New impl. in process.el.
9398
9399 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9400
9401         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9402
9403 2000-03-20  Andy Piper  <andy@xemacs.org>
9404
9405         * glyphs.c (full_list_hash): make hashes of the same elements in
9406         different orders return different values.
9407
9408 2000-03-20  Martin Buchholz <martin@xemacs.org>
9409
9410         * XEmacs 21.2.32 is released.
9411
9412 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9413
9414         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9415         (DFC_MALLOC_USE_CONVERTED_DATA):
9416         Add aliasing-safe casts to allow use with char* or unsigned char*
9417         lvalues.
9418
9419         * eldap.c (Fldap_open):
9420         (Fldap_search_basic):
9421         (Fldap_add):
9422         (Fldap_modify):
9423         Make C++-compilable.
9424         Make sure GCPRO'ed variables are initialized.
9425         Use temp variables to avoid repeated calls to Flength.
9426
9427 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9428
9429         * sysfile.h:
9430         Make sure PATH_MAX is always defined.
9431         Include limits.h for PATH_MAX.
9432         Deprecate use of MAXPATHLEN.
9433
9434 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9435
9436         * emacs.c: Add reinit_vars_of_fileio.
9437         * symsinit.h: Add reinit_vars_of_fileio.
9438         * fileio.c (reinit_vars_of_fileio): New.
9439         * fileio.c (Fmake_temp_name):
9440         Initialize temp_name random number from microseconds to make
9441         collisions even less likely.  Initialize always at process startup
9442         time.  (make-temp-name) used to return the same file name twice in
9443         a row when PDUMP.
9444         Random stylistic fiddling.
9445         Comment fixes.
9446
9447 2000-03-20  Andy Piper  <andy@xemacs.org>
9448
9449         * glyphs.c (image_instantiate): allow text glyphs to be
9450         instantiated in the minibuffer window.
9451
9452 2000-03-19  Andy Piper  <andy@xemacs.org>
9453
9454         * glyphs.c (image_instance_hash): be careful about which items we
9455         hash on.
9456
9457         * glyphs-widget.c (tab_control_set_property): record into pending
9458         items rather than the actual items.
9459
9460         * glyphs-x.c (x_update_widget): use pending items to update with.
9461
9462         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9463         to update with.
9464
9465         * glyphs.c (mark_image_instance): mark pending items.
9466
9467         * window.c (Fset_window_configuration): record the buffer.
9468         (Fselect_window): totally revert previous change which breaks many
9469         things.
9470
9471 2000-03-18  Andy Piper  <andy@xemacs.org>
9472
9473         * glyphs-msw.c (mswindows_tab_control_update): force selected
9474         item.
9475
9476         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9477         window domain cache, otherwise we get inconsistencies at
9478         startup. There is something fishy at startup which can lead to the
9479         minibuffer being the selected window when the gutter content is
9480         instantiated.
9481
9482         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9483         gcpros.
9484         (parse_gui_item_tree_children): ditto.
9485         (parse_gui_item_tree_item): ditto.
9486
9487         * glyphs.c (Fupdate_widget_instances): return something.
9488
9489 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9490
9491         * window.c (Fselect_window): Undo 2000-03-17 change.
9492
9493 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9494
9495         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9496         against v7.0 libraries.  Insta-coredump city until the postgres
9497         folks fix it.
9498
9499 2000-03-17  Andy Piper  <andy@xemacs.org>
9500
9501         * faces.c (complex_vars_of_faces): don't give the widget face an
9502         inherited background pixmap.
9503
9504         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9505         selected item.
9506
9507         * event-stream.c (Fdispatch_non_command_events): return something.
9508
9509         * gutter.c (output_gutter): use widget face.
9510         (clear_gutter): ditto.
9511
9512         * NEWS: adjust again.
9513
9514         * window.c (Fselect_window): make sure this runs to completion to
9515         avoid oddities with Fset_window_configuration.
9516         (Fcurrent_window_configuration): in general do not save the
9517         minibuffer as the selected window.
9518
9519         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9520
9521 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9522
9523         * emacs.c (Frunning_temacs_p): Revert previous patch.
9524         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9525
9526 2000-03-16  Andy Piper  <andy@xemacs.org>
9527
9528         * glyphs-x.c (x_tab_control_update): if no widget values then
9529         return.
9530
9531         * NEWS: update for new features.
9532
9533         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9534         synthetic event to the native system.
9535         (reinit_vars_of_event_Xt): set force_event_pending to
9536         emacs_Xt_force_event_pending.
9537
9538         * events.h (struct event_stream): add force_event_pending.
9539
9540         * specifier.c (recompute_one_cached_specifier_in_window): add
9541         comment.
9542
9543         * redisplay.c (redisplay_frame): don't call
9544         update_frame_subwindows. Reset subwindow cachels when
9545         subwindows_changed, removing this was an optimization too far.
9546
9547         * redisplay-output.c (compare_runes): reorganize so that we catch
9548         glyph changes when we want them. Set optimize_output when this
9549         would help layouts.
9550         (redisplay_output_layout): remove frame_really_changed, use
9551         optimize_output instead.
9552
9553         * redisplay-msw.c (mswindows_output_display_block): reset
9554         optimize_output after outputting a glyph.
9555         * redisplay-x.c (x_output_display_block): ditto.
9556         * redisplay-tty.c (tty_output_display_block): ditto.
9557
9558         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9559         functions.
9560         (gutter_specs_changed): do specific gutter positions.
9561         (top_gutter_specs_changed): new function. Only update the
9562         specified gutter specs.
9563         (bottom_gutter_specs_changed): ditto.
9564         (left_gutter_specs_changed): ditto.
9565         (right_gutter_specs_changed): ditto.
9566
9567         * gui.c (gui_item_hash_internal): new function, does a real hash.
9568         (gui_item_id_hash): use it.
9569         (gui_item_hash): hash the eval'ed gui_item.
9570
9571         * gui-x.c (popup_selection_callback): send an eval event to call
9572         Fupdate_widget_instances.
9573
9574         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9575         to call Fupdate_widget_instances.
9576
9577         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9578         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9579
9580         * glyphs.c: (update_frame_subwindows): deleted.
9581         (Fupdate_widget_instances): new function for updating the dirty
9582         state of widgets that might have changed.
9583         (syms_of_glyphs): add Qupdate_widget_instances.
9584         (full_list_hash): hash a list completely.
9585         (image_instance_hash): use it for items and properties.
9586
9587         * frame-msw.c (mswindows_size_frame_internal): remove unused
9588         variable.
9589
9590         * faces.h (struct face_cachel): fix comment.
9591
9592         * event-stream.c (Fdispatch_non_command_events): new
9593         function. Process non-command events, forcing an event cycle
9594         beforehand.
9595         (syms_of_event_stream): declare.
9596         (event_stream_force_event_pending): new function. Force an event
9597         on the native event queue so that an event cycle will occur next
9598         time we check.
9599
9600         * event-msw.c:
9601         (struct ntpipe_shove_stream):
9602         (mswindows_enqueue_dispatch_event):
9603         (mswindows_dequeue_dispatch_event):
9604         (mswindows_cancel_dispatch_event):
9605         (mswindows_pump_outstanding_events):
9606         (mswindows_drain_windows_queue):
9607         (mswindows_handle_paint):
9608         (mswindows_wnd_proc):
9609         (mswindows_key_to_emacs_keysym):
9610         (get_process_input_waitable):
9611         (emacs_mswindows_delete_stream_pair): re-indent file.
9612         (mswindows_need_event): do not process further fds if the windows
9613         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9614         fixes the 100% cpu problem.
9615         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9616
9617 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9618
9619         * alloc.h: New.
9620         * dumper.h: New.
9621         * dumper.c: New.
9622
9623         * emacs.c: Moved dump file searching to dumper.c.
9624         (Frunning_temacs_p): Fixed.
9625
9626         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9627         last_lrecord_type_index_assigned.
9628
9629 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9630
9631         * symsinit.h: Added reinit parameter to init_console_stream
9632         declaration.
9633
9634         * lisp.h: Added file parameter to pdump_load declaration.
9635
9636         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9637         support.  Added dump file searching.
9638
9639         * config.h.in: Added EMACS_PROGNAME.
9640
9641         * console-stream.c (init_console_stream): Fix reinitialisation
9642         when running from temacs.
9643
9644         * alloc.c (pdump): Add id support.
9645         (pdump_load): Add file parameter and signature/id support.
9646
9647         * Makefile.in.in: Add full pdump support.
9648
9649 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9650
9651         * postgresql.c: Update documentation to reflect latest code
9652         status.
9653         (print_result): Show tuple counts in printed representation when
9654         appropriate.
9655         (Fpq_put_nbytes): MULE-ize.
9656         (Fpq_get_line_async): Ditto.
9657
9658 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9659
9660         * postgresql.c (Fpq_lo_import): Fix return value.
9661         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9662
9663 2000-03-13  Ben Wing  <ben@xemacs.org>
9664
9665         * alloc.c (pdump_load):
9666         Fix compile warning under mswin.
9667
9668 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9669
9670         * postgresql.c: Mule-ization, bug fixes.
9671         Use PG_CODING to encapsulate coding system name changes.
9672         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9673         (pg-coding-system): Create.
9674
9675         (Fpq_conn_defaults): Mule-ize.
9676         (Fpq_connectdb): Mule-ize & bug fix.
9677         (Fpq_connect_start): Mule-ize.
9678         (Fpq_set_client_encoding): Mule-ize.
9679         (Fpq_finish): Document `DEAD' connection status.
9680         (Fpq_clear): Ditto.
9681         (Fpq_pgconn): Mule-ize.
9682         (Fpq_exec): Mule-ize & bug fix.
9683         (Fpq_send_query): Ditto.
9684         (Fpq_get_result): Ditto.
9685         (Fpq_res_status): Mule-ize.
9686         (Fpq_result_error_message): Mule-ize.
9687         (Fpq_ntuples): fix comments.
9688         (Fpq_fname): Mule-ize.
9689         (Fpq_fnumber): Mule-ize.
9690         (Fpq_ftype): fix comments.
9691         (Fpq_get_value): Mule-ize.
9692         (Fpq_cmd_status): Ditto.
9693         (Fpq_cmd_tuples): Ditto.
9694         (Fpq_oid_value): Ditto.
9695         (Fpq_notifies): Ditto.
9696         (Fpq_lo_import): Ditto.
9697         (Fpq_lo_export): Ditto.
9698         (Fpq_get_line): Ditto.
9699         (Fpq_put_line): Mule-ize and bug fix.
9700         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9701
9702 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9703
9704         * postgresql.c (vars_of_postgresql): Mule-ize.
9705         (Fpq_conn_defaults): Ditto.
9706
9707 2000-03-12  Ben Wing  <ben@xemacs.org>
9708
9709         * alloc.c (Fmake_byte_code):
9710         * alloc.c (debug_string_purity_print):
9711         * alloc.c (pdump_backtrace):
9712         * alloc.c (pdump_get_indirect_count):
9713         * alloc.c (pdump_register_sub):
9714         * alloc.c (pdump_register_object):
9715         * alloc.c (pdump_register_struct):
9716         * alloc.c (pdump_dump_data):
9717         * alloc.c (pdump_reloc_one):
9718         Minor cleanups.
9719
9720         * console-msw.c:
9721         * console-msw.c (GetConsoleHwnd):
9722         * console-msw.c (msw_hide_console):
9723         * console-msw.c (msw_show_console):
9724         * console-msw.c (msw_ensure_console_buffered):
9725         * console-msw.c (msw_output_console_string):
9726         * console-msw.c (console_type_create_mswindows):
9727
9728         a) Added functions to manipulate the console window for use with
9729         shell support.
9730
9731         b) Added support for writing text to the console, which is now
9732         used under Windows when xemacs is not being run non-interactively,
9733         to write text that would otherwise be destined for stdout because
9734         under these circumstances, text written to stdout tends to
9735         disappear and not be seen.
9736
9737         * console-msw.h:
9738         * event-Xt.c:
9739         * event-Xt.c (x_event_to_emacs_event):
9740         * event-Xt.c (describe_event_window):
9741         * events-mod.h (XEMACS_MOD_CONTROL):
9742         * events.c:
9743         * events.c (Fmake_event):
9744         * events.c (character_to_event):
9745         * events.c (event_to_character):
9746         * events.c (format_event_object):
9747         * events.c (Fevent_modifiers):
9748         * events.h:
9749         * events.h (struct key_data):
9750         * events.h (struct button_data):
9751         * events.h (struct misc_user_data):
9752         * frame-x.c (Fcde_start_drag_internal):
9753         * frame-x.c (Foffix_start_drag_internal):
9754         * gpmevent.c (Freceive_gpm_event):
9755         * keymap.c:
9756         * keymap.c (bucky_sym_to_bucky_bit):
9757         * keymap.c (control_meta_superify):
9758         * keymap.c (make_key_description):
9759         * keymap.c (keymap_lookup_directly):
9760         * keymap.c (create_bucky_submap):
9761         * keymap.c (keymap_store):
9762         * keymap.c (define_key_check_and_coerce_keysym):
9763         * keymap.c (define_key_parser):
9764         * keymap.c (define_key_alternate_name):
9765         * keymap.c (Fdefine_key):
9766         * keymap.c (raw_lookup_key_mapper):
9767         * keymap.c (struct map_keymap_unsorted_closure):
9768         * keymap.c (map_keymap_unsorted_mapper):
9769         * keymap.c (map_keymap_sort_predicate):
9770         * keymap.c (map_keymap_sorted):
9771         * keymap.c (accessible_keymaps_mapper_1):
9772         * keymap.c (where_is_recursive_mapper):
9773         * keymap.c (describe_map_mapper):
9774         * keymap.c (describe_map_sort_predicate):
9775         * keymap.c (describe_map):
9776         * keymap.c (complex_vars_of_keymap):
9777         And a number of other files, the key modifier preprocessor
9778         constants that xemacs uses have names that conflict with constants
9779         defined under MS Windows for other purposes, so they were renamed
9780         to begin with the prefix XEMACS_. The variables that hold such
9781         modifiers were changed to consistently be of type int to fix
9782         various compile warnings.
9783
9784         * console.c (complex_vars_of_console):
9785         * device.c:
9786         * device-msw.c:
9787         * device-msw.c (mswindows_finish_init_device):
9788         * device-msw.c (msw_get_workspace_coords):
9789         * device-msw.c (mswindows_device_system_metrics):
9790         and various other files, added support for a new
9791         device property called offset-workspace which returns the position
9792         of the upper left corner of the workspace area and goes along with
9793         the existing size-workspace property.
9794
9795         * dialog-msw.c:
9796         * dialog-msw.c (push_bufbyte_string_as_unicode):
9797         * dialog-msw.c (mswindows_popup_dialog_box):
9798         Added support for XEmacs-style accelerator specifications in
9799         button text.  Note: I didn't add support for this under X Windows,
9800         and somebody needs to do this.
9801
9802         * dialog.c:
9803         * dialog.c (Fpopup_dialog_box):
9804         Documented the support for accelerators that was just mentioned.
9805
9806         editfns.c (get_home_directory): Changed behavior under Windows
9807         when HOME not defined; former behavior was irretrievably broken.
9808
9809         * emacs.c:
9810         * emacs.c (main_1):
9811         * emacs.c (main):
9812         * minibuf.c (clear_echo_area_internal):
9813         * minibuf.c (echo_area_append):
9814         * print.c:
9815         * print.c (std_handle_out_external):
9816         * print.c (std_handle_out_va):
9817         * print.c (fatal):
9818         * print.c (write_string_to_stdio_stream):
9819         * print.c (output_string):
9820         * print.c (debug_print):
9821         * print.c (debug_backtrace):
9822         * print.c (debug_short_backtrace):
9823         Cleaned up the code that prints text to stdout so that this can be
9824         changed to output into a console window instead under MS Windows,
9825         as described above.
9826
9827         * eval.c:
9828         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9829         * eval.c (internal_catch):
9830         * eval.c (unwind_to_catch):
9831         * eval.c (throw_or_bomb_out):
9832         * eval.c (condition_case_1):
9833         * eval.c (signal_1):
9834         * eval.c (check_error_state_sanity):
9835         * eval.c (call_with_suspended_errors_1):
9836         * eval.c (call_with_suspended_errors):
9837         * eval.c (reinit_vars_of_eval):
9838         Added code to catch throw loops and check for a pesky bug that may
9839         be gone now.
9840
9841         * event-msw.c:
9842         * event-msw.c (key_needs_default_processing_p):
9843         * event-msw.c (mswindows_wnd_proc):
9844         * event-msw.c (mswindows_modifier_state):
9845         * event-msw.c (emacs_mswindows_quit_p):
9846         * event-msw.c (vars_of_event_mswindows):
9847         a) Added support for using the alt key to select menu items as is
9848         standard under MS Windows.  This is controlled using the variable
9849         menu-accelerator-enabled, just like under X Windows.  There is an
9850         option on the options menu to turn this support on.  I really
9851         think that it should be on by default under Windows, but I'm not
9852         going to make this change yet.
9853
9854         b)  Added support for dynamic display size changes under Windows.
9855
9856         * event-stream.c:
9857         * event-stream.c (maybe_echo_keys):
9858         * event-stream.c (Fnext_event):
9859         * event-stream.c (command_builder_find_leaf):
9860         * event-stream.c (lookup_command_event):
9861         * event-stream.c (execute_command_event):
9862         * event-stream.c (pre_command_hook):
9863         * event-stream.c (post_command_hook):
9864         * event-stream.c (syms_of_event_stream):
9865         * event-stream.c (vars_of_event_stream):
9866         * event-stream.c (complex_vars_of_event_stream):
9867         * events.h (struct command_builder):
9868
9869         a) Tried to clean up a little bit the horribly written x-specific
9870         accelerator code that crept into this file.  I moved this code
9871         into menubar-x.c where it belongs. I also needed to move the
9872         command builder structure into the file events.h because it is
9873         accessed directly by this accelerator code.  What I didn't do, but
9874         which should be done at some point, is to properly abstract this
9875         code using device methods instead of the kludgy way that it
9876         currently hooks into the event code.
9877
9878         b) Added the lisp variables this-command-properties and
9879         last-command- properties, which should be used to synchronize two
9880         adjacent commands in preference to playing games with the variable
9881         this-command, which is typically what happens.
9882
9883         c) Added some slightly nasty code to hook into the lisp support
9884         for shifted- motion-key selection.  This is actually necessary for
9885         somewhat complicated reasons, which are described in
9886         simple.el. (NB: I think the proper thing would be to have the code
9887         that calls the pre and post command hooks also call out to generic
9888         lisp functions in simple.el, where all built-in stuff could be
9889         added.  I will think about this more.)
9890
9891         * event-unixoid.c (poll_fds_for_input):
9892         * lread.c (readchar):
9893         * redisplay-tty.c (tty_clear_frame):
9894         * redisplay-x.c (x_get_gc):
9895         * signal.c (interrupt_signal):
9896         And a whole bunch of other files: fixed up places that printed
9897         directly to stderr to instead call the function stderr_out so that
9898         the changes I made under Windows work correctly.
9899
9900         * filemode.c (mode_string):
9901         Warning fixes.
9902
9903         * frame-msw.c:
9904         * frame-msw.c (mswindows_size_frame_internal):
9905         Fixed the computation of frame size and position to keep the frame
9906         within the workspace area, rather than within the physical
9907         dimensions of the screen, so that the frame doesn't overlap window
9908         manager decorations, such as the start menu and toolbar, typically
9909         at the bottom of the screen.
9910
9911         * frame.c (vars_of_frame):
9912         Changed the default frame title format under MS Windows to consist
9913         of buffername-XEmacs, which is standard under MS Windows.  I think
9914         it might be a good idea to change this everywhere because I think
9915         it is superior to the current frame title format, but this is the
9916         kind of change that is likely to cause some people to get annoyed,
9917         so I'm not making it.
9918
9919         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9920
9921         * gui-msw.c (mswindows_handle_gui_wm_command):
9922         Fixed compile warnings.
9923
9924         * gui-x.c:
9925         * gui-x.c (strdup_and_add_accel):
9926         * gui-x.c (button_item_to_widget_value):
9927         * gui-x.h:
9928         Added code to automatically put an accelerator onto the beginning
9929         of menu items that don't have one as is now the standard, and is
9930         described more later.  Also fixed things so that the menu item
9931         name can be an evaluated expression, again a new standard.
9932
9933         * gui.c:
9934         * gui.c (gui_item_add_keyval_pair):
9935         * gui.c (make_gui_item_from_keywords_internal):
9936         * gui.c (gui_add_item_keywords_to_plist):
9937         * gui.c (gui_item_accelerator):
9938         * gui.c (gui_name_accelerator):
9939         * gui.c (gui_item_included_p):
9940         * gui.c (gui_item_display_flush_left):
9941         * gui.c (gui_item_display_flush_right):
9942         * gui.c (parse_gui_item_tree_item):
9943         * gui.c (parse_gui_item_tree_children):
9944         * gui.c (parse_gui_item_tree_list):
9945         Mule-ized.  Cleanup.  GCPRO addition.
9946
9947         * line-number.c (buffer_line_number):
9948         * lisp.h:
9949         * lisp.h (EMACS_INT_MAX):
9950         Added the manifest constant EMACS_INT_MIN corresponding to the
9951         existing constant EMACS_INT_MAX.  This is partially to fix compile
9952         warnings under Windows, and partly for cleanliness.
9953
9954         * menubar-msw.c:
9955         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9956         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9957         * menubar-msw.c (displayable_menu_item):
9958         * menubar-msw.c (populate_menu_add_item):
9959         * menubar-msw.c (populate_or_checksum_helper):
9960         * menubar-msw.c (populate_menu):
9961         * menubar-msw.c (update_frame_menubar_maybe):
9962         * menubar-msw.c (prune_menubar):
9963         * menubar-msw.c (msw_char_is_accelerator):
9964         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9965         * menubar-msw.c (mswindows_handle_wm_command):
9966         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9967         * menubar-msw.c (mswindows_handle_wm_initmenu):
9968         * menubar-msw.c (mswindows_update_frame_menubars):
9969         * menubar-msw.c (mswindows_free_frame_menubars):
9970         * menubar-msw.c (mswindows_popup_menu):
9971         Fixed a bug in handling accelerators where an extra character
9972         would be displayed in the menu item.  Also generalized the
9973         function displayable_menu_item because it is now used by the
9974         dialog box code as well.  And finally, added code in the functions
9975         that create the menubar to extract a list of accelerators for the
9976         top level menubar, which is used in the event code to determine
9977         whether a particular alt-key combination should be used to invoke
9978         a menu item, or should be passed through to access the standard
9979         XEmacs keymap binding for this key combination.
9980
9981         Much needed GCPROing.
9982
9983         * menubar-x.c:
9984         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9985         * menubar-x.c (menu_item_descriptor_to_widget_value):
9986         * menubar-x.c (restore_in_menu_callback):
9987         * menubar-x.c (x_popup_menu):
9988         * menubar-x.c (menu_move_up):
9989         * menubar-x.c (menu_move_down):
9990         * menubar-x.c (menu_move_left):
9991         * menubar-x.c (menu_move_right):
9992         * menubar-x.c (menu_select_item):
9993         * menubar-x.c (command_builder_operate_menu_accelerator):
9994         * menubar-x.c (menu_accelerator_junk_on_error):
9995         * menubar-x.c (command_builder_find_menu_accelerator):
9996         * menubar-x.c (Faccelerate_menu):
9997         * menubar.h:
9998         Moved a whole bunch of code here that was previously in
9999         event-stream.c as described above.  There is also code connected
10000         to the new standard of adding an accelerator to the beginning of
10001         menu items that don't have one as described above and below.
10002
10003         * menubar.c:
10004         * menubar.c (menu_parse_submenu_keywords):
10005         * menubar.c (Fmenu_find_real_submenu):
10006         * menubar.c (Fnormalize_menu_item_name):
10007         * menubar.c (syms_of_menubar):
10008         * menubar.c (vars_of_menubar):
10009         * menubar.c (complex_vars_of_menubar):
10010
10011         a) Cleaned up a bunch of documentation and improved it.
10012
10013         b) XEmacs now automatically adds an accelerator onto the beginning
10014         of any menu items that don't have one.  I did this because there
10015         will inevitably be some menu items on the main menubar that don't
10016         have accelerators on them because the package that adds that
10017         particular menu item hasn't yet been fixed up to have accelerators
10018         in them and it looked rather strange to have some items with and
10019         some items without accelerators, especially since even in items
10020         without accelerators, you can, at least under windows, still
10021         access the item through an accelerator corresponding to the first
10022         character in the item's name.  If people don't like this behavior,
10023         I can add a variable to turn it off optionally, but I'm not sure
10024         this is a good idea because we really do need to have accelerators
10025         on all of the menu items, and if a package doesn't like the
10026         accelerators being put on the first character, then it should put
10027         the accelerators where they belong.
10028
10029         c) I made a behavior change, which is that the descriptor that
10030         specifies the text of the menu item, which formerly was just a
10031         string, can now also be an evaluated expression.  This makes this
10032         descriptor parallel with all of the others, which could also be
10033         evaluated expressions.  This also obviates the need for the
10034         keyword :label, which was previously listed in the documentation
10035         as unimplemented, and which was for the same purpose.
10036
10037         d) GCPROing.
10038
10039         * ntproc.c:
10040         * ntproc.c (new_child):
10041         * ntproc.c (sys_spawnve):
10042         * ntproc.c (find_child_console):
10043         * ntproc.c (sys_kill):
10044         Fixed compile warnings.  By the way, this file should really go
10045         away entirely, and this will happen as soon as Kirill makes his
10046         final round of process cleanups, which affect the function
10047         call-process.
10048
10049         * process-nt.c:
10050         * process-nt.c (struct nt_process_data):
10051         * process-nt.c (find_process_from_pid):
10052         * process-nt.c (send_signal_the_nt_way):
10053         * process-nt.c (enable_child_signals):
10054         * process-nt.c (find_child_console):
10055         * process-nt.c (send_signal_the_95_way):
10056         * process-nt.c (nt_finalize_process_data):
10057         * process-nt.c (ensure_console_window_exists):
10058         * process-nt.c (nt_create_process):
10059         * process-nt.c (nt_kill_child_process):
10060         * process-nt.c (nt_kill_process_by_pid):
10061         * process-nt.c (nt_open_network_stream):
10062         * process-nt.c (vars_of_process_nt):
10063         Copied over code from Emacs 20.5 to correctly send signals to sub-
10064         processes under Windows 95.  Also added code to automatically
10065         create and hide console window when a sub-process is created under
10066         Windows 95, which obviates the need for the separate runemacs.exe
10067         executable, and finally implemented some variables that were
10068         implemented in Emacs 20.5, but previously not in XEmacs.  These
10069         include mswindows- start-process-share-console and
10070         mswindows-start-process-inherit-error-mode. (Both of these only
10071         apply to Windows 95.)
10072
10073         * regex.c (regex_compile): Fixed a compile warning.
10074
10075         * select-msw.c:
10076         * select-msw.c (mswindows_own_selection):
10077         * select-msw.c (mswindows_get_foreign_selection):
10078         * select-msw.c (mswindows_disown_selection):
10079         * select-msw.c (console_type_create_select_mswindows):
10080         * select-msw.c (syms_of_select_mswindows):
10081         Cleaned up the file and implemented the device method
10082         selection_exists_p, which had accidentally been left out.  Also
10083         removed four lisp functions that were remnants from before the
10084         time when the selection code was properly device abstracted.
10085         These functions are no longer needed because there are generic
10086         equivalents, and because they were added recently and don't exist
10087         in FSF Emacs, I don't think there's any problem with just deleting
10088         them.
10089
10090         * sysdep.c:
10091         * sysdep.c (sys_subshell):
10092         Fixed a compile warning, although in this case there's probably
10093         something wrong with this code, and it ought to be looked into
10094         more thoroughly by somebody who understands it.
10095
10096         * window.c:
10097         * window.c (Fwindow_text_area_height):
10098         * window.c (Fwindow_width):
10099         * window.c (Fwindow_full_width):
10100         * window.c (Fwindow_pixel_width):
10101         * window.c (debug_print_window):
10102         * window.c (syms_of_window):
10103         Added functions window-text-area-height and window-full-width,
10104         which are functions for returning various width and height
10105         characteristics of a window. (One of these functions is necessary
10106         for making the file dialog box work correctly, and the other one
10107         was added for completeness.)  Also added a table to the
10108         documentation for window-height which describes the entire scheme
10109         for accessing width and height characteristics of a window.
10110
10111 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10112
10113         * nt.c (fstat): Added a comment for another problem with
10114         non-encapsulated [f]stat(), reported by Adrian Aichner
10115         <aichner@ecf.teradyne.com>.
10116
10117 2000-03-11  Andy Piper  <andy@xemacs.org>
10118
10119         * window.c (make_dummy_parent): initialize subwindow instance
10120         cache.
10121         (Fset_window_configuration): zero extent_modiff.
10122
10123 2000-03-10  Andy Piper  <andy@xemacs.org>
10124
10125         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10126         more changes can be triggered.
10127         (Fredisplay_frame): ditto.
10128         (Fredraw_device): ditto.
10129         (Fredisplay_device): ditto.
10130         (redisplay_frame): make non-static.
10131         (redisplay_frame): call update_frame_gutter_geometry outside of
10132         display proper.
10133
10134         * gutter.h: declare update_frame_gutter_geometry.
10135
10136         * redisplay.h: declare redisplay_frame.
10137
10138         * gutter.c (update_frame_gutter_geometry): move geometry changes
10139         in update_frame_gutters here. Geometry changes can only occur
10140         outside of redisplay.
10141         (update_frame_gutters): remove geometry change code.
10142         (Fredisplay_gutter_area): make sure that we are in display when we
10143         update and that we have flushed any size changes.
10144
10145 2000-03-11  Andy Piper  <andy@xemacs.org>
10146
10147         * alloc.c (pdump_dump_data): remove i & count shadows.
10148
10149 2000-02-27  Mike Alexander  <mta@arbortext.com>
10150
10151         * sysdep.h: Declare pdump_read_file
10152
10153         * sysdep.c (pdump_read_file): New function
10154
10155         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10156         dump data
10157
10158 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10159
10160         * lrecord.h: add `lrecord_type_pgsetenv'.
10161
10162 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10163
10164         * symsinit.h: declare (vars|syms)_of* functions.
10165         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10166
10167 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10168
10169         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10170
10171         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10172         GCCs.
10173
10174         * emacs.c (main_1): Call postgres initialization code.
10175
10176         * postgresql.h: New file.  PostgreSQL RDBMS support.
10177         * postgresql.c: New file.
10178
10179 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10180
10181         * redisplay-output.c (redisplay_output_display_block): Disable
10182         redundant code.
10183
10184 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10185
10186         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10187         (Fcanna_henkan_next): Ditto.
10188         (Fcanna_bunsetu_henkou): Ditto.
10189         (Fcanna_henkan_kakutei): Ditto.
10190         (Fcanna_henkan_end): Ditto.
10191         (Fcanna_henkan_quit): Ditto.
10192         (Fcanna_henkan_next): Set retun value correctly.
10193         (c2mu): Use unsigned char instead of signed char.
10194
10195 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10196
10197         * emacs.c (main_1): Always call syms_of_gui.
10198         * inline.c: include gui.h
10199
10200 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10201
10202         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10203         converted to Lisp_Object.
10204         (Qtop_bottom): New variable.
10205         (syms_of_redisplay): Initialize it.
10206         * redisplay.h (Vvisible_bell): Ditto.
10207         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10208         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10209         only flash top and bottom.
10210
10211 2000-03-08  Andy Piper  <andy@xemacs.org>
10212
10213         * buffer.c (Frename_buffer): record new buffer name the right way.
10214
10215 2000-03-08  Andy Piper  <andy@xemacs.org>
10216
10217         * glyphs.c (update_subwindow): increase hash depth so that widget
10218         items get picked up properly.
10219
10220         * redisplay-output.c (compare_runes): increase hash depth so that
10221         widget items get picked up properly.
10222
10223 2000-03-08  Andy Piper  <andy@xemacs.org>
10224
10225         * gutter.c (output_gutter): add some debug.
10226
10227         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10228         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10229         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10230
10231         * redisplay-output.c (compare_runes): use display_hash to
10232         determine if glyphs really are not the same.
10233
10234         * glyphs.c (update_subwindow): check display_hash to see if
10235         anything really needs to be updated. If not then do
10236         nothing. Record the display_hash after updating.
10237         (image_instance_equal): compare the image_instance face also.
10238
10239 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10240
10241         * redisplay.h: Fix comment style.
10242
10243 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10244
10245         * consle-msw.h (struct mswindows_frame):
10246         Added new member paint_pending to indicate whether a WM_PAINT
10247         magic event has been queued for this frame.
10248
10249         * event-msw.c (mswindows_drain_windows_queue):
10250         Don't queue a WM_PAINT magic event if one is already queued.
10251         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10252
10253         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10254
10255 2000-03-07  Didier Verna  <didier@xemacs.org>
10256
10257         * dired.c: #include `regex.h' after `sysfile.h'.
10258
10259 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10260
10261         * sound.c (init_nas_sound): Fix compiler warning.
10262
10263         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10264         (FREE_STRUCT_P):
10265         (MARK_STRUCT_AS_FREE):
10266         (MARK_STRUCT_AS_NOT_FREE):
10267         Make `gcc -fstrict-aliasing' work properly.
10268
10269 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10270
10271         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10272         (mswindows_delete_device): Call CoUnnitialize().
10273
10274         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10275
10276 2000-02-25    <CraigL@DyCon.com>
10277
10278         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10279         <errno.h>.
10280
10281         * sysdep.c: This extern declaration for environ prevents MinGW
10282         from finding the variable in CRTDLL.DLL.
10283
10284         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10285         windows headers.
10286         (SHGFI_EXETYPE): ..
10287         (WM_MOUSEWHEEL): ..
10288         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10289         definitions.
10290         (MMRESULT): Removed, now defined in cygwin's windows headers.
10291         (TIMECAPS): ..
10292         (uid_t,gid_t,pid_t,ssize_t): ..
10293         (_timeb): Removed, MinGW defines both _timeb and timeb.
10294         (HAVE_H_ERRNO): Added.
10295         (HAVE_TZNAME): Added, configure is not detecting this.
10296
10297 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10298
10299         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10300         * syntax.c (syntax_match): Use it.
10301
10302         * cmds.c: Import auto-fill-chars from FSF Emacs.
10303         (Vauto_fill_chars): New variables.
10304         (internal_self_insert): Check Vauto_fill_chars.
10305         (vars_of_cmds):
10306         Declare auto-fill-chars as a Lisp variable and initialize it.
10307
10308 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10309
10310         * fileio.c (Fmake_symbolic_link):
10311         (Ffile_symlink_p):
10312         Run handlers even if local machine doesn't have symlinks.
10313
10314 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10315
10316         * event-msw.c (mswindows_drain_windows_queue):
10317         Don't generate paint magic events for non-XEmacs frames.
10318
10319 2000-03-05  Andy Piper  <andy@xemacs.org>
10320
10321         * redisplay.c (redisplay_frame): generate_displayable_area and
10322         friends assumes that we are not in GC, we therefore have to make
10323         sure that this doesn't happen.
10324
10325         * gutter.c (calculate_gutter_size): generate_displayable_area
10326         assumes that we are not in GC, we therefore have to make sure that
10327         this doesn't happen.
10328
10329 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10330
10331         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10332
10333 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10334
10335         * redisplay.c (regenerate_window): Make sure we set a sane value
10336         for end_pos even if we jump out of the loop.
10337         (regenerate_window): Answer Ben's question :-).
10338         (start_end_of_last_line): Add may_error argument.
10339         (start_of_last_line):
10340         (end_of_last_line): Pass may_error = 0.
10341         (end_of_last_line_may_error): New function.
10342         (pixel_to_glyph_translation): Use it, so we don't crash in
10343         event_to_glyph.
10344
10345 2000-03-04  Andy Piper  <andy@xemacs.org>
10346
10347         * window.h (struct window): add gutter_extent_modiff.
10348
10349         * window.c (allocate_window): zero out gutter_extent_modiff.
10350
10351         * redisplay.h: declare sync_display_line_structs.
10352
10353         * redisplay.c (add_glyph_rune): add a better comment.
10354
10355         * redisplay-output.c (sync_display_line_structs): made non-static.
10356         (compare_runes): remove unneccesary glyph cachel access.
10357
10358         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10359
10360         * gutter.c (output_gutter): don't output the gutter if extent
10361         changes only involve extents in buffers. use 4 sets of display
10362         lines.
10363         (gutter_extent_signal_changed_region_maybe): new function. Mark
10364         extents in gutters as changed.
10365         (update_frame_gutters): use 4 sets of display lines.
10366         (reset_gutter_display_lines): ditto.
10367         (free_frame_gutters): ditto.
10368         (redraw_exposed_gutter): force output of gutters.
10369
10370         * frame.h (struct frame): add 4 sets of gutter display lines.
10371
10372         * extents.c: (extent_changed_for_redisplay): signal changes to
10373         extents in strings in the gutter as well as extents in buffers.
10374
10375 2000-03-02  Andy Piper  <andy@xemacs.org>
10376
10377         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10378
10379         * frame.c (Fmake_frame): make sure the gutters get initialized
10380         after the frame is visible.
10381         (set_frame_selected_window): re-arrange compilation macros a
10382         little.
10383         (change_frame_size_1): mark gutters changed.
10384
10385         * device.c (Fset_device_class): mark gutters changed.
10386
10387 2000-03-01  Andy Piper  <andy@xemacs.org>
10388
10389         * window.c (window_top_frame_gutter_height): deleted.
10390         (window_bottom_frame_gutter_height): ditto.
10391         (window_left_frame_gutter_height): ditto.
10392         (window_right_frame_gutter_height): ditto.
10393         (window_top_gutter_height): don't use them.
10394         (window_bottom_gutter_height): ditto.
10395         (window_left_gutter_width): ditto.
10396         (window_right_gutter_width): ditto.
10397         (Fsplit_window): ditto.
10398         (Fwindow_pixel_edges): don't use border dimensions here.
10399
10400         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10401         (update_scrollbar_instance): ditto.
10402
10403         * redisplay.c (generate_modeline): don't take gutters into account.
10404         (generate_modeline): ditto.
10405         (redisplay_frame): small gutter display optimization.
10406
10407         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10408
10409         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10410         gutters into account.
10411
10412         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10413         for window position and type.
10414
10415         * gutter.c (get_gutter_coords): fix for frame gutters.
10416         (update_frame_gutters): update frame geometry if the gutters have
10417         changed.
10418         (init_frame_gutters): record current gutter geometries.
10419
10420         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10421         var.
10422         (mswindows_widget_instantiate): ditto.
10423
10424         * frame.h (struct frame): add current_gutter_bounds.
10425
10426         * frame.c (change_frame_size_1): position window and minibuffer
10427         appropriately taking into account the frame gutters.
10428
10429         * frame-x.c: (x_initialize_frame_size): take into account the
10430         frame gutters.
10431
10432 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10433
10434         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10435
10436 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10437
10438         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10439
10440 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10441
10442         * file-coding.c (reset_decoding_stream): Clear previous
10443         detection state when autodetect.
10444
10445 2000-02-29  Didier Verna  <didier@xemacs.org>
10446
10447         * extents.c (set_extent_glyph_1): don't require extents to be
10448         attached.
10449
10450 2000-02-27  Andy Piper  <andy@xemacs.org>
10451
10452         * gutter.c (Fset_default_gutter_position): don't default left and
10453         right gutter visibility to t.
10454         (Fset_default_gutter_position): run
10455         default-gutter-position-changed-hook.
10456         (syms_of_gutter): add default-gutter-position-changed-hook.
10457
10458 2000-02-26  Andy Piper  <andy@xemacs.org>
10459
10460         * specifier.c (Fmake_specifier): add gutter references.
10461
10462         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10463
10464         * lisp.h: declare Fvalid_plist_p.
10465
10466         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10467         as changed.
10468         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10469         well as its visibility so that it gets reconstructed.
10470         (construct_window_gutter_spec): new function. Construct a string
10471         to be displayed in the gutter from a plist of strings. Take care
10472         to only use elements that are declared as visible.
10473         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10474         WINDOW_GUTTER.
10475         (gutter_validate): allow plists of strings in the specifier.
10476         (gutter_specs_changed): construct the real_gutter from the gutter
10477         specs using construct_window_gutter_spec.
10478         (gutter_visible_validate): gutter-visible is a new specifier type.
10479         (Fgutter_visible_specifier_p): new function for the new specifier.
10480         (syms_of_gutter): declare gutter-visible and
10481         Fgutter_visible_specifier_p.
10482         (specifier_type_create_gutter): intitalize new gutter-visible
10483         specifier.
10484         (reinit_specifier_type_create_gutter): ditto.
10485         (specifier_vars_of_gutter): use new specifier type for gutter
10486         visibility.
10487         (init_frame_gutters): construct real_gutter correctly.
10488         (Fgutter_specifier_p): beef up documentation.
10489         (Fgutter_size_specifier_p): ditto.
10490
10491         * winslots.h: add real_gutter slots.
10492
10493 2000-02-25  Andy Piper  <andy@xemacs.org>
10494
10495         * device-msw.c: Be kind to older cygwin versions. From Raymond
10496         Toy <toy@rtp.ericsson.se>.
10497
10498         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10499         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10500
10501 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10502
10503         * elhash.c (MARK_OBJ): Practice macro hygiene.
10504
10505 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10506
10507         * miscplay.c: s/__inline__/inline/g;
10508         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10509         (get_device_compdc): INLINE ==> static inline
10510         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10511         find -name '*.h' | \
10512         xargs global-replace \
10513         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10514
10515 2000-02-25  Andy Piper  <andy@xemacs.org>
10516
10517         * window.c (window_top_frame_gutter_height): new function.
10518         (window_top_window_gutter_height): ditto.
10519         (window_top_gutter_height): use them.
10520         (window_bottom_frame_gutter_height): new function.
10521         (window_bottom_window_gutter_height): ditto.
10522         (window_bottom_gutter_height): use them.
10523         (window_left_window_gutter_width): new function.
10524         (window_left_frame_gutter_width): ditto.
10525         (window_left_gutter_width): use them.
10526         (window_right_window_gutter_width): new function.
10527         (window_right_frame_gutter_width): ditto.
10528         (window_right_gutter_width): use them.
10529         (window_pixel_height): new function. calulate window pixel height
10530         with frame gutter involvement.
10531         (Fsplit_window): calculate new sizes taking frame gutters into
10532         account.
10533         (window_char_height_to_pixel_height): don't include frame gutters.
10534         (window_char_height): use window_pixel_height.
10535         (window_pixheight): rename from window_pixel_height.
10536         (change_window_height): use it.
10537         (window_pixel_height_to_char_height): don't include frame gutters.
10538         (window_char_width_to_pixel_width): ditto.
10539
10540 2000-02-25  Andy Piper  <andy@xemacs.org>
10541
10542         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10543         if it is.
10544
10545 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10546
10547         * alloc.c (staticpro):
10548         (staticpro_nodump):
10549         (dumpstruct):
10550         (dumpopaque):
10551         (pdump_wire):
10552         (pdump_wire_list):
10553         (compact_string_chars):
10554         (pdump_dump_wired):
10555         Convert:  if (foo) abort();  ==>  assert (! foo);
10556
10557         * eldap.c (Fldap_search_basic):
10558         (Fldap_add):
10559         (Fldap_modify):
10560         (Fldap_delete):
10561         Fix compiler warnings, and possible crashes if (random) return
10562         value were to be used.
10563
10564 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10565
10566         * device-msw.c: Workaround ResetDC failure.
10567
10568         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10569         applying a devmode.
10570
10571         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10572         (mswindows_text_width): Do not start printer page.
10573
10574         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10575
10576         * glyphs-msw.c: Added image methods to msprinter console and
10577         msprinter-specific image instantiation.
10578
10579 2000-02-20  Mike Alexander  <mta@arbortext.com>
10580
10581         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10582         to avoid crashes when selection-sets-clipboard is on
10583         (mswindows_own_selection): ditto
10584
10585 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10586
10587         * glyphs-msw.c:
10588         * redisplay-msw.c (get_frame_dc):
10589         (get_frame_compdc):
10590         * console-msw.h:
10591         * device-msw.c (mswindows_init_device):
10592         (mswindows_delete_device):
10593         (msprinter_init_device):
10594         (msprinter_delete_device):
10595         * frame-msw.c (mswindows_init_frame_1):
10596         (mswindows_delete_frame):
10597         (msprinter_init_frame_3):
10598         (msprinter_delete_frame): Move compatible DC to device object from
10599         frame object, for both mswindows and msprinter. Only one at a time
10600         is needed, it is a real waste to have one per frame!
10601
10602 2000-02-23  Andy Piper  <andy@xemacs.org>
10603
10604         * glyphs.c: add dynamic width and height elements.
10605         (image_instance_equal): ditto.
10606
10607         * glyphs-widget.c (widget_query_geometry): calculate width and
10608         height dynamically if required.
10609         (initialize_widget_image_instance): initialize dynamic dimensions.
10610         (widget_instantiate): pick-up dynamic dimensions.
10611
10612         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10613         dynamic determination. Add appropriate macros.
10614
10615         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10616         dimensions safe.
10617         (WINDOW_GUTTER_SIZE): ditto.
10618         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10619
10620         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10621         inline.
10622         (get_frame_dc): ditto.
10623
10624         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10625         here.
10626
10627 2000-02-23  Martin Buchholz <martin@xemacs.org>
10628
10629         * XEmacs 21.2.31 is released.
10630
10631 2000-02-22  Ben Wing <ben@xemacs.org>
10632
10633         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10634
10635 2000-02-22  Andy Piper  <andy@xemacs.org>
10636
10637         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10638
10639 2000-02-21  Mike Sperber <mike@xemacs.org>
10640
10641         * .dbxrc:
10642         * .gdbinit:
10643         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10644         variables.
10645
10646 2000-02-21  Mike Sperber <mike@xemacs.org>
10647
10648         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10649
10650 2000-02-21  Martin Buchholz <martin@xemacs.org>
10651
10652         * XEmacs 21.2.30 is released.
10653
10654 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10655
10656         Performance hacking.
10657         * *.c (syms_of_*):
10658         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10659         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10660         * emacs.c (main_1):
10661         * lisp.h (DEFUN):
10662         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10663         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10664         * symeval.h (DEFVAR_SYMVAL_FWD):
10665         * symbols.c (guts_of_unbound_marker):
10666         Make all c_readonly objects also lisp_readonly and marked for life.
10667         * lrecord.h (struct lrecord_implementation):
10668         Document flags better.
10669         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10670         * lrecord.h (DECLARE_LRECORD):
10671         * lrecord.h (XSETRECORD):
10672         * lrecord.h (RECORDP):
10673         * lrecord.h (RECORD_TYPEP):
10674         * lrecord.h (RECORD_MARKER): New.
10675         * lrecord.h (error_check_*):
10676         * lrecord.h (CONCHECK_NONRECORD):
10677         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10678         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10679         * lrecord.h (set_lheader_implementation):
10680         * lrecord.h (enum lrecord_type): New.
10681         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10682         * alloc.c (disksave_object_finalization_1):
10683         * alloc.c (mark_object):
10684         * alloc.c (lrecord_type_index):
10685         * alloc.c (tick_lcrecord_stats):
10686         * alloc.c (Fgarbage_collect):
10687         * alloc.c (init_alloc_once_early):
10688         * alloc.c (pdump_load):
10689         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10690         * alloc.c (lrecord_type_index): Delete.
10691         Make lisp object type indexes be constant.
10692           Makes (byte-compile) 5% faster.
10693         Put all marker functions into their own array.
10694           Makes (garbage-collect) 5% faster.
10695         Optimize SYMBOL_VALUE_MAGIC_P.
10696           Makes (byte-compile) 2-3% faster.
10697         * config.h.in (gc_checking_assert): New.
10698         * alloc.c: Use gc_checking_assert().
10699         * .dbxrc: Make compatible with new object type implementation.
10700         * .gdbinit: Make compatible with new object type implementation.
10701         * alloc.c: Delete all symbols defined only for debugging, such as
10702         Lisp_Type_Vector and lrecord_charset.
10703
10704 2000-02-21  Andy Piper  <andy@xemacs.org>
10705
10706         * gui-msw.c (Fmswindows_shell_execute): fix file location
10707         problems.
10708
10709         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10710         unshowing so that set_window_buffer doesn't undo
10711         kill_buffer_hook's hard work.
10712
10713         * glyphs-widget.c (tab_control_query_geometry): don't count the
10714         first item when calculating geometry.
10715
10716         * glyphs.c (map_subwindow): remove redundant code.
10717         (update_frame_subwindows): be more circumspect about when to
10718         update subwindows.
10719
10720         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10721         when items haven't changed. Update faces if faces have changed as
10722         well as just the widget face.
10723         (x_tab_control_update): Update faces if faces have changed as well
10724         as just the widget face.
10725
10726 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10727
10728         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10729         registration.
10730         (build_syscolor_string): Use mswindows_color_to_string to try to
10731         get a named color.
10732         (mswindows_device_system_metrics): Reverse the foreground and
10733         background colors so that they match the documentation.
10734
10735         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10736         they match the default Windows palette.
10737         (mswindows_color_to_string): New function.
10738
10739 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10740
10741         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10742
10743 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10744
10745         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10746         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10747
10748         * symbols.c (init_symbols_once_early): Removed obsolete
10749         DATA_SEG_BITS related kludge.
10750         (defvar_magic): Ditto.
10751
10752         * malloc.c: Removed obsolete DATA_SEG_BITS
10753         * ralloc.c: Ditto.
10754         * mem-limits.h: Ditto.
10755
10756         * Makefile.in.in: Removed obsolete HAVE_SHM
10757         * emacs.c: Ditto.
10758
10759 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10760
10761         *  device-msw.c (mswindows_delete_device): Free DDE string
10762         handles.
10763
10764 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10765
10766         * keymap.c (get_keyelt):
10767         * unexnt.c (unexec):
10768         * vm-limit.c (memory_warnings):
10769         * ntheap.c (recreate_heap):
10770         * ntheap.h (UNINIT_PTR):
10771         * select-msw.c (Fmswindows_get_clipboard):
10772         (Fmswindows_set_clipboard):
10773         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10774         * objects-msw.c:
10775         * menubar-msw.c (displayable_menu_item):
10776         * glyphs-msw.c:
10777         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10778         * sysdep.c (sys_subshell):
10779         * process-nt.c (nt_create_process):
10780         * nt.c (normalize_filename):
10781         (dostounix_filename):
10782         (unixtodos_filename):
10783         * ntproc.c (win32_executable_type):
10784         * ntplay.c (play_sound_data_1):
10785         (play_sound_file):
10786         * editfns.c (get_home_directory):
10787         * event-msw.c (struct winsock_stream):
10788         (mswindows_dde_callback):
10789         * device-msw.c (msprinter_init_device):
10790         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10791
10792         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10793         mswindows_clear_toolbar were swapped!
10794
10795         * objects-msw.c:(colormap_t):
10796         (fontmap_t):
10797         * emacs.c (struct standard_args): Fixed const jumble.
10798
10799         * glyphs-widget.c (update_widget): Fixed comparison notation.
10800
10801         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10802
10803         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10804         __declspec(noreturn) syntax.
10805
10806 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10807
10808         * eldap.c (Fldap_open):
10809         (Fldap_search_basic):
10810         (Fldap_add):
10811         (Fldap_modify):
10812         Use new coding system conversion macros.
10813
10814 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10815
10816         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10817
10818 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10819
10820         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10821         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10822
10823         * eldap.c (Qadd, Qreplace): New constant symbols
10824         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10825         interruptions by XEmacs signals
10826         Remove unnecessary calls to slow_down_interrupts and
10827         speed_up_interrupts
10828         (Fldap_search_basic): Renamed from Fldap_search_internal
10829         Added new optional parameter VERBOSE that triggers the
10830         display of progress messages
10831         Remove unnecessary calls to slow_down_interrupts and
10832         speed_up_interrupts
10833         LDAP result code analysis rewritten
10834         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10835         (syms_of_eldap): Define the new symbols and functions
10836
10837
10838 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10839
10840         * realpath.c: Determine PATH_MAX maximally portably.
10841
10842         * insdel.c (bytecount_to_charcount): Optimize.
10843         The function used to be optimized for entirely ASCII sequences.
10844         Now it is optimized for successive characters from the same
10845         charset.  This also wins big for _mostly_ ASCII sequences.
10846
10847         * fileio.c (Ffile_truename): convert return from realpath() using
10848         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10849         - Rewrite GCPROing slightly.
10850
10851         * sysdep.c (sys_open): Do filename conversion, like all other
10852         sys_* functions.  Fixes bug:
10853         (let ((file-name-coding-system 'iso-8859-2))
10854            (write-region x y latin2-name))
10855         ==> writes filename using internal encoding.
10856
10857 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10858
10859         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10860         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10861         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10862         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10863         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10864         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10865         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10866         (CONST_IF_NOT_DEBUG): Delete.
10867         * alloc.c (this_one_is_unmarkable): Delete.
10868         (mark_object): Don't check for this_one_is_unmarkable. Use the
10869         c_readonly flag instead.
10870         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10871
10872 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10873
10874         * event-msw.c (mswindows_drain_windows_queue):
10875         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10876         away redundant repaint events.
10877
10878 2000-02-17  Andy Piper  <andy@xemacs.org>
10879
10880         * redisplay.h: declare mark_redisplay_structs.
10881
10882         * redisplay.c (redisplay_window):
10883         (redisplay_frame): don't check subwindows_state_changed.
10884         (mark_redisplay): mark gutters here.
10885
10886         * glyphs.c: (instantiate_image_instantiator): always layout if we
10887         haven't done so already.
10888         (allocate_image_instance): don't mark as dirty.
10889         (update_subwindow): bind inhibit_quit.
10890
10891         * gutter.c (mark_gutters): new function.
10892
10893         * glyphs-x.c (x_update_widget): Always resize to get round a
10894         widget bug.
10895
10896         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10897         breaking absolutely everything.
10898
10899         * gutter.h: declare mark_gutters.
10900
10901 2000-02-16  Martin Buchholz <martin@xemacs.org>
10902
10903         * XEmacs 21.2.29 is released.
10904
10905 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10906
10907         * fns.c (size_bit_vector): Fix computation of the size.
10908
10909 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10910
10911         * *.[ch]: Change CONST to const globally.
10912         find -name '*.[ch]' | \
10913         xargs global-replace \
10914         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10915         - Remove vestigial references to CONST_IS_LOSING
10916
10917 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10918
10919         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10920         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10921         events instead of dispatching them directly.
10922         (mswindows_handle_paint): New function to do repainting.
10923         (mswindows_wnd_proc):
10924         (emacs_mswindows_handle_magic_event): Call above function.
10925
10926 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10927
10928         * objects-msw.c (mswindows_create_font_variant): Return the new
10929         font handle.
10930         (initialize_font_instance): Get font metrics from the underlined
10931         variant of the font to cope with the case where the underlined
10932         font has a bigger descent.
10933
10934 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10935
10936         * gui.c (gui_item_accelerator): Return the first underlined
10937         character in item name.
10938
10939 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10940
10941         * lisp.h: Added Qprinter.
10942
10943         * general.c (syms_of_general): Initialized it.
10944
10945         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10946         (get_frame_dc):
10947         (get_frame_compdc): Made inline.
10948
10949         * console.h (struct console_methods): Added eject_page method.
10950
10951         * frame.h: Added FRAME_DISPLAY_P and friends.
10952         Aligned backslahes in many macros in more readable fashion.
10953         Added page_number to struct frame, and an accessor macro
10954         for it.
10955
10956         * defice.h: Added DEVICE_DISPLAY_P and friends.
10957
10958         * device.c (Fdevice_printer_p): Used these.
10959
10960         * frame.c (allocate_frame_core): Initialize page number.
10961         (Fprint_job_page_number):
10962         (Fprint_job_eject_page): Implemented.
10963
10964         * frame-msw.c (msprinter_eject_page): Added method.
10965         (msprinter_start_page): Added.
10966
10967         * window.c (Fwindow_truncated_p): Fixed docstring.
10968         (Fwindow_last_line_visible_height): Implemented.
10969
10970 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10971
10972         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10973
10974 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10975
10976         * syntax.c (scan_words): Always advance at least one character.
10977
10978 2000-02-13  Andy Piper  <andy@xemacs.org>
10979
10980         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10981         to make sure the glyph is in the cachels.
10982
10983         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
10984         global image instance flag.
10985         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
10986         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
10987
10988         * glyphs.c (allocate_image_instance): set dirty bits correctly.
10989         (Fset_image_instance_property): mark layout as changed.
10990         (invalidate_glyph_geometry_maybe): mark layout as changed.
10991         (glyph_width): use new NEEDS_LAYOUT macro.
10992         (glyph_ascent): ditto.
10993         (glyph_descent): ditto.
10994         (glyph_height): ditto.
10995         (image_instance_layout): mark layout as clean after laying out.
10996         (update_subwindow): don't mark layout as clean here.
10997
10998         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
10999         should no longer be needed.
11000
11001         * glyphs-x.c (x_update_widget): sanitize asserts.
11002         (x_finalize_image_instance): sanitize assignment to widgets.
11003
11004         * glyphs-widget.c (widget_instantiate): don't need to clear the
11005         layout flag here.
11006
11007 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11008
11009         * sysdep.c (getcwd): Use standard prototype.
11010         * sysdep.h (getcwd): Use standard prototype.
11011
11012         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11013         (sequence, start, end).
11014         Remove redundant type checking.
11015         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11016         view of `caller-protects') to avoid a crash where the real fix was
11017         found elsewhere.
11018
11019 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11020
11021         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11022
11023         * s/sol2.h: Remove feature macro initialization.
11024
11025         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11026         (vector_hash): New.  Code from internal_hash.
11027         * lrecord.h:
11028         Fix up allocation subsystem comments.
11029
11030         * config.h.in: Add __EXTENSIONS__ for Solaris.
11031
11032         * systime.h (EMACS_GETTIMEOFDAY): New.
11033         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11034         Remove Solaris-specific code.
11035         Use void* for the (ignored) second arg for gettimeofday().
11036
11037         * elhash.c (hash_table_hash): Implement it, finally.
11038         * elhash.c:  Use hashcode_t.
11039
11040         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11041         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11042
11043         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11044         * fns.c (size_bit_vector):
11045         * alloc.c (size_vector):
11046         (make_vector_internal):
11047         (make_bit_vector_internal):
11048         (sweep_bit_vectors_1):
11049         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11050
11051 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11052
11053         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11054         Include strings.h to avoid warnings for bzero and strcasecmp.
11055
11056 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11057
11058         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11059         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11060
11061         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11062         sequence.
11063
11064 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11065
11066         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11067         use a value field instead.
11068         (symbol_value_forward_forward): Use value field.
11069         (DEFVAR_SYMVAL_FWD): Use value field.
11070         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11071         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11072         (DEFVAR_CONST_INT): Ditto.
11073         (DEFVAR_BOOL): Ditto.
11074         (DEFVAR_CONST_BOOL): Ditto.
11075         (DEFVAR_INT_MAGIC): Ditto.
11076         (DEFVAR_BOOL_MAGIC): Ditto.
11077
11078         * symbols.c (guts_of_unbound_marker): Use value field.
11079         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11080         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11081
11082         * lisp.h: Declare dumpopaque and noninteractive1.
11083
11084         * alloc.c (dumpopaque): Added.
11085         (pdump_dump_opaquevec): Added.
11086         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11087         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11088         noninteractive.
11089
11090 2000-02-10  Andy Piper  <andy@xemacs.org>
11091
11092         * glyphs.c (image_instance_layout): if the size changes, mark it
11093         as such.
11094
11095         * redisplay-output.c (redisplay_output_layout): Update the
11096         subwindow here.
11097         (redisplay_output_subwindow): ditto.
11098
11099         * glyphs.c (update_subwindow): make sure we reset flags for
11100         layouts as well as everything else.
11101
11102         * glyphs-widget.c (layout_layout): don't need to set the instances
11103         dimensions here.
11104
11105 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11106
11107         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11108         not HAVE_DLOPEN, which is a lower-level thing.
11109
11110         * .cvsignore: Ignore gmon.out
11111
11112 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11113
11114         * .cvsignore: Ignore portable dumper xemacs.dmp file
11115
11116 2000-02-09  Andy Piper  <andy@xemacs.org>
11117
11118         * redisplay-output.c (redisplay_output_layout): be more clever
11119         about when we output based on the changed flags.
11120
11121         * glyphs.h (struct image_instantiator_methods): add update_method.
11122         (struct Lisp_Image_Instance): add changed flags. Declare new
11123         macros for manipulating them.
11124
11125         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11126         (image_instance_parent_glyph): find an image_instance's parent
11127         glyph or image_instance.
11128         (image_instance_layout): mark the size as changed.
11129         (set_image_instance_dirty_p): new function. mark an image
11130         instance, plus all of its parents, as dirty.
11131         (Fset_image_instance_property): use it.
11132         (Fglyph_animated_timeout_handler): use it.
11133         (update_subwindow): call update_widget and device methods for
11134         update_subwindow. Mark all changed flags as clean.
11135         (Fresize_subwindow): mark size as changed.
11136
11137         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11138         failures.
11139         (x_update_subwindow): only resize subwindows here.
11140         (x_update_widget): new function. Update all changed properties of
11141         a widget.
11142         (x_resize_subwindow): deleted.
11143         (x_widget_set_property): deleted.
11144         (x_progress_gauge_set_property): deleted.
11145         (x_progress_gauge_update): new function. Implement recorded
11146         changes.
11147         (x_tab_control_update): ditto.
11148         (x_tab_control_set_property): deleted.
11149         (console_type_create_glyphs_x): declare new functions.
11150         (image_instantiator_format_create_glyphs_x): ditto.
11151
11152         * glyphs-widget.c (widget_set_property): mark text changed.
11153         (update_widget): new function. Update properties of a widget.
11154         (widget_instantiate): for layouts make sure we set their
11155         children's parent correctly.
11156         (tab_control_set_property): new function. Record changes that will
11157         take place under redisplay's control.
11158         (progress_gauge_set_property): ditto.
11159         (image_instantiator_progress_guage): declare new functions.
11160         (image_instantiator_tab_control): ditto.
11161
11162         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11163         now.
11164         (mswindows_update_widget): new function. Update all properties on
11165         a widget that have changed.
11166         (mswindows_button_update): new function. Update a button's set
11167         state.
11168         (mswindows_tab_control_update): new function. Update the items in
11169         a tab.
11170         (mswindows_tab_control_set_property): deleted.
11171         (mswindows_progress_gauge_update): new function. Update the
11172         progress gauge's progress.
11173         (mswindows_widget_set_property): deleted. This is all done
11174         asynchronously now.
11175         (mswindows_progress_gauge_set_property): ditto.
11176         (console_type_create_glyphs_mswindows): declare new methods.
11177         (image_instantiator_format_create_glyphs_mswindows): ditto.
11178
11179         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11180         (msprinter_set_frame_properties): ditto.
11181
11182         * console.h (struct console_methods): Add update_widget_method.
11183
11184 2000-02-09  Andy Piper  <andy@xemacs.org>
11185
11186         * gui-msw.c (Fmswindows_shell_execute): Make
11187         mswindows-shell-execute industrial strength.
11188
11189 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11190
11191         * lrecord.h: Make macro argument `props' match member function `plist'.
11192         * fns.c (Fget):
11193         * fns.c (Fput):
11194         * fns.c (Fremprop):
11195         * fns.c (Fobject_plist):
11196         * alloc.c:
11197         * symbols.c:
11198         Object property list frobbing cleanup.
11199         - Allow any lisp object (compared with `eq'), not just symbols, as
11200           keys in object plists.
11201         - Move symbol plist frobbing into symbols.c, where it belongs.
11202         - Move string plist frobbing into alloc.c, where it belongs.
11203         - Everything's an lrecord now, so no need to test for symbolp, etc.
11204         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11205
11206         * extents.c: Reorder code to remove declarations.
11207
11208         * frame.h (store_in_alist): Remove useless declaration.
11209
11210 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11211
11212         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11213         * config.h.in: Add HAVE_XCONVERTCASE.
11214
11215 2000-02-07  Andy Piper  <andy@xemacs.org>
11216
11217         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11218         it breaks many things.
11219
11220 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11221
11222         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11223         actually can start a common comment type.
11224         * src/syntax.h (SYNTAX_END_P): ditto for end.
11225
11226 2000-02-07  Martin Buchholz <martin@xemacs.org>
11227
11228         * XEmacs 21.2.28 is released.
11229
11230 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11231
11232         * event-Xt.c (x_keysym_to_character): New.
11233         (maybe_define_x_key_as_self_inserting_character): New.
11234         (x_has_keysym): New.
11235         Auto-define all keys on the keyboard as self-insert-key.
11236
11237 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11238
11239         * menubar.c (vars_of_menubar): A small code simplification.
11240
11241         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11242
11243         * ExternalShell.c:
11244         * ExternalClient.c:
11245         * EmacsShell-sub.c:
11246         * EmacsManager.c:
11247         * EmacsFrame.c:
11248         Use consistent style for specifying X resources.
11249
11250         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11251         This makes (dontusethis-set-symbol-value-handler) actually usable.
11252
11253         * lrecord.h (lrecord_decription_type):
11254         * alloc.c (pdump_register_sub):
11255         (pdump_dump_data):
11256         (pdump_reloc_one):
11257         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11258         Comply with XEmacs coding style.
11259         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11260         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11261
11262         * keymap.c (Faccessible_keymaps):
11263         Make (accessible-keymaps map "\C-h") do the Right Thing.
11264         Make (accessible-keymaps map []) do the Right Thing.
11265         Make (accessible-keymaps map "") do the Right Thing.
11266         (check_keymap_definition_loop): New function.
11267         (keymap_store_internal): Keep luser from shooting self in foot,
11268           via (define-key ctl-x-4-map "p" global-map).
11269         Remove fullness slot from struct Lisp_Keymap, since hash tables
11270         are now reliable.
11271         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11272
11273 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11274
11275         * redisplay.c (init_redisplay): Fix small memory leak.
11276         * elhash.h:
11277         * elhash.c (pdump_reorganize_hash_table):
11278         Rename from reorganize_hash_table. Change prototype.
11279         Reuse the original memory for hentries.  Save 100k.
11280         * alloc.c (PDUMP_READ): new macro.
11281         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11282         * alloc.c: No need to #ifndef before #undef.
11283
11284         * print.c: Allow debug_print() to print readably by modifying
11285         debug_print_readably.  Use consistent variable names.
11286
11287         * .dbxrc: Try to get things to work even if stopped in a function
11288         without source available by explicitly specifying source files.
11289 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11290
11291         * unexnt.c (_start): Removed bogus code which caused loading heap
11292         from differrent executable file.
11293         Removed bogus assignment to _fmode, which caused inconsistencies.
11294
11295 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11296
11297         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11298         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11299         Do not preliminary `#define signal sigset'.
11300
11301         * systime.h: Do not prototype environ on windows nt and cygwin,
11302         this conflicts with system header.
11303
11304         * syssignal.h: Use correct define for WINDOWSNT
11305
11306         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11307         with system header.
11308
11309         * sysdep.c (near start of file): Fixed commentary and rearranged
11310         ifdefs in readable order.
11311         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11312         (start_of_text):
11313         (end_of_text):
11314         (end_of_data): Do not compile in if using PDUMP.
11315
11316         * symsinit.h: Prototyped vars_of_nt().
11317
11318         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11319         (find_child_console): Use it.
11320         (sys_kill): Use it.
11321
11322         * ntheap.h: Do not extern os_subtype.
11323
11324         * ntheap.c (cache_system_info): Do not cache unneeded:
11325         nt_major_version, nt_minor_version and os_subtype.
11326         (recreate_heap): Do not compile in when PDUMPing.
11327
11328         * nt.c (geteuid and friends): Use the new varibale
11329         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11330         (init_user_info): Removed the above mentioned hackery.
11331         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11332         stat has been fixed in the C runtime.
11333         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11334
11335         * file-coding.c (struct file_coding_dump): Do not define
11336         ucs_to_mule_table in the struct if not MULE.
11337         (struct struct lrecord_description fcd_description_1): Do not dump
11338         the above.
11339
11340         * emacs.c (main_1): Call vars_of_nt().
11341         (right before Fdump_emacs_data): Don't need lastfile if using both
11342         portabe dumper and system malloc.
11343
11344         * alloc.c (Fmemory_limit): Conditionalized out.
11345         (pdump): Use OPEN_BINARY for the portable dump file.
11346         (pdump_load): Ditto.
11347
11348 2000-02-02  Mike Alexander  <mta@arbortext.com>
11349
11350         * nt.c (convert_time): Set tm_isdst before calling mktime and
11351         avoid calling it at all if the compiler supports 64 bit integers.
11352         Also initialize utc_base_ft before using it.
11353
11354 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11355
11356         * frame.c (change_frame_size_1): Take f->internal_border_width
11357         into consideration when calculating the width of the frame.
11358
11359 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11360
11361         * window.c (frame_min_height):
11362         (frame_size_valid_p):
11363         (frame_pixsize_valid_p): Added.
11364         (check_frame_size): Generalized.
11365
11366         * window.h: Prototyped the above.
11367
11368         * lisp.h:
11369         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11370         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11371         Deleted Vwin32_* and Vbinary_process_* unused variables.
11372
11373         * device-msw.c (msprinter_init_device): Do not get printer font
11374         list; Added DEVMODE functions.
11375
11376         * frame-msw.c: Added lots of printer code.
11377
11378         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11379         general.c.
11380
11381         * console-msw.h: Added more msprinter device private slots.
11382
11383 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11384
11385         * event-msw.c (key_needs_default_processing_p): Added.
11386         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11387
11388 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11389
11390         * glyphs.c (image_instance_layout): Mark image instance as clean
11391         after layout.
11392         (glyph_dirty_p): Removed redundant function.
11393         (invalidate_glyph_geometry_maybe): Added.
11394         (update_glyph_cachel_data): Call it.
11395
11396         * glyphs.h: Prototyped it.
11397
11398         * redisplay.c (add_glyph_rune): Call it.
11399         (redisplay_window): Reset glyphs cachels when frame faces have
11400         changed, thus forcing recomputation of built-in border glyphs.
11401
11402 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11403
11404         * Makefile.in.in: Make portable dumper and purify play well together.
11405         Add imperfect, but better than nothing, support for pdump.
11406         Remove xemacs.dmp when temacs is re-generated.
11407         Don't ignore errors when dumping xemacs.
11408
11409         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11410
11411 2000-01-28  Andy Piper  <andy@xemacs.org>
11412
11413         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11414         (setup_normal_frame): ditto.
11415         (setup_frame_without_minibuffer): ditto.
11416         (setup_minibuffer_frame): ditto.
11417         (delete_frame_internal): ditto.
11418         (Fmake_frame_invisible): ditto.
11419         (Ficonify_frame): ditto.
11420
11421         * window.h: change Fset_window_buffer signature.
11422
11423         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11424         (Fset_window_buffer): allow recording of buffer if the window is
11425         the selected window.
11426         (window_loop): Use new Fset_window signature.
11427
11428 2000-01-23  Daniel Pittman  <daniel@danann.net>
11429
11430         * config.h.in: Added template for `HAVE_ATHENA_3D'
11431
11432 2000-01-29  Andy Piper  <andy@xemacs.org>
11433
11434         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11435
11436         * gutter.c (output_gutter): Don't output if the window isn't live.
11437
11438 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11439
11440         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11441         of 01/12/00: Moved SetFocus back here where it belongs.
11442
11443 2000-01-23  Andy Piper  <andy@xemacs.org>
11444
11445         * s/cygwin32.h: declare printer things.
11446
11447 2000-01-26  Andy Piper  <andy@xemacs.org>
11448
11449         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11450         Alexander.
11451
11452 2000-01-24  Andy Piper  <andy@xemacs.org>
11453
11454         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11455         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11456
11457         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11458
11459         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11460
11461         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11462
11463         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11464         (mswindows_output_display_block): Avoid local shadows.
11465
11466         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11467         (mswindows_enqueue_mouse_button_event): ditto.
11468         (mswindows_handle_gui_wm_command): remove declaration.
11469
11470         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11471         warnings.
11472
11473         * console-msw.h: Avoid shadows.
11474         (mswindows_get_toolbar_button_text):
11475         (emacs_mswindows_create_stream_pair):
11476         (emacs_mswindows_delete_stream_pair):
11477         (mswindows_handle_toolbar_wm_command): declare.
11478
11479         * device-msw.c (build_syscolor_string): Avoid shadows.
11480
11481 2000-01-23  Andy Piper  <andy@xemacs.org>
11482
11483         * glyphs-widget.c (widget_instantiate): reverse the items for
11484         layouts so that children are in the expected order.
11485
11486 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11487
11488         * ralloc.c: safe_bcopy ==> memmove
11489         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11490         * s/msdos.h: Remove BCOPY macros.
11491         * insdel.c (gap_right): Remove BCOPY conditional code.
11492         * insdel.c (gap_left): Remove BCOPY conditional code.
11493         XEmacs demands a working ANSI C compiler - hence memmove.
11494
11495         * regex.c (regex_compile): Remove accidental use of trigraphs.
11496
11497 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11498
11499         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11500         event timestamp.
11501
11502 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11503
11504         * event-msw.c (mswindows_drain_windows_queue): Added the
11505         parameter.
11506         (mswindows_need_event): Commented the call to
11507         mswindows_drain_windows_queue().
11508         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11509         only.
11510
11511         * console-msw.h: Moved a few function prototypes here from
11512         event-msw.c.
11513
11514         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11515         parameter from unsigned short to unsigned long.
11516         (Fmswindows_shell_execute): Added return value.
11517
11518 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11519
11520         * sysdep.c (init_system_name):
11521           process-unix.c (unix_canonicalized_host_name):
11522         Don't call freeaddrinfo() if getaddrinfo() fails.
11523
11524         * process-unix.c (unix_open_unix_network_stream):
11525         Moved the code to get a port # into address loop.
11526
11527 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11528
11529         * buffer.c (reinit_vars_of_buffer):
11530         The right place to initialize conversion_in_dynarr and
11531         conversion_out_dynarr.
11532
11533         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11534
11535         * process-unix.c (unix_canonicalize_host_name): Muleize.
11536         (unix_open_network_stream): Muleize.
11537
11538         * buffer.h: Fix up prototypes for ralloc.c functions.
11539
11540 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11541         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11542         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11543                 instead of gethostbyname()
11544         * process-unix.c: In unix_canonicalize_host_name() and
11545                 unix_open_network_stream(), add code to use getaddrinfo()
11546                 instead of gethostbyname().
11547
11548 2000-01-27  Daniel Pittman <daniel@danann.net>
11549
11550         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11551         libs when built with flat Athena.
11552
11553 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11554
11555         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11556         Use coding standards for function prototypes.
11557
11558 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11559
11560         * dialog-msw.c (push_lisp_string_as_unicode):
11561         * doc.c (unparesseuxify_doc_string):
11562         * dired.c (Fuser_name_completion_1):
11563         * dired.c (Fuser_name_all_completions):
11564         * dired.c (free_user_cache):
11565         * dired.c (user_name_completion):
11566         * console-x.c (get_display_arg_connection):
11567         * minibuf.c (clear_echo_area_internal):
11568         * minibuf.c (echo_area_append):
11569         * eldap.c (Fldap_open):
11570         * eldap.c (Fldap_search_internal):
11571         * frame-x.c (x_set_frame_text_value):
11572         * frame-x.c (x_set_frame_properties):
11573         * frame-x.c (x_create_widgets):
11574         * redisplay-tty.c (term_get_fkeys_1):
11575         * objects-x.c (x_parse_nearest_color):
11576         * objects-x.c (x_valid_color_name_p):
11577         * objects-x.c (x_initialize_font_instance):
11578         * objects-x.c (x_list_fonts):
11579         * objects-x.c (x_find_charset_font):
11580         * tooltalk.c (Fadd_tooltalk_message_arg):
11581         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11582         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11583         * process-unix.c (unix_create_process):
11584         * ntproc.c (sys_spawnve):
11585         * sound.c (Fplay_sound_file):
11586         * sound.c (Fplay_sound):
11587         * buffer.c (init_initial_directory):
11588         * buffer.c (init_buffer):
11589         * editfns.c (init_editfns):
11590         * editfns.c (Ftemp_directory):
11591         * editfns.c (Fuser_full_name):
11592         * editfns.c (uncache_home_directory):
11593         * editfns.c (get_home_directory):
11594         * editfns.c (Fuser_home_directory):
11595         * editfns.c (Fformat_time_string):
11596         * editfns.c (Fcurrent_time_string):
11597         * gui-x.c (button_item_to_widget_value):
11598         * database.c (Fopen_database):
11599         * event-Xt.c (x_to_emacs_keysym):
11600         * event-Xt.c (x_event_to_emacs_event):
11601         * event-Xt.c (describe_event_window):
11602         * event-msw.c (mswindows_wnd_proc):
11603         * glyphs-eimage.c (jpeg_instantiate):
11604         * glyphs-eimage.c (gif_instantiate):
11605         * glyphs-eimage.c (png_instantiate):
11606         * glyphs-eimage.c (tiff_instantiate):
11607         * glyphs-x.c (xbm_instantiate_1):
11608         * glyphs-x.c (x_xbm_instantiate):
11609         * glyphs-x.c (x_xface_instantiate):
11610         * glyphs-x.c (autodetect_instantiate):
11611         * glyphs-x.c (cursor_font_instantiate):
11612         * glyphs-x.c (x_widget_instantiate):
11613         * glyphs-x.c (x_widget_set_property):
11614         * glyphs-x.c (x_widget_property):
11615         * glyphs-x.c (BUILD_GLYPH_INST):
11616         * print.c (write_string_to_stdio_stream):
11617         * print.c (output_string):
11618         * print.c (Falternate_debugging_output):
11619         * print.c (Fexternal_debugging_output):
11620         * glyphs-msw.c (extract_xpm_color_names):
11621         * glyphs-msw.c (mswindows_xpm_instantiate):
11622         * glyphs-msw.c (bmp_instantiate):
11623         * glyphs-msw.c (resource_name_to_resource):
11624         * glyphs-msw.c (mswindows_resource_instantiate):
11625         * glyphs-msw.c (xbm_instantiate_1):
11626         * glyphs-msw.c (mswindows_xbm_instantiate):
11627         * glyphs-msw.c (mswindows_xface_instantiate):
11628         * glyphs-msw.c (mswindows_widget_instantiate):
11629         * glyphs-msw.c (add_tree_item):
11630         * glyphs-msw.c (add_tab_item):
11631         * glyphs-msw.c (mswindows_combo_box_instantiate):
11632         * glyphs-msw.c (mswindows_widget_property):
11633         * glyphs-msw.c (mswindows_combo_box_property):
11634         * glyphs-msw.c (mswindows_widget_set_property):
11635         * console.c (stuff_buffered_input):
11636         * objects-msw.c (mswindows_initialize_color_instance):
11637         * objects-msw.c (mswindows_valid_color_name_p):
11638         * objects-msw.c (mswindows_list_fonts):
11639         * objects-msw.c (mswindows_font_instance_truename):
11640         * bytecode.c (optimize_compiled_function):
11641         * select-x.c (symbol_to_x_atom):
11642         * select-x.c (x_atom_to_symbol):
11643         * select-x.c (hack_motif_clipboard_selection):
11644         * select-x.c (selection_data_to_lisp_data):
11645         * select-x.c (lisp_data_to_selection_data):
11646         * select-x.c (Fx_get_cutbuffer_internal):
11647         * select-x.c (Fx_store_cutbuffer_internal):
11648         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11649         * buffer.h (TO_INTERNAL_FORMAT): New function.
11650         * emacs.c (make_arg_list_1):
11651         * emacs.c (make_argc_argv):
11652         * emacs.c (main_1):
11653         * emacs.c (Fdump_emacs):
11654         * emacs.c (split_string_by_emchar_1):
11655         * file-coding.h:
11656         * lisp.h:
11657         * lstream.h:
11658         * symsinit.h:
11659         * device-x.c (x_init_device):
11660         * device-x.c (Fx_valid_keysym_name_p):
11661         * device-x.c (Fx_get_font_path):
11662         * device-x.c (Fx_set_font_path):
11663         * glyphs.c (bitmap_to_lisp_data):
11664         * glyphs.c (pixmap_to_lisp_data):
11665         * alloc.c (make_ext_string): Use coding system arguments.  Update
11666         all callers.
11667         * alloc.c (build_string):
11668         * callproc.c (child_setup):
11669         * callproc.c (init_callproc):
11670         * fileio.c (lisp_strerror):
11671         * fileio.c (directory_file_name):
11672         * fileio.c (Fexpand_file_name):
11673         * fileio.c (Ffile_truename):
11674         * fileio.c (Fsysnetunam):
11675         * fileio.c (Fdo_auto_save):
11676         * sysdep.c (sys_readdir):
11677         * tests.c: New file.  Allow adding C tests.
11678         Replace GET_* macros with a more comprehensible and flexible
11679         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11680         Modify all calls.
11681         Any coding system can be used to do format conversion.
11682         Eliminate enum external_data_format.
11683         Eliminate convert_to_external_format.
11684         Eliminate convert_to_internal_format.
11685         Make sure file-name, keyboard, terminal, and ctext are always
11686         defined as coding systems or aliases.  Make
11687         file-name-coding-system, terminal-coding-system, and
11688         keyboard-coding-system magical variables that are equivalent to
11689         defining the corresponding coding system aliases.
11690
11691         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11692         * file-coding.c (Fcoding_system_alias_p): New function.
11693         * file-coding.c (Fcoding_system_aliasee): New function.
11694         * file-coding.c (append_suffix_to_symbol): New function.
11695         * file-coding.c (dangling_coding_system_alias_p): New function.
11696         * file-coding.c (Ffind_coding_system):
11697         * file-coding.c (Fcopy_coding_system):
11698         * file-coding.c (encode_coding_no_conversion):
11699         * file-coding.c (syms_of_file_coding):
11700         * file-coding.c (vars_of_file_coding):
11701         Rewrite coding system alias code.
11702         Allow nested aliases, like symbolic links.
11703         Allow redefinition of coding system aliases.
11704         Prevent existence of dangling coding system aliases.
11705
11706         * dired.c (Fuser_name_completion_1):
11707         * dired.c (Fuser_name_all_completions):
11708         A crash would happen if user did QUIT in the middle of building
11709         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11710
11711         * lisp.h:
11712         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11713
11714         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11715         an unsigned char *.  Update all callers.
11716
11717 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11718
11719         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11720
11721 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11722
11723         * elhash.c (hentry_description): Use more portable definition.
11724         (resize_hash_table): Initialize new hentries using
11725         xnew_array_and_zero, thereby simplifying the code.
11726
11727         * mule-charset.c (make_charset): Make sure entire object is
11728         initialized, to avoid Purify warnings.
11729
11730         * alloc.c (resize_string): Fix unlikely crash with big strings.
11731
11732 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11733
11734         * realpath.c (xrealpath):
11735         Don't call getwd().
11736
11737 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11738
11739         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11740
11741 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11742
11743         * unexelfsgi.c (unexec): Change the way we decide which segment
11744         should be extended.
11745
11746         Assumption that .bss section should be outside the PT_LOADable
11747         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11748         it's present) is inside the 'data' segment. This would fail the
11749         test which was used to find a segment to grow and cover new
11750         heap. Instead of this assumption, I created another one - on IRIX
11751         the segment to grow should start below .bss and it's address
11752         should extent above the end of .bss. Once this segment is
11753         identified, it's grown to accommodate the new heap and new
11754         zero-length .bss section is added at the end of .data2.
11755
11756 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11757
11758         * eval.c (Feval): Wrong number of arguments should use original
11759         function, not the indirect_function version of it.
11760
11761 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11762
11763         * glyphs-x.c (x_button_instantiate): Don't add image if
11764         it is not a pixmap.
11765         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11766         is relative.
11767
11768 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11769
11770         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11771         declaration.
11772         (DEFVAR_INT_MAGIC): Ditto.
11773         (DEFVAR_BOOL_MAGIC): Ditto.
11774         * glyphs.h: Reindent backslash.
11775
11776 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11777
11778         * glyphs-widget.c (layout_query_geometry):
11779         (layout_layout): Use correct types for gheight, gwidth.
11780
11781 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11782
11783         * EmacsManager.c (QueryGeometry): Purified.
11784
11785 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11786
11787         * alloc.c (make_float): Make sure entire object is initialized, to
11788         avoid Purify warnings.
11789         (pdump_register_sub): Remove useless assignment.
11790         (pdump): Use xmalloc, not malloc.
11791         (pdump_load): Use xmalloc, not malloc.
11792
11793 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11794
11795         * callproc.c:
11796         * dired-msw.c:
11797         * fileio.c:
11798         * process-nt.c:
11799         * redisplay-msw.c:
11800         * sysdep.c: Removed redundant #include <windows.h>
11801
11802 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11803
11804         * frame.c (delete_frame_internal): Do not delete device when its
11805         implementation so declares.
11806         (delete_frame_internal): Set device selected frame to nil when
11807         last frame goes away.
11808
11809         * device-msw.c (msprinter_device_system_metrics): Implemented.
11810         (mswindows_device_system_metrics): Added 'device-dpi property.
11811
11812         * device.c: (Fdevice_printer_p): Added.
11813         Added 'offset-workspace device metric.
11814
11815         * console.h (device_metrics): Declared DM_offset_workspace.
11816
11817 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11818
11819         * fileio.c (Ffile_truename): Remove pointless and confusing
11820         initialization of elen.
11821
11822         * glyphs-widget.c: Compiler warning fixes.
11823
11824 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11825
11826         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11827         instead of a Lisp_Object as argument to make it consistent with
11828         the other LIVE_P macros.
11829         (CHECK_LIVE_PROCESS): New macro.
11830
11831         * process.c: Declare Qprocess_live_p.
11832         (Fprocess_live_p): New function.
11833         (create_process): Use PROCESS_LIVE_P.
11834         (read_process_output): Ditto.
11835         (set_process_filter): Ditto.
11836         (Fdelete_process): Ditto.
11837         (kill_buffer_processes): Ditto
11838         (process_send_signal): Use CHECK_LIVE_PROCESS.
11839         (Fprocess_input_coding_system): Check whether process is still
11840         alive (fix PR#1061).
11841         (Fprocess_output_coding_system): Ditto.
11842         (Fprocess_coding_system): Ditto.
11843         (Fset_process_input_coding_system): Ditto.
11844         (Fset_process_output_coding_system): Ditto.
11845
11846 2000-01-23  Andy Piper  <andy@xemacs.org>
11847
11848         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11849         layout and widget.
11850
11851         * glyphs.c (mark_image_instance): take into account changed
11852         image_instance format.
11853         (image_instance_equal): ditto.
11854         (image_instance_hash): ditto.
11855
11856         * glyphs-widget.c (widget_instantiate): Incorporate layout
11857         instantiation here. Delay layout of the layout until later.
11858         (layout_instantiate): deleted.
11859         (layout_query_geometry): new function. get the geometry of a
11860         layout.
11861         (layout_layout): layout a layout dynamically.
11862         (image_instantiator_widget): New function - splitting up
11863         image_instantiator_format_create_glyphs_widget for netwinder
11864         compilation.
11865         (image_instantiator_buttons):
11866         (image_instantiator_edit_fields):
11867         (image_instantiator_combo_box):
11868         (image_instantiator_scrollbar):
11869         (image_instantiator_progress_guage):
11870         (image_instantiator_tree_view):
11871         (image_instantiator_tab_control):
11872         (image_instantiator_labels):
11873         (image_instantiator_layout): ditto.
11874         (image_instantiator_format_create_glyphs_widget): Call preceding
11875         functions.
11876
11877 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11878
11879         * process.c (Fset_process_coding_system):
11880         * device-x.c (Fx_keysym_hash_table):
11881         Docstring fixes.
11882
11883         * lstream.c (Lstream_write): Return documented value, not 0.
11884
11885         * fileio.c (directory_file_name):
11886         (Fsubstitute_in_file_name):
11887         (Fsubstitute_insert_file_contents_internal):
11888         (Fwrite_region_internal):
11889         * emacs.c:
11890         * sysdep.c:
11891         * getloadavg.c:
11892         * systty.h:
11893         Remove vestigial APOLLO-conditional code.
11894
11895 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11896
11897         * getpagesize.h: Add guard macros.
11898         * libsst.h: Add guard macros.
11899         * libst.h: Add guard macros.
11900         * line-number.h: Add guard macros.
11901         * ndir.h: Add guard macros.
11902         * sysfloat.h: Add guard macros.
11903         * sysfile.h: Add guard macros.
11904         * sysproc.h: Add guard macros.
11905         * syswait.h: Add guard macros.
11906         * xintrinsic.h: Add guard macros.
11907         * xintrinsicp.h: Add guard macros.
11908         * xmmanager.h: Add guard macros.
11909         * xmmanagerp.h: Add guard macros.
11910         * xmprimitive.h: Add guard macros.
11911         * xmu.h: Add guard macros.
11912         * gpmevent.h: Add copyright statement. Add guard macros.
11913         * miscplay.h: Add guard macros.
11914         * *.h: Use consistent C-standards-approved guard macro names.
11915
11916         * opaque.c (make_opaque): Switch parameter order.
11917         * opaque.h (make_opaque): Switch parameter order.
11918         Update all callers.
11919         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11920
11921         * config.h.in (type_checking_assert): Added.
11922         (bufpos_checking_assert): Added.
11923
11924 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11925
11926         * alloc.c: Harmless pdump changes.
11927         - Use countof().
11928         - spell alignment correctly.
11929         * sysdep.c: Use countof()
11930
11931 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11932
11933         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11934         initially_selected_for_input() console method, default to 0.
11935         (semi_canonicalize_console_connection): Try to delegate to
11936         canonicalize_console_connection if no such console method.
11937         (canonicalize_console_connection): Vice versa.
11938         (print_console): Do not print nil connection.
11939
11940         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11941         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11942         (XDEVIMPF_FRAMELESS_OK): Added.
11943         (CONSOLE_INHERITS_METHOD): Added.
11944
11945         * console-msw.c (mswindows_canonicalize_console_connection):
11946         Added.
11947         (mswindows_canonicalize_device_connection): Added.
11948
11949         * console-msw.h (struct msprinter_device): Added this struct and
11950         accessor macros.
11951         (mswindows_device): Made fontlist a lisp object.
11952
11953         * device.c (semi_canonicalize_device_connection):  Try to delegate
11954         to canonicalize_device_connection if no such console method.
11955         (canonicalize_device_connection): Vice versa.
11956         (print_device): Do not print nil connection.
11957
11958         * device-msw.c (mswindows_init_device): Call InitCommonControls
11959         when have widgets.
11960         (mswindows_delete_device): Removed fontlist deallocation.
11961         (mswindows_mark_device): Added.
11962
11963         * events.c (event_equal): Added abort() at unreached code.
11964         (event_hash): Ditto.
11965
11966         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11967         fallback tags of Windows devices.
11968
11969         * general.c (syms_of_general): Initialized Qmsprinter.
11970
11971         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11972         of fallback tags of Windows devices.
11973
11974         * lisp.h: Declared Qmsprinter.
11975
11976         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11977         of strings.
11978         (mswindows_list_fonts): Ditto.
11979         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11980         that it can be used by both mswindows and msprinter devices.
11981         (initialize_font_instance): Added.
11982         (mswindows_initialize_font_instance): Use it.
11983         (msprinter_initialize_font_instance): Added.
11984
11985         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
11986         and implementation flags check.
11987         (redisplay_without_hooks): Changed the call to the above.
11988         (Fredraw_device): Ditto.
11989         (Fredisplay_device): Ditto.
11990
11991         * redisplay-msw.c (get_frame_dc): Implemented.
11992         (get_frame_compdc): Implemented.
11993         (many functions): Use the two functions above to get device
11994         contexts, ether for a window or a printer.
11995
11996 2000-01-21  Olivier Galibert  <galibert@pobox.com>
11997
11998         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
11999         initialization here.
12000         (init_symbols_once_early): Call it.
12001         * emacs.c (main_1): Call it.
12002         * symsinit.h: Declare it.
12003
12004 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12005
12006         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12007         Lisp_Object.
12008         (pdump_backtrace): Ditto.
12009         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12010         (pdump_get_entry): Abort if trying to register a null pointer.
12011         (pdump_dump_data): Cleanup types when relocating.
12012         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12013         (pdump_dump_rtables): Remove bad casts.
12014         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12015         Lisp_Object instead of a EMACS_INT for the hashtable
12016         reorganization.
12017
12018 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12019
12020         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12021
12022         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12023
12024         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12025
12026         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12027
12028 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12029
12030         * faces.h (FACE_STRIKETHRU_P): Added.
12031
12032         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12033         of font variants.
12034
12035         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12036         (mswindows_set_dc_font): New function, aware of font variants,
12037         separated from mswindows_update_dc.
12038
12039         * objects-msw.h (struct mswindows_font_instance_data): Added
12040         definition.
12041
12042         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12043         cached fonts and the data structure.
12044         (mswindows_initialize_font_instance): Added creation of font data
12045         structure.
12046         (mswindows_print_font_instance): Print at least something.
12047         (mswindows_create_font_variant): Implemented.
12048         (mswindows_get_hfont): Implemented.
12049
12050 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12051
12052         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12053         prototyping problem with msvc.
12054
12055         * emacs.c (main_1): added syms_of_gui_mswindows() call
12056
12057         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12058         syms_of_gui_mswindows() function
12059
12060         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12061
12062 2000-01-18  Martin Buchholz <martin@xemacs.org>
12063
12064         * XEmacs 21.2.27 is released.
12065
12066 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12067
12068         * glyphs-eimage.c (struct tiff_error_struct):
12069         (tiff_error_func):
12070         (tiff_warning_func):
12071         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12072
12073         * unexmips.c:
12074         * unexhp9k3.c:
12075         * unexfreebsd.c:
12076         * unexec.c: Remove vestigial Lucid C code.
12077         * unexalpha.c:
12078         * unexaix.c:
12079         * termcap.c:
12080         * libsst.c: Ansify.
12081         Remove declarations of errno and strerror().
12082
12083         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12084
12085         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12086
12087 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12088
12089         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12090         Optimize.
12091
12092 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12093
12094         * md5.c:
12095         * file-coding.c:
12096         * file-coding.h:
12097         Change enum eol_type to eol_type_t.
12098
12099 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12100
12101         * gui.c (get_gui_callback): Check cons before accessing car.
12102
12103 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12104
12105         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12106         (XSETSPECIFIER_TYPE): Ditto.
12107
12108 2000-01-17  Didier Verna  <didier@xemacs.org>
12109
12110         * redisplay.c (generate_fstring_runes): compute string size in
12111         characters, not bytes.
12112
12113 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12114
12115         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12116
12117 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12118
12119         * print.c (print_error_message): Call print_prepare().
12120
12121 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12122
12123         * .dbxrc: Renamed from dbxrc.
12124
12125         * events.c (event_to_character):
12126         Use `assert (foo)' instead of `if (!foo) abort()'
12127
12128         * .gdbinit (xtype): Add documentation.
12129         * .gdbinit (check-temacs): New function.
12130         * .gdbinit (check-xemacs): New function.
12131         * dbxrc (check-xemacs): New function.
12132         * dbxrc (check-xemacs): New function.
12133
12134 2000-01-14  Andy Piper  <andy@xemacs.org>
12135
12136         * glyphs-widget.c (widget_query_geometry): Make sure that we
12137         calculate default dimensions correctly.
12138
12139 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12140
12141         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12142
12143         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12144         pdump_wire'd variable.
12145
12146         * emacs.c: (main_1): Conditionalized calls to
12147         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12148
12149 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12150
12151         * window.c (Fset_window_configuration):
12152         * sysdep.c (_start):
12153         * input-method-motif.c (res):
12154         * event-Xt.c (Xt_process_to_emacs_event):
12155         Simple compiler warning fixes.
12156
12157         * bytecode.c (funcall_compiled_function): Use the original
12158         function symbol on the backtrace list in preference to the
12159         compiled_function object in error messages.
12160
12161 2000-01-13  Andy Piper  <andy@xemacs.org>
12162
12163         * glyphs-x.c (update_widget_face): Make sure we update the widget
12164         background as well as foreground.
12165
12166 2000-01-13  Andy Piper  <andy@xemacs.org>
12167
12168         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12169         fields to subwindow.
12170         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12171         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12172         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12173         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12174
12175         * glyphs-widget.c (check_valid_tab_orientation): new function.
12176         (initialize_widget_image_instance): zero orientation and
12177         justification.
12178         (widget_instantiate): pick up orientation.
12179         (tab_control_query_geometry): return appropriate values for
12180         vertical tabs.
12181
12182         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12183         appropriate creation flags for left, right and bottom tabs.
12184
12185         * s/cygwin32.h: add tab definitions.
12186
12187 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12188
12189         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12190         frame upon hiding a subwindow.
12191         (mswindows_button_instantiate): Changed the push button style to
12192         BS_PUSHBUTTON.
12193         (mswindows_button_instantiate): Removed button BS_NOTIFY
12194         style.
12195         (mswindows_button_instantiate): Removed redundant check for
12196         a disabled gui item.
12197         (mswindows_button_instantiate): Made use of WS_TABSTOP
12198         consistent: "operable" controls (edit, button, tree, scroll) have
12199         this style, "display-only" ones (static, progress gauge) do
12200         not. This style is currently ignored by XEmacs though. Also,
12201         removed the WS_EX_CONTROLPARENT style - it is not for children,
12202         it is for their parents!
12203         (mswindows_edit_field_instantiate): Ditto.
12204         (mswindows_progress_gauge_instantiate): Ditto.
12205         (mswindows_tree_view_instantiate): Ditto.
12206         (mswindows_tab_control_instantiate): Ditto.
12207         (mswindows_scrollbar_instantiate): Ditto.
12208         (mswindows_combo_box_instantiate): Ditto.
12209         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12210         style to the "clip" window.
12211         (mswindows_button_instantiate): Removed compilation warning by
12212         equally typing terms of the ?: operator.
12213
12214 2000-01-12  Didier Verna  <didier@xemacs.org>
12215
12216         * redisplay.c (generate_fstring_runes): new parameter holding the
12217         last modeline-format extent.
12218         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12219         extent, fill the glyph block with it.
12220         (generate_fstring_runes): handle these parameters.
12221         (generate_formatted_string_db): ditto.
12222
12223         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12224         glyphs'extents in the modeline.
12225
12226 1999-01-11  Mike Woolley  <mike@bulsara.com>
12227
12228         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12229         256Mb, as a workaround for the non-starting problem many people
12230         have experienced.
12231
12232 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12233
12234         * console-tty.c (Fset_console_tty_output_coding_system):
12235         Force redrawing tty frame.
12236
12237 2000-01-10  Didier Verna  <didier@xemacs.org>
12238
12239         * redisplay.c (generate_fstring_runes): fix size computation bug.
12240
12241 2000-01-09  William M. Perry <wmperry@aventail.com>
12242
12243         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12244
12245 2000-01-09  Andy Piper  <andy@xemacs.org>
12246
12247         * glyphs-msw.c: index -> i to avoid shadows.
12248         (xbm_create_bitmap_from_data): make static.
12249         (check_valid_string_or_int): deleted.
12250         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12251
12252         * glyphs-x.c (x_update_subwindow): remove unused args.
12253
12254         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12255         back pointer - this is done in allocate_image_instance.
12256         (query_string_font): return Qnil to make the compiler happy.
12257         (unmap_subwindow): set to ~0 to make the compiler happy.
12258         (glyph_query_geometry): comment out until used.
12259         (glyph_layout): ditto.
12260
12261 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12262
12263         * insdel.c (signal_after_change): Remove extraneous unbind_to().