(U+53E7): Use `->ideographic-variants*sources' instead of char-ref in
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
4         `Fget_char_attribute'.
5         (Fchar_variants): Likewise.
6         (get_char_table): Likewise.
7         (Fchar_feature): New function.
8         (put_char_composition): Use `Fchar_feature' instead of
9         `Fget_char_attribute'.
10         (Fput_char_attribute): Likewise; don't put the target character
11         into its `->unified' value.
12         (syms_of_chartab): Add new builtin function `char-feature'.
13
14 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
15
16         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
17         `Fget_char_attribute'.
18         (char_encode_utf8): Likewise.
19
20         * chartab.h: Add an EXFUN for `Fchar_feature'.
21
22 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
23
24         * chartab.c (Vnext_defined_char_id): New variable.
25         (Fput_char_attribute): Accept characters in `->unified'.
26         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
27         new characters which are not related with builtin char-id ranges.
28         (vars_of_chartab): Add new variable `next-defined-char-id'.
29
30 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
31
32         * chartab.c (Q_unified): New variable.
33         (Q_unified_from): New variable.
34         (Fput_char_attribute): Add code for `->unified'.
35         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
36         XEmacs CHISE.
37
38 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
39
40         * mule-charset.c (decode_ccs_conversion): New function.
41         (decode_defined_char): Use `decode_ccs_conversion'.
42         (decode_builtin_char): Likewise.
43
44 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
45
46         * char-ucs.h: Change some charset-ids of private coded-charsets.
47
48 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
49
50         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
51         (char_encode_as_entity_reference): Likewise.
52         (decode_coding_big5): Modify for `decode_defined_char' and
53         `DECODE_CHAR'.
54         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
55         avoid compiler warning.
56         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
57
58         * mule-charset.c (decode_defined_char): Add new argument
59         `without_inheritance'.
60         (Fdecode_char): Add new optional argument `without_inheritance'.
61         (Fdecode_builtin_char): Modify for `Fdecode_char'.
62
63         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
64         (simplify_char_spec): Likewise.
65
66         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
67         setting.
68
69         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
70         (map_char_table): Likewise.
71         (Fdefine_char): Use `Fdecode_char' without inheritance.
72         (Ffind_char): Modify for `Fdecode_char'.
73
74         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
75
76         * char-ucs.h (decode_defined_char): Add new argument
77         `without_inheritance'.
78         (DECODE_CHAR): Likewise.
79         (MAKE_CHAR): Modify for `DECODE_CHAR'.
80
81 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
82
83         * chartab.c (Vchise_system_db_directory): New variable.
84         (vars_of_chartab): Add new variable `chise-system-db-directory'.
85
86 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
87
88         * chartab.c: EXFUN `Fmount_char_attribute_table'.
89         (print_chartab_range): Don't define when `UTF2000' is defined.
90         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
91         `CHISE_DS_open'.
92
93 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
94
95         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
96         and optional argument `rehash' is specified, call
97         `open_chise_data_source_maybe' before
98         `chise_ds_foreach_char_feature_name' is called.
99
100 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
101
102         * chartab.c (char_attribute_list_reset_map_func): New function
103         when HAVE_LIBCHISE is defined.
104         (Fchar_attribute_list): Add new optional argument `rehash' when
105         HAVE_LIBCHISE is defined.
106         (open_chise_data_source_maybe): Use "chise-db" instead of
107         "char-db".
108         (char_attribute_system_db_file): Likewise.
109         (Fload_char_attribute_table): Use
110         `chise_feature_foreach_char_with_value' instead of
111         `chise_char_feature_value_iterate'.
112
113 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
114
115         * chartab.c (Vchise_db_directory): New variable.
116         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
117
118 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
119
120         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
121         instead of HAVE_CHISE to specify using with libchise.
122
123         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
124
125         * chartab.h: Don't use HAVE_CHISE_CLIENT.
126
127         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
128         defined or HAVE_LIBCHISE_LIBCHISE is defined.
129         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
130         is defined.
131         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
132         HAVE_CHISE to specify using with libchise.
133         (syms_of_chartab): Don't define symbol `system-char-id' when
134         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
135
136 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
137
138         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
139         specify CHISE DB support.
140         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
141         of `char_attribute_system_db_file' to check feature DB file.
142
143         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
144         HAVE_CHISE_CLIENT to specify CHISE DB support.
145
146         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
147         specify CHISE DB support.
148         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
149         not defined.
150         (Freset_char_attribute_table): Use `chise_feature_setup_db'
151         instead of `char_attribute_system_db_file' to check feature DB
152         file.
153
154 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
155
156         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
157         `HAVE_CHISE_CLIENT'.
158
159 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
160
161         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
162         (Fsave_charset_mapping_table): Don't use
163         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
164
165         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
166         (HAVE_LIBCHISE): New macro.
167
168         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
169
170         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
171         (Fsave_char_attribute_table): Don't use
172         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
173
174 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
175
176         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
177         defined.
178         (save_uint16_byte_table): Likewise.
179         (save_byte_table): Likewise.
180         (char_table_get_db): Use `chise_ds_load_char_feature_value'
181         instead of `chise_char_load_feature_value'.
182         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
183
184 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
185
186         * chartab.h (struct Lisp_Char_Table): Delete member
187         `feature_table' if CHISE is defined.
188
189         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
190         (Fcopy_char_table): Likewise.
191         (char_table_open_db_maybe): Likewise.
192         (char_table_close_db_maybe): Likewise.
193         (char_table_get_db): Likewise.
194         (Fmount_char_attribute_table): Likewise.
195         (Fload_char_attribute_table): Likewise.
196
197 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
198
199         * mule-charset.c (load_char_decoding_entry_maybe): Use
200         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
201         `chise_ccs_decode'.
202
203 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
204
205         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
206         instead of `chise_open_data_source'.
207         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
208         `chise_ds_close'.
209
210 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
211
212         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
213         instead of `chise_ds_open_feature_table'.
214         (char_table_close_db_maybe): Don't use `chise_ft_close'.
215
216 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
217
218         * mule-charset.c (Fsave_charset_mapping_table): Use
219         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
220         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
221         `chise_ccs_sync' instead of `chise_ccst_close'.
222         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
223
224         * chartab.c (open_chise_data_source_maybe): Modify for
225         `chise_open_data_source'.
226         (char_table_open_db_maybe): Modify for
227         `chise_ds_open_feature_table'.
228
229 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
230
231         * mule-charset.c (load_char_decoding_entry_maybe): Use
232         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
233         `chise_ccst_close'.
234
235 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
236
237         * mule-charset.c (Fsave_charset_mapping_table): Use
238         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
239         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
240         `chise_dt_put_char' and `chise_dt_close'.
241         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
242         `chise_ccs_decode' and `chise_ccst_close' instead of
243         `chise_ds_open_decoding_table', `chise_dt_get_char' and
244         `chise_dt_close'.
245
246         * chartab.c (char_table_get_db): Use
247         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
248         (load_char_attribute_table_map_func): Modify for
249         `chise_char_feature_value_iterate'.
250         (Fload_char_attribute_table): Use
251         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
252
253 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
254
255         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
256
257 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
258
259         * chartab.c (put_char_table): Modify for inherited coded-charsets
260         in XEmacs CHISE.
261
262 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
263
264         * chartab.c (Fput_char_table_map_function): Fixed.
265         (word_boundary_p): Don't check charset in XEmacs CHISE.
266
267 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
268
269         * mule-charset.c (Fsave_charset_mapping_table): Use
270         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
271         instead of `chise_open_decoding_table'; refer
272         `default_chise_data_source'; use `chise_dt_close' instead of
273         `chise_close_decoding_table'.
274         (load_char_decoding_entry_maybe): Likewise.
275
276         * chartab.c (default_chise_data_source): New variable when `CHISE'
277         is defined.
278         (Fcopy_char_table): `ct->ds' is deleted.
279         (open_chise_data_source_maybe): New function.
280         (Fclose_char_data_source): New function.
281         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
282         use `chise_ds_open_feature_table' instead of
283         `chise_open_feature_table'.
284         (char_table_close_db_maybe): Use `chise_ft_close' instead of
285         `chise_close_feature_table'; `cit->ds' is deleted.
286         (syms_of_chartab): Add new builtin function
287         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
288
289         * chartab.h (default_chise_data_source): New extern variable.
290         (open_chise_data_source_maybe): New prototype.
291         (struct Lisp_Char_Table): Delete `ds'.
292
293 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
294
295         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
296         `CHISE' is defined.
297
298 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
299
300         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
301         not defined; add code for non-libchise setting.
302         (char_table_close_db_maybe): Likewise.
303         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
304         defined.
305         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
306         even if `CHISE' is not defined.
307         (Freset_char_attribute_table): Likewise.
308         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
309         `char_table_close_db_maybe' even if `CHISE' is not defined; use
310         `char_table_get_db'.
311         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
312         `char_table_close_db_maybe' even if `CHISE' is not defined.
313
314 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
315
316         * chartab.c (char_table_open_db_maybe): New function.
317         (char_table_close_db_maybe): New function.
318         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
319         (Freset_char_attribute_table): Likewise.
320         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
321         `char_table_close_db_maybe'.
322         (Fload_char_attribute_table): Likewise.
323
324 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
325
326         * chartab.c: Don't include <chise.h> because it is included in
327         chartab.h.
328         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
329         defined.
330         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
331         `CHISE' is defined.
332         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
333         `CHISE' is defined.
334         (Fclose_char_attribute_table): Close `ct->feature_table' and
335         `ct->ds' when `CHISE' is defined.
336         (Freset_char_attribute_table): Likewise.
337         (load_char_attribute_maybe): Use `cit->ds' and
338         `cit->feature_table' when `CHISE' is defined.
339         (Fload_char_attribute_table): Likewise.
340
341         * chartab.h: Include <chise.h> when `CHISE' is defined.
342         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
343         when `CHISE' is defined.
344
345 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
346
347         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
348         is defined.
349         (char_table_description): Likewise.
350         (Fmake_char_table): Likewise.
351         (Fcopy_char_table): Likewise.
352         (Fmount_char_attribute_table): Likewise.
353         (Fclose_char_attribute_table): Likewise.
354         (Freset_char_attribute_table): Likewise.
355         (load_char_attribute_maybe): Likewise.
356         (Fload_char_attribute_table): Likewise.
357
358         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
359         defined.
360
361 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
362
363         * chartab.c (load_char_attribute_table_map_func): New function
364         when CHISE is defined.
365         (Qload_char_attribute_table_map_function): Don't define when CHISE
366         is defined.
367         (Fload_char_attribute_table_map_function): Likewise.
368         (Fload_char_attribute_table): Use libchise when `CHISE' is
369         defined.
370         (syms_of_chartab): Don't define
371         `load-char-attribute-table-map-function' when CHISE is defined.
372
373 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
374
375         * chartab.c: Include <chise.h> when `CHISE' is defined.
376         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
377
378 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
379
380         * mule-charset.c (charset_code_point): Fix problem when searching
381         in mother CCS fails with `defined_only' mode.
382
383 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
384
385         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
386         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
387         (put_char_composition): Likewise.
388         (Fput_char_attribute): Likewise.
389         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
390
391 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
392
393         * chartab.c (Q_ucs): Deleted.
394         (Fput_char_attribute): Don't refer `->ucs'.
395         (Fdefine_char): Likewise.
396         (Ffind_char): Likewise.
397         (syms_of_chartab): Delete `->ucs'.
398
399 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
400
401         * mule-charset.c (Qmap_cns11643_2): Renamed from
402         `Qchinese_cns11643_2'.
403         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
404         `chinese-cns11643-2'.
405         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
406         `=cns11643-2'.
407
408 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
409
410         * mule-charset.c (Qmap_cns11643_1): Renamed from
411         `Qchinese_cns11643_1'.
412         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
413         `chinese-cns11643-1'.
414         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
415         `=cns11643-1'.
416
417 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
418
419         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
420         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
421         `chinese-gb12345'.
422         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
423         `=gb12345'.
424
425 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
426
427         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
428         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
429         `chinese-gb2312'.
430         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
431         `=gb2312'.
432
433 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
434
435         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
436         (syms_of_mule_charset): Add new symbol `=big5' instead of
437         `chinese-big5'.
438         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
439
440 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
441
442         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
443         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
444         `korean-ksc5601'.
445         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
446         `=ks-x1001'.
447
448 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
449
450         * mule-charset.c (Qmap_jis_x0212): Renamed from
451         `Qjapanese_jisx0212'.
452         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
453         `japanese-jisx0212'.
454         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
455         `=jis-x0212'.
456
457 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
458
459         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
460         `Qjapanese_jisx0208'.
461         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
462         of `japanese-jisx0208'.
463         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
464         `=jis-x0208-1983'.
465
466 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
467
468         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
469         `Qjapanese_jisx0208_1978'.
470         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
471         of `japanese-jisx0208-1978'.
472         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
473         `=jis-x0208-1978'.
474
475 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
476
477         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
478         only for XEmacs CHISE.
479
480 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
481
482         * char-ucs.h: Compact non-ISO-IR charset-ids.
483         (LEADING_BYTE_UCS): Changed to -177.
484         (LEADING_BYTE_CONTROL_1): Changed to -77.
485         (LEADING_BYTE_UCS_BMP): Changed to -176.
486         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
487
488 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
489
490         * mule-charset.c (Qiso_ir): New variable.
491         (Fmake_charset): Recognise new property `iso-ir'.
492         (syms_of_mule_charset): Add new symbol `iso-ir'.
493
494 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
495
496         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
497         n to -n; charset-id of non ISO-IR sets are changed to positive
498         numbers.
499
500 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
501
502         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
503         for &MCS-XXXXXXXX; values.
504
505 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
506
507         * mule.c (Vxemacs_chise_version): Renamed from
508         `Vutf_2000_version'.
509         (vars_of_mule): Add new variable `xemacs-chise-version'; define
510         `utf-2000-version' as an alias for `xemacs-chise-version'.
511
512 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
513
514         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
515         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
516         defined.
517
518         * config.h.in (CHISE): New macro.
519
520 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
521
522         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
523         of `ucs'.
524         (Qmap_ucs): New variable.
525         (syms_of_mule_charset): Add new symbol `=ucs'.
526         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
527
528         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
529         (simplify_char_spec): Likewise.
530
531         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
532
533         * char-ucs.h (Qmap_ucs): New extern variable.
534
535 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
536
537         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
538         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
539         don't define it when UTF2000 is not defined.
540         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
541         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
542         when UTF2000 is not defined.
543         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
544         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
545
546 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
547
548         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
549
550         * mule-charset.c (Vcharset_ucs_gb): Deleted.
551         (Qucs_gb): Deleted.
552         (syms_of_mule_charset): Delete `ucs-gb'.
553         (complex_vars_of_mule_charset): Likewise.
554
555 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
556
557         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
558
559         * mule-charset.c (Vcharset_ucs_cns): Deleted.
560         (Qucs_cns): Deleted.
561         (syms_of_mule_charset): Delete `ucs-cns'.
562         (complex_vars_of_mule_charset): Likewise.
563
564 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
565
566         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
567
568         * mule-charset.c (Vcharset_ucs_jis): Deleted.
569         (Qucs_jis): Deleted.
570         (syms_of_mule_charset): Delete `ucs-jis'.
571         (complex_vars_of_mule_charset): Likewise.
572
573 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
574
575         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
576
577         * mule-charset.c (Vcharset_ucs_ks): Deleted.
578         (Qucs_ks): Deleted.
579         (syms_of_mule_charset): Delete `ucs-ks'.
580         (complex_vars_of_mule_charset): Likewise.
581
582 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
583
584         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
585         (Qideograph_daikanwa_2): Deleted.
586         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
587         (complex_vars_of_mule_charset): Likewise.
588
589         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
590         (LEADING_BYTE_DAIKANWA_1): Deleted.
591         (LEADING_BYTE_DAIKANWA_2): Deleted.
592         (MIN_CHAR_DAIKANWA): Deleted.
593         (MAX_CHAR_DAIKANWA): Deleted.
594
595 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
596
597         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
598         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
599         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
600
601         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
602         (Vcharset_ideograph_daikanwa): Deleted.
603         (Qideograph_hanziku_{1..12}): Deleted.
604         (Qideograph_daikanwa): Deleted.
605         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
606         Vcharset_ideograph_daikanwa.
607         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
608         `ideograph-hanziku-{1..12}'.
609         (complex_vars_of_mule_charset): Likewise.
610
611 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
612
613         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
614
615         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
616         (Qideograph_gt_pj_{1..11}): Deleted.
617         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
618         (complex_vars_of_mule_charset): Likewise.
619
620 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
621
622         * mule-charset.c (Vcharset_ucs_big5): Deleted.
623         (Vcharset_ideograph_gt): Deleted.
624         (Qucs_big5): Deleted.
625         (Qideograph_gt): Deleted.
626         (syms_of_mule_charset): Delete symbol `ucs-big5' and
627         `ideograph-gt'.
628         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
629         and `ideograph-gt'.
630
631         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
632         (LEADING_BYTE_GT): Deleted.
633         (MIN_CHAR_GT): Deleted.
634         (MAX_CHAR_GT): Deleted.
635
636 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
637
638         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
639
640 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
641
642         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
643         (save_uint16_byte_table): Likewise.
644         (save_byte_table): Likewise; convert values by it.
645         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
646         for `ideographic-structure'.
647         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
648         as the filter for `ideographic-structure'.
649
650 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
651
652         * chartab.c (put_char_composition): New function.
653         (Fput_char_attribute): Use `put_char_composition'; use
654         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
655
656         * fns.c (simplify_char_spec): New function.
657         (char_ref_simplify_spec): New function.
658         (Fchar_refs_simplify_char_specs): New function.
659         (syms_of_fns): Add new builtin function
660         `char-refs-simplify-char-specs'.
661
662 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
663
664         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
665         (Qideograph_cbeta): Deleted.
666         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
667         (complex_vars_of_mule_charset): Likewise.
668
669         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
670         (MIN_CHAR_CBETA): Comment out.
671         (MAX_CHAR_CBETA): Likewise.
672
673 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
674
675         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
676         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
677         CHISE client feature.
678
679 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
680
681         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
682
683 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
684
685         * mule-charset.c (charset_lookup_description_1): Use
686         `NUM_LEADING_BYTES' in UTF-2000.
687
688 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
689
690         * char-ucs.h (GC_CHARSETP): Deleted.
691
692 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
693
694         * char-ucs.h (MAX_CHAR_GT): Updated.
695
696 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
697
698         * text-coding.c: Sync with XEmacs 21.4.10.
699
700 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
701
702         * mule-charset.c (Vcharset_china3_jef): Deleted.
703         (Qchina3_jef): Deleted.
704         (syms_of_mule_charset): Don't define `china3-jef'.
705         (complex_vars_of_mule_charset): Likewise.
706
707         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
708         (MIN_CHAR_CHINA3_JEF): Comment out.
709         (MAX_CHAR_CHINA3_JEF): Comment out.
710
711 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
712
713         * mule-charset.c (Vcharset_ucs_gb): New variable.
714         (Qucs_gb): New variable.
715         (syms_of_mule_charset): Add new symbol `ucs-gb'.
716         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
717
718         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
719
720 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
721
722         * mule-charset.c (charset_code_point): if a coded-charset has a
723         final-byte, don't inherit the builtin range of the mother CCS.
724
725 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
726
727         * mule-charset.c (charset_code_point): Fix problem about
728         inheritance.
729
730 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
731
732         * mule-charset.c (decode_builtin_char): Reorganized.
733
734 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
735
736         * text-coding.c (char_encode_as_entity_reference): Modify for
737         `charset_code_point'.
738         (char_encode_shift_jis): Likewise.
739         (char_encode_big5): Likewise.
740         (char_encode_utf8): Likewise.
741         (char_encode_iso2022): Likewise.
742
743         * mule-charset.c (charset_code_point): Add new argument
744         `defined_only'.
745         (Fencode_char): Add new optional argument `defined_only'.
746
747         * chartab.c (put_char_table): Modify for `charset_code_point'.
748
749         * char-ucs.h (charset_code_point): Add new argument
750         `defined_only'.
751         (encode_char_1): Modify for `charset_code_point'.
752
753 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
754
755         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
756         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
757
758 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
759
760         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
761         (Qjis_x0208): Likewise.
762         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
763         XCHARSET_FINAL(charset).
764         (charset_code_point): Modify condition for final-byte based
765         builtin-chars.
766         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
767         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
768         in UTF-2000; specify `=jis-x0208' as the mother of
769         `japanese-jisx0208-1978', `japanese-jisx0208' and
770         `japanese-jisx0208-1990' in UTF-2000.
771
772 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
773
774         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
775
776 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
777
778         * text-coding.c (decode_coding_utf16): Support UTF-16.
779         (char_encode_utf16): Fixed.
780
781 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
782
783         * text-coding.c (Qutf16): New variable in MULE.
784         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
785         (Fcoding_system_type): Add `utf-16' in MULE.
786         (struct detection_state): Add a structure for utf16 in MULE.
787         (detect_coding_type): Setup st->utf16.mask in MULE.
788         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
789         MULE.
790         (reset_encoding_stream): Use `char_encode_utf16' and
791         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
792         (detect_coding_utf16): New function [incomplete].
793         (decode_coding_utf16): New function [support only UCS-2].
794         (char_encode_utf16): New function.
795         (char_finish_utf16): New function.
796         (syms_of_file_coding): Add new symbol `utf-16'; setup
797         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
798
799         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
800         UTF-2000.
801         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
802         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
803
804 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
805
806         * chartab.c (put_char_table): When a charset is specified as a
807         range in UTF-2000, don't support builtin characters.
808
809 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
810
811         * mule-charset.c (decode_defined_char): Don't refer external
812         database if Qunbound or Qnil are found.
813         (Fsave_charset_mapping_table): Don't define it if
814         HAVE_CHISE_CLIENT is not defined.
815         (Freset_charset_mapping_table): New function.
816         (load_char_decoding_entry_maybe): Store Qnil if a character is not
817         found in external database.
818         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
819         if HAVE_CHISE_CLIENT is not defined; add new builtin function
820         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
821
822 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
823
824         * text-coding.c (decode_coding_utf8): Check CCS is specified or
825         not.
826
827 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
828
829         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
830         Q_lowercase, Q_uppercase in UTF-2000.
831
832         * chartab.c (get_char_table): Add special code for the standard
833         case table to use character attribute `->downcase' and
834         `->uppercase' for case operations in UTF-2000.
835
836         * casetab.c (Qflippedcase): New variable in UTF-2000.
837         (Q_lowercase): Likewise.
838         (Q_uppercase): Likewise.
839         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
840         and `->uppercase' in UTF-2000.
841         (complex_vars_of_casetab): Assign attribute name `downcase' to
842         downcase and CANON table of Vstandard_case_table in UTF-2000;
843         assign attribute name `flippedcase' to upcase and EQV table of
844         Vstandard_case_table in UTF-2000.
845
846 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
847
848         * text-coding.c (decode_add_er_char): Support isolated-chars.
849         (char_encode_as_entity_reference): Likewise.
850
851 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
852
853         * emacs.c (Vutf_2000_lisp_directory): New variable.
854         (Vconfigure_utf_2000_lisp_directory): Likewise.
855         (complex_vars_of_emacs): Add new variable
856         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
857
858 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
859
860         * char-ucs.h (DECODE_CHAR): Delete special code for
861         `chinese-big5-1' and `chinese-big5-2'.
862
863         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
864         (Qbig5_2): Likewise.
865         (decode_defined_char): Support CONVERSION_BIG5_1 and
866         CONVERSION_BIG5_2.
867         (decode_builtin_char): Likewise.
868         (charset_code_point): Likewise.
869         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
870         'conversion in UTF-2000.
871         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
872         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
873         `chinese-big5-2' as children of `chinese-big5'.
874
875         * char-ucs.h (CONVERSION_BIG5_1): New macro.
876         (CONVERSION_BIG5_2): New macro.
877
878 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
879
880         * text-coding.c (char_encode_big5): Support entity-reference.
881
882 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
883
884         * text-coding.c (char_encode_as_entity_reference): New function.
885         (char_encode_utf8): Use `char_encode_as_entity_reference'.
886
887 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
888
889         * text-coding.c (decode_coding_big5): Support entity-reference
890         decoding feature.
891
892 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
893
894         * text-coding.c (allocate_coding_system): Initialize initial
895         charsets for CODESYS_UTF8.
896         (Fmake_coding_system): Accept charset-g0, charset-g1 and
897         charset-g2 for CODESYS_UTF8.
898         (decode_coding_utf8): Use charset-g0.
899         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
900         to force variants to map to UCS.
901
902 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
903
904         * text-coding.c (Qutf_8_mcs): New variable.
905         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
906         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
907         instead of `utf-8' in UTF-2000.
908
909 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
910
911         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
912         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
913         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
914         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
915         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
916         CONVERSION_96x96x96x96 are introduced.
917         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
918         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
919         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
920
921         * char-ucs.h (CONVERSION_94): New macro.
922         (CONVERSION_96): New macro.
923         (CONVERSION_94x94): New macro.
924         (CONVERSION_96x96): New macro.
925         (CONVERSION_94x94x94): New macro.
926         (CONVERSION_96x96x96): New macro.
927         (CONVERSION_94x94x94x60): New macro.
928         (CONVERSION_94x94x94x94): New macro.
929         (CONVERSION_96x96x96x96): New macro.
930
931 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
932
933         * chartab.c (Vcharacter_variant_table): Deleted.
934         (Fchar_variants): Use character-attribute `->ucs-variants' instead
935         of `Vcharacter_variant_table'.
936         (Fput_char_attribute): Likewise.
937         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
938         (complex_vars_of_chartab): Likewise.
939
940 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
941
942         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
943
944         * fns.c (Qideographic_structure): New variable.
945         (Qkeyword_char): New variable.
946         (ids_format_unit): New function.
947         (Fideographic_structure_to_ids): New function.
948         (syms_of_fns): Add new symbols `ideographic-structure' and
949         `:char'; add new builtin function `ideographic-structure-to-ids'.
950
951         * data.c (Fchar_ref_p): New function.
952         (syms_of_data): Add new builtin function `char-ref-p'.
953
954         * chartab.h: Add an EXFUN for `Ffind_char'.
955
956 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
957
958         * text-coding.c (Vcharacter_composition_table): Deleted.
959         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
960         in every UTF-2000.
961
962         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
963         UTF-2000.
964         (Vcharacter_composition_table): Deleted.
965         (Fget_composite_char): Use the implementation for external-DB
966         support in every UTF-2000.
967         (Fput_char_attribute): Likewise.
968         (char_attribute_system_db_file): Don't define if external-DB
969         feature is not available.
970         (Fsave_char_attribute_table): Likewise.
971         (Fmount_char_attribute_table): Likewise.
972         (Fclose_char_attribute_table): Likewise.
973         (Freset_char_attribute_table): Likewise.
974         (Fload_char_attribute_table): Likewise.
975         (syms_of_chartab): Don't define `save-char-attribute-table',
976         `mount-char-attribute-table', `reset-char-attribute-table',
977         `close-char-attribute-table' and `load-char-attribute-table' if
978         external-DB feature is not available.
979         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
980
981 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
982
983         * text-coding.c (Qcomposition): Add extern if external-DB feature
984         is supported.
985         (Vcharacter_composition_table): Don't add extern if external-DB
986         feature is supported.
987         (COMPOSE_ADD_CHAR): Modify for new data-representation of
988         character composition rule if external-DB feature is supported.
989
990         * chartab.c (Vcharacter_composition_table): Don't define if
991         external-DB feature is supported.
992         (Qcomposition): New variable.
993         (Fget_composite_char): New implementation for external-DB support.
994         (Fput_char_attribute): Use `composition' property of each
995         character instead of `Vcharacter_composition_table' to store
996         character-composition rules if external-DB feature is supported.
997         (syms_of_chartab): Add new symbol `composition'.
998         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
999         external-DB feature is supported.
1000
1001 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1002
1003         * chartab.c (Vchar_db_stingy_mode): New variable.
1004         (load_char_attribute_maybe): Close database if
1005         Vchar_db_stingy_mode is not NIL.
1006         (Fload_char_attribute_table_map_function): Use
1007         `get_char_id_table_0' instead of `get_char_id_table'.
1008         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1009
1010         * chartab.h (get_char_id_table_0): New inline function.
1011         (get_char_id_table): Use `get_char_id_table_0'.
1012
1013 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1014
1015         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1016         and `COMPOSE_ADD_CHAR'.
1017         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1018
1019 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1020
1021         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1022         instead of `DECODE_ADD_UCS_CHAR'.
1023         (COMPOSE_ADD_CHAR): Likewise.
1024
1025 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1026
1027         * text-coding.c (decode_flush_er_chars): New inline function.
1028         (decode_add_er_char): New function.
1029         (decode_coding_utf8): Use `decode_flush_er_chars' and
1030         `decode_add_er_char'.
1031
1032 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1033
1034         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1035         done before `decode_output_utf8_partial_char'.
1036
1037         * mule-charset.c (complex_vars_of_mule_charset): Specify
1038         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1039         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1040
1041 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1042
1043         * mule-charset.c (decode_defined_char): New function; search
1044         mother.
1045         (decode_builtin_char): Don't search mother if
1046         XCHARSET_MAX_CODE(charset) == 0.
1047         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1048         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1049         (Fdecode_char): Use `decode_defined_char' instead of
1050         `DECODE_DEFINED_CHAR'.
1051         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1052         mother of `Vcharset_ucs_jis'.
1053
1054         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1055         instead of `DECODE_DEFINED_CHAR'.
1056
1057         * char-ucs.h (decode_defined_char): Renamed from
1058         `DECODE_DEFINED_CHAR'; changed to normal function.
1059         (DECODE_CHAR): Use `decode_defined_char' instead of
1060         `DECODE_DEFINED_CHAR'.
1061
1062         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1063
1064 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1065
1066         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1067
1068         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1069         variable.
1070         (Quse_entity_reference): New variable.
1071         (Qd): New variable.
1072         (Qx): New variable.
1073         (QX): New variable.
1074         (coding_system_description): Add description for
1075         `ccs_priority_list'.
1076         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1077         (allocate_coding_system): Initialize `ccs_priority_list' in
1078         UTF-2000.
1079         (Fmake_coding_system): Add description about
1080         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1081         (codesys).
1082         (Fcoding_system_property): Accept `disable-composition' and
1083         `use-entity-reference' in UTF-2000.
1084         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1085         in UTF-2000.
1086         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1087         (decode_coding_utf8): Decode entity-reference if
1088         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1089         (char_encode_utf8): Encode non-Unicode characters as
1090         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1091         (str->codesys).
1092         (syms_of_file_coding): Add new symbols `use-entity-reference',
1093         `d', `x', `X'.
1094         (vars_of_file_coding): Add new variable
1095         `coded-charset-entity-reference-alist'.
1096         (complex_vars_of_file_coding): Declare `disable-composition' and
1097         `use-entity-reference' to be coding-system-properties in UTF-2000.
1098
1099         * file-coding.h (struct Lisp_Coding_System): Add new member
1100         `use_entity_reference' and `ccs_priority_list'.
1101         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1102         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1103         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1104
1105 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1106
1107         * chartab.c (save_uint8_byte_table): Don't clear the table.
1108         (save_uint16_byte_table): Likewise.
1109         (save_byte_table): Likewise.
1110         (Fmount_char_attribute_table): New function.
1111         (syms_of_chartab): Add new builtin function
1112         `mount-char-attribute-table'.
1113
1114 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1115
1116         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1117         "w+" mode.
1118         (load_char_decoding_entry_maybe): Open database as read-only mode.
1119
1120         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1121         open database as "w+" mode.
1122         (load_char_attribute_maybe): Open database as read-only mode.
1123         (Fload_char_attribute_table): Likewise.
1124
1125 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1126
1127         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1128         (char_table_description): Delete member `db_file'.
1129         (Fmake_char_table): Don't refer `ct->db_file'.
1130         (Fcopy_char_table): Likewise.
1131         (Fsave_char_attribute_table): Likewise.
1132         (Fclose_char_attribute_table): Likewise.
1133         (Freset_char_attribute_table): Likewise.
1134         (load_char_attribute_maybe): Likewise.
1135         (Fload_char_attribute_table): Likewise.
1136
1137         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1138
1139 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1140
1141         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1142         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1143         `ct->db' is living.
1144         (load_char_attribute_maybe): Likewise.
1145         (Fload_char_attribute_table): Likewise.
1146
1147 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1148
1149         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1150         `ct->db_file' unconditionally.
1151
1152 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1153
1154         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1155         UTF-2000.
1156         (char_table_description): Add description for `db_file' and `db'
1157         in UTF-2000.
1158         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1159         UTF-2000.
1160         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1161         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1162         (Fclose_char_attribute_table): New function.
1163         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1164         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1165         and `cit->db'.
1166         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1167         (syms_of_chartab): Add new builtin function
1168         `Fclose_char_attribute_table'.
1169
1170 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1171
1172         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1173         `db' in UTF-2000.
1174         (load_char_attribute_maybe): Change interface.
1175         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1176
1177 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1178
1179         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1180
1181 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1182
1183         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1184         instead of `DECODE_CHAR' for mother; don't use special code for
1185         chinese-big5 to use code space of chinese-big5-1 and
1186         chinese-big5-2.
1187         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1188         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1189
1190         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1191         (MAX_CHAR_BIG5_CDP): Revival.
1192
1193 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1194
1195         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1196         the XLFD registry-encoding name of `chinese-big5'.
1197
1198 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1199
1200         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1201         (Qchinese_big5_cdp): Deleted.
1202         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1203         (complex_vars_of_mule_charset): Delete coded-charset
1204         `chinese-big5-cdp'.
1205
1206         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1207         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1208         `CHARSET_ID_OFFSET - n' for private CCS.
1209         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1210         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1211         of `MIN_LEADING_BYTE'.
1212         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1213         `(CHARSET_ID_OFFSET - 97)'.
1214         (MIN_CHAR_BIG5_CDP): Deleted.
1215         (MAX_CHAR_BIG5_CDP): Deleted.
1216
1217 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1218
1219         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1220
1221 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1222
1223         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1224         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1225         chartab.c].
1226
1227         * chartab.c (Vutf_2000_version): Moved to mule.c.
1228         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1229
1230 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1231
1232         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1233         when HAVE_CHISE_CLIENT is not defined.
1234
1235         * mule.c (vars_of_mule): Provide feature `chise' when
1236         HAVE_CHISE_CLIENT is defined.
1237
1238 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1239
1240         * config.h.in (UTF2000): Add comment.
1241         (HAVE_CHISE_CLIENT): New macro.
1242
1243 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1244
1245         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1246         CONSP.
1247         (Fput_char_attribute): Likewise.
1248         (char_attribute_system_db_file): Encode file-name of attribute.
1249         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1250         the initial value.
1251
1252 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1253
1254         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1255         (Fsave_charset_mapping_table): Use
1256         `char_attribute_system_db_file'.
1257         (load_char_decoding_entry_maybe): Likewise.
1258
1259         * chartab.h (Qsystem_char_id): New external variable.
1260         (char_attribute_system_db_file): New prototype.
1261
1262         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1263         (char_attribute_system_db_file): New function.
1264         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1265         (Freset_char_attribute_table): Likewise.
1266         (load_char_attribute_maybe): Likewise.
1267         (Fload_char_attribute_table): Likewise.
1268         (syms_of_chartab): Add new symbol `system-char-id'.
1269
1270 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1271
1272         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1273         `XCHARSET_GRAPHIC(ccs)'.
1274
1275 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1276
1277         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1278
1279 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1280
1281         * chartab.c (Q_ucs_variants): New variable.
1282         (syms_of_chartab): Add new symbol `->ucs-variants'.
1283         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1284         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1285         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1286
1287         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1288
1289         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1290         `HAVE_DATABASE' is defined.
1291         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1292         `HAVE_DATABASE' is defined.
1293
1294 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1295
1296         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1297         attribute-table.
1298         (Freset_char_attribute_table): New function.
1299         (syms_of_chartab): Add new builtin function
1300         `reset-char-attribute-table'.
1301
1302 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1303
1304         * chartab.c (load_char_attribute_maybe): Don't make directories.
1305
1306 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1307
1308         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1309
1310         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1311         for decoding-table.
1312
1313 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1314
1315         * mule-charset.c (Fsave_charset_mapping_table): Use
1316         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1317
1318         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1319         instead of `XCHARSET_CHARS'.
1320
1321 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1322
1323         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1324         (XCHARSET_BYTE_SIZE): Likewise.
1325
1326         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1327         mule-charset.c].
1328         (XCHARSET_BYTE_SIZE): Likewise.
1329
1330 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1331
1332         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1333         data-directory to store database.
1334         (Fsave_char_attribute_table): Likewise.
1335         (load_char_attribute_maybe): Likewise.
1336         (Fload_char_attribute_table): Likewise.
1337
1338 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1339
1340         * mule-charset.c (Fsave_charset_mapping_table): New function.
1341         (syms_of_mule_charset): Add new builtin function
1342         `save-charset-mapping-table'.
1343
1344 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1345
1346         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1347         (get_ccs_octet_table): New inline function.
1348         (put_ccs_octet_table): Likewise.
1349         (decoding_table_put_char): Use `get_ccs_octet_table' and
1350         `put_ccs_octet_table'.
1351         (decoding_table_remove_char): Use `decoding_table_put_char'.
1352         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1353
1354         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1355         into encoding_table.
1356         (make_charset): Use Qunbound instead Qnil as initial value of
1357         decoding_table.
1358
1359 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1360
1361         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1362         element is Qunloaded.
1363         (map_over_uint16_byte_table): Likewise.
1364         (map_over_byte_table): Likewise.
1365         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1366         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1367         database support, load encoding-table of the specified
1368         coded-charset if it is not loaded yet.
1369         (save_uint8_byte_table): New function of UTF-2000 with external
1370         database support.
1371         (save_uint16_byte_table): Likewise.
1372         (save_byte_table): Likewise.
1373         (Fput_char_attribute): Don't store value into external database
1374         even if the external database feature is supported in UTF-2000;
1375         set `attribute' as name of char-table if the external database
1376         feature is supported.
1377         (Fsave_char_attribute_table): New function in UTF-2000.
1378         (syms_of_chartab): Add new builtin function
1379         `save-char-attribute-table' in UTF-2000.
1380
1381 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1382
1383         * chartab.c (char_attribute_table_to_put): New variable in
1384         UTF-2000.
1385         (Qput_char_table_map_function): Likewise.
1386         (value_to_put): Likewise.
1387         (Fput_char_table_map_function): New function in UTF-2000.
1388         (put_char_table): Use `Fmap_char_attribute' for
1389         CHARTAB_RANGE_CHARSET in UTF-2000.
1390         (Fput_char_attribute): Store symbol instead of string in
1391         `XCHAR_TABLE_NAME (table)'.
1392         (load_char_attribute_maybe): Likewise.
1393         (syms_of_chartab): Add new symbol/function
1394         `put-char-table-map-function'.
1395
1396 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1397
1398         * database.h: Add new EXFUN for `Fmap_database'.
1399
1400         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1401         (syms_of_database): Likewise.
1402
1403         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1404         UTF-2000.
1405         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1406         (XCHAR_TABLE_UNLOADED): Likewise.
1407
1408         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1409         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1410         HAVE_DATABASE is defined.
1411         (char_attribute_table_to_load): New variable of UTF-2000 with
1412         external database support.
1413         (Qload_char_attribute_table_map_function): Likewise.
1414         (Fload_char_attribute_table_map_function): New function of
1415         UTF-2000 with external database support.
1416         (Fload_char_attribute_table): New function of UTF-2000.
1417         (Fmap_char_attribute): Call Fload_char_attribute_table if
1418         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1419         (syms_of_chartab): Add new symbol and function
1420         `load-char-attribute-table-map-function' in UTF-2000 with external
1421         database support; add new function `load-char-attribute-table' in
1422         UTF-2000.
1423
1424 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1425
1426         * chartab.h (load_char_attribute_maybe): New prototype for
1427         UTF-2000 with DATABASE support.
1428         (get_char_id_table): Use `load_char_attribute_maybe' if
1429         HAVE_DATABASE is defined.
1430
1431         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1432         with DATABASE support.
1433
1434 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1435
1436         * chartab.c (Fput_char_attribute): Use S-expression as key of
1437         external database.
1438
1439         * chartab.h (get_char_id_table): Use S-expression as key of
1440         external database.
1441
1442 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1443
1444         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1445         if an element is not loaded, load the corresponding attributes
1446         from an external database.
1447         (map_over_uint16_byte_table): Likewise.
1448         (map_over_byte_table): Likewise.
1449         (map_char_table): Modify for `map_over_uint8_byte_table',
1450         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1451         element is not loaded, load the corresponding attributes from an
1452         external database.
1453         (Fput_char_attribute): Change initial values to Qunloaded.
1454
1455         * chartab.h (get_char_id_table): If a character attribute is not
1456         loaded and the attribute value is not found in an external
1457         database, store Qunbound as the attribute value.
1458
1459 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1460
1461         * chartab.c (BT_UINT8_unloaded): New macro.
1462         (UINT8_VALUE_P): Accept Qunloaded.
1463         (UINT8_ENCODE): Likewise.
1464         (UINT8_DECODE): Likewise.
1465         (BT_UINT16_unloaded): New macro.
1466         (UINT16_VALUE_P): Accept Qunloaded.
1467         (UINT16_ENCODE): Likewise.
1468         (UINT16_DECODE): Likewise.
1469         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1470         BT_UINT16_unloaded.
1471         (mark_char_table): Mark `ct->name' in UTF-2000.
1472         (char_table_description): Add `name' in UTF-2000.
1473         (Fmake_char_table): Initialize `ct->name'.
1474         (Fcopy_char_table): Copy `ct->name'.
1475         (Fput_char_attribute): Store value into an external database if
1476         HAVE_DATABASE is defined.
1477
1478         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1479         UTF-2000.
1480         (CHAR_TABLE_NAME): New macro in UTF-2000.
1481         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1482         (get_char_id_table): Try to read an external database if Qunloaded
1483         is stored in a table.
1484
1485         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1486         Qunloaded.
1487
1488 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1489
1490         * database.h: Add EXFUN definitions for Fopen_database,
1491         Fput_database, Fget_database and Fclose_database.
1492
1493         * data.c (Qunloaded): New variable in UTF-2000.
1494
1495         * lisp.h (Qunloaded): New variable in UTF-2000.
1496
1497 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1498
1499         * mule-charset.c (put_char_ccs_code_point): Modify for
1500         `decoding_table_remove_char' and `decoding_table_put_char'.
1501         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1502
1503         * char-ucs.h (decoding_table_remove_char): Change arguments to
1504         hide decoding_table vector.
1505         (decoding_table_put_char): Likewise.
1506
1507 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1508
1509         * mule-charset.c (decoding_table_remove_char): Moved to
1510         char-ucs.h.
1511         (decoding_table_put_char): Likewise.
1512
1513         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1514         from mule-charset.c].
1515         (decoding_table_remove_char): New inline function [moved from
1516         mule-charset.c].
1517         (decoding_table_put_char): Likewise.
1518
1519 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1520
1521         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1522         extension.
1523
1524 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1525
1526         * mule-charset.c (decode_builtin_char): Support mother charsets.
1527
1528 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1529
1530         * mule-charset.c (Q94x94x60): New variable.
1531         (charset_code_point): Support conversion `94x94x60'.
1532         (Fmake_charset): Likewise.
1533         (syms_of_mule_charset): Add new symbol `94x94x60'.
1534
1535         * char-ucs.h (CONVERSION_94x94x60): New macro.
1536
1537 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1538
1539         * mule-charset.c (charset_code_point): Unify code about
1540         `code-offset'.
1541
1542 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1543
1544         * mule-charset.c (charset_code_point): Merge code about builtin
1545         characters into code about mother charsets; don't use
1546         `range_charset_code_point'.
1547         (range_charset_code_point): Deleted.
1548
1549 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1550
1551         * mule-charset.c (Qcode_offset): New variable.
1552         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1553         `max-code'; accept new property `code-offset'.
1554         (syms_of_mule_charset): Add new symbol `code-offset'.
1555
1556 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1557
1558         * mule-charset.c (range_charset_code_point): Fixed.
1559
1560 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1561
1562         * mule-charset.c (decode_builtin_char): Change semantics of
1563         code-offset of coded-charset.
1564         (charset_code_point): Likewise.
1565         (range_charset_code_point): Likewise.
1566         (complex_vars_of_mule_charset): Modify for the change.
1567
1568 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1569
1570         * mule-charset.c (Fencode_char): Reverse arguments.
1571
1572         * mule-charset.c (charset_code_point): Fixed.
1573
1574 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1575
1576         * mule-charset.c (Vcharset_mojikyo): Deleted.
1577         (Vcharset_mojikyo_2022_1): Deleted.
1578         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1579         (Qmin_code): New variable in UTF-2000.
1580         (Qmax_code): Likewise.
1581         (Qmother): Likewise.
1582         (Qconversion): Likewise.
1583         (Q94x60): Likewise.
1584         (Qmojikyo): Deleted.
1585         (Qmojikyo_2022_1): Deleted.
1586         (Qmojikyo_pj_{1..22}): Deleted.
1587         (mark_charset): Mark `cs->mother'.
1588         (charset_description): Add description for `mother'.
1589         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1590         new arguments `mother' and `conversion'; use
1591         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1592         (charset_code_point): Moved from char-ucs.h; support `mother'
1593         charset feature.
1594         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1595         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1596         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1597         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1598         allow 2 as the value of `graphic' in UTF-2000; add new properties
1599         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1600         require `final' in UTF-2000; modify for `make_charset'.
1601         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1602         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1603         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1604         (Fencode_char): New function.
1605         (syms_of_mule_charset): Add new builtin function `encode-char' in
1606         UTF-2000; add new symbols `min-code', `max-code', `mother',
1607         `conversion' and `94x60'; delete symbols `mojikyo',
1608         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1609         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1610         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1611         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1612
1613         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1614         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1615
1616         * char-ucs.h (Vcharset_mojikyo): Deleted.
1617         (Vcharset_mojikyo_2022_1): Deleted.
1618         (LEADING_BYTE_MOJIKYO): Deleted.
1619         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1620         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1621         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1622         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1623         add new member `mother'; add new member `conversion'.
1624         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1625         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1626         (CHARSET_MOTHER): New macro.
1627         (CHARSET_CONVERSION): New macro.
1628         (CONVERSION_IDENTICAL): New macro.
1629         (CONVERSION_94x60): New macro.
1630         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1631         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1632         (XCHARSET_MOTHER): New macro.
1633         (XCHARSET_CONVERSION): New macro.
1634         (MIN_CHAR_MOJIKYO): Deleted.
1635         (MAX_CHAR_MOJIKYO): Deleted.
1636         (DECODE_MOJIKYO_2022): Deleted.
1637         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1638         (charset_code_point): Changed to non-inline function.
1639         (encode_char_1): Use `charset_code_point'.
1640         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1641
1642 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1643
1644         * lread.c (read_compiled_function): Fix prototype.
1645         (read_vector): Likewise.
1646
1647 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1648
1649         * lrecord.h (struct lrecord_header): Delete `older'.
1650         (set_lheader_implementation): Delete code for `older'.
1651         (set_lheader_older_implementation): Deleted.
1652         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1653         (OLDER_RECORD_P): Deleted.
1654         (OLDER_RECORD_HEADER_P): Deleted.
1655         (alloc_older_lcrecord): Deleted.
1656         (alloc_older_lcrecord_type): Deleted.
1657
1658         * alloc.c (all_older_lcrecords): Deleted.
1659         (alloc_older_lcrecord): Deleted.
1660         (disksave_object_finalization_1): Delete code for older objects.
1661         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1662         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1663
1664 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1665
1666         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1667         instead of `make_older_vector'.
1668         (put_char_ccs_code_point): Likewise.
1669         (mark_charset): Mark `cs->decoding_table'.
1670         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1671
1672         * lisp.h (make_older_vector): Deleted.
1673         (make_vector_newer): Deleted.
1674
1675         * config.h.in (HAVE_GGC): Deleted.
1676
1677         * alloc.c (make_older_vector): Deleted.
1678         (make_vector_newer_1): Deleted.
1679         (make_vector_newer): Deleted.
1680
1681 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1682
1683         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1684         (Qideograph_daikanwa_2): New variable.
1685         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1686         (complex_vars_of_mule_charset): Add new coded-charset
1687         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1688         `LEADING_BYTE_DAIKANWA'.
1689
1690         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1691         (LEADING_BYTE_DAIKANWA_1): New macro.
1692         (LEADING_BYTE_DAIKANWA_2): New macro.
1693         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1694
1695 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1696
1697         * mule-charset.c (complex_vars_of_mule_charset): Change
1698         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1699         the second revised version.
1700
1701 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1702
1703         * mule-charset.c (Vcharset_ucs_smp): New variable.
1704         (Vcharset_ucs_sip): New variable.
1705         (Qucs_smp): New variable.
1706         (Qucs_sip): New variable.
1707         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1708         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1709         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1710         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1711         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1712         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1713
1714         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1715         (LEADING_BYTE_UCS_SIP): New macro.
1716         (MIN_CHAR_SMP): New macro.
1717         (MAX_CHAR_SMP): New macro.
1718         (MIN_CHAR_SIP): New macro.
1719         (MAX_CHAR_SIP): New macro.
1720
1721 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1722
1723         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1724         utf-2000.
1725
1726 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1727
1728         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1729         value; don't store value into `encoding_table' of `Lisp_Charset'.
1730         (mark_charset): `encoding_table' was deleted.
1731         (charset_description): Likewise.
1732         (make_charset): Likewise.
1733         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1734         `put_char_ccs_code_point'.
1735
1736         * chartab.h (Fput_char_attribute): New EXFUN.
1737
1738         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1739         is unified with normal symbol space.
1740         (Fget_char_attribute): Likewise.
1741         (Fput_char_attribute): Likewise; behavior of
1742         `put_char_ccs_code_point' is changed.
1743
1744         * char-ucs.h: Include "elhash.h".
1745         (Vchar_attribute_hash_table): New external variable.
1746         (struct Lisp_Charset): Delete `encoding_table'.
1747         (CHARSET_ENCODING_TABLE): New implementation; refer
1748         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1749         `Lisp_Charset'.
1750
1751 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1752
1753         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1754         (cs) == 0.
1755
1756 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1757
1758         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1759         `chinese-big5'.
1760
1761 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1762
1763         * chartab.c (uint8_byte_table_description): New constant.
1764         (uint8-byte-table): Use `uint8_byte_table_description'.
1765         (uint16_byte_table_description): New constant.
1766         (uint16-byte-table): Use `uint16_byte_table_description'.
1767
1768 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1769
1770         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1771         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1772
1773 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1774
1775         * mule-charset.c (Vcharset_ucs_ks): New variable.
1776         (Qucs_ks): New variable.
1777         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1778         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1779
1780         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1781
1782 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1783
1784         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1785         (Fdecode_char): Likewise.
1786
1787         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1788         chartab.h.
1789         (Fdefine_char): Modify for Fdecode_char.
1790         (Ffind_char): Likewise.
1791
1792         * mule-charset.c (Fdecode_char): Add new optional argument
1793         `defined-only'.
1794         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1795
1796 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1797
1798         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1799         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1800         (allocate_coding_system): Initialize initial-charsets of
1801         CODESYS_BIG5 in XEmacs UTF-2000.
1802         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1803         CODESYS_BIG5 in XEmacs UTF-2000.
1804         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1805         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1806
1807         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1808         variables.
1809         (Qideograph_hanziku_{1 .. 12}): Likewise.
1810         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1811         .. 12}'.
1812         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1813         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1814         `ideograph-hanziku-{1 .. 12}'.
1815
1816         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1817         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1818         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1819         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1820         (DECODE_DEFINED_CHAR): New inline function.
1821         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1822
1823 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1824
1825         * mule-charset.c (Vcharset_china3_jef): Renamed from
1826         `Vcharset_japanese_jef_china3'.
1827         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1828         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1829         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1830         (syms_of_mule_charset): Rename `china3-jef' from
1831         `japanese-jef-china3'.
1832         (complex_vars_of_mule_charset): Likewise; rename
1833         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1834
1835         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1836         `LEADING_BYTE_JEF_CHINA3'.
1837         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1838         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1839
1840 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1841
1842         * mule-charset.c (encode_builtin_char_1): Comment out special code
1843         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1844
1845         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1846         (MAX_CHAR_MOJIKYO_0): Comment out.
1847         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1848         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1849         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1850         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1851
1852 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1853
1854         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1855         (Qideograph_cbeta): New variable.
1856         (encode_builtin_char_1): Comment out special code for
1857         coded-charset `mojikyo' and `japanese-jef-china3'.
1858         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1859         (complex_vars_of_mule_charset): Add new coded-charset
1860         `ideograph-cbeta'.
1861
1862         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1863         (MIN_CHAR_CBETA): New macro.
1864         (MAX_CHAR_CBETA): New macro.
1865
1866 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1867
1868         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1869         (LEADING_BYTE_JEF_CHINA3): New macro.
1870         (MIN_CHAR_JEF_CHINA3): New macro.
1871         (MAX_CHAR_JEF_CHINA3): Likewise.
1872         (DECODE_CHAR): Fixed.
1873
1874 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1875
1876         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1877         (Qjapanese_jef_china3): New variable.
1878         (encode_builtin_char_1): Support `japanese-jef-china3'.
1879         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1880         (complex_vars_of_mule_charset): Add new coded-charset
1881         `japanese-jef-china3'.
1882
1883 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1884
1885         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1886         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1887         94^4, 96^3, 96^4, 128^n and 256^n set.
1888         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1889         (map_char_table): Likewise.
1890
1891 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1892
1893         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1894         UTF-2000.
1895
1896 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1897
1898         * chartab.h (get_char_id_table): New inline function.
1899
1900         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1901         function.
1902
1903 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1904
1905         * chartab.h (decode_char_table_range): New prototype in XEmacs
1906         UTF-2000.
1907         (put_char_id_table): New inline function in XEmacs UTF-2000.
1908
1909         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1910         function.
1911         (decode_char_table_range): Delete static declaration in XEmacs
1912         UTF-2000.
1913
1914 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1915
1916         * chartab.c (put_char_id_table): Use `put_char_table'.
1917
1918 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1919
1920         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1921         (map_over_uint16_byte_table): Likewise.
1922         (map_over_byte_table): Likewise.
1923         (map_char_table): Modify for `map_over_uint8_byte_table',
1924         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1925         UTF-2000.
1926
1927 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1928
1929         * chartab.c (struct map_char_table_for_charset_arg): New
1930         structure.
1931         (map_char_table_for_charset_fun): New function.
1932         (map_char_table): Use `map_char_table' for encoding_table of
1933         `range->charset'.
1934
1935 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1936
1937         * chartab.c (map_char_table): Check a character is found in
1938         range->charset instead of non default value is defined in
1939         char-table when range is CHARTAB_RANGE_ROW.
1940
1941 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1942
1943         * chartab.c (map_char_id_table): Deleted.
1944         (Fmap_char_attribute): Use `map_char_table' instead of
1945         `map_char_id_table'.
1946
1947 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1948
1949         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1950         UTF-2000.
1951         (update_syntax_table): Deleted in XEmacs UTF-2000.
1952
1953         * syntax.c (find_defun_start): Use `syntax_table' instead of
1954         `mirror_syntax_table' in XEmacs UTF-2000.
1955         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1956         UTF-2000.
1957         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1958         XEmacs UTF-2000.
1959         (Fmatching_paren): Likewise.
1960         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1961         in XEmacs UTF-2000.
1962         (find_start_of_comment): Likewise.
1963         (find_end_of_comment): Likewise.
1964         (Fforward_comment): Likewise.
1965         (scan_lists): Likewise.
1966         (char_quoted): Likewise.
1967         (Fbackward_prefix_chars): Likewise.
1968         (scan_sexps_forward): Likewise.
1969         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1970         (update_syntax_table): Likewise.
1971
1972         * search.c (skip_chars): Use `syntax_table' instead of
1973         `mirror_syntax_table' in XEmacs UTF-2000.
1974         (wordify): Likewise.
1975         (Freplace_match): Likewise.
1976
1977         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1978         `mirror_syntax_table' in XEmacs UTF-2000.
1979         (WORDCHAR_P_UNSAFE): Likewise.
1980         (re_match_2_internal): Likewise.
1981
1982         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1983         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1984
1985         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1986         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1987
1988         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1989         XEmacs UTF-2000.
1990
1991         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1992         UTF-2000.
1993         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1994         (char_table_description): Delete `mirror_table' in XEmacs
1995         UTF-2000.
1996         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1997         UTF-2000.
1998         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1999         (Fcopy_char_table): Likewise.
2000         (put_char_table): Don't call `update_syntax_table' in XEmacs
2001         UTF-2000.
2002
2003         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2004         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2005         (casify_region_internal): Likewise.
2006
2007         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2008
2009         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2010         `mirror_syntax_table' in XEmacs UTF-2000.
2011
2012         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2013         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2014         (Fexpand_abbrev): Likewise.
2015
2016 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2017
2018         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2019
2020 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2021
2022         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2023         (map_over_uint16_byte_table): Likewise.
2024         (map_over_byte_table): Likewise.
2025         (get_char_id_table): Refer `cit->default_value'.
2026         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2027         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2028         of character-id ranges.
2029         (mark_char_table): Mark `ct->default_value'.
2030         (char_table_description): Add `default_value'.
2031         (fill_char_table): Use `default_value'.
2032         (decode_char_table_range): Decode `nil' as
2033         `CHARTAB_RANGE_DEFAULT'.
2034         (get_char_id_table): Refer `cit->default_value'.
2035         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2036         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2037         temporary hack; check value of char-table is bound or not.
2038         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2039
2040         * chartab.h (struct Lisp_Char_Table): Add new member
2041         `default_value' in XEmacs UTF-2000.
2042         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2043         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2044         UTF-2000.
2045
2046 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2047
2048         * chartab.h (Lisp_Char_ID_Table): Deleted.
2049
2050         * chartab.c (char_table_description): Fix typo.
2051         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2052         `Lisp_Char_ID_Table'.
2053
2054 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2055
2056         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2057         `CHAR_ID_TABLE_P'.
2058
2059         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2060         `CHAR_ID_TABLE_P'.
2061
2062         * chartab.h (XCHAR_ID_TABLE): Deleted.
2063         (XSETCHAR_ID_TABLE): Deleted.
2064         (CHAR_ID_TABLE_P): Deleted.
2065
2066         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2067         `CHAR_ID_TABLE_P'.
2068         (Fget_composite_char): Likewise.
2069         (put_char_table): Likewise.
2070         (add_char_attribute_alist_mapper): Fixed.
2071         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2072         `CHAR_ID_TABLE_P'.
2073         (Fget_char_attribute): Likewise.
2074         (Fget_char_attribute): Likewise.
2075         (Fmap_char_attribute): Likewise.
2076
2077         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2078         `CHAR_ID_TABLE_P'.
2079         (encode_char_1): Likewise.
2080
2081 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2082
2083         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2084         `XCHAR_ID_TABLE'.
2085
2086         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2087         instead of `XCHAR_ID_TABLE'.
2088         (remove_char_ccs): Likewise.
2089
2090         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2091         `XCHAR_ID_TABLE'.
2092         (Fget_composite_char): Likewise.
2093         (Fchar_variants): Likewise.
2094         (put_char_table): Likewise.
2095         (add_char_attribute_alist_mapper): Likewise.
2096         (Fchar_attribute_alist): Likewise.
2097         (Fget_char_attribute): Likewise.
2098         (Fput_char_attribute): Likewise.
2099         (Fmap_char_attribute): Likewise.
2100         (Fmap_char_attribute): Likewise.
2101
2102         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2103         `XCHAR_ID_TABLE'.
2104         (encode_char_1): Likewise.
2105
2106 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2107
2108         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2109         `Lisp_Char_ID_Table'.
2110         (mark_char_id_table): Deleted.
2111         (print_char_id_table): Likewise.
2112         (char_id_table_equal): Likewise.
2113         (char_id_table_hash): Likewise.
2114         (char_id_table_description): Likewise.
2115         (char_id_table): Likewise.
2116         (make_char_id_table): Use `Fmake_char_table' and
2117         `fill_char_table'.
2118         (get_char_id_table): Use `Lisp_Char_Table' instead of
2119         `Lisp_Char_ID_Table'.
2120         (put_char_id_table): Likewise.
2121         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2122         `XCHAR_ID_TABLE'.
2123         (Fremove_char_attribute): Likewise.
2124         (syms_of_chartab): Don't define type `char-id-table'.
2125
2126         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2127         (char_id_table): Likewise.
2128         (GC_CHAR_ID_TABLE_P): Likewise.
2129         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2130         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2131         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2132         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2133         (get_char_id_table): Use `Lisp_Char_Table' instead of
2134         `Lisp_Char_ID_Table'.
2135         (put_char_id_table_0): Likewise.
2136         (put_char_id_table): Likewise.
2137
2138 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2139
2140         * chartab.h: Lisp_Byte_Table related codes are moved from
2141         chartab.h.
2142
2143         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2144
2145 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2146
2147         * chartab.h: Don't include "chartab.h".
2148         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2149         (Lisp_Char_ID_Table): Likewise.
2150         (char_id_table): Likewise.
2151         (XCHAR_ID_TABLE): Likewise.
2152         (XSETCHAR_ID_TABLE): Likewise.
2153         (CHAR_ID_TABLE_P): Likewise.
2154         (GC_CHAR_ID_TABLE_P): Likewise.
2155         (get_char_id_table): Likewise.
2156
2157         * char-ucs.h: Include "chartab.h".
2158         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2159         (Lisp_Char_ID_Table): Likewise.
2160         (char_id_table): Likewise.
2161         (XCHAR_ID_TABLE): Likewise.
2162         (XSETCHAR_ID_TABLE): Likewise.
2163         (CHAR_ID_TABLE_P): Likewise.
2164         (GC_CHAR_ID_TABLE_P): Likewise.
2165         (get_char_id_table): Likewise.
2166
2167 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2168
2169         * chartab.c (copy_uint8_byte_table): New function.
2170         (copy_uint16_byte_table): New function.
2171         (copy_byte_table): New function.
2172         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2173         characters to call.
2174         (map_over_uint16_byte_table): Likewise.
2175         (map_over_byte_table): Likewise.
2176         (get_byte_table): Move prototype to chartab.h.
2177         (put_byte_table): Likewise.
2178         (put_char_id_table_0): Moved to chartab.h.
2179         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2180         (char_table_entry_equal): Likewise.
2181         (char_table_entry_hash): Likewise.
2182         (char_table_entry_description): Likewise.
2183         (char_table_entry): Likewise.
2184         (make_char_table_entry): Likewise.
2185         (copy_char_table_entry): Likewise.
2186         (get_non_ascii_char_table_value): Likewise.
2187         (map_over_charset_ascii): Likewise.
2188         (map_over_charset_control_1): Likewise.
2189         (map_over_charset_row): Likewise.
2190         (map_over_other_charset): Likewise.
2191         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2192         (print_char_table): Likewise.
2193         (char_table_equal): Likewise.
2194         (char_table_hash): Likewise.
2195         (char_table_description): Likewise.
2196         (fill_char_table): Likewise.
2197         (Fcopy_char_table): Likewise.
2198         (get_char_table): Likewise.
2199         (Fget_range_char_table): Likewise.
2200         (put_char_table): Likewise.
2201         (map_char_table): Likewise.
2202         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2203         UTF-2000.
2204
2205 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2206
2207         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2208         `Vauto_fill_chars' in XEmacs UTF-2000.
2209
2210         * chartab.h (get_byte_table): New prototype [moved from
2211         chartab.c].
2212         (put_byte_table): Likewise [moved from chartab.c].
2213         (put_char_id_table_0): New inline function [moved from chartab.c].
2214         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2215         (Lisp_Char_Table_Entry): Likewise.
2216         (char_table_entry): Likewise.
2217         (XCHAR_TABLE_ENTRY): Likewise.
2218         (XSETCHAR_TABLE_ENTRY): Likewise.
2219         (CHAR_TABLE_ENTRYP): Likewise.
2220         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2221         (NUM_ASCII_CHARS): Likewise.
2222         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2223         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2224
2225 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2226
2227         * chartab.c (get_char_id_table): Change interface.
2228         (put_char_id_table_0): New function.
2229         (put_char_id_table): Change interface; new implementation.
2230         (Fget_composite_char): Modify for interface change of
2231         `get_char_id_table'.
2232         (Fchar_variants): Likewise.
2233         (add_char_attribute_alist_mapper): Likewise.
2234         (Fchar_attribute_alist): Likewise.
2235         (Fget_char_attribute): Likewise.
2236         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2237         as same as character as the first argument like `put-char-table';
2238         modify for interface change of `put_char_id_table'.
2239         (Fremove_char_attribute): Modify for interface change of
2240         `put_char_id_table'.
2241
2242 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2243
2244         * text-coding.c: Sync up with XEmacs 21.2.41.
2245         (COMPOSE_ADD_CHAR): Modify for interface change of
2246         `get_char_id_table'.
2247
2248         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2249         change of `put_char_id_table'.
2250         (remove_char_ccs): Likewise.
2251
2252         * chartab.h (put_char_id_table): Change interface.
2253
2254         * char-ucs.h (get_char_id_table): Change interface.
2255         (charset_code_point): Modify for interface change of
2256         `get_char_id_table'.
2257         (encode_char_1): Likewise.
2258
2259 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2260
2261         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2262         argument `ccs'.
2263         (map_over_uint16_byte_table): Likewise.
2264         (map_over_byte_table): Likewise.
2265         (map_char_id_table): Add new argument `range' like
2266         `map_char_table'.
2267         (Fmap_char_attribute): Add new argument `range' like
2268         `Fmap_char_table'.
2269
2270 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2271
2272         * chartab.c (map_over_uint8_byte_table): Change interface of
2273         mapping function to use struct chartab_range instead of Emchar.
2274         (map_over_uint16_byte_table): Likewise.
2275         (map_over_byte_table): Likewise.
2276         (map_char_id_table): Likewise.
2277         (struct slow_map_char_id_table_arg): Deleted.
2278         (slow_map_char_id_table_fun): Deleted.
2279         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2280         function `slow_map_char_table_fun' instead of struct
2281         `slow_map_char_id_table_arg' and function
2282         `slow_map_char_id_table_fun'.
2283
2284 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2285
2286         * mule-charset.c: Move char-it-table related codes to chartab.c.
2287         (Vutf_2000_version): Moved to chartab.c.
2288         (Fdefine_char): Likewise.
2289         (Ffind_char): Likewise.
2290         (syms_of_mule_charset): Move types `uint8-byte-table',
2291         `uint16-byte-table', `byte-table' and `char-id-table' to
2292         chartab.c; move functions `char_attribute_list,
2293         `find_char_attribute_table, `char_attribute_alist,
2294         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2295         `map_char_attribute, `define_char, `find_char, `char_variants and
2296         `get_composite_char to chartab.c; move symbols `=>ucs',
2297         `->decomposition', `compat', `isolated', `initial', `medial',
2298         `final', `vertical', `noBreak', `fraction', `super', `sub',
2299         `circle', `square', `wide', `narrow', `small' and `font' to
2300         chartab.c.
2301         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2302         setting codes for `Vcharacter_composition_table' and
2303         `Vcharacter_variant_table' to chartab.c.
2304         (complex_vars_of_mule_charset): Move setting code for
2305         `Vchar_attribute_hash_table' to chartab.c.
2306
2307         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2308         (make_char_id_table): New prototype.
2309         (put_char_id_table): Likewise.
2310         (Fget_char_attribute): Likewise.
2311
2312         * chartab.c: Move char-id-table related code from mule-charset.c.
2313         (Vutf_2000_version): Moved from mule-charset.c.
2314
2315         * char-ucs.h (Qucs): New external variable.
2316         (put_char_ccs_code_point): New prototype.
2317         (remove_char_ccs): Likewise.
2318
2319 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2320
2321         * mule-charset.c (Vcharset_ucs_jis): New variable.
2322         (Qucs_jis): Likewise.
2323         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2324         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2325
2326         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2327
2328 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2329
2330         * mule-charset.c (map_over_uint8_byte_table): New function.
2331         (map_over_uint16_byte_table): Likewise.
2332         (map_over_byte_table): Likewise.
2333         (map_char_id_table): Likewise.
2334         (slow_map_char_id_table_fun): Likewise.
2335         (Fmap_char_attribute): Likewise.
2336         (syms_of_mule_charset): Add new function `map-char-attribute'.
2337
2338 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2339
2340         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2341         (syms_of_mule_charset): Add new function `find-char'.
2342
2343 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2344
2345         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2346         XEmacs UTF-2000.
2347         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2348         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2349         XEmacs UTF-2000.
2350         (complex_vars_of_mule_charset): Add new coded-charset
2351         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2352         `ideograph-gt-pj-*'.
2353
2354         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2355
2356 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2357
2358         * mule-charset.c (encode_builtin_char_1): Purge codes about
2359         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2360         {MIN|MAX}_CHAR_HEBREW.
2361         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2362         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2363
2364         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2365         (MAX_CHAR_GREEK): Purged.
2366         (MIN_CHAR_CYRILLIC): Purged.
2367         (MAX_CHAR_CYRILLIC): Purged.
2368         (MIN_CHAR_HEBREW): Commented out.
2369         (MAX_CHAR_HEBREW): Likewise.
2370
2371 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2372
2373         * mule-charset.c (Qto_ucs): New variable.
2374         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2375         (Fdefine_char): Likewise.
2376         (syms_of_mule_charset): Add new symbol `=>ucs'.
2377
2378 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2379
2380         * mule-charset.c (Fdecode_char): Fixed.
2381
2382 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2383
2384         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2385         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2386         "tcvn5712-1".
2387
2388 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2389
2390         * mule-charset.c (Vcharset_ucs_big5): New variable.
2391         (Qucs_big5): Likewise.
2392         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2393         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2394
2395         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2396
2397 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2398
2399         * mule-charset.c (decode_builtin_char): Check Big5 code range
2400         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2401
2402 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2403
2404         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2405         (Qchinese_gb12345): Likewise.
2406         (Fdecode_builtin_char): Fixed.
2407         (syms_of_mule_charset): Add `chinese-gb12345'.
2408         (complex_vars_of_mule_charset): Add coded-charset
2409         `chinese-gb12345'.
2410
2411         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2412         (LEADING_BYTE_CHINESE_GB12345): New macro.
2413
2414 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2415
2416         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2417         and `latin-viscii-upper' for `latin-viscii'.
2418
2419 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2420
2421         * mule-charset.c (Fdecode_builtin_char): Comment out
2422         regularization code for ISO-IR GR representation.
2423
2424 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2425
2426         * mule-charset.c (decode_builtin_char): New function; renamed from
2427         `make_builtin_char'; return -1 instead of signal.
2428         (Fdecode_builtin_char): Use `decode_builtin_char'.
2429
2430         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2431         `make_builtin_char'.
2432         (DECODE_CHAR): Use `decode_builtin_char' instead of
2433         `make_builtin_char'; use mapping table of `chinese-big5' for
2434         `chinese-big5-{1,2}'.
2435
2436 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2437
2438         * text-coding.c (char_encode_big5): New function.
2439         (char_finish_big5): Likewise.
2440         (reset_encoding_stream): Use `char_encode_big5' and
2441         `char_finish_big5' for CODESYS_BIG5.
2442         (mule_encode): Don't use `encode_coding_big5'.
2443         (encode_coding_big5): Deleted.
2444
2445 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2446
2447         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2448         0x81- in XEmacs UTF-2000.
2449         (detect_coding_big5): Likewise.
2450
2451 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2452
2453         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2454         generate character-id if the CCS property does not have
2455         corresponding predefined character.
2456         (make_builtin_char): Return -1 if corresponding predefined
2457         character is not found.
2458         (Fdecode_char): Return nil if corresponding character is not
2459         found.
2460         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2461         don't map to builtin ucs space.
2462
2463 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2464
2465         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2466         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2467
2468 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2469
2470         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2471         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2472         (Qideograph_gt): Likewise.
2473         (Qideograph_gt_pj_{1..11}): Likewise.
2474         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2475         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2476         `ideograph-gt-pj-11'.
2477         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2478         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2479         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2480
2481         * char-ucs.h (LEADING_BYTE_GT): New macro.
2482         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2483         (MIN_CHAR_GT): Likewise.
2484         (MAX_CHAR_GT): Likewise.
2485
2486 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2487
2488         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2489         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2490
2491         * doprnt.c (unsigned_int_converters): Add `c'.
2492         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2493
2494         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2495         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2496         `MIN_CHAR_MOJIKYO'.
2497         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2498         (MAX_CHAR_MOJIKYO_0): New macro.
2499         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2500
2501 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2502
2503         * mule-charset.c (Fdefine_char): Delete cemented out code.
2504         (encode_builtin_char_1): Modify for new allocation of builtin
2505         Mojikyo characters.
2506
2507         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2508
2509 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2510
2511         * mule-charset.c (Vcharset_ucs_cns): New variable.
2512         (Qucs_cns): New variable.
2513         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2514         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2515
2516 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2517
2518         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2519
2520 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2521
2522         * search.c (search_buffer): Make `charset_base_code' as
2523         character-id >> 6 to eliminate the corresponding last byte in
2524         UTF-8 representation [I'm not sure it is right thing].
2525         (boyer_moore): Likewise.
2526
2527 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2528
2529         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2530         representation in MULE.
2531
2532 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2533
2534         * text-coding.c (Fmake_coding_system): Use
2535         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2536         `EXTERNAL_PROPERTY_LIST_LOOP'.
2537
2538 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2539
2540         * text-coding.c (decode_output_utf8_partial_char): New function.
2541         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2542
2543 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2544
2545         * text-coding.c (decode_coding_utf8): Output original byte
2546         sequence if it is broken; change order of conditions.
2547
2548         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2549         of conditions.
2550
2551         * mb-multibyte.h (BYTE_ASCII_P):
2552         Use bit ops for char-signedness safety.
2553         (BYTE_C0_P): Use bit ops for char-signedness safety.
2554         (BYTE_C1_P): Use bit ops for char-signedness safety.
2555
2556         * character.h: (XCHAR_OR_CHAR_INT):
2557         Always use inline function.
2558         Remove redundant type checking assert() - XINT will abort quite
2559         nicely.
2560
2561 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2562
2563         * text-coding.c: (Fencode_shift_jis_char):
2564         (Fencode_big5_char):
2565         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2566         Replace 0 with '\0' when working with bytes.
2567         Replace initial "(" with "\(" in docstrings.
2568
2569         (Fmake_coding_system):
2570         When type is ccl and value is vector, register it with a proper
2571         symbol.  And checks whether the given ccl program is valid.
2572         (mule_decode): When calling ccl_driver, if src indicates
2573         NULL pointer, set an empty string instead.
2574         (mule_encode): Likewise.
2575
2576         (detect_eol_type):
2577         (detect_coding_sjis):
2578         (decode_coding_sjis):
2579         (detect_coding_big5):
2580         (decode_coding_big5):
2581         (detect_coding_ucs4):
2582         (decode_coding_ucs4):
2583         (detect_coding_utf8):
2584         (decode_coding_utf8):
2585         (detect_coding_iso2022):
2586         (decode_coding_iso2022):
2587         (decode_coding_no_conversion):
2588         (mule_decode):
2589         Make all detecting and decoding functions take an Extbyte * arg.
2590         (text_encode_generic):
2591         (encode_coding_big5):
2592         (encode_coding_no_conversion):
2593         (mule_encode):
2594         Make all encoding functions take a Bufbyte * arg.
2595         Use size_t instead of unsigned int for memory sizes.
2596         Only cast to unsigned char whenever dereferencing Extbyte *.
2597
2598         (struct lrecord_description fcd_description_1): Use countof.
2599         (complex_vars_of_file_coding):
2600         Use countof instead of sizeof.
2601         Use CHECK_NATNUM instead of CHECK_INT.
2602
2603 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2604
2605         * mule-charset.c (Fget_char_attribute): Add new optional argument
2606         `default-value'.
2607         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2608         (remove_char_ccs): Likewise.
2609
2610 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2611
2612         * text-coding.c (char_encode_shift_jis): New implementation in
2613         UTF-2000.
2614         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2615         ...)'.
2616
2617         * mule-charset.c (Vcharset_chinese_big5): New variable in
2618         UTF-2000.
2619         (Qchinese_big5): New variable in UTF-2000.
2620         (BIG5_SAME_ROW): New macro in UTF-2000.
2621         (make_builtin_char): Use builtin characters of
2622         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2623         characters of `Vcharset_chinese_big5'.
2624         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2625         (complex_vars_of_mule_charset): Add new coded-charset
2626         `chinese-big5' in UTF-2000.
2627
2628         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2629         (Vcharset_chinese_big5): New external variable declaration.
2630         (Vcharset_japanese_jisx0208_1990): Likewise.
2631
2632 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2633
2634         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2635         function.
2636         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2637
2638 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2639
2640         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2641         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2642         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2643         `mojikyo-pj-*'.
2644
2645 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2646
2647         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2648
2649 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2650
2651         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2652         to 0.17.
2653
2654 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2655
2656         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2657         for `CHARSET_BY_ATTRIBUTES'.
2658         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2659         `CHARSET_BY_ATTRIBUTES'.
2660
2661         * text-coding.c (struct decoding_stream): Rename member `CH' to
2662         `CPOS'.
2663         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2664         (decode_coding_sjis): Likewise.
2665         (decode_coding_big5): Likewise.
2666         (decode_coding_ucs4): Likewise.
2667         (decode_coding_utf8): Likewise.
2668         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2669         `CHARSET_BY_ATTRIBUTES'.
2670         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2671         `str->counter'; decode 3, 4 bytes sets.
2672         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2673         sets.
2674         (decode_coding_no_conversion): Use `str->cpos' instead of
2675         `str->ch'.
2676
2677         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2678         (Qmojikyo_2022_1): New variable.
2679         (make_charset): Don't use `CHARSET_TYPE_*'.
2680         (range_charset_code_point): Support coded-charset
2681         `mojikyo-2022-1'.
2682         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2683         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2684         `CHARSET_BY_ATTRIBUTES'.
2685         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2686         `CHARSET_BY_ATTRIBUTES'.
2687         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2688         (complex_vars_of_mule_charset): Add new coded-charset
2689         `mojikyo-2022-1'.
2690
2691         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2692         interface; changed to inline function.
2693
2694         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2695         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2696         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2697         (CHARSET_TYPE_94): Deleted.
2698         (CHARSET_TYPE_94X94): Deleted.
2699         (CHARSET_TYPE_96): Deleted.
2700         (CHARSET_TYPE_96X96): Deleted.
2701         (CHARSET_TYPE_128): Deleted.
2702         (CHARSET_TYPE_128X128): Deleted.
2703         (CHARSET_TYPE_256): Deleted.
2704         (CHARSET_TYPE_256X256): Deleted.
2705         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2706         to inline function.
2707         (DECODE_MOJIKYO_2022): New inline function.
2708         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2709         `Vcharset_mojikyo_2022_1'.
2710
2711 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2712
2713         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2714         instead of `EQ'.
2715         (put_byte_table): Likewise.
2716         (char_id_table_equal): Use `get_byte_table' [new implementation].
2717
2718 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2719
2720         * mule-charset.c: Include <limits.h> in UTF-2000.
2721         (BT_UINT8_MIN): New macro in UTF-2000.
2722         (BT_UINT8_MAX): New macro in UTF-2000.
2723         (BT_UINT8_t): New macro in UTF-2000.
2724         (BT_UINT8_nil): New macro in UTF-2000.
2725         (BT_UINT8_unbound): New macro in UTF-2000.
2726         (INT_UINT8_P): New inline function in UTF-2000.
2727         (UINT8_VALUE_P): New inline function in UTF-2000.
2728         (UINT8_ENCODE): New inline function in UTF-2000.
2729         (UINT8_DECODE): New inline function in UTF-2000.
2730         (mark_uint8_byte_table): New function in UTF-2000.
2731         (print_uint8_byte_table): New function in UTF-2000.
2732         (uint8_byte_table_equal): New function in UTF-2000.
2733         (uint8_byte_table_hash): New function in UTF-2000.
2734         (make_uint8_byte_table): New function in UTF-2000.
2735         (uint8_byte_table_same_value_p): New function in UTF-2000.
2736         (BT_UINT16_MIN): New macro in UTF-2000.
2737         (BT_UINT16_MAX): New macro in UTF-2000.
2738         (BT_UINT16_t): New macro in UTF-2000.
2739         (BT_UINT16_nil): New macro in UTF-2000.
2740         (BT_UINT16_unbound): New macro in UTF-2000.
2741         (INT_UINT16_P): New inline function in UTF-2000.
2742         (UINT16_VALUE_P): New inline function in UTF-2000.
2743         (UINT16_ENCODE): New inline function in UTF-2000.
2744         (UINT16_DECODE): New inline function in UTF-2000.
2745         (UINT8_TO_UINT16): New inline function in UTF-2000.
2746         (mark_uint16_byte_table): New function in UTF-2000.
2747         (print_uint16_byte_table): New function in UTF-2000.
2748         (uint16_byte_table_equal): New function in UTF-2000.
2749         (uint16_byte_table_hash): New function in UTF-2000.
2750         (make_uint16_byte_table): New function in UTF-2000.
2751         (uint16_byte_table_same_value_p): New function in UTF-2000.
2752         (print_byte_table): New function in UTF-2000.
2753         (byte-table): Use `print_byte_table' as printer.
2754         (make_byte_table): Delete second argument `older'.
2755         (byte_table_same_value_p): New function in UTF-2000.
2756         (copy_byte_table): Deleted.
2757         (get_byte_table): New function in UTF-2000.
2758         (put_byte_table): New function in UTF-2000.
2759         (print_char_id_table): New function in UTF-2000.
2760         (char-id-table): Use `print_char_id_table' as printer.
2761         (make_char_id_table): Delete second argument `older'.
2762         (get_char_id_table): Use `get_byte_table [new implementation].
2763         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2764         implementation].
2765         (Ffind_char_attribute_table): New function in UTF-2000.
2766         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2767         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2768         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2769         (syms_of_mule_charset): Add new function
2770         `find-char-attribute-table' in UTF-2000.
2771
2772         * lrecord.h (enum lrecord_type): Add
2773         `lrecord_type_uint16_byte_table' and
2774         `lrecord_type_uint8_byte_table'.
2775
2776         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2777         (Lisp_Uint8_Byte_Table): New type.
2778         (XUINT8_BYTE_TABLE): New macro.
2779         (XSETUINT8_BYTE_TABLE): New macro.
2780         (UINT8_BYTE_TABLE_P): New macro.
2781         (GC_UINT8_BYTE_TABLE_P): New macro.
2782         (struct Lisp_Uint16_Byte_Table): New structure.
2783         (Lisp_Uint16_Byte_Table): New type.
2784         (XUINT16_BYTE_TABLE): New macro.
2785         (XSETUINT16_BYTE_TABLE): New macro.
2786         (UINT16_BYTE_TABLE_P): New macro.
2787         (GC_UINT16_BYTE_TABLE_P): New macro.
2788
2789 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2790
2791         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2792         (Vcharacter_ideographic_strokes_table): Deleted.
2793         (Vcharacter_total_strokes_table): Deleted.
2794         (Vcharacter_morohashi_daikanwa_table): Deleted.
2795         (Vcharacter_decomposition_table): Deleted.
2796         (Qname): Deleted because it is duplicated.
2797         (Qideographic_radical): Deleted.
2798         (Qideographic_strokes): Deleted.
2799         (Qtotal_strokes): Deleted.
2800         (Qmorohashi_daikanwa): Deleted.
2801         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2802         `ideographic-radical', `ideographic-strokes', `total-strokes',
2803         `morohashi-daikanwa' and `->decomposition'.
2804         (Fget_char_attribute): Likewise.
2805         (Fput_char_attribute): Likewise; use `make-vector' instead of
2806         `make_older_vector' for `->decomposition' value.
2807         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2808         `ideograph-daikanwa'.
2809         (syms_of_mule_charset): Delete builtin symbols `name',
2810         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2811         `morohashi-daikanwa'.
2812         (vars_of_mule_charset): Don't setup
2813         `Vcharacter_ideographic_radical_table',
2814         `Vcharacter_ideographic_strokes_table',
2815         `Vcharacter_total_strokes_table',
2816         `Vcharacter_morohashi_daikanwa_table' and
2817         `Vcharacter_decomposition_table'.
2818
2819 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2820
2821         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2822         `make_older_vector', `make_vector_newer_1' and
2823         `make_vector_newer'.
2824
2825         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2826         `make_older_vector' and `make_vector_newer'.
2827
2828         * config.h.in (HAVE_GGC): New macro.
2829
2830 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2831
2832         * mule-charset.c (struct char_attribute_list_closure): New
2833         structure in UTF-2000.
2834         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2835         (Fchar_attribute_list): Likewise.
2836         (Fset_charset_mapping_table): Use `make_vector_newer'.
2837         (Fdecode_builtin_char): New function in UTF-2000.
2838         (syms_of_mule_charset): Add new function `char-attribute-list' and
2839         `decode-builtin-char' in UTF-2000.
2840
2841         * lisp.h (make_vector_newer): New prototype.
2842
2843         * alloc.c (make_vector_newer_1): New function.
2844         (make_vector_newer): New function.
2845
2846 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2847
2848         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2849         50100)'.
2850
2851 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2852
2853         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2854         (Vcharacter_attribute_table): Deleted.
2855         (Vcharacter_name_table): Deleted.
2856         (put_char_attribute): Deleted.
2857         (remove_char_attribute): Deleted.
2858         (struct char_attribute_alist_closure): New structure.
2859         (add_char_attribute_alist_mapper): New function.
2860         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2861         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2862         (Fget_char_attribute): Likewise.
2863         (Fput_char_attribute): Likewise.
2864         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2865         of `remove_char_attribute'.
2866         (Fdefine_char): Return character.
2867         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2868         and `Vcharacter_name_table'.
2869         (complex_vars_of_mule_charset): Likewise
2870         `Vchar_attribute_hash_table'.
2871
2872 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2873
2874         * character.h (CHARC_CHARSET): New macro.
2875         (CHARC_CHARSET_ID): New macro.
2876         (CHARC_CODE_POINT): New macro.
2877         (CHARC_COLUMNS): New macro.
2878         (CHARC_TO_CHAR): New inline function.
2879         (CHARC_EQ): New inline function.
2880         (CHARC_ASCII_EQ): New inline function.
2881         (CHARC_IS_SPACE): New inline function.
2882         (ASCII_TO_CHARC): New inline function.
2883
2884         * char-ucs.h (encode_char_2): Deleted.
2885         (ENCODE_CHAR): Use `encode_char_1' again.
2886         (breakup_char_1): Likewise.
2887         (CHAR_TO_CHARC): New inline function.
2888
2889         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2890
2891 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2892
2893         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2894         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2895         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2896         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2897         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2898         `CHARC_IS_SPACE'.
2899         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2900
2901         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2902         `CHARC_CODE_POINT'.
2903         (x_output_display_block): Use `CHARC_CHARSET' and
2904         `CHARC_ASCII_EQ'.
2905
2906         * redisplay-tty.c (tty_output_display_block): Use
2907         `CHARC_ASCII_EQ'.
2908         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2909
2910         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2911
2912         * insdel.c (find_charsets_in_charc_string): Use
2913         `CHARC_CHARSET_ID'.
2914         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2915         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2916         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2917         (convert_charc_string_into_malloced_string): Likewise.
2918
2919 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2920
2921         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2922         instead of <Emchar_dynarr *> for buf; use
2923         `convert_bufbyte_string_into_charc_dynarr' instead of
2924         `convert_bufbyte_string_into_emchar_dynarr'; use
2925         `find_charsets_in_charc_string' instead of
2926         `find_charsets_in_emchar_string'.
2927
2928         * redisplay.h:
2929         - Include "character.h".
2930         (struct rune): New member `cglyph'; delete member `chr'.
2931
2932         * redisplay.c (redisplay_text_width_charc_string): New function;
2933         delete `redisplay_text_width_emchar_string'.
2934         (rtw_charc_dynarr): New variable; renamed from
2935         `rtw_emchar_dynarr'.
2936         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2937         `rtw_emchar_dynarr'; use
2938         `convert_bufbyte_string_into_charc_dynarr' instead of
2939         `convert_bufbyte_string_into_emchar_dynarr'; use
2940         `redisplay_text_width_charc_string' instead of
2941         `redisplay_text_width_emchar_string'.
2942         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2943         instead of `rtw_emchar_dynarr'; use
2944         `convert_bufbyte_string_into_charc_dynarr' instead of
2945         `convert_bufbyte_string_into_emchar_dynarr'.
2946         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2947         `redisplay_text_width_charc_string' instead of
2948         `redisplay_text_width_emchar_string'.
2949         (create_text_block): Modify for <struct rune> change.
2950         (generate_formatted_string_db): Likewise.
2951         (create_string_text_block): Likewise.
2952         (pixel_to_glyph_translation): Likewise.
2953
2954         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2955         instead of <const Emchar *>.
2956         (x_text_width): Likewise.
2957         (x_output_display_block): Use <Charc_dynarr *> instead
2958         <Emchar_dynarr *>; modify for <structure rune> change.
2959         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2960         *>.
2961
2962         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2963         <const Emchar *>; use `charc_string_displayed_columns' instead of
2964         `emchar_string_displayed_columns'.
2965         (tty_output_display_block): Use <Charc_dynarr *> instead of
2966         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2967         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2968         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2969         `tty_output_emchar_dynarr_dynarr'.
2970         (tty_output_charc_dynarr): New function; delete
2971         `tty_output_charc_dynarr'.
2972
2973         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2974         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2975         <Emchar_dynarr *> for buf; use
2976         `convert_bufbyte_string_into_charc_dynarr' instead of
2977         `convert_bufbyte_string_into_emchar_dynarr'.
2978
2979         * frame.c (title_string_charc_dynarr): New variable; renamed from
2980         `title_string_emchar_dynarr'.
2981         (generate_title_string): Use `title_string_charc_dynarr' instead
2982         of `title_string_emchar_dynarr'; use
2983         `convert_charc_string_into_malloced_string' instead of
2984         `convert_emchar_string_into_malloced_string'.
2985         (init_frame): Use `title_string_charc_dynarr' instead of
2986         `title_string_emchar_dynarr'.
2987
2988         * console.h:
2989         - Include "character.h".
2990         (struct console_methods): Use <const Charc *> instead of <const
2991         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2992         <Emchar_dynarr *> in output_string_method.
2993
2994         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2995         <Emchar_dynarr *>.
2996
2997         * console-stream.c (stream_text_width): Use <const Charc *>
2998         instead of <const Emchar *>.
2999
3000         * character.h (Charc_dynarr): New type.
3001
3002         * char-ucs.h (structure Charc): New structure; define new type
3003         `Charc'.
3004
3005         * char-lb.h (DECODE_CHAR): New inline function.
3006         (encode_char_1): New inline function.
3007         (ENCODE_CHAR): New macro.
3008         (structure Charc): New structure; define new type `Charc'.
3009
3010         * char-1byte.h (Vcharset_control_1): New macro.
3011         (Vcharset_latin_iso8859_1): New macro.
3012         (DECODE_CHAR): New inline function.
3013         (encode_char_1): New inline function.
3014         (ENCODE_CHAR): New macro.
3015         (structure Charc): New structure; define new type `Charc'.
3016
3017         * insdel.c (find_charsets_in_charc_string): New function; delete
3018         `find_charsets_in_emchar_string'.
3019         (charc_string_displayed_columns): New function; delete
3020         `emchar_string_displayed_columns'.
3021         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3022         `convert_bufbyte_string_into_emchar_dynarr'.
3023         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3024         `convert_charc_string_into_bufbyte_dynarr'.
3025         (convert_charc_string_into_malloced_string): New function; delete
3026         `convert_charc_string_into_malloced_string'.
3027
3028         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3029         `find_charsets_in_emchar_string'.
3030         (charc_string_displayed_columns): New prototype; delete
3031         `emchar_string_displayed_columns'.
3032         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3033         `convert_charc_string_into_bufbyte_dynarr'.
3034         (convert_charc_string_into_malloced_string): New prototype; delete
3035         `convert_charc_string_into_malloced_string'.
3036
3037 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3038
3039         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3040
3041 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3042
3043         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3044
3045         * char-ucs.h: Use <short> for <Charset_ID>.
3046
3047         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3048         <Charset_ID>.
3049
3050 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3051
3052         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3053         to 0.16.
3054
3055 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3056
3057         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3058         variable.
3059         (Qmorohashi_daikanwa): New variable.
3060         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3061         for `morohashi-daikanwa' attribute.
3062         (Fget_char_attribute): Likewise.
3063         (Fput_char_attribute): Likewise.
3064         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3065         has the same value of `ideograph-daikanwa'.
3066         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3067         (vars_of_mule_charset): Setup
3068         `Vcharacter_morohashi_daikanwa_table'.
3069
3070 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3071
3072         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3073         attributes.
3074         (add_charset_to_list_mapper): Add `key' instead of
3075         `XCHARSET_NAME (value)' to return aliases.
3076
3077 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3078
3079         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3080         variable.
3081         (Vcharacter_ideographic_strokes_table): New variable.
3082         (Qideographic_radical): New variable.
3083         (Qideographic_strokes): New variable.
3084         (Fchar_attribute_alist): Use
3085         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3086         attribute; use `Vcharacter_ideographic_strokes_table' for
3087         `ideographic-strokes' attribute.
3088         (Fget_char_attribute): Likewise.
3089         (Fput_char_attribute): Likewise.
3090         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3091         `ideographic-strokes'.
3092         (vars_of_mule_charset): Setup
3093         `Vcharacter_ideographic_radical_table' and
3094         `Vcharacter_ideographic_strokes_table'.
3095
3096 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3097
3098         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3099         (Qtotal_strokes): New variable.
3100         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3101         `total-strokes' attribute.
3102         (Fget_char_attribute): Likewise.
3103         (Fput_char_attribute): Likewise.
3104         (syms_of_mule_charset): Add new symbol `total-strokes'.
3105         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3106
3107 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3108
3109         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3110         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3111         are found.
3112         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3113         `->decomposition' attribute.
3114         (Fput_char_attribute): Likewise.
3115         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3116
3117 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3118
3119         * mule-charset.c (decoding_table_check_elements): New function.
3120         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3121
3122 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3123
3124         * mule-charset.c (Fset_charset_mapping_table): Use
3125         `put_char_ccs_code_point'.
3126
3127 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3128
3129         * mule-charset.c (decoding_table_put_char): New inline function.
3130         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3131
3132 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3133
3134         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3135         (XCHARSET_BYTE_SIZE): New macro.
3136         (decoding_table_remove_char): New inline function.
3137         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3138         `decoding_table_remove_char'.
3139         (remove_char_ccs): Use `decoding_table_remove_char'.
3140         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3141
3142 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3143
3144         * mule-charset.c (Vcharacter_name_table): New variable.
3145         (Qname): New variable.
3146         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3147         attribute.
3148         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3149         `Vcharacter_name_table' for `name' attribute.
3150         (Fremove_char_attribute): Use function `remove_char_ccs'.
3151         (put_char_ccs_code_point): New function.
3152         (remove_char_ccs): New function.
3153         (syms_of_mule_charset): Add new symbol `name'.
3154         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3155
3156 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3157
3158         * mule-charset.c (make_byte_table): Add new argument `older'.
3159         (make_char_id_table): Likewise.
3160         (copy_char_id_table): Comment out because it is not used.
3161         (put_char_id_table): Modify for `make_byte_table'.
3162         (Fput_char_attribute): Make encoding_table as older object;
3163         inherit older bit of `Vcharacter_composition_table'.
3164         (mark_charset): Don't mark `cs->encoding_table'.
3165         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3166         normal object; make `Vcharacter_composition_table' as an older
3167         object; delete staticpro for `Vcharacter_composition_table'; make
3168         `Vcharacter_variant_table' as a normal object.
3169
3170         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3171         (mark_object): Don't check older object in UTF-2000.
3172
3173         * lrecord.h (struct lrecord_header): Add new member `older' in
3174         UTF-2000.
3175         (set_lheader_implementation): Setup `SLI_header->older' in
3176         UTF-2000.
3177         (set_lheader_older_implementation): New macro in UTF-2000.
3178         (OLDER_RECORD_P): New macro in UTF-2000.
3179         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3180         (alloc_older_lcrecord): New prototype in UTF-2000.
3181         (alloc_older_lcrecord_type): New macro in UTF-2000.
3182
3183 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3184
3185         * mule-charset.c (byte_table_description): Use
3186         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3187         (char_id_table_description): Delete bogus `, 1'.
3188         (Fget_char_attribute): Refer encoding_table of each coded-charset
3189         to get value of coded-charset attribute of a character.
3190         (Fput_char_attribute): Use `make_older_vector' instead of
3191         `make_vector'; use encoding_table of each coded-charset to store
3192         value of coded-charset attribute of a character.
3193         (Fremove_char_attribute): Use encoding_table of each coded-charset
3194         to store value of coded-charset attribute of a character.
3195         (mark_charset): Mark `cs->encoding_table'; don't mark
3196         `cs->decoding_table'.
3197         (charset_description): Add description of new member
3198         `encoding_table'.
3199         (make_charset): Initialize `encoding_table'.
3200
3201         * char-ucs.h (struct Lisp_Charset): Add new member
3202         `encoding_table'.
3203         (CHARSET_ENCODING_TABLE): New macro.
3204         (XCHARSET_ENCODING_TABLE): New macro.
3205         (charset_code_point): New implementation.
3206         (encode_char_1): Likewise.
3207
3208         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3209         (disksave_object_finalization_1): Call finalizers of
3210         `all_older_lcrecords' in UTF-2000.
3211         (make_older_vector): New function in UTF-2000.
3212         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3213         UTF-2000.
3214
3215         * lisp.h (make_older_vector): New prototype in UTF-2000.
3216
3217 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3218
3219         * lrecord.h (enum lrecord_type): Rename
3220         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3221
3222         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3223         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3224         `get_char_code_table'.
3225
3226         * mule-charset.c (mark_char_id_table): Renamed from
3227         `mark_char_code_table'.
3228         (char_id_table_equal): Renamed from `char_code_table_equal'.
3229         (char_id_table_hash): Renamed from `char_code_table_hash'.
3230         (make_char_id_table): Renamed from `make_char_code_table'.
3231         (copy_char_id_table): Renamed from `copy_char_code_table'.
3232         (get_char_id_table): Renamed from `get_char_code_table'.
3233         (put_char_id_table): Renamed from `put_char_code_table'.
3234         (to_char_id): Renamed from `to_char_code'.
3235
3236         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3237         `Lisp_Char_Code_Table'.
3238         (char_id_table): Renamed from `char_code_table'.
3239         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3240         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3241         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3242         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3243         (get_char_id_table): Renamed from `get_char_code_table'.
3244
3245 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3246
3247         * lrecord.h (enum lrecord_type): Rename
3248         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3249
3250         * mule-charset.c (mark_byte_table): Renamed from
3251         `mark_char_byte_table'.
3252         (byte_table_equal): Renamed from `char_byte_table_equal'.
3253         (byte_table_hash): Renamed from `byte_table_hash'.
3254         (make_byte_table): Renamed from `make_byte_table'.
3255         (copy_byte_table): Renamed from `copy_char_byte_table'.
3256
3257         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3258         `Lisp_Char_Byte_Table'.
3259         (byte_table): Renamed from `char_byte_table'.
3260         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3261         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3262         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3263         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3264
3265 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3266
3267         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3268         (dfc_convert_to_internal_format): Likewise.
3269         
3270         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3271         * text-coding.c (Fcoding_system_alias_p): New function.
3272         * text-coding.c (Fcoding_system_aliasee): New function.
3273         * text-coding.c (append_suffix_to_symbol): New function.
3274         * text-coding.c (dangling_coding_system_alias_p): New function.
3275         * text-coding.c (Ffind_coding_system):
3276         * text-coding.c (Fcopy_coding_system):
3277         * text-coding.c (encode_coding_no_conversion):
3278         * text-coding.c (syms_of_file_coding):
3279         * text-coding.c (vars_of_file_coding):
3280         Rewrite coding system alias code.
3281         Allow nested aliases, like symbolic links.
3282         Allow redefinition of coding system aliases.
3283         Prevent existence of dangling coding system aliases.
3284         Eliminate convert_to_external_format.
3285         Eliminate convert_to_internal_format.
3286         
3287         * text-coding.c: Change enum eol_type to eol_type_t.
3288
3289 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3290
3291         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3292         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3293
3294         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3295         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3296
3297 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3298
3299         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3300         `ideograph-daikanwa'.
3301
3302         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3303         (Vcharset_ucs_bmp): Likewise.
3304         (Vcharset_mojikyo): Add new extern variable definition.
3305         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3306         (Vcharset_latin_iso8859_3): Likewise.
3307         (Vcharset_latin_iso8859_4): Likewise.
3308         (Vcharset_latin_iso8859_9): Likewise.
3309         (Vcharset_latin_viscii_lower): Likewise.
3310         (Vcharset_latin_viscii_upper): Likewise.
3311         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3312         `mojikyo' code-point is used to decode.
3313         (encode_char_2): New function [to convert `mojikyo' code-point to
3314         Mojikyo font encoding].
3315         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3316         (breakup_char_1): Likewise.
3317         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3318
3319 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3320
3321         * text-coding.c (Fmake_coding_system): Add document about
3322         `disable-composition' property.
3323
3324 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3325
3326         * text-coding.c (Qdisable_composition): New variable; delete
3327         `Qcomposite'.
3328         (Fmake_coding_system): Add new property `disable-composite';
3329         delete property `composite'.
3330         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3331         instead of `!CODING_SYSTEM_COMPOSITE'.
3332         (syms_of_file_coding): Add new symbol `disable-composition';
3333         delete symbol `composite'.
3334
3335         * file-coding.h (struct Lisp_Coding_System): Add
3336         `disable_composition'; delete `enable_composition'.
3337         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3338         `CODING_SYSTEM_COMPOSITE'.
3339         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3340         `XCODING_SYSTEM_COMPOSITE'.
3341
3342 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3343
3344         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3345         to 0.15.
3346
3347 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3348
3349         * text-coding.c (Qcomposite): New variable.
3350         (Fmake_coding_system): Add new property `composite'.
3351         (struct decoding_stream): Add `combined_char_count',
3352         `combined_chars' and `combining_table' in UTF-2000.
3353         (COMPOSE_FLUSH_CHARS): New macro.
3354         (COMPOSE_ADD_CHAR): New macro.
3355         (reset_decoding_stream): Reset `str->combined_char_count' and
3356         `str->combining_table' in UTF-2000.
3357         (decode_coding_iso2022): Modify for character-decomposition.
3358         (syms_of_file_coding): Add new symbol `composite'.
3359
3360 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3361
3362         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3363         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3364         of `Vcharacter_composition_table' if `->decomposition' property
3365         has only 1 element.
3366         (Qlatin_tcvn5712): New variable.
3367         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3368         (complex_vars_of_mule_charset): Add new coded-charset
3369         `latin-tcvn5712'.
3370
3371         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3372
3373 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3374
3375         * file-coding.h (struct Lisp_Coding_System): Add
3376         `enable_composition'.
3377         (CODING_SYSTEM_COMPOSITE): New macro.
3378         (XCODING_SYSTEM_COMPOSITE): New macro.
3379
3380 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3381
3382         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3383
3384 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3385
3386         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3387         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3388
3389 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3390
3391         * mule-charset.c (Vcharset_mojikyo): New variable.
3392         (Fdefine_char): Don't use coded-charset which does not have
3393         non-builtin character range to allocate character-id.
3394         (Qmojikyo): New variable.
3395         (syms_of_mule_charset): Add new symbol `mojikyo'.
3396         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3397
3398         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3399         (LEADING_BYTE_MOJIKYO): New macro.
3400         (MIN_CHAR_MOJIKYO): New macro.
3401         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3402         (MAX_CHAR_MOJIKYO): New macro.
3403
3404 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3405
3406         * mule-charset.c (remove_char_attribute): Fixed.
3407
3408 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3409
3410         * mule-charset.c (remove_char_attribute): New function.
3411         (Fremove_char_attribute): New function.
3412         (encode_builtin_char_1): Comment out builtin-support for
3413         greek-iso8859-7 and cyrillic-iso8859-5.
3414         (Fdecode_char): Check `code' is an integer.
3415         (syms_of_mule_charset): Add `remove-char-attribute'.
3416         (MIN_CHAR_GREEK): Deleted.
3417         (MAX_CHAR_GREEK): Likewise.
3418         (MIN_CHAR_CYRILLIC): Likewise.
3419         (MAX_CHAR_CYRILLIC): Likewise.
3420         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3421         MAX_CHAR_GREEK for `greek-iso8859-7'.
3422
3423         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3424         (MAX_CHAR_GREEK): Likewise.
3425         (MIN_CHAR_CYRILLIC): Likewise.
3426         (MAX_CHAR_CYRILLIC): Likewise.
3427
3428 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3429
3430         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3431         format is used without `ucs' property.
3432         (Fdecode_char): Fix problem with GR representation.
3433         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3434         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3435
3436 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3437
3438         * mule-charset.c (make_builtin_char): New function.
3439         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3440         (Fset_charset_mapping_table): Modify for new representation of
3441         code-point.
3442         (Fdecode_char): New function.
3443         (syms_of_mule_charset): Add new builtin function `decode-char' in
3444         UTF-2000.
3445
3446         * char-ucs.h (make_builtin_char): New prototype.
3447         (DECODE_CHAR): New inline function.
3448         (MAKE_CHAR): Use `DECODE_CHAR'.
3449
3450 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3451
3452         * text-coding.c (parse_charset_conversion_specs): Use
3453         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3454         `XCHARSET_TYPE'.
3455         (iso2022_designate): Likewise.
3456
3457         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3458         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3459
3460         * mule-charset.c (Vcharset_ucs): New variable.
3461         (print_charset): Change design; use `CHARSET_CHARS' and
3462         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3463         (make_charset): Change signature to specify `chars' and
3464         `dimension' instead of `type'.
3465         (range_charset_code_point): Modify for 256^n-set.
3466         (encode_builtin_char_1): Encode as `ucs' in default.
3467         (Fmake_charset): Modify for `make_charset'.
3468         (Fmake_reverse_direction_charset): Likewise.
3469         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3470         UTF-2000.
3471         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3472         for `make_charset'.
3473
3474         * char-ucs.h (Vcharset_ucs): New variable.
3475         (LEADING_BYTE_UCS): New macro.
3476         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3477         and `chars' to `unsigned short' from `unsigned int'.
3478         (CHARSET_TYPE): Deleted.
3479         (XCHARSET_TYPE): Deleted.
3480
3481 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3482
3483         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3484
3485         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3486         (ENCODE_CHAR): New macro.
3487
3488 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3489
3490         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3491         to 0.14 (Kawachi-Katakami).
3492
3493 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3494
3495         * text-coding.c (char_encode_shift_jis): Modify for
3496         `charset_code_point'.
3497         (char_encode_iso2022): Likewise.
3498
3499         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3500         (integer) instead of list of <Lisp_Object>s (integers) as the
3501         format of code-point of a coded-charset.
3502         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3503         (encode_builtin_char_1): New function; delete
3504         `split_builtin_char'.
3505         (charset_code_point): Return <int> instead of <Lisp_Object>.
3506         (Fsplit_char): Don't use `SPLIT_CHAR'.
3507
3508         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3509         prototype for `split_builtin_char'.
3510         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3511         (charset_code_point): Likewise.
3512         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3513         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3514
3515 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3516
3517         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3518         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3519
3520 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3521
3522         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3523
3524         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3525         (MAX_CHAR_OBS_94x94): Deleted.
3526
3527 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3528
3529         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3530
3531         * char-ucs.h (MAX_CHAR_BMP): New macro.
3532
3533 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3534
3535         * text-coding.c: Sync with r21-2-24.
3536
3537 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3538
3539         * file-coding.c: Modify for UTF-2000.
3540
3541 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3542
3543         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3544         to 0.13 (Takaida).
3545
3546 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3547
3548         * mule-charset.c (split_builtin_char): Delete builtin support for
3549         `katakana-jisx0201'.
3550         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3551         BMP area in builtin representation.
3552
3553         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3554         `Vcharset_katakana_jisx0201'.
3555
3556 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3557
3558         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3559         (Qisolated): New variable.
3560         (Qinitial): New variable.
3561         (Qmedial): New variable.
3562         (Qfinal): New variable.
3563         (Qvertical): New variable.
3564         (Qsmall): New variable.
3565         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3566         `Qvertical' and `Qsmall'.
3567         (Qmojikyo_pj_[1 .. 21]): New variable.
3568         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3569         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3570         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3571         .. 21]'.
3572
3573 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3574
3575         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3576         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3577         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3578
3579 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3580
3581         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3582         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3583         BMP.
3584         (Qjapanese_jisx0208_1990): New variable.
3585         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3586         (complex_vars_of_mule_charset): Add new coded-charset
3587         `japanese-jisx0208-1990'.
3588
3589         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3590         (MIN_CHAR_JIS_X0208_1990): New macro.
3591         (MAX_CHAR_JIS_X0208_1990): New macro.
3592
3593 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3594
3595         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3596         coded-charset is not found.
3597
3598 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3599
3600         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3601         (Fdefine_char): Use `Fmake_char'.
3602
3603 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3604
3605         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3606         (Vcharset_hiragana_jisx0208): Deleted.
3607         (Vcharset_katakana_jisx0208): Deleted.
3608         (Qideograph_daikanwa): New variable.
3609         (Qhiragana_jisx0208): Deleted.
3610         (Qkatakana_jisx0208): Deleted.
3611         (split_builtin_char): Split `ideograph-daikanwa'.
3612         (Fsplit_char): New implementation for UTF-2000.
3613         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3614         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3615         (complex_vars_of_mule_charset): Add new coded-charset
3616         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3617         `katakana-jisx0208'.
3618
3619         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3620         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3621         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3622         (MIN_CHAR_DAIKANWA): New macro.
3623         (MAX_CHAR_DAIKANWA): New macro.
3624
3625 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3626
3627         * data.c (Fstring_to_number): Don't recognize floating point if
3628         base is not 10.
3629
3630 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3631
3632         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3633
3634 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3635
3636         * mule-charset.c (Qsquare): New variable.
3637         (to_char_code): Add `Qsquare'.
3638         (syms_of_mule_charset): Add new symbol `square'.
3639
3640 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3641
3642         * mule-charset.c (Qcircle): New variable.
3643         (to_char_code): Add `Qcircle'.
3644         (syms_of_mule_charset): Add new symbol `circle'.
3645
3646 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3647
3648         * mule-charset.c (Qfont): New variable.
3649         (to_char_code): Add `Qfont'.
3650         (syms_of_mule_charset): Add new symbol `font'.
3651
3652 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3653
3654         * mule-charset.c (Qsub): New variable.
3655         (to_char_code): Add `Qsub'.
3656         (syms_of_mule_charset): Add new symbol `sub'.
3657
3658 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3659
3660         * mule-charset.c (Fput_char_attribute): Convert each element of
3661         VALUE to GL position if ATTRIBUTE is a GR-set,
3662
3663 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3664
3665         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3666         coded-charset is a GR-set.
3667
3668 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3669
3670         * mule-charset.c (Fput_char_attribute): Check each element of
3671         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3672
3673 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3674
3675         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3676         UTF-2000.
3677         (Qethiopic_ucs): New variable in UTF-2000.
3678         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3679         (complex_vars_of_mule_charset): Add new coded-charset
3680         `ethiopic-ucs' in UTF-2000.
3681
3682         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3683         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3684         9)'.
3685         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3686         10)'.
3687         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3688
3689 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3690
3691         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3692         `ascii'.
3693
3694 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3695
3696         * mule-charset.c (Vcharacter_variant_table): New variable.
3697         (Q_ucs): New variable.
3698         (Fchar_variants): New function.
3699         (Fput_char_attribute): Register `->ucs' value to
3700         `Vcharacter_variant_table'.
3701         (syms_of_mule_charset): Add new function `char-variants' and new
3702         symbol `->ucs'.
3703         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3704
3705 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3706
3707         * mule-charset.c (get_char_code_table): Allow negative character
3708         code.
3709         (put_char_code_table): Likewise.
3710         (Vcharacter_composition_table): New variable.
3711         (Q_decomposition): New variable.
3712         (Qwide): New variable.
3713         (Qnarrow): New variable.
3714         (Qcompat): New variable.
3715         (QnoBreak): New variable.
3716         (Qsuper): New variable.
3717         (Qfraction): New variable.
3718         (to_char_code): New function.
3719         (Fget_composite_char): New function.
3720         (Fput_char_attribute): Register `->decomposition' value to
3721         `Vcharacter_composition_table'.
3722         (syms_of_mule_charset): Add new function `get-composite-char', new
3723         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3724         `super' and `fraction'.
3725         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3726
3727 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3728
3729         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3730         character; copy the return value.
3731
3732 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3733
3734         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3735
3736         * mule-charset.c (range_charset_code_point): Must use make_int.
3737         (split_builtin_char): New function.
3738
3739 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3740
3741         * mule-charset.c (char_byte_table): Change name from
3742         "char-code-table" to "char-byte-table".
3743         (mark_char_code_table): New function.
3744         (char_code_table_equal): New function.
3745         (char_code_table_hash): New function.
3746         (char_code_table_description): New constant.
3747         (char_code_table): New type.
3748         (make_char_code_table): New function.
3749         (copy_char_code_table): New function.
3750         (get_char_code_table): Modify for `char_code_table' type.
3751         (put_char_code_table): Likewise.
3752         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3753         (Kashiwara).
3754
3755         * char-ucs.h (char_code_table): New type.
3756         (XCHAR_CODE_TABLE): New macro.
3757         (XSETCHAR_CODE_TABLE): New macro.
3758         (CHAR_CODE_TABLE_P): New macro.
3759         (GC_CHAR_CODE_TABLE_P): New macro.
3760         (struct Lisp_Char_Code_Table): New structure.
3761
3762 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3763
3764         * mule-charset.c (Fmake_charset): Setup byte_offset for
3765         {94|96}^n-set.
3766
3767 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3768
3769         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3770         character.
3771
3772 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3773
3774         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3775         is found.
3776
3777 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3778
3779         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3780         charset, it is regarded as a charset.
3781         (put_char_attribute): New function in UTF-2000.
3782         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3783         charset, mapping-table of the charset is modified.
3784         (Fdefine_char): New function in UTF-2000.
3785         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3786         `Fput_char_attribute'.
3787         (syms_of_mule_charset): Add new function `define-char' and new
3788         symbol `ucs' in UTF-2000.
3789         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3790
3791 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3792
3793         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3794         non-UTF-2000 configuration.
3795
3796 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3797
3798         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3799         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3800
3801         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3802         deleted.
3803         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3804         (Fset_charset_mapping_table): Likewise.
3805
3806         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3807         (CHARSET_ENCODING_TABLE): Delete.
3808         (XCHARSET_ENCODING_TABLE): Delete.
3809         (charset_code_point): New interface.
3810
3811 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3812
3813         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3814         instead of `charset_get_byte1' and `charset_get_byte2'.
3815
3816         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3817         (charset_get_byte2): Deleted.
3818
3819 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3820
3821         * char-ucs.h (SPLIT_CHAR): New inline function.
3822         (breakup_char_1): Use `SPLIT_CHAR'.
3823
3824         * mule-charset.c (range_charset_code_point): New function.
3825         (charset_code_point): New function.
3826
3827         * char-ucs.h (range_charset_code_point): New interface.
3828         (breakup_char_1): Use `range_charset_code_point'.
3829
3830 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3831
3832         * mule-charset.c (Fmake_charset): Delete unused local variable
3833         `code_offset'.
3834
3835         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3836         (breakup_char_1): Find a charset and code-point in
3837         `Vcharacter_attribute_table'.
3838
3839 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3840
3841         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3842         to 0.10 (Yao).
3843
3844 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3845
3846         * mule-charset.c (Vcharacter_attribute_table): New variable.
3847         (Fchar_attribute_alist): New function.
3848         (Fget_char_attribute): New function.
3849         (Fput_char_attribute): New function.
3850         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3851         too.
3852         (syms_of_mule_charset): Add new function `char-attribute-alist',
3853         `get-char-attribute' and `put-char-attribute'.
3854         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3855
3856 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3857
3858         * mule-charset.c (Fmake_charset): Just use
3859         `get_unallocated_leading_byte'.
3860
3861         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3862         sets; don't use final-byte based number for private sets.
3863
3864 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3865
3866         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3867         integer.
3868
3869 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3870
3871         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3872         to 0.9.
3873
3874 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3875
3876         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3877         of `CHAR_LEADING_BYTE' in UTF-2000.
3878
3879         * insdel.c (find_charsets_in_bufbyte_string): Use
3880         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3881         (find_charsets_in_emchar_string): Likewise.
3882
3883         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3884         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3885
3886         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3887         (CHAR_CHARSET_ID): New macro.
3888
3889 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3890
3891         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3892         charset-id - MIN_LEADING_BYTE.
3893         (put_char_table): Likewise.
3894
3895 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3896
3897         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3898         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3899         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3900         (CHARSET_ID_OFFSET): New macro.
3901         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3902         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3903         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3904         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3905         4).
3906         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3907         5).
3908         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3909         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3910         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3911         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3912         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3913
3914 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3915
3916         * mule-charset.c (next_allocated_leading_byte): New variable in
3917         UTF-2000.
3918         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3919         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3920         (get_unallocated_leading_byte): Simply use
3921         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3922         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3923         UTF-2000.
3924
3925         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3926         (MAX_LEADING_BYTE_PRIVATE): New macro.
3927         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3928         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3929
3930 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3931
3932         * mule-charset.c (Fmake_charset): Allocate final-byte based
3933         charset-id for 94-set, 96-set and 94x94-set.
3934
3935 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3936
3937         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3938         ambiguous `else'.
3939         (Fmake_charset): Likewise.
3940         (complex_vars_of_mule_charset): Modify the font registry of
3941         `ucs-bmp' not to match `Ethiopic-Unicode'.
3942
3943 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3944
3945         * mule-charset.c (complex_vars_of_mule_charset): Add font
3946         registory of `ucs-bmp'.
3947
3948 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3949
3950         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3951         coded-charsets in `default-coded-charset-priority-list' when
3952         breaking up a character.
3953
3954         * mule-charset.c (Vcharset_latin_viscii): New variable.
3955         (Qlatin_viscii): New variable.
3956         (make_charset): Don't use `decoding_table'.
3957         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3958         byte_offset.
3959         (Fset_charset_mapping_table): New implementation.
3960         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3961         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3962         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3963         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3964         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3965         charset `latin_viscii'.
3966
3967         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3968         (CHARSET_TYPE_94X94): Change to 1 from 2.
3969         (CHARSET_TYPE_96): Change to 2 from 1.
3970         (CHARSET_TYPE_128): New macro.
3971         (CHARSET_TYPE_128X128): Change to 5 from 4.
3972         (CHARSET_TYPE_256): New macro.
3973         (CHARSET_TYPE_256X256): Change to 7 from 5.
3974         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3975
3976 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3977
3978         * text-coding.c (char_encode_shift_jis): Refer
3979         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3980         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3981
3982         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3983         (char_byte_table_equal): New function in UTF-2000.
3984         (char_byte_table_hash): New function in UTF-2000.
3985         (char_byte_table_description): New constant in UTF-2000.
3986         (char_byte_table): New type in UTF-2000.
3987         (make_char_byte_table): New function in UTF-2000.
3988         (copy_char_byte_table): New function in UTF-2000.
3989         (make_char_code_table): New macro in UTF-2000.
3990         (get_char_code_table): New function in UTF-2000.
3991         (put_char_code_table): New function in UTF-2000.
3992         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3993         (charset_description): Add setting in UTF-2000.
3994         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3995         `CHARSET_TO_BYTE1_TABLE(cs)'.
3996         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3997         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3998         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3999         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4000         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4001         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4002         `CHARSET_TO_BYTE2_TABLE(cs)'.
4003
4004         * char-ucs.h (char_byte_table): New type.
4005         (XCHAR_BYTE_TABLE): New macro.
4006         (XSETCHAR_BYTE_TABLE): New macro.
4007         (CHAR_BYTE_TABLE_P): New macro.
4008         (GC_CHAR_BYTE_TABLE_P): New macro.
4009         (struct Lisp_Char_Byte_Table): New structure.
4010         (get_char_code_table): New interface.
4011         (Emchar_to_byte_table): Deleted.
4012         (get_byte_from_character_table): Deleted.
4013         (struct Lisp_Charset): Add `encoding_table'; delete
4014         `to_byte1_table' and `to_byte2_table'.
4015         (CHARSET_ENCODING_TABLE): New macro.
4016         (CHARSET_TO_BYTE1_TABLE): Deleted.
4017         (CHARSET_TO_BYTE2_TABLE): Deleted.
4018         (XCHARSET_ENCODING_TABLE): New macro.
4019         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4020         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4021
4022 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4023
4024         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4025         `vietnamese-viscii-*'.
4026
4027 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4028
4029         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4030         (Qvietnamese_viscii_upper): New variable.
4031         (Fdefine_charset_alias): New function.
4032         (syms_of_mule_charset): Add new function `define-charset-alias'.
4033         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4034         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4035         `latin-viscii-*'.
4036
4037 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4038
4039         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4040         (MAX_CHAR_OBS_94x94): New macro.
4041         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4042         for 94x94 sets.
4043
4044         * mule-charset.c (put_byte_from_character_table): Change unit size
4045         from 128 to 256.
4046         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4047         not defined.
4048         (Fmake_reverse_direction_charset): Modify dummy argument of
4049         `make_charset' for non-UTF-2000 environment.
4050
4051 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4052
4053         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4054
4055         * mule-charset.c (destroy_byte_from_character_table): New macro.
4056         (latin_jisx0201_to_ucs): Deleted.
4057         (latin_iso8859_2_to_ucs): Deleted.
4058         (latin_iso8859_3_to_ucs): Deleted.
4059         (latin_iso8859_4_to_ucs): Deleted.
4060         (latin_iso8859_9_to_ucs): Deleted.
4061         (latin_viscii_lower_to_ucs): Deleted.
4062         (latin_viscii_upper_to_ucs): Deleted.
4063         (mark_charset): Mark `cs->decoding_table'.
4064         (Fcharset_mapping_table): Fix DOC-string.
4065         (Fset_charset_mapping_table): New function.
4066         (syms_of_mule_charset): Add nwe function
4067         `set-charset-mapping-table'.
4068         (complex_vars_of_mule_charset): Don't setup and use
4069         `latin_*_to_ucs'.
4070
4071 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4072
4073         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4074         charset.
4075
4076 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4077
4078         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4079         (Vcharset_katakana_jisx0208): New variable.
4080         (Qhiragana_jisx0208): New variable.
4081         (Qkatakana_jisx0208): New variable.
4082         (make_charset): Add new argument `byte_offset'.
4083         (charset_get_byte1): Modify for new coded-charset definition; use
4084         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4085         `XCHARSET_BYTE_OFFSET'.
4086         (Fmake_charset): Modify for `make_charset'.
4087         (Fmake_reverse_direction_charset): Likewise.
4088         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4089         `katakana-jisx0208'.
4090         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4091         `.'  in font registry of charset `katakana-jisx0201',
4092         `latin-jisx0201', `vietnamese-viscii-lower' and
4093         `vietnamese-viscii-upper'; modify DOC-string of charset
4094         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4095         registry of charset `japanese-jisx0208' not to use font for JIS
4096         X0208:1990; add new charset `hiragana-jisx0208' and
4097         `katakana-jisx0208'.
4098
4099         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4100         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4101         (struct Lisp_Charset): Add `byte_offset'.
4102         (CHARSET_BYTE_OFFSET): New macro.
4103         (XCHARSET_UCS_MIN): New macro.
4104         (XCHARSET_UCS_MAX): New macro.
4105         (XCHARSET_CODE_OFFSET): New macro.
4106         (XCHARSET_BYTE_OFFSET): New macro.
4107         (MIN_CHAR_HIRAGANA): New macro.
4108         (MAX_CHAR_HIRAGANA): New macro.
4109         (MIN_CHAR_KATAKANA): New macro.
4110         (MAX_CHAR_KATAKANA): New macro.
4111         (MAKE_CHAR): Modify for new coded-charset definition; use
4112         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4113         `XCHARSET_BYTE_OFFSET'.
4114
4115 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4116
4117         * mule-charset.c (CHAR96): Deleted.
4118         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4119         <Lisp_Object>.
4120         (latin_iso8859_2_to_ucs): Likewise.
4121         (latin_iso8859_3_to_ucs): Likewise.
4122         (latin_iso8859_4_to_ucs): Likewise.
4123         (latin_iso8859_9_to_ucs): Likewise.
4124         (latin_viscii_lower_to_ucs): Likewise.
4125         (latin_viscii_upper_to_ucs): Likewise.
4126         (latin_tcvn5712_to_ucs): Commented out.
4127         (make_charset): Change type of argument `decoding_table' from
4128         <Emchar*> to <Lisp_Object> [vector of characters].
4129         (Fmake_charset): Modify for `make_charset'.
4130         (Fmake_reverse_direction_charset): Likewise.
4131         (Fcharset_mapping_table): New function in UTF-2000.
4132         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4133         UTF-2000.
4134         (complex_vars_of_mule_charset): Modify for type change of
4135         `*_to_ucs'; modify for `make_charset'.
4136
4137         * char-ucs.h (struct Lisp_Charset): Change type of
4138         `decoding_table' from <Emchar*> to <Lisp_Object>.
4139         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4140
4141 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4142
4143         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4144         error with non-UTF-2000-Mule.
4145
4146 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4147
4148         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4149         in lisp again].
4150         (Vcharset_chinese_cns11643_4): Likewise.
4151         (Vcharset_chinese_cns11643_5): Likewise.
4152         (Vcharset_chinese_cns11643_6): Likewise.
4153         (Vcharset_chinese_cns11643_7): Likewise.
4154         (Qchinese_cns11643_3): Likewise.
4155         (Qchinese_cns11643_4): Likewise.
4156         (Qchinese_cns11643_5): Likewise.
4157         (Qchinese_cns11643_6): Likewise.
4158         (Qchinese_cns11643_7): Likewise.
4159         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4160         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4161         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4162         (complex_vars_of_mule_charset): Likewise.
4163
4164 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4165
4166         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4167         96-set.
4168         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4169         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4170
4171 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4172
4173         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4174         0xFF60.
4175         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4176         (breakup_char_1): Likewise.
4177
4178         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4179         one of them includes the specified character.
4180
4181 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4182
4183         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4184
4185 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4186
4187         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4188
4189 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4190
4191         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4192         definition for non-UTF-2000 Mule.
4193         (latin_iso8859_3_to_ucs): Likewise.
4194         (latin_iso8859_4_to_ucs): Likewise.
4195         (latin_iso8859_9_to_ucs): Likewise.
4196         (latin_jisx0201_to_ucs): Likewise.
4197         (MIN_CHAR_THAI): Likewise.
4198         (MAX_CHAR_THAI): Likewise.
4199         (MIN_CHAR_GREEK): Likewise.
4200         (MAX_CHAR_GREEK): Likewise.
4201         (MIN_CHAR_HEBREW): Likewise.
4202         (MAX_CHAR_HEBREW): Likewise.
4203         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4204         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4205         (MIN_CHAR_CYRILLIC): Likewise.
4206         (MAX_CHAR_CYRILLIC): Likewise.
4207
4208 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4209
4210         * char-ucs.h (breakup_char_1): Use
4211         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4212         thai-tis620 and katakana-jisx0201 area.
4213
4214 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4215
4216         * char-ucs.h (breakup_char_1): Use
4217         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4218         area.
4219
4220         * text-coding.c (reset_encoding_stream): Fixed.
4221         (char_encode_ucs4): Delete `& 255'.
4222
4223         * char-ucs.h (breakup_char_1): Use
4224         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4225
4226 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4227
4228         * file-coding.c (Fmake_coding_system): Don't set up
4229         `codesys->fixed.size'.
4230         (encode_coding_no_conversion): Don't refer
4231         `str->codesys->fixed.size'.
4232
4233 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4234
4235         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4236         (latin_a_char_to_byte1): Deleted.
4237         (latin_a_char_to_byte2): Deleted.
4238
4239 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4240
4241         * mule-charset.c (make_charset): Add new argument `ucs_min',
4242         `ucs_max' and `code_offset'.
4243         (charset_get_byte1): New implementation [delete specific charset
4244         depended implementations].
4245         (Fmake_charset): Modify for `make_charset'.
4246         (Fmake_reverse_direction_charset): Likewise.
4247         (complex_vars_of_mule_charset): Likewise.
4248
4249         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4250         `code_offset'.
4251         (CHARSET_UCS_MIN): New macro.
4252         (CHARSET_UCS_MAX): New macro.
4253         (CHARSET_CODE_OFFSET): New macro.
4254         (MAKE_CHAR): Delete charset depended definitions [except
4255         katakana-jisx0201].
4256
4257 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4258
4259         * char-ucs.h (breakup_char_1): Use
4260         `Vdefault_coded_charset_priority_list' for C0-Controls,
4261         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4262
4263 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4264
4265         * char-ucs.h (charset_get_byte1): New function.
4266         (XCHARSET_GET_BYTE1): Deleted.
4267         (charset_get_byte2): New function.
4268         (XCHARSET_GET_BYTE2): Deleted.
4269         (Vdefault_coded_charset_priority_list): New external variable.
4270         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4271         `Vdefault_preferred_coded_charset_list'.
4272
4273         * mule-charset.c (charset_get_byte1): New function.
4274         (charset_get_byte2): New function.
4275         (Vdefault_coded_charset_priority_list): New variable.
4276         (vars_of_mule_charset): Add new variable
4277         `default-coded-charset-priority-list'.
4278
4279 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4280
4281         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4282         (XCHARSET_GET_BYTE2): New inline function.
4283         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4284         `XCHARSET_GET_BYTE2'.
4285
4286 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4287
4288         * mule-charset.c (make_charset): Initialize
4289         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4290         NULL if table is not defined.
4291
4292 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4293
4294         * text-coding.c (char_encode_shift_jis): Use
4295         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4296         `ucs_to_latin_jisx0201'.
4297
4298         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4299         (ucs_to_latin_iso8859_2): Deleted.
4300         (ucs_to_latin_iso8859_3): Deleted.
4301         (ucs_to_latin_iso8859_4): Deleted.
4302         (ucs_to_latin_iso8859_9): Deleted.
4303         (ucs_to_latin_viscii_lower): Deleted.
4304         (ucs_to_latin_viscii_upper): Deleted.
4305         (ucs_to_latin_tcvn5712): Deleted.
4306         (make_charset): Add new argument `decoding_table'; set up
4307         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4308         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4309         `decoding_table' is defined in UTF-2000.
4310         (Fmake_charset): Modify for `make_charset'.
4311         (Fmake_reverse_direction_charset): Likewise.
4312         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4313         and `GENERATE_96_SET'.
4314
4315         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4316         (ucs_to_latin_jisx0201): Deleted.
4317         (latin_iso8859_2_to_ucs): Deleted.
4318         (ucs_to_latin_iso8859_2): Deleted.
4319         (latin_iso8859_3_to_ucs): Deleted.
4320         (ucs_to_latin_iso8859_3): Deleted.
4321         (latin_iso8859_4_to_ucs): Deleted.
4322         (ucs_to_latin_iso8859_4): Deleted.
4323         (latin_iso8859_9_to_ucs): Deleted.
4324         (ucs_to_latin_iso8859_9): Deleted.
4325         (latin_viscii_lower_to_ucs): Deleted.
4326         (ucs_to_latin_viscii_lower): Deleted.
4327         (latin_viscii_upper_to_ucs): Deleted.
4328         (ucs_to_latin_viscii_upper): Deleted.
4329         (struct Lisp_Charset): Renamed `encoding_table' to
4330         `to_byte1_table'; add `to_byte2_table'.
4331         (CHARSET_DECODING_TABLE): New macro.
4332         (CHARSET_TO_BYTE1_TABLE): New macro.
4333         (CHARSET_TO_BYTE2_TABLE): New macro.
4334         (XCHARSET_DECODING_TABLE): New macro.
4335         (XCHARSET_TO_BYTE1_TABLE): New macro.
4336         (XCHARSET_TO_BYTE2_TABLE): New macro.
4337         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4338         tables.
4339         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4340         don't use `ucs_to_*' tables.
4341
4342 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4343
4344         * text-coding.c (Fmake_coding_system): Don't set up
4345         `codesys->fixed.size'.
4346         (encode_coding_no_conversion): Use `if' instead of `switch'.
4347
4348         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4349
4350 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4351
4352         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4353         (Fmake_charset): Modify for `make_charset'.
4354         (Fmake_reverse_direction_charset): Likewise.
4355         (complex_vars_of_mule_charset): Likewise.
4356
4357 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4358
4359         * text-coding.c (char_encode_shift_jis): Use table
4360         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4361
4362 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4363
4364         * text-coding.c (text_encode_generic): Use `if' instead of
4365         `switch'.
4366         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4367         decode JIS-Latin.
4368
4369 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4370
4371         * text-coding.c (encode_coding_sjis): Deleted.
4372         (char_encode_shift_jis): New function.
4373         (char_finish_shift_jis): New function.
4374         (reset_encoding_stream): Set up `encode_char' and `finish' for
4375         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4376         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4377         (char_encode_utf8): Treat `eol_type'.
4378
4379 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4380
4381         * file-coding.c (decode_coding_iso2022): Use
4382         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4383
4384 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4385
4386         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4387         to 0.7 (Hirano).
4388
4389 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4390
4391         * char-lb.h (CHAR_COLUMNS): New macro.
4392
4393 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4394
4395         * text-coding.c (char_encode_ucs4): New function.
4396         (char_finish_ucs4): New function.
4397         (encode_coding_ucs4): Deleted.
4398         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4399         (text_encode_generic): Delete local variable `charset' and `half'.
4400         (ucs_to_mule_table): Deleted.
4401         (mule_to_ucs_table): Deleted.
4402         (Fset_ucs_char): Deleted.
4403         (ucs_to_char): Deleted.
4404         (Fucs_char): Deleted.
4405         (Fset_char_ucs): Deleted.
4406         (Fchar_ucs): Deleted.
4407         (decode_ucs4): Deleted.
4408         (mule_char_to_ucs4): Deleted.
4409         (encode_ucs4): Deleted.
4410         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4411         (decode_coding_utf8): Likewise.
4412         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4413         (char_encode_iso2022): Fixed.
4414         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4415         `Fset_char_ucs' and `Fchar_ucs'.
4416         (complex_vars_of_file_coding): Don't initialize
4417         `ucs_to_mule_table'.
4418
4419         * objects-tty.c (tty_initialize_font_instance): Don't use
4420         `XCHARSET_COLUMNS'.
4421
4422         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4423         UTF-2000.
4424
4425         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4426         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4427
4428         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4429         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4430         (emchar_string_displayed_columns): Likewise.
4431
4432         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4433         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4434         (string_column_at_point): Likewise.
4435         (Fmove_to_column): Likewise.
4436
4437         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4438         `encoding_table' and `decoding_table'.
4439         (CHARSET_REP_BYTES): Deleted.
4440         (XCHARSET_REP_BYTES): Deleted.
4441         (XCHARSET_COLUMNS): Deleted.
4442         (CHAR_COLUMNS): New macro.
4443         (lookup_composite_char): Deleted unconditionally.
4444         (composite_char_string): Likewise.
4445
4446 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4447
4448         * char-ucs.h (Emchar_to_byte_table): New type.
4449         (get_byte_from_character_table): New function interface.
4450         (Vcharset_latin_jisx0201): New variable.
4451         (latin_jisx0201_to_ucs): New variable.
4452         (ucs_to_latin_jisx0201): New variable.
4453         (Vcharset_latin_iso8859_2): New variable.
4454         (latin_iso8859_2_to_ucs): New variable.
4455         (ucs_to_latin_iso8859_2): New variable.
4456         (Vcharset_latin_iso8859_3): New variable.
4457         (latin_iso8859_3_to_ucs): New variable.
4458         (ucs_to_latin_iso8859_3): New variable.
4459         (Vcharset_latin_iso8859_4): New variable.
4460         (latin_iso8859_4_to_ucs): New variable.
4461         (ucs_to_latin_iso8859_4): New variable.
4462         (Vcharset_latin_iso8859_9): New variable.
4463         (latin_iso8859_9_to_ucs): New variable.
4464         (ucs_to_latin_iso8859_9): New variable.
4465         (Vcharset_latin_viscii_lower): New variable.
4466         (latin_viscii_lower_to_ucs): New variable.
4467         (ucs_to_latin_viscii_lower): New variable.
4468         (Vcharset_latin_viscii_upper): New variable.
4469         (latin_viscii_upper_to_ucs): New variable.
4470         (ucs_to_latin_viscii_upper): New variable.
4471         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4472         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4473         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4474         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4475         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4476         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4477         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4478         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4479         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4480         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4481
4482         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4483         (Vcharset_latin_viscii_upper): New variable.
4484         (make_byte_from_character_table): New function.
4485         (put_byte_from_character_table): New function.
4486         (get_byte_from_character_table): New function.
4487         (CHAR96): New macro.
4488         (ucs_to_latin_jisx0201): New variable.
4489         (latin_jisx0201_to_ucs): New variable.
4490         (ucs_to_latin_iso8859_2): New variable.
4491         (latin_iso8859_2_to_ucs): New variable.
4492         (ucs_to_latin_iso8859_3): New variable.
4493         (latin_iso8859_3_to_ucs): New variable.
4494         (ucs_to_latin_iso8859_4): New variable.
4495         (latin_iso8859_4_to_ucs): New variable.
4496         (ucs_to_latin_iso8859_9): New variable.
4497         (latin_iso8859_9_to_ucs): New variable.
4498         (ucs_to_latin_viscii_lower): New variable.
4499         (latin_viscii_lower_to_ucs): New variable.
4500         (ucs_to_latin_viscii_upper): New variable.
4501         (latin_viscii_upper_to_ucs): New variable.
4502         (ucs_to_latin_tcvn5712): New variable.
4503         (latin_tcvn5712_to_ucs): New variable.
4504         (Qlatin_viscii_lower): New variable.
4505         (Qlatin_viscii_upper): New variable.
4506         (syms_of_mule_charset): Set up new symbol
4507         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4508         (complex_vars_of_mule_charset): Set up new charset
4509         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4510         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4511         `ucs_to_<CHARSET>' tables.
4512
4513 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4514
4515         * text-coding.c: New file.
4516
4517 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4518
4519         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4520
4521         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4522         (MAKE_CHAR): Modify for `ucs-bmp'.
4523         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4524         non-MULE characters of BMP.
4525
4526 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4527
4528         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4529         to 0.6.
4530
4531 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4532
4533         * lstream.h:
4534         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4535         - Include character.h for `CHAR_ASCII_P'.
4536
4537         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4538
4539         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4540         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4541
4542         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4543         (BYTE_C0_P): Likewise.
4544         (BYTE_C1_P): Likewise.
4545         (Lstream_get_emchar_1): Likewise.
4546         (Lstream_fput_emchar): Likewise.
4547         (Lstream_funget_emchar): Likewise.
4548         (copy_internal_to_external): Likewise.
4549         (copy_external_to_internal): Likewise.
4550
4551         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4552         (BYTE_C0_P): Likewise.
4553         (BYTE_C1_P): Likewise.
4554         (Lstream_get_emchar_1): Likewise.
4555         (Lstream_fput_emchar): Likewise.
4556         (Lstream_funget_emchar): Likewise.
4557         (copy_internal_to_external): Likewise.
4558         (copy_external_to_internal): Likewise.
4559
4560         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4561         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4562
4563         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4564         (BYTE_ASCII_P): Moved to mb-1byte.h.
4565
4566 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4567
4568         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4569
4570         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4571         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4572         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4573         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4574         (VALIDATE_CHARPTR_FORWARD): Likewise.
4575         (simple_charptr_emchar): Moved to mb-multibyte.h.
4576         (simple_set_charptr_emchar): Likewise.
4577         (simple_charptr_copy_char): Likewise.
4578         (non_ascii_charptr_emchar): Likewise.
4579         (non_ascii_set_charptr_emchar): Likewise.
4580         (non_ascii_charptr_copy_char): Likewise.
4581         (charptr_emchar): Moved to mb-*byte.h.
4582         (set_charptr_emchar): Likewise.
4583         (charptr_copy_char): Likewise.
4584
4585         * mb-1byte.h, mb-multibyte.h: New files.
4586
4587 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4588
4589         * mb-utf-8.h (MULTIBYTE): New macro.
4590         (MAX_EMCHAR_LEN): Moved from buffer.h.
4591         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4592
4593         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4594
4595         * mb-lb.h, multibyte.h: New files.
4596
4597         * char-1byte.h (Charset_ID): Moved from buffer.h.
4598         (MIN_LEADING_BYTE): Likewise.
4599         (LEADING_BYTE_ASCII): Likewise.
4600         (NUM_LEADING_BYTES): Likewise.
4601         (CHARSETP): Likewise.
4602         (CHARSET_BY_LEADING_BYTE): Likewise.
4603         (XCHARSET_LEADING_BYTE): Likewise.
4604         (XCHARSET_GRAPHIC): Likewise.
4605         (XCHARSET_COLUMNS): Likewise.
4606         (XCHARSET_DIMENSION): Likewise.
4607         (CHAR_CHARSET): Likewise.
4608         (CHAR_LEADING_BYTE): Likewise.
4609         (BREAKUP_CHAR): Likewise.
4610         (Vcharset_ascii): Likewise.
4611
4612         * buffer.h: Include multibyte.h unconditionally.
4613         (VALID_CHARPTR_P): Moved to multibyte.h.
4614         (ASSERT_VALID_CHARPTR): Likewise.
4615         (REAL_INC_CHARPTR): Likewise.
4616         (REAL_INC_CHARBYTIND): Likewise.
4617         (REAL_DEC_CHARPTR): Likewise.
4618         (INC_CHARPTR): Likewise.
4619         (INC_CHARBYTIND): Likewise.
4620         (DEC_CHARPTR): Likewise.
4621         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4622         (VALIDATE_CHARPTR_FORWARD): Likewise.
4623         (charptr_n_addr): Likewise.
4624         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4625         (simple_charptr_emchar): Moved to multibyte.h.
4626         (simple_set_charptr_emchar): Likewise.
4627         (simple_charptr_copy_char): Likewise.
4628         (non_ascii_charptr_emchar): Likewise.
4629         (non_ascii_set_charptr_emchar): Likewise.
4630         (non_ascii_charptr_copy_char): Likewise.
4631         (charptr_emchar): Likewise.
4632         (set_charptr_emchar): Likewise.
4633         (charptr_copy_char): Likewise.
4634         (charptr_emchar_n): Likewise.
4635         (Charset_ID): Moved to char-1byte.h.
4636         (Vcharset_ascii): Likewise.
4637         (CHAR_CHARSET): Likewise.
4638         (CHAR_LEADING_BYTE): Likewise.
4639         (LEADING_BYTE_ASCII): Likewise.
4640         (NUM_LEADING_BYTES): Likewise.
4641         (MIN_LEADING_BYTE): Likewise.
4642         (CHARSETP): Likewise.
4643         (CHARSET_BY_LEADING_BYTE): Likewise.
4644         (XCHARSET_LEADING_BYTE): Likewise.
4645         (XCHARSET_GRAPHIC): Likewise.
4646         (XCHARSET_COLUMNS): Likewise.
4647         (XCHARSET_DIMENSION): Likewise.
4648         (BREAKUP_CHAR): Likewise.
4649
4650 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4651
4652         * character.h: Add document about interface for characters.
4653
4654         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4655         (MAKE_CHAR): Delete comment about
4656         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4657         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4658         (BREAKUP_CHAR): Modify name of arguments.
4659         (CHAR_CHARSET): Modify name of argument.
4660
4661         * buffer.h: Delete document about Emchar accessors.
4662
4663 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4664
4665         * character.h (CHAR_INTP): Moved from buffer.h
4666         (CHAR_OR_CHAR_INTP): Likewise.
4667         (XCHAR_OR_CHAR_INT): Likewise.
4668         (CHECK_CHAR_COERCE_INT): Likewise.
4669
4670         * buffer.h (CHAR_INTP): Moved to character.h
4671         (CHAR_OR_CHAR_INTP): Likewise.
4672         (XCHAR_OR_CHAR_INT): Likewise.
4673         (CHECK_CHAR_COERCE_INT): Likewise.
4674
4675 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4676
4677         * character.h:
4678         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4679         - Include char-1byte.h, char-lb.h or char-ucs.h.
4680
4681         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4682
4683         * buffer.h: Include character unconditionally.
4684         (valid_char_p): Moved to char-*.h.
4685         (non_ascii_valid_char_p): Moved to char-lb.h.
4686
4687         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4688
4689 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4690
4691         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4692         in UTF-2000 because it is not ported yet and not to use
4693         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4694         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4695         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4696
4697         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4698         (CHAR_ASCII_P): Moved from character.h.
4699
4700         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4701         (CHAR_ASCII_P): Likewise.
4702         (CHAR_FIELD1_MASK): Deleted.
4703         (CHAR_FIELD2_MASK): Deleted.
4704         (CHAR_FIELD3_MASK): Deleted.
4705         (MAX_CHAR_BASIC_LATIN): New macro.
4706         (CHAR_FIELD1): Deleted.
4707         (CHAR_FIELD2_INTERNAL): Deleted.
4708         (CHAR_FIELD3_INTERNAL): Deleted.
4709         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4710         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4711         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4712         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4713         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4714         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4715         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4716         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4717         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4718         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4719         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4720         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4721         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4722         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4723         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4724         (MIN_CHAR_COMPOSITION): Deleted.
4725         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4726         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4727
4728 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4729
4730         * buffer.h: Include mb-utf-8.h in UTF-2000.
4731
4732         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4733
4734         * mb-utf-8.h: New file.
4735
4736 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4737
4738         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4739         instead of `int'.
4740
4741         * mule-charset.h, buffer.h (Charset_ID): New type.
4742
4743 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4744
4745         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4746         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4747         instead of `MULE_CHAR_PRIVATE_OFFSET',
4748         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4749         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4750         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4751
4752         * character.h (Vcharset_japanese_jisx0212): New variable
4753         definition.
4754
4755 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4756
4757         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4758         (charset_by_attributes): Delete array about direction.
4759         (latin_a_char_to_charset): New variable in UTF-2000.
4760         (latin_a_char_to_byte1): New variable in UTF-2000.
4761         (latin_a_char_to_byte2): New variable in UTF-2000.
4762         (Qucs_bmp): New variable.
4763         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4764         `Bufbyte'.
4765         (next_allocated_2_byte_leading_byte): Likewise.
4766         (non_ascii_set_charptr_emchar): Likewise.
4767         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4768         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4769         `charset_by_attributes'.
4770         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4771         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4772         and `CHARSET_BY_LEADING_BYTE'.
4773         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4774         `utf-2000-version' to `vars_of_mule_charset'.
4775         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4776         define `leading-code-private-11' in UTF-2000; move setting of
4777         `utf-2000-version' from `syms_of_mule_charset'.
4778         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4779         UTF-2000.
4780
4781         * character.h (Charset_ID): New type.
4782         (LEADING_BYTE_UCS_BMP): New macro.
4783         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4784         (CHARSET_ID_OFFSET_94): New macro.
4785         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4786         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4787         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4788         final-byte.
4789         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4790         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4791         (CHARSET_ID_OFFSET_96): New macro.
4792         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4793         CHARSET_ID_OFFSET_96 and final-byte.
4794         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4795         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4796         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4797         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4798         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4799         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4800         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4801         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4802         (LEADING_BYTE_THAI_TIS620): Likewise.
4803         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4804         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4805         (CHARSET_ID_OFFSET_94x94): New macro.
4806         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4807         CHARSET_ID_OFFSET_94x94 and final-byte.
4808         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4809         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4810         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4811         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4812         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4813         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4814         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4815         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4816         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4817         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4818         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4819         (CHARSET_TYPE_128X128): New macro.
4820         (CHARSET_TYPE_256X256): New macro.
4821         (XCHARSET_PRIVATE_P): Delete unconditionally.
4822         (charset_by_attributes): Delete array about direction.
4823         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4824         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4825         (MIN_CHAR_94): New macro.
4826         (MAX_CHAR_94): New macro.
4827         (MIN_CHAR_96): New macro.
4828         (MAX_CHAR_96): New macro.
4829         (MIN_CHAR_94x94): New macro.
4830         (MAX_CHAR_94x94): New macro.
4831         (MIN_CHAR_96x96): New macro.
4832         (MAX_CHAR_96x96): New macro.
4833         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4834         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4835         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4836         - 32)'.
4837         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4838         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4839         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4840         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4841         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4842         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4843         `XCHARSET_LEADING_BYTE' to make code-point.
4844         (latin_a_char_to_charset): New variable.
4845         (latin_a_char_to_byte1): New variable.
4846         (latin_a_char_to_byte2): New variable.
4847         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4848         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4849         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4850
4851         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4852         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4853         (find_charsets_in_emchar_string): Likewise.
4854         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4855
4856         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4857         `int'.
4858         (decode_coding_iso2022): Likewise.
4859
4860         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4861         of `unsigned char'.
4862
4863         * redisplay.c (redisplay_text_width_emchar_string): Use
4864         `Charset_ID' instead of `unsigned char'.
4865         (redisplay_frame_text_width_string): Likewise.
4866
4867         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4868         `unsigned char'.
4869
4870         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4871         instead of `unsigned char'.
4872         (face_cachel_charset_font_metric_info): Likewise.
4873
4874         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4875         (get_non_ascii_char_table_value): Likewise.
4876         (get_char_table): Likewise.
4877         (put_char_table): Likewise.
4878         (map_over_other_charset): Likewise.
4879         (map_char_table): Likewise.
4880
4881         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4882         instead of `unsigned char'.
4883
4884 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4885
4886         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4887         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4888
4889         * mule-charset.c (leading_code_private_11): Don't define in
4890         UTF-2000.
4891
4892         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4893         in UTF-2000 because it is not ported yet and not to use
4894         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4895
4896 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4897
4898         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4899
4900 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4901
4902         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4903         in UTF-2000.
4904
4905         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4906         of unsigned char to store leading-byte.
4907
4908         * chartab.c (get_non_ascii_char_table_value): Don't use
4909         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4910
4911         * file-coding.c (encode_coding_big5): Delete bogus implementation
4912         in UTF2000.
4913
4914         * character.h (LEADING_BYTE_*): Delete definition for
4915         non-UTF-2000.
4916         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4917         (LEADING_BYTE_PREFIX_P): Deleted.
4918         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4919         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4920         (BUFBYTE_LEADING_BYTE_P): Deleted.
4921         (CHARSET_PRIVATE_P): Deleted unconditionally.
4922         (rep_bytes_by_first_byte): Deleted unconditionally.
4923         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4924         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4925         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4926         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4927         (CHAR_FIELD2): Deleted.
4928         (CHAR_FIELD3): Deleted.
4929         (MAKE_CHAR): Delete definition for non-UTF-2000.
4930         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4931         (breakup_char_1): New implementation.
4932         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4933         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4934
4935 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4936
4937         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4938         condition.
4939
4940 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4941
4942         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4943         (CHARSET_PRIVATE_P): Likewise.
4944         (XCHARSET_PRIVATE_P): Likewise.
4945         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4946
4947         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4948         UTF2000.
4949         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4950
4951 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4952
4953         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4954         (NUM_LEADING_BYTES): Changed from 128 to 256.
4955         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4956         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4957         UTF2000.
4958         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4959
4960         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4961         UTF2000.
4962         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4963         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4964         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4965         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4966         (Qchinese_cns11643_3): New variable in UTF2000.
4967         (Qchinese_cns11643_4): New variable in UTF2000.
4968         (Qchinese_cns11643_5): New variable in UTF2000.
4969         (Qchinese_cns11643_6): New variable in UTF2000.
4970         (Qchinese_cns11643_7): New variable in UTF2000.
4971         (syms_of_mule_charset): Define `chinese-cns11643-3',
4972         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4973         and `chinese-cns11643-7' in UTF2000.
4974         (vars_of_mule_charset): Initialize
4975         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4976         + 1 in UTF2000.
4977         (complex_vars_of_mule_charset): Setup charset
4978         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4979         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4980
4981 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4982
4983         * mule-charset.c: Move setting for `leading-code-private-11' from
4984         `syms_of_mule_charset' to `vars_of_mule_charset'.
4985
4986 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4987
4988         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4989         and `NUM_LEADING_BYTES' in assert.
4990
4991 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4992
4993         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4994         instead of 128.
4995         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4996         `NUM_LEADING_BYTES' instead of 128.
4997
4998 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4999
5000         * mule-charset.h (charset_by_leading_byte): Use
5001         `NUM_LEADING_BYTES' instead of 128.
5002         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5003
5004         * mule-charset.c (charset_by_leading_byte): Use
5005         `NUM_LEADING_BYTES' instead of 128.
5006         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5007
5008         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5009         128.
5010
5011 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5012
5013         * mule-charset.c (syms_of_mule_charset): Update to
5014         0.4 (Shin-Imamiya).
5015
5016 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5017
5018         * file-coding.c (encode_coding_sjis): New implementation for
5019         UTF2000.  (decode_coding_sjis): Ditto.
5020
5021 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5022
5023         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5024         Don't define in UTF2000.
5025
5026         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5027         defined.
5028
5029         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5030         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5031         MULE.
5032
5033 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5034
5035         * config.h.in (CHAR_IS_UCS4): New macro.
5036
5037         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5038         conventional MULE representation.
5039         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5040
5041         * mule-charset.h: Reverted to original.
5042
5043         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5044         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5045         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5046
5047         * character.h: New file.
5048
5049         * file-coding.c (Fmake_coding_system): Set 1 to
5050         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5051         defined.
5052         (encode_coding_no_conversion): New implementation for UTF2000.
5053
5054         * file-coding.h (struct Lisp_Coding_System): Add new member
5055         `fixed.size'.
5056
5057 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5058
5059         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5060         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5061         (encode_coding_iso2022): New implementation for UTF2000.
5062
5063 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5064
5065         * mule-canna.c (c2mu): New implementation for UTF2000.
5066         (m2c): Likewise.
5067
5068 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5069
5070         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5071
5072 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5073
5074         * file-coding.c (reset_encoding_stream): Set 0 to
5075         `str->iso2022.current_char_boundary' in UTF2000.
5076         (encode_utf8): Don't define in UTF2000.
5077         (encode_coding_utf8): New implementation for UTF-8 representation
5078         of UTF2000.
5079         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5080
5081 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5082
5083         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5084
5085         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5086         UTF2000.
5087         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5088
5089         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5090
5091         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5092         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5093         as UTF-8 in UTF2000.
5094         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5095         (non_ascii_valid_char_p): Don't define in UTF2000.
5096         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5097         (Lstream_get_emchar_1): Likewise.
5098         (utf-2000-version): New variable in UTF2000.
5099
5100         * lread.c (read_escape): Add new reader `u'.
5101
5102         * insdel.c (three_to_one_table): Don't define in UTF2000.
5103         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5104         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5105         UTF2000.
5106         (bytind_to_bufpos_func): Likewise.
5107         (buffer_mule_signal_inserted_region): Likewise.
5108         (vars_of_insdel): Don't initialize `three_to_one_table'.
5109         (init_buffer_text): Use `buf->text->mule_size' instead of
5110         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5111         UTF2000.
5112
5113         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5114         UTF-8 representation in UTF2000.
5115         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5116         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5117         (decode_coding_iso2022): Don't define local variable `lb' in
5118         UTF2000; don't use LEADING_BYTE in UTF2000; use
5119         `DECODE_ADD_UCS_CHAR' in UTF2000.
5120         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5121
5122         * config.h.in (UTF2000): New macro.
5123
5124         * buffer.h (struct buffer_text): Add new member `mule_size' and
5125         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5126         (valid_char_p): Return always 1 in UTF2000.
5127         (MAX_EMCHAR_LEN): 6 in UTF2000.
5128         (three_to_one_table): Don't define in UTF2000.
5129         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5130         UTF2000.
5131         (real_bytind_to_bufpos): Likewise.
5132
5133         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5134
5135 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5136
5137         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5138         representation change.
5139         (Vutf_2000_version): New variable.
5140         (leading_code_private_11): New variable.
5141         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5142         `leading-code-private-11'.
5143
5144         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5145         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5146         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5147         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5148         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5149         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5150         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5151         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5152         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5153         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5154         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5155         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5156         (MIN_CHAR_GREEK): New macro.
5157         (MAX_CHAR_GREEK): New macro.
5158         (MIN_CHAR_CYRILLIC): New macro.
5159         (MAX_CHAR_CYRILLIC): New macro.
5160         (MIN_CHAR_HEBREW): New macro.
5161         (MAX_CHAR_HEBREW): New macro.
5162         (MIN_CHAR_THAI): New macro.
5163         (MAX_CHAR_THAI): New macro.
5164         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5165         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5166         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5167         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5168         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5169         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5170         (CHAR_FIELD2): New inline function.
5171         (CHAR_FIELD3): New inline function.
5172         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5173         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5174         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5175         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5176         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5177         (MIN_CHAR_COMPOSITION): Likewise.
5178         (CHAR_LEADING_BYTE): Modified for character representation change.
5179         (MAKE_CHAR): Likewise.
5180
5181         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5182         (Vcharset_greek_iso8859_7): Likewise.
5183         (Vcharset_cyrillic_iso8859_5): Likewise.
5184         (Vcharset_hebrew_iso8859_8): Likewise.
5185         (Vcharset_thai_tis620): Likewise.
5186         (Vcharset_katakana_jisx0201): Likewise.
5187
5188 2003-09-03  Vin Shelton <acs@xemacs.org>
5189
5190         * XEmacs 21.4.14 is released
5191
5192 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5193
5194         * config.h.in (REGEX_MALLOC): Make it configure'able.
5195
5196 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5197
5198         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5199         linking.
5200         * sysdll.c (dll_init):
5201         * sysdll.c (dll_open):
5202         * sysdll.c (dll_close):
5203         * sysdll.c (dll_function):
5204         * sysdll.c (dll_variable):
5205         * sysdll.c (dll_error):
5206         Add support for loading bundles using Darwin/MacOSX
5207         native API.
5208
5209 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5210
5211         * process.c (start-process-internal): Document coding systems.
5212
5213 2003-07-30  Jerry James  <james@xemacs.org>
5214
5215         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5216
5217 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5218
5219         * event-msw.c (mswindows_enqueue_mouse_button_event):
5220         * event-msw.c (mswindows_wnd_proc):
5221           enqueue button event when scrollwheel event isn't handled by 
5222           mswindows_handle_mousewheel_event, such as when the scrollbars
5223           are not showing.
5224
5225 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5226
5227         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5228
5229 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5230
5231         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5232
5233 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5234
5235         * regex.c (re_match_2_internal): Fix matching degenerate word
5236         boundaries.
5237
5238 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5239
5240         * XEmacs 21.4.13 is released
5241
5242 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5243
5244         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5245         * lisp.h (<inttypes.h>):
5246         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5247         the definition.
5248
5249 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5250
5251         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5252         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5253         Result: "temacs can only be run in -batch mode."
5254         Fix: Check xemacs executable candidate for directory-ness.
5255
5256 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5257
5258         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5259           they conflict with <sys/types.h>.
5260
5261 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5262
5263         * database.c: Berkeley DB wants __STDC__ to be defined.
5264
5265 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5266
5267         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5268
5269 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5270
5271         * process-unix.c (unix_send_process): Fix C++ compile error.
5272
5273 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5274
5275         * Added .dylib as an acceptable shared library file extension
5276         * to support MacOSX.
5277
5278 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5279
5280         * EmacsFrameP.h (EmacsFramePart):
5281         Kludge to allow compiling with Motif1, but linking with Motif2.
5282
5283 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5284
5285         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5286
5287
5288 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5289
5290         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5291
5292 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5293
5294         * sysdll.c: Included lisp.h to define needed alloca_array.
5295
5296 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5297
5298         Make XEmacs redisplay 10 times faster.
5299         If, that is, you're using a slow X connection and MoveOpaque.
5300         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5301         Use compress_motion = TRUE.
5302         * EmacsFrame.c (emacsFrameClassRec): 
5303         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5304         * EmacsManager.c (emacsManagerClassRec):
5305         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5306
5307 2003-01-30  Vin Shelton  <acs@xemacs.org>
5308
5309         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5310
5311 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5312
5313         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5314         Patch by Martin Buchholz.
5315
5316 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5317
5318         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5319         Thanks to icc for warning and Martin Buchholz for reporting.
5320
5321 2003-01-29  Vin Shelton <acs@xemacs.org>
5322
5323         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5324
5325         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5326         remember to multiply by the element size.
5327
5328 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5329
5330         * XEmacs 21.4.12 "Portable Code" is released.
5331
5332 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5333
5334         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5335         * s/cygwin.sc: new linker file.
5336
5337 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5338
5339         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5340
5341         * redisplay-x.c (x_output_string): Use X11-specified types.
5342         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5343         * emacs.c (__free_hook): Use typeof with Intel compiler.
5344         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5345
5346 2003-01-08  Andy Piper  <andy@xemacs.org>
5347
5348         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5349         reserve size during unexec().
5350
5351 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5352
5353         * process-unix.c (unix_create_process): Don't let outchannel block.
5354
5355 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5356
5357         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5358         Needed for IsBadReadPtr().
5359
5360 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5361
5362         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5363
5364 2002-12-14  Ben Wing  <ben@xemacs.org>
5365
5366         * callint.c: Declaration error.
5367         * dumper.c (pdump):
5368         * dumper.c (pdump_load): Warning fix.
5369         * process.c: GCPRO error.
5370         * glyphs.c (unmap_subwindow):
5371         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5372         * event-stream.c (maybe_kbd_translate): Wrong argument to
5373         character_to_event().
5374
5375         * alloc.c (garbage_collect_1):
5376         * emacs.c:
5377         * emacs.c (debug_can_access_memory):
5378         * emacs.c (fatal_error_signal):
5379         * emacs.c (mswindows_handle_hardware_exceptions):
5380         * emacs.c (main_1):
5381         * emacs.c (main):
5382         * emacs.c (assert_failed):
5383         * emacs.c (syms_of_emacs):
5384         * lisp.h:
5385         * print.c:
5386         * print.c (std_handle_out_va):
5387         * print.c (write_string_to_stdio_stream):
5388         * print.c (write_fmt_string):
5389         * print.c (printing_badness):
5390         * print.c (printing_major_badness):
5391         * print.c (print_internal):
5392         * print.c (debug_print_no_newline):
5393         * print.c (debug_backtrace):
5394         Be more defensive in handling bad values when printing.  Add code
5395         from trunk involving inhibit_non_essential_printing_operations.
5396         When going down or in debug_print(), don't do external conversion
5397         and such and try really, really hard when printing to avoid core
5398         dumping.  Add force-debugging-signal, debug_break().
5399
5400 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5401
5402         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5403         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5404
5405 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5406
5407         * database.c: Fix open_database. Berkeley DB API has changed in
5408         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5409
5410 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5411
5412         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5413
5414 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5415
5416         * event-Xt.c (Xt_timeout):
5417         (Xt_timeout_callback):
5418         (emacs_Xt_add_timeout):
5419         (emacs_Xt_remove_timeout):
5420         (Xt_timeout_to_emacs_event):
5421         Turn completed_timeouts from a stack into a queue.  Fixes
5422         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5423
5424 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5425
5426         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5427         * emacs.c (main): Assert that mmap'd allocation is disabled.
5428
5429 2002-10-14  Andy Piper  <andy@xemacs.org>
5430
5431         * glyphs-widget.c (layout_query_geometry): add in fiddle
5432         factor. Include border text in width layout calculation.
5433         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5434
5435 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5436
5437         * XEmacs 21.4.10 "Military Intelligence" is released.
5438
5439 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5440
5441         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5442         using the NAS private array SoundFileInfo that no longer exists in
5443         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5444         and earlier.  This is broken for some versions between 1.5a and
5445         1.5f.
5446
5447 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5448
5449         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5450
5451         * emacs.c (shut_down_emacs): Improve crash message.
5452
5453 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5454
5455         * file-coding.c (determine_real_coding_system): Check for coding
5456         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5457         shebangs and Python PEP 263.
5458
5459 2002-10-08  Andy Piper  <andy@xemacs.org>
5460
5461         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5462         if static sizes haven't been set.
5463
5464 2002-08-30  Mike Alexander  <mta@arbortext.com>
5465
5466         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5467         to close a socket.
5468
5469 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5470
5471         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5472
5473 2002-09-20  Mike Sperber <mike@xemacs.org>
5474
5475         (This partially gets back my patch from 2002-07-20 without the
5476         bug.)
5477         * callproc.c (child_setup): Remove Ben's comment noting confusion
5478         over the file descriptors >= 3: close_process_descs() doesn't
5479         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5480         * process-unix.c (unix_create_process): Call
5481         begin_dont_check_for_quit to inhibit unwanted interaction (and
5482         thus breaking of X event synchronicity) in the child.
5483
5484 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5485
5486         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5487         widget.
5488
5489 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5490
5491         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5492         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5493         the xemacs process did not exit, but looped infinitely here.  This
5494         fixes that problem.
5495
5496 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5497
5498         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5499         (find_context): Improve comments.
5500
5501         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5502         (re_match_2): An XCHAR_TABLE operation was missing.
5503
5504         Many of the following changes were inspired by Andy Piper's (now
5505         obsolete) patch to make syntax-table text property lookup optional.
5506
5507         [Documentation]
5508
5509         * syntax.h (top level): Document semantics of syntax flags.
5510         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5511         * syntax.c, syntax.h (top level): Document syntax cache better in
5512         comments.
5513
5514         [Instrument syntax caching (temporary change)]
5515
5516         * syntax.h (enum syntax_cache_statistics_functions, struct
5517         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5518         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5519         * syntax.c (scan_words, Fforward_comment, scan_lists,
5520         Fbackward_prefix_characters):
5521         * font-lock.c (find_context):
5522         Use them to instrument syntax caching. 
5523         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5524         syntax_cache_statistics_function_names): New type and variables.
5525         * syntax.c (update_syntax_cache): Update and report statistics.
5526
5527         [Major syntax cache optimizations]
5528
5529         syntax.c (lookup_syntax_properties): Default off.
5530
5531         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5532         * syntax.c (update_syntax_cache):
5533         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5534
5535         [Minor syntax cache optimizations and code clarifications]
5536
5537         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5538         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5539         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5540         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5541         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5542         (Code clarification.)
5543
5544         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5545         scan_lists): Compute code from syncode, use Boolean macros instead
5546         of redundant masking operations.  (Code clarification; any decent
5547         compiler can do this optimization.)
5548
5549         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5550         for clarity.
5551
5552         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5553         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5554         use F*_single_property_change instead of F*_extent_change.
5555         Currently F*_single_property_change is _much_ less efficient.
5556
5557         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5558         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5559         syntax_cache.object properly, don't leave Qt or Qnil.
5560         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5561         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5562         tests for Qt or Qnil.
5563
5564 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5565
5566         * redisplay.c (point_in_line_start_cache): 
5567         * extents.c (print_extent_1):
5568         Fix warnings.
5569
5570         * extents.c (Fset_extent_property): Document `syntax-table' property.
5571
5572         * extents.h (Fnext_single_property_change): EXFUN it.
5573
5574 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5575
5576         * search.c (clear_unused_search_regs): New static function.
5577         (search_buffer): 
5578         (simple_search): 
5579         (boyer_moore):
5580         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5581         Minor clarifications in comments.
5582
5583         * regex.c (re_match_2_internal): Ensure no stale submatches.
5584
5585 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5586
5587         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5588
5589 2002-08-29  Jerry James  <james@xemacs.org>
5590
5591         * lisp.h: structrures -> structures.
5592
5593 2002-06-03  Andy Piper  <andy@xemacs.org>
5594
5595         * frame.c (frame_conversion_internal): add conversion appropriate
5596         for setting frame dimensions in pixels.
5597
5598         * console.h (struct console_methods): add device-specific widget
5599         layout functions.
5600
5601         * emacs.c (main_1): initialize glyph vars.
5602
5603         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5604         (handle_focus_event_2): new function. Allow focus to
5605         be set to a particular window and widget.
5606         (enqueue_focus_event): new function. Create a
5607         synthetic focus event.
5608         (emacs_Xt_handle_magic_event): call
5609         handle_focus_event_2.
5610
5611         * frame.c (Fset_frame_pixel_height): new function. Allow
5612         pixel-based sizing. Does the right thing on character-oriented
5613         displays.
5614         (Fset_frame_pixel_width): ditto.
5615         (Fset_frame_pixel_size): ditto.
5616         (syms_of_frame): declare.
5617
5618         * general-slots.h: add :vertically-justify and
5619         :horizontally-justify.
5620
5621         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5622         (mswindows_widget_border_width): new function.
5623         (mswindows_combo_box_instantiate): set border widths.
5624         (console_type_create_glyphs_mswindows): declare.
5625
5626         * glyphs-widget.c:
5627         (check_valid_justification): allow vertical and horizontal
5628         justification.
5629         (widget_border_width): new function. Call device methods.
5630         (widget_instance_border_width): ditto.
5631         (logical_unit_height): new function. Determine the height of a
5632         logical-unit. Logical units are intended to provide grid-like
5633         layout for subcontrols in a layout. If the layout is
5634         :vertically-justify top then subcontrols will be positioned on
5635         logical-unit boundaries, thus allowing adjacent subcontrols to
5636         line up.
5637         (widget_logical_unit_height): ditto for widgets.
5638         (redisplay_widget): misc cleanup.
5639         (widget_spacing): new function. Call device specific
5640         methods. Intended to be the default gap between adjacent widgets.
5641         (widget_query_geometry): use new spacing functions to determine
5642         appropriate geometry.
5643         (initialize_widget_image_instance): initialize horizontal and
5644         vertical justification.
5645         (widget_instantiate): use logica-units where appropriate for
5646         sizing large widgets.
5647         (button_query_geometry): use widget_instance_border_width.
5648         (tree_view_query_geometry): ditto.
5649         (tab_control_query_geometry): ditto.
5650         (edit_field_query_geometry): new function.
5651         (layout_update): pick up :justify, :horizontally-justify and
5652         :vertically-justify none of which worked previously. :justify is
5653         used as a fallback for both horizontal and vertical justification.
5654         (layout_query_geometry): use logical units to size appropriately.
5655         (layout_layout): ditto.
5656         (Fwidget_logical_to_character_width): new function. Allow users to
5657         convert from logical units to characters so that frame sizes can
5658         be set appropriately.
5659         (Fwidget_logical_to_character_height): ditto.
5660         (syms_of_glyphs_widget): declare.
5661         (image_instantiator_edit_fields): add edit_field_query_geometry.
5662         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5663         :horizontally-justify.
5664         (specifier_vars_of_glyphs_widget): new function. Declare
5665         Vwidget_border_width which is not yet used.
5666
5667         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5668         (x_widget_border_width): new function.
5669         (x_widget_instantiate): create a sensible name for widgets.
5670         (console_type_create_glyphs_x): declare x_widget_border_width.
5671
5672         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5673         (struct Lisp_Image_Instance): add :vertically-justify and
5674         :horizontally-justify.
5675         (LAYOUT_JUSTIFY_TOP): new.
5676         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5677         (ROUND_UP): new macro. Round argument up to next integral
5678         interval.
5679
5680         * redisplay-output.c (redisplay_output_layout): misc formatting.
5681
5682         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5683
5684 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5685
5686         * XEmacs 21.4.9 "Informed Management" is released.
5687
5688 2002-08-19  Andy Piper  <andy@xemacs.org>
5689
5690         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5691         win32 format.
5692
5693         * realpath.c (xrealpath): normalize drive spec also so that dir
5694         sep chars are not mixed on cygwin.
5695
5696 2002-08-06  Jerry James  <james@xemacs.org>
5697
5698         * window.c (Fsplit_window): Count only half of the divider width
5699         against the left window when splitting horizontally. 
5700
5701 2002-06-24  Andy Piper  <andy@xemacs.org>
5702
5703         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5704         toolbar was cleared.
5705
5706         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5707         function. Split out from mswindows_output_frame_toolbars.
5708         (mswindows_output_frame_toolbars): move clear pieces to
5709         mswindows_output_frame_toolbars.
5710
5711         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5712         out from gtk_output_frame_toolbars.
5713         (gtk_output_frame_toolbars): move clear pieces to
5714         gtk_clear_frame_toolbars.
5715
5716         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5717         the frame is cleared. How this ever worked before is a mystery.
5718         (x_output_frame_toolbars): Only output toolbars.
5719         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5720
5721         * gutter.c (update_gutter_geometry):
5722         Mark frame layout changed.
5723         (update_frame_gutter_geometry, update_frame_gutters):
5724         Respect frame_layout_changed.
5725
5726         * console.h (struct console_methods): add
5727         clear_frame_toolbars_method.
5728
5729         * redisplay.c (redisplay_frame): call
5730         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5731
5732         * toolbar.h: declare update_frame_toolbars_geometry.
5733
5734         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5735         out from update_frame_toolbars.  Call clear_frame_toolbars.
5736         (update_frame_toolbars): only output, do not change geometry.
5737
5738         * redisplay.c: add frame_layout_changed.
5739
5740         * redisplay.h: add frame_layout_changed.
5741         (CLASS_RESET_CHANGED_FLAGS): set it.
5742         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5743         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5744         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5745
5746         * device.h (struct device): add frame_layout_changed.
5747         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5748
5749         * frame.h (struct frame): add frame_layout_changed.
5750         (MARK_FRAME_LAYOUT_CHANGED): new.
5751
5752 2002-06-30  Mike Alexander  <mta@arbortext.com>
5753
5754         * event-msw.c (mswindows_need_event): Don't wait for a new message
5755         if the queue is not empty.  Suggested by Paul Moore.
5756
5757 2002-06-12  Andy Piper  <andy@xemacs.org>
5758
5759         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5760         for printing on accurately.
5761
5762 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5763
5764         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5765         WM_ACTIVATE message. Make sure that the frame is visible if the
5766         window is visible. This seemss to fix the problem where XEmacs
5767         appears to freeze after switching desktops with certain virtual
5768         window managers.
5769         (debug_output_mswin_message): Added code to output message
5770         parameters for WM_WINDOWPOSCHANGED, 
5771         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5772
5773 2002-05-25  Andy Piper  <andy@xemacs.org>
5774
5775         * select-x.c (vars_of_select_x): Fix docstring of
5776         x-selection-strict-motif-ownership
5777
5778 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5779
5780         * keymap.c (get_keymap):
5781         Add comment about do_autoload GCPROs own args.
5782
5783 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5784
5785         * bytecode.c (execute_optimized_program): check_opcode ifdef
5786         ERROR_CHECK_BYTE_CODE.
5787
5788 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5789
5790         Thanks to Ben Wing and Michael Sperber.
5791
5792         * eval.c (Fcommand_execute):
5793         (Feval):
5794         (Ffuncall):
5795         (Fmacroexpand_internal):
5796         (function_argcount):
5797         callint.c (Fcall_interactively):
5798         Add comment about do_autoload GCPROs own args.
5799
5800         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5801
5802         * eval.c (Ffuncall): Extra braces to placate GCC.
5803
5804 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5805
5806         * backtrace.h (grow_specpdl):
5807         (SPECPDL_RESERVE):
5808         * EmacsFrame.c (EmacsFrameSetValues):
5809         * eval.c (grow_specpdl):
5810         * ExternalShell.c (hack_event_masks_1):
5811         * glyphs-x.c (convert_EImage_to_XImage): 
5812         (x_finalize_image_instance):
5813         * ralloc.c (page_size):
5814         (r_alloc_sbrk):
5815         * xgccache.c (gc_cache_hash):
5816         Fix unsigned comparison warnings.
5817
5818 2002-07-29  Jerry James  <james@xemacs.org>
5819
5820         * lread.c (locate_file): Any nonnegative return value indicates
5821         success if MODE is nonnegative.
5822
5823 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5824
5825         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5826         argument. 
5827
5828 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5829
5830         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5831
5832         * dumper.c (pdump_get_indirect_count):
5833         (pdump_scan_by_alignment):
5834         (pdump_dump_root_struct_ptrs):
5835         (pdump_dump_rtables):
5836         (pdump_dump_root_objects):
5837         (pdump):
5838         * nas.c (WaveOpenDataForReading):
5839         * fns.c (print_bit_vector):
5840         * font-lock.c (SINGLE_SYNTAX_STYLE):
5841         * glyphs.c (check_for_ignored_expose):
5842         (find_matching_subwindow):
5843         * glyphs-eimage.c:
5844         * imgproc.c (get_histogram):
5845         * redisplay.c (point_in_line_start_cache):
5846         * redisplay-output.c (redisplay_unmap_subwindows):
5847         * symbols.c (defsymbol_massage_name_1):
5848         (defkeyword_massage_name):
5849         (deferror_massage_name_and_message):
5850         * redisplay-x.c (x_output_string): 
5851         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5852         * frame.h (struct frame):
5853         * filelock.c (current_lock_owner):
5854         * doprnt.c (emacs_doprnt_1):
5855         * lisp.h (struct Lisp_Bit_Vector):
5856         (DO_REALLOC):
5857         Fix warnings.
5858
5859 2002-02-13  Ben Wing  <ben@xemacs.org>
5860
5861         * event-stream.c (reset_key_echo):
5862         * event-stream.c (reset_this_command_keys):
5863         * event-stream.c (execute_command_event):
5864         If console is dead as a result of C-x 5 0, then post-command stuff
5865         needs to be careful and do only non-console-specific stuff.
5866
5867 2002-07-01  Mike Sperber <mike@xemacs.org>
5868
5869         * process-unix.c (unix_send_process): Mark coding_outstream as
5870         non-open upon SIGPIPE.
5871
5872         * event-stream.c (Fnext_event): Reorder switch cases to something
5873         that makes sense.
5874
5875 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5876
5877         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5878         Don't bogusly reinitialize ascii_character property.
5879
5880 2002-07-08  Mike Sperber <mike@xemacs.org>
5881
5882         * process.c (Fstart_process_internal): Do error checking before we
5883         fork off the child, so the child can't muck with the state of the
5884         parent.
5885
5886 2002-07-08  Mike Sperber <mike@xemacs.org>
5887
5888         * ralloc.c (init_ralloc): Allocate properly for pdump.
5889
5890 2002-06-12  Andy Piper  <andy@xemacs.org>
5891
5892         * glyphs.c (query_string_geometry): check the string.
5893
5894         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5895         widget names.
5896
5897 2002-06-17  Jerry James  <james@xemacs.org>
5898
5899         * sysdll.c: Remove RTLD_GLOBAL initialization.
5900         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5901
5902 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5903
5904         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5905
5906 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5907
5908         * sysdep.c (sys_rename): Make sys_rename work for the case where
5909         Windows rename sets errno to EACCES if target file exists.
5910
5911 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5912
5913         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5914         Fix detection of metric units to work on Win95
5915
5916 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5917
5918         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5919
5920 2002-04-25  Andy Piper  <andy@xemacs.org>
5921
5922         * redisplay.c (create_text_block): Remove extra comment trailer.
5923
5924 2002-04-24  Andy Piper  <andy@xemacs.org>
5925
5926         * redisplay.c (create_text_block): Don't actually add propagation
5927         data if the line ends after we have added a glyph.
5928
5929 2002-04-22  Andy Piper  <andy@xemacs.org>
5930
5931         * extents.c (extent_fragment_update): check for glyphs we have
5932         previously displayed.
5933         * extents.c (print_extent_1): warning removal.
5934         * extents.h: change prototype.
5935         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5936         widths correctly for wide glyphs.
5937         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
5938         * redisplay.c (prop_type): add PROP_GLYPH.
5939         * redisplay.c (struct prop_block): add glyph type
5940         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
5941         to the propagation data.
5942         * redisplay.c (create_text_block): if there is a glyph in the
5943         propagation data use it to salt extent_fragment_update.
5944         * redisplay.c (create_string_text_block): ditto.
5945
5946 2002-04-13  Nix  <nix@esperi.demon.co.uk>
5947
5948         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
5949         * redisplay-output.c (compare_runes): Compare them.
5950         * redisplay.c: Update copyright date.
5951         * redisplay.c (pos_data): Add need_baseline_computation field.
5952         * redisplay.c (add_glyph_rune): Update ascent, descent, and
5953         need_baseline_computation; zero yoffset. Set max_pixmap_height
5954         for all pixmaps, not just automatically positioned ones.
5955         * redisplay.c (calculate_yoffset): New, compute yoffset values.
5956         * redisplay.c (calculate_baseline): New, compute textual baseline.
5957         * redisplay.c (add_glyph_rune): Call them.
5958         * redisplay.c (create_text_block): Likewise.
5959         * redisplay.c (create_overlay_glyph_block): Likewise.
5960         * redisplay.c (add_margin_runes): Likewise.
5961         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
5962
5963         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
5964         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
5965         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
5966         * redisplay-msw.c (mswindows_output_string): Likewise.
5967         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
5968         * redisplay-gtk.c (gtk_output_display_block): Likewise.
5969         * redisplay-x.c (x_output_display_block): Likewise.
5970
5971 2002-03-28  Ben Wing  <ben@xemacs.org>
5972
5973         * redisplay.c: Fixed bug in redisplay
5974         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
5975         and down of the lines, since they're bigger than the line
5976         size. (It was seen most obviously when there's a horizontal scroll
5977         bar, e.g. do C-h a glyph or something like that.) The problem was
5978         that the glyph-contrib-p setting on glyphs was ignored even if it
5979         was set properly, which it wasn't until now.
5980
5981 2002-04-24  Andy Piper  <andy@xemacs.org>
5982
5983         * lisp.h (Dynarr_end): Fix definition.
5984
5985 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
5986
5987         * redisplay.c (mark_redisplay): Remove call to
5988         update_frame_window_mirror.
5989
5990 2001-11-15  Andy Piper  <andy@xemacs.org>
5991
5992         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
5993         cygwin (again).
5994
5995 2002-02-13  Andy Piper  <andy@xemacs.org>
5996
5997         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
5998         we did in fact enqueue the XM_MAPFRAME event.
5999
6000 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6001
6002         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6003         to fix problem switching between virtual desktops under virtuawin
6004         virtual window manager.
6005
6006 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6007
6008         * event-msw.c: Typo fix.
6009         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6010         magic XM_MAPFRAME event has been sent.
6011
6012 2001-11-23  Andy Piper  <andy@xemacs.org>
6013
6014         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6015
6016 2001-11-21  Andy Piper  <andy@xemacs.org>
6017
6018         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6019         mouse events outside the frame.
6020
6021 2002-03-20  Andy Piper  <andy@xemacs.org>
6022
6023         * menubar-msw.c (mswindows_popup_menu): warning removal.
6024         * dialog-msw.c (dialog_popped_down): ditto.
6025
6026 2001-12-11  Andy Piper  <andy@xemacs.org>
6027
6028         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6029         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6030         popup_up_p.
6031         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6032         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6033         * menubar-msw.c (mswindows_popup_menu): ditto.
6034
6035 2001-10-29  Andy Piper  <andy@xemacs.org>
6036
6037         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6038         cancels.
6039
6040 2002-01-03  Andy Piper  <andy@xemacs.org>
6041
6042         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6043         letters.
6044         (xrealpath): ditto.
6045
6046 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6047
6048         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6049         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6050         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6051         Detect and handle case where machine is set up for metric units
6052
6053 2002-04-02  Andy Piper  <andy@xemacs.org>
6054
6055         * dired-msw.c (mswindows_get_files): 
6056         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6057         completely handled by XEmacs. Suggested by Thomas Vogler
6058         <mail@thomas-vogler.de>.
6059
6060 2001-11-14  Andy Piper  <andy@xemacs.org>
6061
6062         * nt.c (REG_ROOT): change registry key to XEmacs.
6063
6064 2002-04-27  Andy Piper  <andy@xemacs.org>
6065
6066         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6067
6068 2002-04-26  Andy Piper  <andy@xemacs.org>
6069
6070         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6071         behavior.
6072
6073 2002-03-14  Mike Alexander  <mta@arbortext.com>
6074
6075         * event-msw.c (mswindows_unwait_process): New, remove process from
6076         wait list
6077         * process-nt.c (nt_finalize_process_data): Call
6078         mswindows_unwait_process
6079         * console-msw.h: Declare mswindows_unwait_process
6080
6081 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6082
6083         * editfns.c (Fdecode_time):
6084         (Fformat_time_string):
6085         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6086         (make_time): Warning elimination (change arg name).
6087
6088 2001-11-24  Andy Piper  <andy@xemacs.org>
6089
6090         * window.c (Fsplit_window): Doc return type.
6091
6092 2002-04-01  Andy Piper  <andy@xemacs.org>
6093
6094         * emacs.c (Fkill_emacs): Only output message box in interactive
6095         mode.
6096
6097 2002-04-26  Andy Piper  <andy@xemacs.org>
6098  
6099         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6100         cygwin.
6101
6102 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6103
6104         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6105         bit platform.
6106
6107 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6108
6109         * XEmacs 21.4.8 "Honest Recruiter" is released.
6110
6111 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6112
6113         Supersedes 2002-04-17 patch.
6114
6115         * process.h (PROCESS_LIVE_P): Use the process status as
6116         evidence of health, not the state of the input stream.
6117         (PROCESS_READABLE_P): Say if the process is readable
6118         from. (It may be dead nonetheless.)
6119         (CHECK_READABLE_PROCESS): Test for that condition.
6120
6121         * process.c (create_process): Use PROCESS_READABLE_P.
6122         (read_process_output, set_process_filter): Likewise.
6123
6124         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6125         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6126
6127         This code is #if 0'd, this is not the time to add new functions:
6128
6129         * process.c (Fprocess_readable_p): Report readability status.
6130         * process.c (Qprocess_readable_p): New, associated symbol...
6131         * process.c (syms_of_process): ... initialize it.
6132
6133 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6134
6135         * XEmacs 21.4.7 "Economic Science" is released.
6136
6137 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6138
6139         * process.h (PROCESS_LIVE_P): Use the process status as
6140         evidence of health, not the state of the input stream.
6141
6142 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6143
6144         * sysdep.c (sys_siglist): change "signum" to "signal"
6145
6146 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6147
6148         * s/darwin.h: New file.
6149         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6150         
6151 2002-04-23  Andreas Jaeger  <aj@suse.de>
6152
6153         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6154         which use lib64 for 64-bit libs.
6155         (START_FILES): Likewise.
6156
6157 2002-02-11  Mike Sperber  <mike@xemacs.org>
6158
6159         * device-x.c: 
6160         (x_IO_error_handler):
6161         (x_init_device): Temporarily keep device in static variable
6162         `device_being_initialized' so we can recover gracefully from
6163         internal XOpenDevice failure.  (XOpenDevice is documented to
6164         return NULL on failure, but sometimes calls the IO error handler
6165         instead.)
6166
6167 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6168
6169         * dired.c (Ffile_name_all_completions): Change documentation --
6170         remove reference to completion-ignored-extensions.
6171         * dired.c (vars_of_dired): Change documentation for
6172         completion-ignored-extensions -- remove reference to
6173         file-name-all-completions.
6174
6175 2002-03-06  Jerry James  <james@xemacs.org>
6176
6177         * emodules.c (emodules_load): Fix multiple loading of same module.
6178
6179 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6180         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6181         RTLD_LAZY to avoid incorrect symbol binding when using nested
6182         shared libraries on Solaris.
6183
6184 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6185
6186         * fileio.c (Ffind_file_name_handler): Improve docstring.
6187
6188 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6189
6190         * fns.c (Fmapconcat): Improve docstring.
6191
6192 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6193
6194         * device-gtk.c: Add prototype for
6195         emacs_gtk_selection_clear_event_handle.
6196         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6197         selection.  Setup signal handler for "selection_clear_event"
6198         (emacs_gtk_selection_clear_event_handle).
6199
6200         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6201         other applications owning the clipboard (based on
6202         x_handle_selection_clear).
6203
6204 2001-12-23  William M. Perry  <wmperry@gnu.org>
6205
6206         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6207         
6208 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6209
6210         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6211
6212 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6213
6214         * XEmacs 21.4.6 "Common Lisp" is released.
6215
6216 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6217
6218         * search.c (Freplace_match): Add missing sub-expression functionality.
6219
6220         * buffer.c (decode_buffer): Add a check for pointer type to
6221         decode_buffer, before gcc's CSE optimization reorders a
6222         dereference in front of the allow_string test.
6223
6224 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6225
6226         * window.c (window_loop): Fix bug that sometimes prevented
6227         window_loop() from iterating across multiple devices.  Also, at
6228         Ben's request, changed infloop-detecting code to abort() instead
6229         of silently terminating window_loop().
6230
6231 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6232
6233         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6234         * editfns.c (make_time): New function.
6235         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6236         * lisp.h (make_time): Prototype and comment it.
6237         * dired.c (wasteful_word_to_lisp): Deprecate.
6238         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6239
6240 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6241
6242         * fileio.c (auto_save_1): Use current coding system, not
6243         escape-quoted.
6244
6245 2001-11-13  Ben Wing  <ben@xemacs.org>
6246
6247         * window.c:
6248         * window.c (window_truncation_on):
6249         * window.c (syms_of_window):
6250         truncate-partial-width-windows should respect the buffer being
6251         displayed, like other redisplay vars.
6252
6253 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6254
6255         * event-stream.c (Fread_key_sequence): save current buffer.
6256
6257 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6258
6259         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6260
6261 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6262
6263         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6264
6265 2001-10-26  Mike Alexander  <mta@arbortext.com>
6266
6267         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6268
6269 2001-10-25  Andy Piper  <andy@xemacs.org>
6270
6271         * ChangeLog:
6272         * dialog-msw.c (handle_directory_proc): new function.
6273          (handle_directory_dialog_box): new fucntion.
6274          (handle_file_dialog_box): use new directory dialog support.
6275          (mswindows_make_dialog_box_internal): ditto.
6276         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6277         handling.
6278         (mswindows_find_frame): make global.
6279         * fileio.c (Fexpand_file_name): build fix.
6280         * general-slots.h: add Qdirectory.
6281         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6282         handling.
6283         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6284         cygwin not leaving win32 paths unchanged.
6285         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6286         cygwin runtime to do path conversion.
6287         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6288         (syms_of_win32): add new function.
6289         * window.c (window_loop): build fix.
6290
6291 2001-10-15  Andy Piper  <andy@xemacs.org>
6292
6293         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6294
6295 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6296
6297         * XEmacs 21.4.5 "Civil Service" is released.
6298
6299 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6300
6301         * glyphs-x.c: Force buffer-tab highlight update when moving the
6302         buffer, avoiding an ugly black border, used for keyboard focus
6303         indication, on a widget that can never have keyboard focus, the
6304         buffer tab.
6305
6306 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6307
6308         * process-unix.c (unix_open_multicast_group): Remove too much
6309         conversion between host and network byte order.
6310
6311 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6312
6313         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6314         before replacing them.
6315
6316         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6317         operation.
6318
6319         * src/window.c (undedicate_windows): Use it.
6320         * src/window.h: Add prototype.
6321
6322 2001-09-17  Ben Wing  <ben@xemacs.org>
6323
6324         * fileio.c (normalize_filename):
6325         * fileio.c (Fexpand_file_name):
6326         Fix various C++ compile errors in Andy's recent code.
6327         
6328         * callint.c (Fcall_interactively):
6329         * editfns.c (Ftemp_directory):
6330         * editfns.c (Fuser_full_name):
6331         * emacs.c (argmatch):
6332         * lread.c (locate_file_map_suffixes):
6333         * redisplay-x.c (x_ring_bell):
6334         Fix sign-compare warnings.
6335         
6336 2001-09-08  Andy Piper  <andy@xemacs.org>
6337
6338         * fileio.c (normalize_filename): copied from nt.c
6339         * (Ffile_name_directory): enable win32 paths under cygwin.
6340         * (Ffile_name_nondirectory): ditto.
6341         * (directory_file_name): ditto.
6342         * (Fexpand_file_name): ditto.
6343         * (Ffile_truename): ditto.
6344         * (Fsubstitute_in_file_name): ditto.
6345         * (Ffile_name_absolute_p): ditto.
6346         * (Ffile_readable_p): ditto.
6347
6348 2001-09-08  Andy Piper  <andy@xemacs.org>
6349
6350         * device-msw.c (mswindows_finish_init_device): remove dde
6351         initialization.
6352         * device-msw.c (mswindows_init_dde): factor out from
6353         mswindows_finish_init_device()
6354         * device-msw.c (init_mswindows_very_early): new function
6355         initialize but don't enable dde.
6356         * emacs.c (main_1): call init_mswindows_very_early.
6357         * event-msw.c:
6358         * event-msw.c (mswindows_dde_callback): only execute when we are
6359         ready.
6360         * symsinit.h: declare init_mswindows_very_early.
6361
6362 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6363
6364         [sjt: This has been in 21.5 for months with no complaints.]
6365
6366         * console.h (struct console_methods): Added flags member.
6367         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6368         (CONMETH_IMPL_FLAG):
6369         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6370         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6371
6372         * device.c (window_system_pixelated_geometry): Use the above macros.
6373
6374         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6375         implememntation flag.
6376         * device.h (DEVICE_DISPLAY_P): Use it.
6377
6378         * frame.c (delete_frame_internal): Use the above macro.
6379
6380         * redisplay.c (redisplay_device): Use it.
6381         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6382         (redisplay_frame): Ditto.
6383
6384         * device-msw.c (mswindows_device_implementation_flags): Removed.
6385         (msprinter_device_implementation_flags): Removed.
6386         (console_type_create_device_mswindows): Removed references to
6387         implementation_flags methods, set implementation flags here.
6388         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6389
6390         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6391         (console_type_create_device_gtk): Removed method declaration.
6392         Added commented out statement which semantically matches the
6393         commented out statement in the above removed method.
6394
6395 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6396
6397         The attached patch fixes a few warnings. 
6398
6399         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6400         * src/frame-gtk.c: guard against GNOME calls in GTK only
6401         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6402         * src/select-gtk.c: prototype lisp_to_time
6403
6404 2001-06-08  Ben Wing  <ben@xemacs.org>
6405
6406         ------ gc-in-window-procedure fixes ------
6407         
6408         * alloc.c:
6409         * alloc.c (struct post_gc_action):
6410         * alloc.c (register_post_gc_action):
6411         * alloc.c (run_post_gc_actions):
6412         * alloc.c (garbage_collect_1):
6413         Create "post-gc actions", to avoid those dreaded "GC during window
6414         procedure" problems.
6415
6416         * event-msw.c:
6417         Abort, clean and simple, when GC in window procedure.  We want
6418         to flush these puppies out.
6419
6420         * glyphs-msw.c:
6421         * glyphs-msw.c (finalize_destroy_window):
6422         * glyphs-msw.c (mswindows_finalize_image_instance):
6423         Use a post-gc action when destroying subwindows.
6424
6425         * lisp.h:
6426         Declare register_post_gc_action().
6427
6428         * scrollbar-msw.c:
6429         * scrollbar-msw.c (unshow_that_mofo):
6430         Use a post-gc action when unshowing scrollbar windows, if in gc.
6431
6432         * redisplay.c (mark_redisplay):
6433         Add comment about the utter evilness of what's going down here.
6434
6435         ------ cygwin setitimer fixes ------
6436         
6437         * Makefile.in.in (sheap_objs):
6438         * Makefile.in.in (profile_objs):
6439         * Makefile.in.in (objs):
6440         Compile profile.c only when HAVE_SETITIMER.
6441         
6442         * nt.c (mswindows_sigset):
6443         * nt.c (mswindows_sighold):
6444         * nt.c (mswindows_sigrelse):
6445         * nt.c (mswindows_sigpause):
6446         * nt.c (mswindows_raise):
6447         * nt.c (close_file_data):
6448         Style fixes.
6449         
6450         * nt.c:
6451         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6452         
6453         * profile.c:
6454         * profile.c (Fstart_profiling):
6455         * profile.c (Fstop_profiling):
6456         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6457         instead of just plain setitimer().
6458         
6459         * signal.c:
6460         * signal.c (set_one_shot_timer):
6461         * signal.c (alarm):
6462         Define qxe_setitimer() as an encapsulation around setitimer() --
6463         call setitimer() directly unless Cygwin or MS Win, in which case
6464         we use our simulated version in win32.c.
6465         
6466         * systime.h:
6467         * systime.h (struct itimerval):
6468         * systime.h (ITIMER_REAL):
6469         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6470         comment about "qxe" and the policy regarding encapsulation.
6471
6472         * win32.c:
6473         * win32.c (setitimer_helper_proc):
6474         * win32.c (setitimer_helper_period):
6475         * win32.c (setitimer_helper):
6476         * win32.c (mswindows_setitimer):
6477         Move setitimer() emulation here, so Cygwin can use it.
6478         Rename a couple of functions and variables to be longer and more
6479         descriptive.  In setitimer_helper_proc(), send the signal
6480         using either mswindows_raise() or (on Cygwin) kill().  If for
6481         some reason we are still getting lockups, we'll change the kill()
6482         to directly invoke the signal handlers.
6483
6484         ------ windows shell fixes ------
6485         
6486         * callproc.c:
6487         * ntproc.c:
6488         Comments about how these two files must die.
6489
6490         * callproc.c (init_callproc):
6491         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6492         not just COMSPEC. (more correct and closer to FSF.) Don't
6493         force a value for SHELL into the environment. (Comments added
6494         to explain why not.)
6495         
6496         * nt.c (init_user_info):
6497         Don't shove a fabricated SHELL into the environment.  See above.
6498
6499 2001-06-01  Ben Wing  <ben@xemacs.org>
6500
6501         * Makefile.in.in (ldflags):
6502         eliminate that pesky "defaulting to 00401000" warning.
6503         * nt.h:
6504         eliminate warnings.
6505
6506 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6507
6508         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6509         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6510
6511 2001-04-24  Jerry James <james@xemacs.org>
6512
6513         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6514         correct order.
6515
6516 2001-06-01  Ben Wing  <ben@xemacs.org>
6517
6518         * event-msw.c (debug_mswin_messages):
6519         conditionalize the messages that were causing compile errors.
6520         (if only macros could generate #ifdef statements ...)
6521
6522 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6523
6524         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6525
6526 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6527
6528         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6529
6530 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6531
6532         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6533         * process-unix.c (unix_canonicalize_host_name):
6534         sysdep.c (init_system_name):
6535         Use it to conditionally support IPv6 canonicalization.
6536
6537 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6538
6539         * event-msw.c:
6540         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6541
6542 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6543
6544         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6545         attempt is made to scroll when no scroll bar is available.
6546
6547 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6548
6549         * input-method-motif.c (XIM_delete_frame): New callback.
6550         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6551         got deleted from 21.4.3.)
6552
6553 2001-06-01  Ben Wing  <ben@xemacs.org>
6554
6555         * nt.c (mswindows_utime):
6556         * nt.c (close_file_data):
6557         fix off-by-one-indirection error.
6558
6559 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6560
6561         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6562         because set_file_times() now takes Lisp_Object path, instead of
6563         char*.
6564         * nt.c: Include buffer.h.
6565         * nt.c (convert_from_time_t): New.
6566         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6567         not set mtime correctly.
6568         * nt.h: Declare mswindows_utime().
6569         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6570         path, instead of char*.
6571         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6572
6573 2001-05-30  Ben Wing  <ben@xemacs.org>
6574
6575         For 21.4:
6576
6577         (Stephen, just take all event-msw.c patches.  This includes
6578         the "iconify" fix below.)
6579
6580         * event-msw.c:
6581         * event-msw.c (mswindows_dequeue_dispatch_event):
6582         * event-msw.c (assert):
6583         * event-msw.c (emacs_mswindows_quit_p):
6584         * event-msw.c (debug_mswin_messages):
6585         * event-msw.c (debug_output_mswin_message):
6586         * event-msw.c (vars_of_event_mswindows):
6587         Fix yet more problems with C-g handling.
6588         Implement debug-mswindows-events.
6589         
6590 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6591
6592         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6593         
6594 2001-05-23  Ben Wing  <ben@xemacs.org>
6595
6596         * event-msw.c (winsock_writer):
6597         * event-msw.c (winsock_closer):
6598         prior kludgy code was clobbering the buffer, thinking it was
6599         "unused" space to store an unneeded return value; instead, use
6600         the variable we've already got staring us in the face.
6601
6602 2001-05-17  Andy Piper  <andy@xemacs.org>
6603
6604         * sysfile.h: don't assume that file attributes are boolean
6605
6606 2001-05-23  Ben Wing  <ben@xemacs.org>
6607
6608         * device-msw.c (msprinter_init_device):
6609         signal an error rather than crash with an unavailable network
6610         printer (from Mike Alexander).
6611         
6612         * event-msw.c:
6613         * event-msw.c (struct winsock_stream):
6614         * event-msw.c (winsock_writer):
6615         * event-msw.c (winsock_closer):
6616         * event-msw.c (make_winsock_stream_1):
6617         cleanup headers.  fix (hopefully) an error with data corruption
6618         when sending to a network connection.
6619
6620         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6621         to handle the ~user prefix by (a) always assuming we're referencing
6622         ourselves and not even verifying the user -- hence any file with
6623         a tilde as its first char is invalid! (b) if there wasn't a slash
6624         following the filename, the pointer was set *past* the end of
6625         file and we started reading from uninitialized memory.  Now we
6626         simply treat these as files, always.
6627
6628         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6629         
6630 2001-05-19  Ben Wing  <ben@xemacs.org>
6631
6632         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6633
6634         * process-nt.c:
6635         * process-nt.c (vars_of_process_nt):
6636         remove unused mswindows-quote-process-args.  rec for 21.4.
6637         
6638 2001-05-12  Ben Wing  <ben@xemacs.org>
6639
6640         * event-msw.c (mswindows_dde_callback):
6641         * event-msw.c (mswindows_wnd_proc):
6642         eliminate cygwin warnings.
6643
6644 2001-05-06  Ben Wing  <ben@xemacs.org>
6645
6646         * console-msw.h:
6647         * device-msw.c:
6648         * device-msw.c (print_dialog_worker):
6649         * device-msw.c (mswindows_handle_print_dialog_box):
6650         * device-msw.c (syms_of_device_mswindows):
6651         * dialog-msw.c (mswindows_make_dialog_box_internal):
6652         * general-slots.h:
6653         implement printing the selection when it's selected.
6654
6655 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6656
6657         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6658
6659 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6660
6661         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6662         EMACS_INT is signed.
6663
6664 2001-04-15  Michael Lausch  <mla@1012surf.net>
6665
6666         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6667         gtk_widget_request_size() to give scrollbar >0 width for
6668         GTK >1.2.8.
6669
6670 2001-05-30  William M. Perry  <wmperry@gnu.org>
6671
6672         * event-gtk.c: Check for buttons as modifier keys.
6673
6674 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6675
6676         * s\mingw32.h:
6677         Properly find MinGW's <process.h> inside Cygwin's restructured
6678         include directories.  Don't try to include <cygwin/version.h>
6679         since we are dropping support for MinGW in versions of Cygwin
6680         earlier than b21.
6681         * nt.c:
6682         Drop support for MinGW in versions of Cygwin before b21.
6683         * sysdep.c:
6684         Properly find MinGW's <process.h> inside Cygwin's restructured
6685         include directories.
6686         * syswindows.h:
6687         Drop support for MinGW in versions of Cygwin before b21.
6688         * unexcw.c:
6689         Even though a.out.h is no longer detected by configure, allow
6690         MinGW to use it until we figure out how to do the job with Win32.
6691
6692 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6693
6694         * syntax.c (find_start_of_comment):
6695         Fix `unbalanced parentheses' bug when dealing with mixed comment
6696         styles in c++/java/etc. mode
6697
6698 2001-05-29  Mike Alexander  <mta@arbortext.com>
6699
6700         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6701         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6702
6703 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6704
6705         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6706
6707 2001-03-31  Mike Sperber <mike@xemacs.org>
6708
6709         * search.c (Freplace_match): Support FSF-style specification of
6710         match subexpression when applied to a buffer.
6711
6712 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6713
6714         * event-stream.c (is_scrollbar_event): add missing semicolon
6715
6716 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6717
6718         * Makefile.in.in: Use TAR macro instead of hardcoding
6719           tar.  Allows use of GNU tar instead of system tar
6720
6721 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6722
6723         * event-stream.c (is_scrollbar_event): add missing semicolon
6724
6725 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6726
6727         * XEmacs 21.4.3 "Academic Rigor" is released.
6728
6729 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6730
6731         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6732
6733 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6734
6735         * buffer.c (Vcase_fold_search): Remove obsolete
6736           comment about non ASCII case-fold-search.  This
6737           bug has been fixed by case-table changes.
6738
6739 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6740
6741         * event-msw.c: Restore include of events-mod.h.
6742
6743 2001-04-22   zhaoway  <zw@debian.org>
6744
6745         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6746         !HAVE_SCROLLBARS.
6747
6748 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6749
6750         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6751
6752 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6753
6754         * mule-charset.c (Fmake_charset): Add missing else.
6755
6756 2001-04-23  Ben Wing  <ben@xemacs.org>
6757
6758         * event-msw.c (FAKE_MOD_QUIT):
6759         * event-msw.c (mswindows_dequeue_dispatch_event):
6760         * event-msw.c (mswindows_wnd_proc):
6761         * event-msw.c (emacs_mswindows_quit_p):
6762         Get critical quit working.
6763
6764 2001-05-05  Ben Wing  <ben@xemacs.org>
6765
6766         * console-msw.h:
6767         * device-msw.c:
6768         * device-msw.c (mswindows_get_default_margin):
6769         * frame-msw.c (mswindows_size_frame_internal):
6770         * frame-msw.c (msprinter_init_frame_1):
6771         * frame-msw.c (vars_of_frame_mswindows):
6772         Change top/bottom margin defaults to 0.5 inches.
6773
6774 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6775
6776         Fix link error with gcc 3.0 on Linux.
6777         * terminfo.c (UP): Remove.
6778         * terminfo.c (BC): Remove.
6779         * terminfo.c (PC): Remove.
6780         They weren't used, and in any case, these symbols should be
6781         defined in the *library*.
6782
6783 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6784
6785         * s/aix4.h: Fix crash with xlc -O3.
6786         Improve comment explaining how -O3 works.
6787
6788 2001-04-15  Ben Wing  <ben@xemacs.org>
6789
6790         * event-stream.c:
6791         * event-stream.c (Fnext_event):
6792         * event-stream.c (is_scrollbar_event):
6793         * event-stream.c (execute_command_event):
6794         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6795         crash' problem.  His fix introduces other problems.  We filter
6796         out scrollbar events specifically, making them somewhat invisible
6797         to command-building, and not appearing in `this-command-keys'.
6798         More work is still needed (see comments in event-stream.c), but
6799         this fixes all the major problems.
6800
6801 2001-04-20  Ben Wing  <ben@xemacs.org>
6802
6803         * .cvsignore: Added stuff for Windows.
6804
6805 2001-04-28  Ben Wing  <ben@xemacs.org>
6806
6807         * buffer.c (Ferase_buffer):
6808         * editfns.c (buffer_insert1):
6809         * editfns.c (Finsert_before_markers):
6810         * editfns.c (Finsert_string):
6811         * editfns.c (Finsert_char):
6812         * editfns.c (Fdelete_region):
6813         * editfns.c (Fwiden):
6814         * editfns.c (Fnarrow_to_region):
6815         remove bogus lines setting zmacs_region_stays to 0.
6816         
6817 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6818
6819         * process-unix.c (unix_open_network_stream): If connect() fails
6820         invalidate file descriptor after closing it.
6821
6822 2001-03-08  Mike Alexander  <mta@arbortext.com>
6823
6824         * event-msw.c (mswindows_need_event_in_modal_loop):
6825         Don't dispatch a message if we didn't get one.
6826         (mswindows_need_event):
6827         Terminate the correct process when one exits instead of the first
6828         one on Vprocess_list and look for process termination when in
6829         mswindows_protect_modal_loop.
6830
6831 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6832
6833         * XEmacs 21.4.1 "Copyleft" is released.
6834
6835 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6836
6837         * input-method-motif.c (XIM_delete_frame): New callback.
6838         (XIM_init_frame): Register it.
6839
6840 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6841
6842         * XEmacs 21.4.0 "Solid Vapor" is released.
6843
6844 2001-04-15  Ben Wing  <ben@xemacs.org>
6845
6846         * cmdloop.c (call_command_loop):
6847         Fix braino in bit-rotting code.
6848         
6849 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6850
6851         * extents.c (Fset_extent_endpoints): Force creation of extent info
6852         in buffer_or_string.
6853
6854         * extents.c (process_extents_for_insertion_mapper): Correctly
6855         check for open-open zero-length extents.
6856
6857 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6858
6859         * lisp.h: New typedefs Memory_count, Element_count.
6860         * regex.c:
6861         * regex.h:
6862         Sign-compare warning elimination: several unsigned -> signed.
6863         Based on work by Ben Wing <ben@xemacs.org>.
6864
6865 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6866
6867         * XEmacs 21.2.47 "Zephir" is released.
6868
6869 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6870
6871         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6872
6873 2001-04-03  Mike Sperber <mike@xemacs.org>
6874
6875         * search.c: Revert previous patch due because of release.
6876
6877 2001-03-30  Ben Wing  <ben@xemacs.org>
6878
6879         * s\cygwin32.h:
6880         Add missing killpg prototype.
6881
6882         * elhash.c:
6883         Add a comment about fixing problems when a new entry is added
6884         while mapping.
6885
6886         * frame-msw.c (mswindows_init_frame_1):
6887         Fix compile warnings.
6888
6889         * menubar.c (vars_of_menubar):
6890         Provide `menu-accelerator-support' to indicate that we properly
6891         support %_ in menu specifications, so that package code can
6892         conditionalize on this (and remove %_ from menu specifications
6893         on older versions).
6894
6895         * event-msw.c:
6896         * scrollbar-msw.c:
6897         * scrollbar-msw.c (can_scroll):
6898         * scrollbar-msw.h:
6899         Fix handling of mouse wheel under Windows to follow standards --
6900         now scrolls window under pointer, not selected window.
6901
6902 2001-03-31  Mike Sperber <mike@xemacs.org>
6903
6904         * search.c (Freplace_match): Support FSF-style specification of
6905         match subexpression when applied to a buffer.
6906
6907 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6908
6909         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6910         function to modify KEYMAP, so map over a copy of the hash table.
6911
6912 2001-03-21  Martin Buchholz <martin@xemacs.org>
6913
6914         * XEmacs 21.2.46 "Urania" is released.
6915
6916 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6917
6918         * realpath.c (xrealpath): Make file-truename work with symlinks to
6919         /cygdrive paths on cygwin. Always lowercase drive-letters on
6920         native windows.
6921         (cygwin_readlink): Don't try to find canonical filename unless
6922         file exists.
6923
6924 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6925
6926         * ChangeLog: Log GTK merge.
6927
6928         * dumper.c:
6929         * select-x.c:
6930         * specifier.c:
6931         * symeval.h:
6932         Revert gratuitous whitespace changes from GTK merge.
6933
6934         * emacs.c: Document end of complex #ifdef @ l. 1495.
6935
6936
6937 2001-03-12  Andy Piper  <andy@xemacs.org>
6938
6939         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
6940         have to do likewise.
6941
6942 2001-03-12  Andy Piper  <andy@xemacs.org>
6943
6944         * sysdep.c: we only support mingw now.
6945
6946 2001-03-09  Andy Piper  <andy@xemacs.org>
6947
6948         * unexcw.c (copy_executable_and_dump_data_section): making approx
6949         overrun a warning only.
6950
6951 2001-03-10  William M. Perry  <wmperry@aventail.com>
6952
6953         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
6954         satisfy Stephen's identical-after-cpp plea.
6955
6956 2001-03-02  Ben Wing  <ben@xemacs.org>
6957
6958         * cmds.c:
6959         * cmds.c (Fforward_char):
6960         * syntax.c:
6961         * window.c:
6962
6963         Augment documentation of the most common motion commands to make
6964         note of the shifted-motion support.
6965         
6966 2001-03-02  Ben Wing  <ben@xemacs.org>
6967
6968         * nt.c (mswindows_fstat):
6969         * nt.c (mswindows_stat):
6970         * search.c (boyer_moore):
6971         Fix compile warnings under Windows.
6972         
6973         * sysdep.c (sys_readdir):
6974         Fix buggy filename-conversion code under Mule.
6975
6976 2001-03-09  William M. Perry  <wmperry@aventail.com>
6977
6978         * Makefile.in.in:
6979         * config.h.in:
6980         * console.c:
6981         * console.h:
6982         * device.c:
6983         * device.h:
6984         * dragdrop.c:
6985         * emacs.c:
6986         * event-stream.c:
6987         * events.c:
6988         * events.h:
6989         * faces.c:
6990         * frame.h:
6991         * general-slots.h:
6992         * glyphs.c:
6993         * gutter.c:
6994         * inline.c:
6995         * lisp.h:
6996         * lrecord.h:
6997         * make-src-depend:
6998         * redisplay-output.c:
6999         * redisplay.c:
7000         * symsinit.h:
7001         * sysfile.h:
7002         * toolbar.c:
7003         * window.c:
7004         The Great GTK Merge.
7005
7006         * ChangeLog.GTK:
7007         * console-gtk.c:
7008         * console-gtk.h:
7009         * device-gtk.c:
7010         * emacs-marshals.c:
7011         * emacs-widget-accessors.c:
7012         * event-gtk.c:
7013         * frame-gtk.c:
7014         * gccache-gtk.c:
7015         * gccache-gtk.h:
7016         * glade.c:
7017         * glyphs-gtk.c:
7018         * glyphs-gtk.h:
7019         * gtk-glue.c:
7020         * gtk-xemacs.c:
7021         * gtk-xemacs.h:
7022         * gui-gtk.c:
7023         * gui-gtk.h:
7024         * menubar-gtk.c:
7025         * native-gtk-toolbar.c:
7026         * objects-gtk.c:
7027         * objects-gtk.h:
7028         * redisplay-gtk.c:
7029         * scrollbar-gtk.c:
7030         * scrollbar-gtk.h:
7031         * select-gtk.c:
7032         * toolbar-gtk.c:
7033         * ui-byhand.c:
7034         * ui-gtk.c:
7035         * ui-gtk.h:
7036         The Great GTK Merge: new files.
7037
7038 2001-02-26  Ben Wing  <ben@xemacs.org>
7039
7040         Reapplied Lstream change.
7041
7042 2001-02-26  Ben Wing  <ben@xemacs.org>
7043
7044         Undid the last change, since it is more controversial than I
7045         thought.  It should be back in at some point soon.
7046         
7047 2001-02-25  Ben Wing  <ben@xemacs.org>
7048
7049         * buffer.c:
7050         * callproc.c (Fold_call_process_internal):
7051         * event-msw.c (ntpipe_slurp_reader):
7052         * event-msw.c (ntpipe_shove_writer):
7053         * event-msw.c (winsock_reader):
7054         * event-msw.c (winsock_writer):
7055         * file-coding.c:
7056         * file-coding.c (detect_eol_type):
7057         * file-coding.c (detect_coding_type):
7058         * file-coding.c (determine_real_coding_system):
7059         * file-coding.c (Fdetect_coding_region):
7060         * file-coding.c (decoding_reader):
7061         * file-coding.c (decoding_writer):
7062         * file-coding.c (mule_decode):
7063         * file-coding.c (Fdecode_coding_region):
7064         * file-coding.c (encoding_reader):
7065         * file-coding.c (encoding_writer):
7066         * file-coding.c (mule_encode):
7067         * file-coding.c (Fencode_coding_region):
7068         * file-coding.c (detect_coding_sjis):
7069         * file-coding.c (decode_coding_sjis):
7070         * file-coding.c (encode_coding_sjis):
7071         * file-coding.c (detect_coding_big5):
7072         * file-coding.c (decode_coding_big5):
7073         * file-coding.c (encode_coding_big5):
7074         * file-coding.c (detect_coding_ucs4):
7075         * file-coding.c (decode_coding_ucs4):
7076         * file-coding.c (encode_coding_ucs4):
7077         * file-coding.c (detect_coding_utf8):
7078         * file-coding.c (decode_coding_utf8):
7079         * file-coding.c (encode_coding_utf8):
7080         * file-coding.c (detect_coding_iso2022):
7081         * file-coding.c (decode_coding_iso2022):
7082         * file-coding.c (encode_coding_iso2022):
7083         * file-coding.c (decode_coding_no_conversion):
7084         * file-coding.c (encode_coding_no_conversion):
7085         * glyphs-x.c (write_lisp_string_to_temp_file):
7086         * gpmevent.c (tty_get_foreign_selection):
7087         * lisp.h:
7088         * lstream.c:
7089         * lstream.c (Lstream_flush_out):
7090         * lstream.c (Lstream_adding):
7091         * lstream.c (Lstream_write_1):
7092         * lstream.c (Lstream_write):
7093         * lstream.c (Lstream_raw_read):
7094         * lstream.c (Lstream_read_more):
7095         * lstream.c (Lstream_read):
7096         * lstream.c (Lstream_unread):
7097         * lstream.c (Lstream_fputc):
7098         * lstream.c (stdio_reader):
7099         * lstream.c (stdio_writer):
7100         * lstream.c (filedesc_reader):
7101         * lstream.c (filedesc_writer):
7102         * lstream.c (lisp_string_reader):
7103         * lstream.c (struct fixed_buffer_stream):
7104         * lstream.c (make_fixed_buffer_input_stream):
7105         * lstream.c (make_fixed_buffer_output_stream):
7106         * lstream.c (fixed_buffer_reader):
7107         * lstream.c (fixed_buffer_writer):
7108         * lstream.c (struct resizing_buffer_stream):
7109         * lstream.c (resizing_buffer_writer):
7110         * lstream.c (dynarr_writer):
7111         * lstream.c (lisp_buffer_reader):
7112         * lstream.c (lisp_buffer_writer):
7113         * lstream.h:
7114         * lstream.h (lstream_implementation):
7115         * lstream.h (struct lstream):
7116         * md5.c (Fmd5):
7117         * process-nt.c (nt_send_process):
7118         * process-unix.c (unix_send_process):
7119         
7120         Correct Lstream lossage due to mixing of signed and unsigned
7121         quantities.  All Lstream uses of size_t and ssize_t are now a
7122         single signed data type Lstream_data_count.  This fixes problems
7123         under Windows with sending large quantities of data to a process,
7124         and may well fix other subtle bugs.
7125
7126 2001-02-23  Martin Buchholz <martin@xemacs.org>
7127
7128         * XEmacs 21.2.45 "Thelxepeia" is released.
7129
7130 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7131
7132         * lisp-union.h (XSETINT): 
7133         (XSETCHAR):
7134         (XSETOBJ): 
7135         Reverse previous change of 2001-02-06.
7136
7137 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7138
7139         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7140         buffers.
7141         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7142         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7143         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7144         * regex.c (POS_AS_IN_BUFFER): removed
7145         * regex.c (re_search_2):
7146         * regex.c (re_match_2):
7147         Don't use an offset of 1 when calculating buffer positions, since
7148         `BI_BUF_BEGV' does it already.
7149
7150 2001-02-18  Wim Dumon  <wim@easics.be>
7151
7152         * insdel.c (prepare_to_modify_buffer): Also check for
7153         supersession when clash-detection is enabled. 
7154
7155 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7156
7157         * regex.c (re_match_2_internal):
7158         Convert temp characters from 'const unsigned char' to 're_char'.
7159         Fix crashing bug with extended characters under mule.
7160         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7161         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7162         font-lock, pdump, and new syntax-table code.
7163         * syntax.c (find_start_of_comment):
7164         (find_end_of_comment):
7165         (forward-comment):
7166         Fix crashing bugs involving moving beyond end of buffer.
7167         * syntax.c (find_start_of_comment):
7168         Fixed logic to allow proper detection of cases where the same
7169         character is used to end both a two-char comment start and a
7170         two-char comment end sequence. Fixes `(forward-comment -1)'.
7171         * syntax.c (find_start_of_comment):
7172         Return position just past last comment-end character for all cases
7173         (previously was only done for two-char comment-end sequences).
7174         * syntax.c (forward-comment):
7175         Take value returned from `find_end_of_comment', rather than
7176         incrementing it.
7177         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7178         Properly deal with BUFFERP (syntax_cache.object)
7179
7180 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7181
7182         * alloc.c (Fgarbage_collect): 
7183         * alloc.c (make_bit_vector_from_byte_vector):
7184         -Wsign-compare-correctness.
7185
7186 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7187
7188         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7189         (XSETCHAR): Likewise.
7190         (XSETOBJ): Likewise.
7191
7192 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7193
7194         * mule-canna.c (canna-func-delete_previous): 
7195         Rename to canna-func-delete-previous.
7196
7197 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7198
7199         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7200
7201 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7202
7203         * font-lock.c (find_context): Fix C++ compile errors introduced by
7204         recent patch
7205
7206 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7207
7208         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7209         pragma, but earlier ones barf on the same pragma.
7210
7211 2001-02-06  Mike Sperber <mike@xemacs.org>
7212
7213         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7214         `configure-mule-lisp-directory'.
7215
7216 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7217
7218         Make sure dump-id.c is compiled in the same way as other .c's.
7219         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7220         * dump-id.h: Remove.
7221         * emacs.c: Move dump-id.h into dumper.h.
7222         * dumper.h: Move dump-id.h into dumper.h.
7223         * Makefile.in.in:
7224         Use standard .c.o rule for building dump-id.o.
7225         Remove preprocessor flags from link command.
7226         Add dump-id.o to ${otherobjs} if PDUMP.
7227
7228 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7229
7230         Port FSF 20.7 syntax table improvements.
7231         * syntax.c.
7232         * syntax.h.
7233
7234         Fixups for new syntax table stuff.
7235         * dired.c: Include syntax.c.
7236         (Fdirectory_files): Initialize regex_match_object and
7237         regex_emacs_buffer.
7238         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7239         and Fget_char_property.
7240
7241         Use ported FSF 20.7 syntax table improvements.
7242         * font-lock.c.
7243         * regex.c.
7244         * search.c.
7245         
7246 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7247
7248         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7249         Unixware's enum boolean from sys/types.h.
7250
7251 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7252
7253         Fix support for building with latest Purify.
7254         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7255         (PURIFY_FLAGS): Likewise.
7256
7257 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7258
7259         * fileio.c (lisp_string_set_file_times): New.
7260         * fileio.c (Fcopy_file): Use it.
7261         Fixes bug:
7262         (copy-file filename non-ascii-filename t t)
7263         ==> No such file or directory, non-ascii-filename
7264
7265 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7266
7267         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7268         USHRT_MAX seems clearer than ~0 anyways.
7269
7270 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7271
7272         dumper improvements.  Inspired by Olivier.
7273         * dumper.c (pdump_max_align): New.
7274         * dumper.c (pdump_add_entry): Use pdump_max_align.
7275         * dumper.c (pdump_get_entry_list): Likewise.
7276         * dumper.c (pdump_scan_by_alignment): Likewise.
7277         Don't iterate through unnecessary alignments.
7278         * dumper.c (pdump_file_get): No need to align result of malloc().
7279         * dumper.c (pdump_mallocadr): Remove.  
7280         The result of malloc() is guaranteed to be maximally aligned.
7281         * dumper.c: s/elmt/elt/g;
7282         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7283         * dumper.c (pdump_alert_undump_object): Likewise.
7284         * dumper.c (pdump_align_table): 
7285         Don't support alignments > 64.
7286         Store ALIGNOF's, not shift counts, in table.
7287
7288 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7289
7290         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7291         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7292         * systime.h: Use HAVE_UTIME.
7293         * sysdep.c (struct utimbuf): Remove.
7294         * sysdep.c (set_file_times): Prefer utime() to utimes().
7295         * config.h.in (HAVE_UTIME): New.
7296         * config.h.in (HAVE_UTIME_H): Remove.
7297         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7298
7299 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7300
7301         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7302
7303 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7304
7305         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7306
7307 2001-02-08  Martin Buchholz <martin@xemacs.org>
7308
7309         * XEmacs 21.2.44 "Thalia" is released.
7310
7311 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7312
7313         Fixes crashes in kill-emacs on some systems.
7314         * process-unix.c (unix_kill_child_process):
7315         It's OK for kill() to fail with ESRCH.
7316
7317 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7318
7319         Contortions to make .gdbinit tricks work on most systems.
7320         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7321         * alloc.c (dbg_valmask): Make non-const.
7322         * alloc.c (dbg_typemask): Make non-const.
7323         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7324         * alloc.c (dbg_valbits): Make non-const.
7325         * alloc.c (dbg_gctypebits): Make non-const.
7326         * .gdbinit (decode_object): Make it work with AIX cc.
7327
7328 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7329
7330         * elhash.c (make_general_lisp_hash_table):
7331         Use simpler and more efficient calloc to clear entries.
7332
7333 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7334
7335         * window.c (window_scroll): Work around an AIX C compiler bug.
7336         Fixes 'scroll-up' does nothing problem with xlC.
7337
7338 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7339
7340         * .gdbinit: Remove obsolete comment.
7341
7342 2001-01-31  Mike Alexander  <mta@arbortext.com>
7343
7344         * select.c (Fown_selection_internal): Set owned_p for device
7345         method correctly.
7346
7347 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7348
7349         Port to g++ 2.97.
7350         "not" cannot be used as a macro name as it is an operator in C++
7351         * config.h.in: Stop #defining `not'.
7352         * chartab.c (check_category_char): not ==> not_p
7353         * chartab.h: Likewise.
7354         * regex.c (re_match_2_internal): Likewise.
7355
7356 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7357
7358         * lisp-disunion.h: Fix up comments.
7359
7360 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7361
7362         * keymap.c (define_key_check_and_coerce_keysym):
7363         (syms_of_keymap):
7364         Support mouse-6 and mouse-7 bindings in the obvious way.
7365
7366 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7367
7368         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7369
7370 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7371
7372         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7373         Previous patch missed DEFVAR_INT_MAGIC.
7374         Make sure future DEFVAR_foo use correct types.
7375         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7376         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7377         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7378         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7379         * (DEFVAR_INT): Likewise.
7380         * redisplay.c (vertical_clip): Should be of type Fixnum.
7381         * redisplay.c (horizontal_clip): Likewise.
7382         * lisp.h (dump_add_opaque_int): New.
7383         (dump_add_opaque_fixnum): New.
7384
7385 2001-01-29  Andy Piper  <andy@xemacs.org>
7386
7387         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7388         since they can be eval'ed
7389
7390 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7391
7392         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7393         Oops, XEmacs redefines `class'.  Use `typename' instead.
7394
7395 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7396
7397         * dumper.c: Fix C++ compile errors.
7398
7399 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7400
7401         * tparam.c: Use correct prototypes.
7402
7403 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7404
7405         * sysproc.h: #include util.h for NetBSD's openpty.
7406
7407 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7408
7409         More 64-bit correctness.
7410         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7411         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7412         Fix up comments.
7413         This finally finishes the 64-bit SGI port.
7414         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7415         * symbols.c: Fix up comments and type casts.
7416         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7417         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7418         * symeval.h (Fixnum): New type.
7419         * symeval.h (symbol_value_type): Fix up comment.
7420
7421         * commands.h:
7422         * nt.c:
7423         * emacs.c:
7424         * data.c:
7425         * redisplay.c:
7426         * abbrev.c:
7427         * dired-msw.c:
7428         * event-Xt.c:
7429         * eldap.c:
7430         * window.c:
7431         * sound.c:
7432         * event-stream.c:
7433         * eval.c:
7434         * buffer.c:
7435         * mule-canna.c: A million DEFVAR_INTs here...
7436         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7437         * extents.c:
7438         * cmdloop.c:
7439         * lisp.h:
7440         * select-x.c:
7441         * console-x.h:
7442         * event-msw.c:
7443         * mule-wnnfns.c:
7444         * hpplay.c:
7445         * ralloc.c:
7446         * alloc.c:
7447         * keymap.c:
7448         * profile.c:
7449         s/int/Fixnum/g in DEFVAR_INT declarations.
7450
7451 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7452
7453         Port pdump to SGI alignment-sensitive environment.
7454         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7455         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7456         properly aligned.
7457         Define and use aligned reading and writing macros.
7458         Use buffered stdio instead of posix i/o for faster dumping.
7459         Eliminate kludgy 256 byte space for header.
7460         Read and write from dump file using structs for alignment safety.
7461         * dumper.c (pdump_align_stream): New.
7462         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7463         * dumper.c (PDUMP_READ_ALIGNED): New.
7464         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7465         * dumper.c (pdump_static_Lisp_Object): New struct.
7466         * dumper.c (pdump_static_pointer): New struct.
7467         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7468         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7469         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7470         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7471
7472         * dumper.c (pdump_backtrace):
7473         * dumper.c (pdump_get_indirect_count):
7474         * dumper.c (pdump_register_object):
7475         * dumper.c (pdump_register_struct):
7476         * dumper.c (pdump_reloc_one):
7477         * dumper.c (pdump_scan_by_alignment):
7478         * dumper.c (pdump_dump_from_root_struct_ptrs):
7479         * dumper.c (pdump_dump_opaques):
7480         * dumper.c (pdump_dump_rtables):
7481         * dumper.c (pdump_dump_from_root_objects):
7482         * dumper.c (pdump):
7483         * dumper.c (pdump_load_finish):
7484         Use aligned reading and writing.
7485
7486         * dumper.c (pdump_free): Make static.
7487         * dumper.c (pdump_hFile): Likewise.
7488         * dumper.c (pdump_hMap): Likewise.
7489
7490 2001-01-26  Martin Buchholz <martin@xemacs.org>
7491
7492         * XEmacs 21.2.43 "Terspichore" is released.
7493
7494 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7495
7496         Type fiddling for window_config.saved_windows_count
7497         * window.c (struct window_config): 
7498         Make saved_windows_count member unsigned.
7499         * window.c (sizeof_window_config_for_n_windows): 
7500         Make parameter unsigned.
7501         * window.c (mark_window_config):
7502         * window.c (window_config_equal):
7503         * window.c (free_window_configuration):
7504         * window.c (Fset_window_configuration):
7505         * window.c (count_windows):
7506         * window.c (Fcurrent_window_configuration):
7507         * window.c (reinit_vars_of_window):
7508         Update all callers and users.
7509
7510 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7511
7512         Alignment correctness for flexible arrays.
7513         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7514         Make alignment-correct. Add interesting comments.
7515         * alloc.c (size_vector):
7516         * alloc.c (make_vector_internal):
7517         * alloc.c (make_bit_vector_internal):
7518         * alloc.c (sweep_bit_vectors_1):
7519         * fns.c (size_bit_vector):
7520         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7521         * window.c (sizeof_window_config_for_n_windows): 
7522         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7523
7524 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7525
7526         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7527
7528 2001-01-23  Andy Piper  <andy@xemacs.org>
7529
7530         * select.c (Fown_selection_internal): pass owned_p
7531
7532         * select-msw.c (mswindows_own_selection): New Signature.
7533
7534         * console.h (struct console_methods): add owned_p to
7535         _own_selection.
7536
7537         * select-x.c (x_own_selection): pass owned_p
7538         (hack_motif_clipboard_selection): use owned_p
7539         (vars_of_select_x): new variable -
7540         x_selection_strict_motif_ownership.
7541
7542 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7543
7544         * specifier.h (specifier_data_offset): Remove pointless parens.
7545         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7546
7547 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7548
7549         Make Lisp_Object sizeof methods be alignment-correct.
7550         pdump must restore objects to the same alignment as the C compiler
7551         assumes.  It really matters on SGIs.
7552         * lstream.c (aligned_sizeof_lstream): New.
7553         (sizeof_lstream): Use aligned_sizeof_lstream.
7554         (Lstream_new): Likewise.
7555         * opaque.c (aligned_sizeof_opaque): New.
7556         (sizeof_opaque): Use aligned_sizeof_opaque.
7557         (make_opaque): Likewise.
7558         * specifier.c (aligned_sizeof_specifier): New.
7559         (sizeof_specifier): Use aligned_sizeof_specifier.
7560         (make_specifier_internal): Likewise.
7561
7562 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7563
7564         * lstream.h (struct lstream): Use max_align_t for trailing data.
7565         * specifier.h (struct Lisp_Specifier): Likewise.
7566
7567 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7568
7569         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7570         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7571         (CCL_SUSPEND): Likewise.
7572         (CCL_INVALID_CMD): Likewise.
7573         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7574         (ccl_driver): Likewise.
7575         (CCL_WRITE_CHAR): Macro hygiene.
7576         (CCL_WRITE_STRING): Macro hygiene.
7577
7578 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7579
7580         Port "portable" dumper to SunOS 4 and HP-UX.
7581         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7582         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7583         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7584
7585 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7586
7587         * lisp.h (ALIGNOF): A better definition for C++.
7588
7589 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7590
7591         Macro hygiene.
7592         Fix printf warnings: int format, long int arg.
7593         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7594         (PUSH_FAILURE_POINT): Use correct printf formats.
7595         (POP_FAILURE_POINT): Use correct printf formats.  
7596         Use do {...} while (0)
7597
7598 2001-01-20  Martin Buchholz <martin@xemacs.org>
7599
7600         * XEmacs 21.2.42 "Poseidon" is released.
7601
7602 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7603
7604         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7605
7606 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7607
7608         De-kludgify FIXED_TYPE free list frobbing.
7609         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7610         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7611         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7612         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7613         * alloc.c (LRECORD_FREE_P): New.
7614         * alloc.c (MARK_LRECORD_AS_FREE): New.
7615         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7616         * alloc.c (STRUCT_FREE_P): Deleted.
7617         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7618         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7619         * alloc.c (STRING_CHARS_FREE_P): New.
7620         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7621         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7622         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7623         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7624         * alloc.c (resize_string): Use new definitions.
7625         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7626         * alloc.c (verify_string_chars_integrity): Use new definitions.
7627         * alloc.c (compact_string_chars): Use new definitions.
7628         * alloc.c: Update monster comments.
7629         * lrecord.h (lrecord_type): Add some new lrecord types for
7630         alloc.c's use.
7631
7632 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7633
7634         Improve alignment hackery.
7635         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7636         (max_align_t): Moved from opaque.h - general purpose.
7637         (ALIGN_PTR): Use size_t, not long.
7638         * opaque.h (max_align_t): Move to lisp.h.
7639
7640 2001-01-18  Norbert Koch  <nk@LF.net>
7641
7642         * gui.h: Fix and add prototypes to fix build problems.
7643
7644 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7645
7646         temacs is going away, so `dump-temacs' is now a bad name.
7647         * .dbxrc (dump-temacs): Rename to `dmp'.
7648         * .gdbinit (dump-temacs): Rename to `dmp'.
7649
7650 2001-01-17  Andy Piper  <andy@xemacs.org>
7651
7652         * glyphs.c (print_image_instance): comment to make martin happy.
7653
7654         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7655         change.
7656
7657         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7658         activation.
7659         (mswindows_tab_control_redisplay): warning suppression.
7660
7661         * glyphs-widget.c (widget_update): re-write to cope with updated
7662         items.
7663         (widget_instantiate): use new gui_item functions.
7664         (tab_control_update): deleted.
7665         (progress_gauge_update): deleted.
7666         (image_instantiator_progress_guage): take out update reference.
7667         (image_instantiator_tree_view): ditto.
7668         (image_instantiator_tab_control): ditto.
7669
7670         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7671         Right the new way.
7672         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7673         return whether anything was changed.
7674         (update_gui_item_keywords): as it sounds.
7675
7676         * gui.h: declare widget_gui_parse_item_keywords.
7677
7678         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7679         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7680
7681 2001-01-17  Martin Buchholz <martin@xemacs.org>
7682
7683         * XEmacs 21.2.41 "Polyhymnia" is released.
7684
7685 2001-01-16  Didier Verna  <didier@xemacs.org>
7686
7687         * glyphs.c (image_instantiate): don't use fallbacks when
7688         instantiating a face's background pixmap by inheritance.
7689
7690 2001-01-14  Mike Sperber <mike@xemacs.org>
7691
7692         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7693         Conditionalize accordingly.
7694
7695 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7696
7697         * dumper.c (pdump_file_get): Fix a compiler warning.
7698
7699 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7700
7701         Make Purify happy when pdumping.
7702         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7703         iniitalizing all bits of new lisp object memory.
7704         * symbols.c (Fmake_local_variable): Likewise.
7705         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7706         * symbols.c (Fdefvaralias): Likewise.
7707         * mule-charset.c (vars_of_mule_charset): Likewise.
7708
7709 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7710         Add the `-nd' flag when running pre-dump operations under the debugger.
7711         * .dbxrc (run-temacs): Add `-nd'.
7712         * .dbxrc (update-elc): Likewise.
7713         * .dbxrc (dump-temacs): Likewise.
7714         * .gdbinit (run-temacs): Likewise.
7715         * .gdbinit (check-temacs): Likewise.
7716         * .gdbinit (update-elc): Likewise.
7717         * .gdbinit (dump-temacs): Likewise.
7718
7719 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7720
7721         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7722         export OBJECT_MODE=64
7723         configure --pdump --use-union-type=no
7724         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7725         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7726
7727         * miscplay.c (sndcnv8U_2mono):
7728         Avoid two uses of `++' in the same expression.
7729         Suppresses a GCC warning.
7730
7731 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7732
7733         Make sure future compilers don't miscompile alloc.c.
7734         * alloc.c:
7735         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7736         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7737
7738 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7739
7740         * dumper.c: A little post-pdump-rename comment fixup.
7741
7742 2001-01-09  Jerry James  <james@eecs.ku.edu>
7743
7744         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7745
7746 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7747
7748         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7749         script:
7750         #!/bin/sh
7751         replace_symbol () {
7752           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7753         }
7754
7755         replace_symbol pdump_wire_lists pdump_weak_object_chains
7756         replace_symbol pdump_wire_list dump_add_weak_object_chain
7757
7758         replace_symbol pdump_wires pdump_root_objects
7759         replace_symbol pdump_wire dump_add_root_object
7760
7761         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7762         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7763
7764         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7765         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7766         replace_symbol dumpstructinfo pdump_root_struct_ptr
7767         replace_symbol dumpstruct dump_add_root_struct_ptr
7768
7769         replace_symbol dumpopaque dump_add_opaque
7770         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7771         replace_symbol dumpopaqueinfos pdump_opaques
7772         replace_symbol dumpopaqueinfo pdump_opaque
7773
7774         replace_symbol nb_structdump nb_root_struct_ptrs
7775         replace_symbol nb_opaquedump nb_opaques
7776
7777         replace_symbol align_table pdump_align_table
7778         replace_symbol dump_header pdump_header
7779
7780         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7781         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7782
7783
7784 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7785
7786         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7787         optimizing bytecount_to_charcount().
7788
7789 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7790
7791         * config.h.in:
7792         (HAVE_DLFCN_H): Removed.
7793         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7794
7795 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7796
7797         Portable dumper maintainability improvements.
7798         * alloc.c (staticpro):
7799         * alloc.c (staticpro_nodump):
7800         * alloc.c (garbage_collect_1):
7801         * alloc.c (reinit_alloc_once_early):
7802         * alloc.c (init_alloc_once_early):
7803         * alloc.c: Move dumper functions to alloc.c.
7804         * dumper.c (pdump_backtrace):
7805         * dumper.c (pdump_dump_structs):
7806         * dumper.c (pdump_dump_opaques):
7807         * dumper.c (pdump_dump_rtables):
7808         * dumper.c (pdump_dump_wired):
7809         * dumper.c (pdump):
7810         * dumper.c (pdump_load_check):
7811         * dumper.c (pdump_load_finish):
7812         * dumper.c (pdump_file_unmap):
7813         * dumper.c (pdump_file_get):
7814         * dumper.c (pdump_resource_free):
7815         * dumper.c (pdump_resource_get):
7816         * dumper.c (pdump_file_free):
7817         * dumper.c (pdump_file_try):
7818         * dumper.c (pdump_load):
7819         Remove fixed size limits on staticpro(), staticpro_nodump(),
7820         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7821         Remove custom code for dumping lrecord_implementations_table - use
7822         dumpopaque instead.
7823         Remove (most of the) custom code for dumping staticpros - dump it
7824         like any other dynarr.
7825
7826         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7827         * dumper.c: Moved functions from alloc.c.
7828         * alloc.c (dumpstruct): Moved to dumper.c.
7829         * alloc.c (dumpopaque): Likewise.
7830         * alloc.c (pdump_wire): Likewise.
7831         * alloc.c (pdump_wire_list): Likewise.
7832
7833         * lisp.h (Dynarr_sizeof): New.
7834         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7835         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7836         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7837
7838         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7839         * lisp.h (dumpopaque): ditto.
7840         * lisp.h (pdump_wire): ditto.
7841         * lisp.h (pdump_wire_list): ditto.
7842
7843 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7844
7845         * make-src-depend (PrintPatternDeps):
7846         Use `sort' to make output independent of perl version.
7847
7848 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7849
7850         Port to Netbsd 1.5.
7851         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7852         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7853
7854 2001-01-03  Didier Verna  <didier@xemacs.org>
7855
7856         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7857         that `focus_frame' is alive before thinking of calling
7858         `redisplay_redraw_cursor' on it.
7859
7860 2001-01-08  Martin Buchholz <martin@xemacs.org>
7861
7862         * XEmacs 21.2.40 is released.
7863
7864 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7865
7866         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7867
7868 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7869
7870         * alloc.c (dbg_valmask): Make const.
7871         * alloc.c (dbg_typemask): Make const.
7872         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7873         * alloc.c (dbg_valbits): Make const.
7874         * alloc.c (dbg_gctypebits): Make const.
7875
7876 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7877
7878         * redisplay-x.c (x_bevel_area):
7879         redisplay.h (struct rune):
7880         Typo fixes in comments.
7881
7882 2001-01-05  Andy Piper  <andy@xemacs.org>
7883
7884         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7885         adjustment.
7886
7887         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7888
7889 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7890
7891         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7892
7893         * mule-ccl.c (stack_idx_of_map_multiple):
7894         Non const global data must not be initialized!
7895         Found by MIYASHITA Hisashi.
7896
7897 2001-01-02  Andy Piper  <andy@xemacs.org>
7898
7899         * frame.c (change_frame_size): make sure frame size is always
7900         marked as changed.
7901
7902         * glyphs.c (image_instance_layout): minor code reuse.
7903
7904         * window.c (Fcurrent_window_configuration): revert previous
7905         change.
7906
7907 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7908
7909         * glyphs.h:
7910         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7911
7912 2000-12-31  Andy Piper  <andy@xemacs.org>
7913
7914         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7915         when widget gets unmapped.
7916
7917         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7918         function. Make sure widgets losing focus don't just drop it.
7919         (handle_focus_event_1): record the widget with focus.
7920
7921 2000-12-31  Andy Piper  <andy@xemacs.org>
7922
7923         * window.c (allocate_window): use
7924         make_image_instance_cache_hash_table.
7925         (make_dummy_parent): ditto.
7926         (Fset_window_configuration): ditto.
7927
7928         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7929
7930         * glyphs.c (process_image_string_instantiator): use
7931         INSTANTIATOR_TYPE.
7932         (get_image_instantiator_governing_domain): ditto.
7933         (normalize_image_instantiator): ditto.
7934         (instantiate_image_instantiator): ditto.
7935         (make_image_instance_1): ditto.
7936         (image_instantiate): ditto. Key on glyph *and* instantiator type.
7937         (instantiator_eq_equal): new function for use with instance hash
7938         tables.
7939         (instantiator_eq_hash): ditto.
7940         (make_image_instance_cache_hash_table): create a suitable hash
7941         table for storing image instances.
7942
7943         * elhash.h (hash_table_weakness): new internal weakness type
7944         HASH_TABLE_KEY_CAR_VALUE_WEAK.
7945         declare new functions.
7946
7947         * elhash.c (finish_marking_weak_hash_tables): introduce yet
7948         another weakness type for glyphs.
7949         (make_standard_lisp_hash_table): new function split out from
7950         make_general_lisp_hash_table.
7951         (make_lisp_hash_table): call make_standard_lisp_hash_table.
7952         (hash_table_instantiate): ditto.
7953         (Fmake_hash_table): ditto.
7954
7955 2000-12-31  Martin Buchholz <martin@xemacs.org>
7956
7957         * XEmacs 21.2.39 is released.
7958
7959 2000-12-29  Andy Piper  <andy@xemacs.org>
7960
7961         * menubar.c (menubar_visible_p_changed): signal the frame changed.
7962
7963         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
7964         the frame has changed so that we pick up geometry changes such as
7965         menubar visibility.
7966
7967 2000-12-28  Andy Piper  <andy@xemacs.org>
7968
7969         * lastfile.c (my_ebss): make a char array so we can pad the
7970         bss. Fixes cygwin unexec.
7971
7972         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
7973
7974 2000-12-26  Andy Piper  <andy@xemacs.org>
7975
7976         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
7977         comments and try and be more precise about a non-/SIGIO world.
7978         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
7979         SIGIO.
7980
7981         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
7982         we don't normalize to zero width or height.
7983
7984 2000-12-24  Andy Piper  <andy@xemacs.org>
7985
7986         * Makefile.in.in (ldflags): add -mwindows when appropriate.
7987
7988 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
7989
7990         * s/sco5.h: SCO 5 has pty support.
7991
7992 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
7993
7994         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
7995         input-method-xlib.c contains whole contents of input-method-xfs.c,
7996         so we can use input-method-xlib.c's code for USE_XFONTSET
7997         using #ifdefs.
7998         * input-method-xfs.c: removed.
7999
8000 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8001
8002         * file-coding.h (enum coding_category_type): reorder enumerators to
8003         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8004         (now one greater than largest real coding_category_type enumerator).
8005         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8006         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8007         Fcoding_category_list, Fset_coding_priority_list,
8008         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8009         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8010
8011 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8012
8013         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8014         * redisplay-output.c (redisplay_output_window): Clear top of window
8015         when face is changed.
8016         * redisplay-x.c (x_redraw_exposed_window): Call
8017         redisplay_clear_top_of_window.
8018         * redisplay.h: Publish redisplay_clear_top_of_window.
8019
8020 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8021
8022         * buffer.c (Fkill_buffer): Map over all devices.
8023         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8024         (list_windows): New function.
8025         (list_all_windows): Ditto.
8026         (Freplace_buffer_in_windows): Use them.
8027
8028 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8029
8030         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8031         (Fopen_database): Use `db_create' instead of `db_open'.
8032         (syms_of_database): Initialize Qqueue.
8033
8034 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8035
8036         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8037         buffer_local_face_property.
8038         * buffer.h (struct buffer): New member buffer_local_face_property.
8039         * window.c (Fset_window_buffer):  Mark window's face as changed
8040         when buffer has buffer local face.
8041         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8042         * objects.c (color_after_change): Set buffer_local_face_property
8043         when locale of face specifier is buffer.
8044         * objects.c (font_after_change): Ditto.
8045         * objects.c (face_boolean_after_change): Ditto.
8046         * glyphs.c (image_after_change): Ditto.
8047
8048 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8049
8050         * nt.c (mswindows_fstat): Report file permissions, volume serial
8051         number, etc. Code adapted from FSF Emacs 20.7.
8052
8053 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8054
8055         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8056         of stat when we don't have symbolic links, to make sure
8057         mswindows_stat is called on mswindows.
8058
8059 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8060
8061         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8062
8063 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8064
8065         * doprnt.c (emacs_doprnt_1): More printing fixes.
8066         Make printing of numbers compatible with libc and FSF Emacs.
8067         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8068         Use the system printf to do most of the hard work of formatting,
8069         instead of doprnt_1().
8070         Calculate memory to allocate for format string.
8071         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8072         (doprnt_1): Cleaner code and documentation.
8073
8074 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8075
8076         * Makefile.in.in: Use the loop variable to install headers.
8077
8078 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8079
8080         * window.c (Fsplit_window): Don't invalidate face cache.
8081
8082 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8083
8084         * minibuf.c (Fall_completions): Undo the previous change
8085         which removed checking elements start with space.
8086
8087 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8088
8089         * mule-canna.c: Didier suppression.
8090
8091 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8092
8093         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8094         (warning suppression).  Add English comment translations.
8095
8096 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8097
8098         * unexelfsgi.c (unexec): Better test for mmap failure.
8099
8100 2000-12-05  Martin Buchholz <martin@xemacs.org>
8101
8102         * XEmacs 21.2.38 is released.
8103
8104 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8105
8106         * redisplay.c (bar-cursor): Make a user variable.
8107
8108         * symsinit.h: Add init_postgresql_from_environment.
8109
8110 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8111
8112         * regex.c: Convert to clean C.
8113
8114 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8115
8116         * realpath.c:
8117         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8118         initialization.
8119         (sys_readlink): renamed to system_readlink to avoid conflict with
8120         the other sys_readlink.
8121
8122 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8123
8124         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8125
8126 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8127
8128         * postgresql.c (init_postgresql_from_environment): new function.
8129         (vars_of_postgresql): Move code initializing Lisp variables out and
8130         into init_postgresql_from_environment.
8131         emacs.c (main_1): Call init_postgresql_from_environment if and only
8132         if running a dumped XEmacs.
8133
8134 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8135
8136         * buffer.c: Make find-file-compare-truenames default to true on
8137         windows.
8138
8139         * realpath.c (win32_abs_start):
8140         (cygwin_readlink):
8141         (win32_readlink): New functions.
8142         (xrealpath): Return really real filenames on windows.
8143
8144         * fileio.c (Ffile_truename): Make file-truename work on windows.
8145
8146 2000-11-29  Didier Verna  <didier@xemacs.org>
8147
8148         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8149         * faces.c (update_face_cachel_data): use it.
8150         * faces.c (add_face_cachel): use it. Complete background pixmap
8151         frobbing in face cache if `update_face_cachel_data' has not done so.
8152
8153 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8154
8155         * search.c (string_match_1): Don't set last_thing_searched
8156         when search failed.
8157
8158 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8159
8160         * buffer.c: Include casetab.h
8161         (common_init_complex_vars_of_buffer): Use new case-table object.
8162         * buffer.h: Include casetab.h
8163         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8164         (DOWNCASE_TABLE_OF): Ditto.
8165         * bufslots.h: Remove char-tables and add case-table.
8166         * casetab.c: Include casetab.h
8167         (CASE_TABLE_P): Removed.
8168         (mark_case_table): New function.
8169         (allocate_case_table): New function.
8170         (Fcase_table_p): Use new case-table.
8171         (case_table_char): New function.
8172         (Fget_case_table): Ditto.
8173         (Fput_case_table): Ditto.
8174         (Fput_case_table_pair): Ditto.
8175         (Fcopy_case_table): Ditto.
8176         (Fcurrent_case_table): Return case-table.
8177         (Fstandard_case_table): Return case-table.
8178         (Fset_case_table): Fix doc-string.
8179         (set_case_table): Use case-table
8180         (syms_of_casetab): DEFSUBR new functions.
8181         (complex_vars_of_casetab): Set up standard case-table.
8182         * casetab.h: New file.
8183         * editfns.c: Include casetab.h
8184         (Fcompare_buffer_substrings): Use case-table.
8185         * inline.c: Include casetab.h
8186         * lisp.h: Remove bogus extern.
8187         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8188         * search.c: Include casetab.h
8189         (TRANSLATE_ASCII): Removed.
8190         (TRANSLATE): Unconditionally translate character.
8191         (looking_at_1): Use case-table.
8192         (string_match_1): Ditto.
8193         (fast_string_match): Ditto.
8194         (search_command): Ditto.
8195         (search_buffer): Separate boyer_moore.  Check whether
8196         boyer_moore is possible.
8197         (simple_search): New function.
8198         (boyer_moore): Separated from search_buffer. Translate char.
8199
8200 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8201
8202         * regex.c (RE_TR_ASCII): Removed.
8203         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8204         (PATFETCH): Call PATFETCH_RAW.
8205         (PATFETCH_RAW): Fetch Emchar.
8206         (PATUNFETCH): Decrement charptr.
8207         (GET_BUFFER_SPACE): Rename b to buf_end.
8208         (BUF_PUSH): Ditto.
8209         (BUF_PUSH_2): Ditto.
8210         (BUF_PUSH_3): Ditto.
8211         (EXTEND_BUFFER): Ditto.
8212         (SET_LIST_BIT): Ditto.
8213         (regex_compile): Ditto.  Translate non ASCII char.
8214         (compile_range): Ditto.
8215         (re_search_2): Ditto.
8216         (re_match_2_internal): Compare Emchar.
8217         (bcmp_translate): Ditto.
8218
8219 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8220
8221         * lisp.h (basic char/int typedefs):  comment improvement.
8222
8223 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8224
8225         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8226         unstomp inhibit_site_lisp.  Improve comments.
8227
8228 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8229
8230         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8231
8232 2000-11-28  Andy Piper  <andy@xemacs.org>
8233
8234         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8235         clipped display for windows in the gutter also.
8236         (redisplay_display_boxes_in_window_p): change semantics of return
8237         codes to be more intuitive.
8238
8239         * gutter.h: declare display_boxes_in_gutter_p.
8240
8241         * gutter.c (display_boxes_in_gutter_p): new function for
8242         redisplay.
8243
8244 2000-11-22  Andy Piper  <andy@xemacs.org>
8245
8246         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8247         autodetect domain.
8248
8249 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8250
8251         * callproc.c (Fold_call_process_internal):
8252         * gpm.c (Freceive_gpm_event):
8253         (tty_get_foreign_selection): Might be just warning supression.
8254         * fileio.c (Fwrite_region_internal):
8255         (Fset_visited_file_modtime):
8256         * keymap.c (event_matches_key_specifier_p):
8257         Initialize GCPROed variable.
8258
8259         * menubar-x.c (command_builder_find_menu_accelerator):
8260         Initialize before use.
8261
8262 2000-11-23  Andy Piper  <andy@xemacs.org>
8263
8264         * unexcw.c (unexec): make the resulting executable executable.
8265
8266 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8267
8268         * doc.c (get_doc_string):
8269         Use size_t, not int, for result of XSTRING_LENGTH.
8270
8271         * cmds.c (Fdelete_char):
8272         * cmds.c (Fpoint_at_eol):
8273         * cmds.c (Fself_insert_command):
8274         Use EMACS_INT, not int, for result of XINT.
8275         Someday, someone will want to insert more than 2**31 identical characters.
8276
8277         * cmds.c (Fdelete_char):
8278         * cmds.c (Fdelete_backward_char):
8279         * syntax.c (Fforward_word):
8280         * syntax.c (Fforward_comment):
8281         Make COUNT argument optional, for consistency with forward-char et al.
8282
8283 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8284
8285         * lisp.h:
8286         * print.c (long_to_string):
8287         Return a useful value: the pointer at end of data written.
8288
8289         * doprnt.c:
8290         Use `static const char * const' for constant strings.
8291         (union printf_arg): Delete `i', `ui' members.
8292         (get_doprnt_args):
8293         (emacs_doprnt_1):
8294         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8295         Do all printf-ing via the `l' specifier.
8296         Use EMACS_INT instead of int.
8297         Optimize.
8298
8299 2000-11-20  Didier Verna  <didier@xemacs.org>
8300
8301         * faces.c (update_face_cachel_data): don't frob the background
8302         pixmap when the window is being created. The face is needed but
8303         does not exist yet.
8304
8305 2000-11-20  Andy Piper  <andy@xemacs.org>
8306
8307         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8308         messing with a debug environment.
8309
8310 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8311
8312         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8313
8314 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8315
8316         * casetab.c (Fcase_table_p): Fix compile error and crash.
8317
8318 2000-11-18  Philip Aston  <philipa@mail.com>
8319
8320         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8321
8322 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8323
8324         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8325         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8326
8327 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8328
8329         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8330         * unexelf.c: Use HAVE_ELF_H.
8331         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8332         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8333         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8334         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8335         for testing.
8336         So this is an unexelfsgi.c from a different line of development.
8337
8338 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8339
8340         * regex.c (RE_TR_ASCII): New function.
8341         (RE_TRANSLATE): Call it.
8342
8343 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8344
8345         * buffer.h (TRT_TABLE_OF): Remove assert.
8346         (IN_TRT_TABLE_DOMAIN): Removed.
8347
8348 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8349
8350         * free-hook.c (log_gcpro):
8351         (show_gcprohist): Add support for GCPRO5.
8352
8353 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8354
8355         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8356
8357 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8358
8359         * symeval.h: Declare flush_all_buffer_local_cache.
8360
8361         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8362         (flush_buffer_local_cache): Added.
8363         (flush_all_buffer_local_cache): Added.
8364
8365         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8366
8367         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8368         (pdump_dump_data): Ditto.
8369         (pdump_reloc_one): Ditto.
8370         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8371         before dumping.
8372
8373
8374 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8375
8376         * buffer.c: Remove if 0'ed entry.
8377         * buffer.h: Rewrite TRT to use char-table.
8378         * bufslots.h: Remove mirror tables.
8379         * casetab.c: Remove mirror tables.
8380         (CASE_TABLE_P): New macro.
8381         (Fcase_table_p): Element of a case table is string or char-table.
8382         (make_mirror_trt_table): Removed.
8383         (set_case_table): Setup char-table from strings for backward
8384         compatibility.
8385         * dired.c (Fdirectory_files):
8386         * dired-msw.c: (mswindows_get_files):
8387         * lisp.h: Change prototype of re_pattern_buffer.
8388         * regex.c: (RE_TRANSLATE): New macro.
8389         (TRANSLATE_P): Ditto.
8390         Change translate to type RE_TRANSLATE_TYPE.
8391         * regex.h: Define RE_TRANSLATE_TYPE
8392         * search.c (TRANSLATE): New macro.
8393         (TRANSLATE_ASCII): New macro.
8394         Translate table is changed to Lisp_Object.
8395         (signal_failure): Inhibit return.
8396
8397 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8398
8399         * device-msw.c:
8400         * eldap.c:
8401         * event-Xt.c:
8402         * event-stream.c:
8403         * print.c:
8404         Do UNGCPRO before return.
8405
8406 2000-11-14  Martin Buchholz <martin@xemacs.org>
8407
8408         * XEmacs 21.2.37 is released.
8409
8410 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8411
8412         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8413         Add comments about discarded return value.
8414
8415 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8416
8417         * callint.c:
8418         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8419
8420 2000-10-27  Andy Piper  <andy@xemacs.org>
8421
8422         * gutter.c (Fset_default_gutter_position): default left and right
8423         gutters to visible.
8424         (calculate_gutter_size): calculate resonable heuristic for left
8425         and right gutter sizes.
8426         (specifier_vars_of_gutter): change left and right gutter sizes to
8427         autodetect.
8428         (calculate_gutter_size_from_display_lines): new function.
8429         (output_gutter): check for resizing on left and right gutters.
8430         (clear_gutter): don't special case top and left gutters.
8431         (specifier_vars_of_gutter): use new signature for
8432         set_specifier_caching.
8433
8434         * glyphs-x.c (x_redisplay_widget): spelling fix.
8435         * glyphs.c (specifier_vars_of_glyphs):
8436         * menubar.c (specifier_vars_of_menubar):
8437         * redisplay.c (specifier_vars_of_redisplay):
8438         * toolbar.c (specifier_vars_of_toolbar):
8439         * window.c (specifier_vars_of_window):
8440         * scrollbar.c (specifier_vars_of_scrollbar):
8441         (complex_vars_of_scrollbar): use new signature for
8442         set_specifier_caching.
8443
8444         * specifier.c (set_specifier_caching): include recompute flag.
8445         (recompute_one_cached_specifier_in_window): always recompute if
8446         flag set.
8447         (recompute_one_cached_specifier_in_frame): ditto.
8448
8449         * specifier.h (struct specifier_caching): add recompute flag.
8450
8451 2000-10-24  Andy Piper  <andy@xemacs.org>
8452
8453         * unexcw.c (copy_executable_and_dump_data_section): add new
8454         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8455         5.0 happy.
8456
8457 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8458
8459         * console-x.h (x_device): New member modifier_release_time.
8460         * event-Xt.c (x_handle_sticky_modifiers):
8461         Bound interval modifier keys are sticky.
8462         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8463         * events.h: extern it.
8464
8465 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8466
8467         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8468
8469 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8470
8471         * event-stream.c (execute_command_event): Preserve current_events
8472         and the like when event is misc-user-event.
8473         Inhibit quit during the call to maybe_echo_keys.
8474
8475 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8476
8477         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8478         symlink when buffer is killed.
8479         (inhibit_clash_detection): New variable.
8480
8481 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8482
8483         * console.c (Fset_input_method): Trigger redisplay on tty.
8484
8485 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8486
8487         * process.c (Fprocess_status): Revert to previous behavior:
8488         (process-status "nosuchprocess") ==> nil
8489
8490 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8491
8492         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8493         Work around another GCC 2.95.2 optimizer bug.
8494
8495 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8496
8497         * process.c (Fget_process): Use LIST_LOOP_2.
8498         (kill_buffer_processes): Use LIST_LOOP_2.
8499
8500         * minibuf.c (Fall_completions):
8501         Delete old non-functional code for FSF fourth argument.
8502
8503         * frame.c (frame_matches_frame_spec):
8504         Renamed from `frame_matches_frametype'.  Update all callers.
8505         (device_matches_device_spec):
8506         Renamed from 'device_matches_console_spec'.  Update all callers.
8507
8508         * doc.c (Fsubstitute_command_keys):
8509         Remove buffer overflow crash.  Small code cleanups.
8510
8511         * casetab.c (check_case_table): Simpler code.
8512
8513         * window.c (Freplace_buffer_in_windows):
8514         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8515         (and similar implementation) as Fdelete_windows_on.
8516         Update all callers.
8517
8518         * alloc.c (Fmake_list):
8519         * alloc.c (make_vector):
8520         * alloc.c (Fmake_vector):
8521         * alloc.c (make_bit_vector):
8522         * alloc.c (Fmake_bit_vector):
8523         * alloc.c (Fbit_vector):
8524         * alloc.c (Fmake_string):
8525         * alloc.c (Fpurecopy):
8526         * alloc.c (Fmemory_limit):
8527         * buffer.c:
8528         * buffer.c (Fget_buffer):
8529         * buffer.c (Fkill_buffer):
8530         * buffer.c (complex_vars_of_buffer):
8531         * bytecode.c (Fcompiled_function_stack_depth):
8532         * callint.c (Fprefix_numeric_value):
8533         * event-stream.c:
8534         * event-stream.c (Fread_key_sequence):
8535         * casetab.c:
8536         * casetab.c (Fcase_table_p):
8537         * casetab.c (check_case_table):
8538         * casetab.c (Fset_case_table):
8539         * casetab.c (Fset_standard_case_table):
8540         * chartab.c:
8541         * chartab.c (Fchar_table_type):
8542         * chartab.c (Freset_char_table):
8543         * chartab.c (Fget_char_table):
8544         * chartab.c (Fget_range_char_table):
8545         * chartab.c (Fput_char_table):
8546         * chartab.c (Fmap_char_table):
8547         * chartab.c (Fcategory_table_p):
8548         * chartab.c (Fcheck_category_at):
8549         * chartab.c (Fchar_in_category_p):
8550         * chartab.c (Fcategory_table):
8551         * chartab.c (Fcopy_category_table):
8552         * chartab.c (Fset_category_table):
8553         * chartab.c (Fcategory_designator_p):
8554         * chartab.c (Fcategory_table_value_p):
8555         * cmds.c (Fdelete_char):
8556         * cmds.c (Fdelete_backward_char):
8557         * cmds.c (Fself_insert_command):
8558         * cmds.c (Fself_insert_internal):
8559         * console.c (Fvalid_console_type_p):
8560         * console.c (Fcdfw_console):
8561         * console.c (Fconsole_type):
8562         * console.c (Fconsole_name):
8563         * console.c (Fconsole_device_list):
8564         * console.c (Fconsole_on_window_system_p):
8565         * data.c:
8566         * data.c (Feq):
8567         * data.c (Fold_eq):
8568         * data.c (Fsubr_interactive):
8569         * data.c (Fchar_to_int):
8570         * data.c (Fint_to_char):
8571         * data.c (Fsetcar):
8572         * data.c (Fsetcdr):
8573         * data.c (Fnumber_to_string):
8574         * data.c (Fstring_to_number):
8575         * data.c (Frem):
8576         * database.c (mark_database):
8577         * database.c (finalize_database):
8578         * database.c (Fdatabase_live_p):
8579         * database.c (Fdatabasep):
8580         * device-x.c (Fx_get_resource):
8581         * device.c (Fdfw_device):
8582         * dired.c:
8583         * dired.c (Ffile_name_completion):
8584         * dired.c (Ffile_name_all_completions):
8585         * dired.c (Fuser_name_completion):
8586         * dired.c (Fuser_name_completion_1):
8587         * dired.c (Fuser_name_all_completions):
8588         * doc.c (Fdocumentation):
8589         * doc.c (Fdocumentation_property):
8590         * doc.c (Fsubstitute_command_keys):
8591         * editfns.c:
8592         * editfns.c (Fchar_to_string):
8593         * editfns.c (Fstring_to_char):
8594         * editfns.c (Ftemp_directory):
8595         * editfns.c (Finsert_char):
8596         * editfns.c (Fbuffer_substring_no_properties):
8597         * editfns.c (Fnarrow_to_region):
8598         * editfns.c (Fchar_equal):
8599         * editfns.c (Fchar_Equal):
8600         * editfns.c (Ftranspose_regions):
8601         * emacs.c (Fdump_emacs):
8602         * eval.c (Fthrow):
8603         * eval.c (Fcommand_execute):
8604         * eval.c (Fautoload):
8605         * eval.c (Fbacktrace):
8606         * eval.c (Fbacktrace_frame):
8607         * events.c:
8608         * events.c (Fcopy_event):
8609         * events.c (Fcharacter_to_event):
8610         * events.c (Fevent_button):
8611         * events.c (Fevent_process):
8612         * extents.c:
8613         * extents.c (Fnext_extent_change):
8614         * extents.c (Fextent_property):
8615         * faces.c (Ffacep):
8616         * faces.c (Fmake_face):
8617         * file-coding.c:
8618         * file-coding.c (Fencode_shift_jis_char):
8619         * file-coding.c (Fencode_big5_char):
8620         * fileio.c (Ffile_name_directory):
8621         * fileio.c (Ffile_name_nondirectory):
8622         * fileio.c (Ffile_name_as_directory):
8623         * fileio.c (Fdirectory_file_name):
8624         * fileio.c (Ffile_truename):
8625         * fileio.c (Fsubstitute_in_file_name):
8626         * fileio.c (Ffile_modes):
8627         * fileio.c (Fset_file_modes):
8628         * fileio.c (Fset_default_file_modes):
8629         * fileio.c (Fverify_visited_file_modtime):
8630         * floatfns.c (Facos):
8631         * floatfns.c (Fasin):
8632         * floatfns.c (Fatan):
8633         * floatfns.c (Fcos):
8634         * floatfns.c (Fsin):
8635         * floatfns.c (Ftan):
8636         * floatfns.c (Fbessel_j0):
8637         * floatfns.c (Fbessel_j1):
8638         * floatfns.c (Fbessel_jn):
8639         * floatfns.c (Fbessel_y0):
8640         * floatfns.c (Fbessel_y1):
8641         * floatfns.c (Fbessel_yn):
8642         * floatfns.c (Ferf):
8643         * floatfns.c (Ferfc):
8644         * floatfns.c (Flog_gamma):
8645         * floatfns.c (Fexp):
8646         * floatfns.c (Fexpt):
8647         * floatfns.c (Flog):
8648         * floatfns.c (Flog10):
8649         * floatfns.c (Fsqrt):
8650         * floatfns.c (Fcube_root):
8651         * floatfns.c (Facosh):
8652         * floatfns.c (Fasinh):
8653         * floatfns.c (Fatanh):
8654         * floatfns.c (Fcosh):
8655         * floatfns.c (Fsinh):
8656         * floatfns.c (Ftanh):
8657         * floatfns.c (Fabs):
8658         * floatfns.c (Ffloat):
8659         * floatfns.c (Flogb):
8660         * floatfns.c (Fceiling):
8661         * floatfns.c (Ffloor):
8662         * floatfns.c (Fround):
8663         * floatfns.c (Ftruncate):
8664         * floatfns.c (Ffceiling):
8665         * floatfns.c (Fffloor):
8666         * floatfns.c (Ffround):
8667         * floatfns.c (Fftruncate):
8668         * fns.c (Fstring_equal):
8669         * fns.c (Fstring_lessp):
8670         * fns.c (concat2):
8671         * fns.c (concat3):
8672         * fns.c (vconcat2):
8673         * fns.c (vconcat3):
8674         * fns.c (Fsubstring):
8675         * fns.c (Fassoc):
8676         * fns.c (Fold_assoc):
8677         * fns.c (assoc_no_quit):
8678         * fns.c (Fassq):
8679         * fns.c (Fold_assq):
8680         * fns.c (assq_no_quit):
8681         * fns.c (Frassoc):
8682         * fns.c (Fold_rassoc):
8683         * fns.c (Frassq):
8684         * fns.c (Fold_rassq):
8685         * fns.c (rassq_no_quit):
8686         * fns.c (Fremassoc):
8687         * fns.c (remassoc_no_quit):
8688         * fns.c (Fremassq):
8689         * fns.c (remassq_no_quit):
8690         * fns.c (Fremrassoc):
8691         * fns.c (Fremrassq):
8692         * fns.c (remrassq_no_quit):
8693         * fns.c (Fsort):
8694         * fns.c (Fplist_get):
8695         * fns.c (Fplist_put):
8696         * fns.c (Fplist_remprop):
8697         * fns.c (Fplist_member):
8698         * fns.c (Flax_plist_get):
8699         * fns.c (Flax_plist_put):
8700         * fns.c (Flax_plist_remprop):
8701         * fns.c (Flax_plist_member):
8702         * fns.c (Fequal):
8703         * fns.c (Fold_equal):
8704         * fns.c (Frequire):
8705         * fns.c (Fbase64_encode_region):
8706         * fns.c (Fbase64_encode_string):
8707         * fns.c (Fbase64_decode_region):
8708         * frame.c:
8709         * frame.c (frame_matches_frame_spec):
8710         * frame.c (device_matches_device_spec):
8711         * frame.c (next_frame):
8712         * frame.c (previous_frame):
8713         * frame.c (Fnext_frame):
8714         * frame.c (Fprevious_frame):
8715         * frame.c (Fframe_property):
8716         * frame.c (Fset_frame_height):
8717         * frame.c (Fset_frame_size):
8718         * frame.h:
8719         * glyphs.c:
8720         * glyphs.c (if):
8721         * glyphs.c (decode_error_behavior_flag):
8722         * glyphs.c (Fmake_image_instance):
8723         * indent.c (Findent_to):
8724         * intl.c (Fignore_defer_gettext):
8725         * keymap.c (Fkeymapp):
8726         * keymap.c (Flookup_key):
8727         * lread.c:
8728         * lread.c (Fload_internal):
8729         * lread.c (Feval_buffer):
8730         * lread.c (Feval_region):
8731         * macros.c (Fexecute_kbd_macro):
8732         * marker.c (set_marker_internal):
8733         * marker.c (Fset_marker):
8734         * marker.c (set_marker_restricted):
8735         * marker.c (Fcopy_marker):
8736         * marker.c (noseeum_copy_marker):
8737         * menubar.c:
8738         * menubar.c (Fpopup_menu):
8739         * minibuf.c:
8740         * mule-charset.c (Fcharset_name):
8741         * mule-charset.c (Fchar_charset):
8742         * mule-charset.c (Fchar_octet):
8743         * mule-charset.c (Fsplit_char):
8744         * mule-wnnfns.c (Fwnn_open):
8745         * mule-wnnfns.c (Fwnn_dict_comment):
8746         * mule-wnnfns.c (Fwnn_quit_henkan):
8747         * mule-wnnfns.c (Fwnn_word_toroku):
8748         * mule-wnnfns.c (Fwnn_word_sakujo):
8749         * mule-wnnfns.c (Fwnn_word_use):
8750         * mule-wnnfns.c (Fwnn_hindo_set):
8751         * objects.c:
8752         * objects.c (Fmake_color_instance):
8753         * objects.c (Fmake_font_instance):
8754         * print.c (Fwrite_char):
8755         * process.c:
8756         * process.c (mark_process):
8757         * process.c (print_process):
8758         * process.c (get_process_from_usid):
8759         * process.c (Fprocessp):
8760         * process.c (Fprocess_live_p):
8761         * process.c (Fget_process):
8762         * process.c (Fget_buffer_process):
8763         * process.c (get_process):
8764         * process.c (Fprocess_id):
8765         * process.c (Fprocess_name):
8766         * process.c (Fprocess_command):
8767         * process.c (init_process_io_handles):
8768         * process.c (start_process_unwind):
8769         * process.c (Fstart_process_internal):
8770         * process.c (Fopen_multicast_group_internal):
8771         * process.c (Fset_process_window_size):
8772         * process.c (read_process_output):
8773         * process.c (send_process):
8774         * process.c (Fprocess_tty_name):
8775         * process.c (Fset_process_buffer):
8776         * process.c (Fprocess_buffer):
8777         * process.c (Fprocess_mark):
8778         * process.c (set_process_filter):
8779         * process.c (Fset_process_filter):
8780         * process.c (Fprocess_filter):
8781         * process.c (Fprocess_send_region):
8782         * process.c (Fprocess_send_string):
8783         * process.c (exec_sentinel):
8784         * process.c (Fset_process_sentinel):
8785         * process.c (Fprocess_sentinel):
8786         * process.c (status_notify):
8787         * process.c (Fprocess_status):
8788         * process.c (Fprocess_exit_status):
8789         * process.c (process_send_signal):
8790         * process.c (Fprocess_send_eof):
8791         * process.c (deactivate_process):
8792         * process.c (remove_process):
8793         * process.c (Fdelete_process):
8794         * process.c (kill_buffer_processes):
8795         * process.c (Fprocess_kill_without_query):
8796         * process.c (Fprocess_kill_without_query_p):
8797         * rangetab.c:
8798         * rangetab.c (Fget_range_table):
8799         * rangetab.c (Fput_range_table):
8800         * rangetab.c (Fremove_range_table):
8801         * rangetab.c (Fclear_range_table):
8802         * search.c:
8803         * search.c (Fskip_chars_forward):
8804         * search.c (Fskip_chars_backward):
8805         * search.c (Fskip_syntax_forward):
8806         * search.c (Fskip_syntax_backward):
8807         * search.c (search_command):
8808         * search.c (Freplace_match):
8809         * search.c (Fregexp_quote):
8810         * select.c (Fown_selection_internal):
8811         * select.c (Fselection_owner_p):
8812         * select.c (Fselection_exists_p):
8813         * select.c (Fget_selection_internal):
8814         * specifier.c:
8815         * symbols.c:
8816         * symbols.c (Fintern):
8817         * symbols.c (Fintern_soft):
8818         * symbols.c (Funintern):
8819         * symbols.c (Fapropos_internal):
8820         * symbols.c (Fset_default):
8821         * syntax.c:
8822         * syntax.c (Fsyntax_table_p):
8823         * syntax.c (Fcopy_syntax_table):
8824         * syntax.c (Fset_syntax_table):
8825         * syntax.c (Fchar_syntax):
8826         * syntax.c (syntax_match):
8827         * syntax.c (Fmatching_paren):
8828         * syntax.c (Fforward_word):
8829         * syntax.c (scan_lists):
8830         * syntax.c (Fscan_lists):
8831         * syntax.c (Fscan_sexps):
8832         * syntax.c (Fparse_partial_sexp):
8833         * toolbar.c (Fcheck_toolbar_button_syntax):
8834         * tooltalk.doc:
8835         * window.c:
8836         * window.c (Fwindowp):
8837         * window.c (Fwindow_live_p):
8838         * window.c (Fwindow_point):
8839         * window.c (Fdelete_window):
8840         * window.c (Fnext_window):
8841         * window.c (Fprevious_window):
8842         * window.c (Fother_window):
8843         * window.c (window_loop):
8844         * window.c (Fget_lru_window):
8845         * window.c (Fsplit_window):
8846         * window.c (Fenlarge_window):
8847         * window.c (Fenlarge_window_pixels):
8848         * window.c (Fshrink_window):
8849         * window.c (Fshrink_window_pixels):
8850         * window.c (change_window_height):
8851         * window.c (Fwindow_configuration_p):
8852         * window.c (Fcurrent_window_configuration):
8853         * window.h:
8854         * casefiddle.c (casify_object):
8855         * casefiddle.c (Fupcase):
8856         * casefiddle.c (Fdowncase):
8857         * casefiddle.c (Fcapitalize):
8858         * casefiddle.c (Fupcase_initials):
8859         * casefiddle.c (casify_region_internal):
8860         * casefiddle.c (casify_region):
8861         * casefiddle.c (Fupcase_region):
8862         * casefiddle.c (Fdowncase_region):
8863         * casefiddle.c (Fcapitalize_region):
8864         * casefiddle.c (Fupcase_initials_region):
8865         * casefiddle.c (Fupcase_word):
8866         * casefiddle.c (Fdowncase_word):
8867         * casefiddle.c (Fcapitalize_word):
8868         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8869         Replace 0 with '\0' when working with bytes.
8870         Replace initial "(" with "\(" in docstrings.
8871
8872 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8873
8874         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8875
8876         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8877
8878 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8879
8880         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8881
8882 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8883
8884         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8885         correctly.
8886
8887 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8888
8889         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8890         (inhibit_auto_save_session): New variable.
8891         (vars_of_fileio): Declare and initialize them.
8892         * fileio.c (Fdo_auto_save): Don't create session file if
8893         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8894
8895 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8896
8897         * sgiplay.c (play_internal): C++ compilability.
8898         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8899         * callproc.c (Fold_call_process_internal):
8900         Remove unused vars `env', `first'.
8901         * scrollbar.c (update_scrollbar_instance):
8902         #### unused var `current_window'.
8903         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8904         etc. within #ifdef NOT_YET.
8905         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8906         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8907         * specifier.c (specifier_instance):
8908         #### unused var `tag'.
8909         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8910
8911 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8912
8913         * fns.c (Fbutlast):
8914         * fns.c (list_sort):
8915         * fns.c (Ffillarray):
8916         * fns.c (bytecode_nconc2):
8917         * fns.c (Fnconc):
8918         * fns.c (mapcar1):
8919         * fns.c (Fmapconcat):
8920         Be pedantically 64-bit correct.  For the time when someone will
8921         want to have a list with length > 2**32.
8922
8923         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8924         Work around MIPSpro compiler bug.
8925
8926         * process-unix.c (unix_kill_child_process): Add snarky comment.
8927         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8928
8929         * config.h.in: Oops, _getpt ==> _getpty
8930
8931 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8932
8933         * config.h.in:
8934         * regex.c:
8935         Use void*, not char*, as return type of alloca().
8936
8937         * alloc.c (free_marker): Side effect inside assert expression!
8938
8939 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
8940
8941         * mule-charset.c (Fset_charset_ccl_program): To check
8942         if the given ccl program is valid, use setup_ccl_program()
8943         instead of CHECK_VECTOR().
8944         (Fmake_charset): Likewise.
8945
8946 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
8947
8948         * faces.c (get_extent_fragment_face_cache_index):
8949         Fix cachel.merged_faces memory leak.
8950
8951 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
8952
8953         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
8954         Reset MSB of octets obtained by DECODE_SJIS
8955         because of the incompatibility with Emacs.
8956         (ccl_driver)<CCL_ENCODE_SJIS>:
8957         Set MSB of octets before passing them to
8958         ENCODE_SJIS because of the incompatibility
8959         with Emacs.
8960
8961 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
8962
8963         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
8964         (DECLARE_LRECORD): Undo the last change.
8965         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
8966
8967 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
8968
8969         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
8970         the implementation to lrecord_implementations_table.
8971
8972 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
8973
8974         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
8975         initial value of `lrecord_type_##c_name' and
8976         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
8977         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
8978         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
8979         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
8980         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
8981
8982 2000-10-17  Martin Buchholz  <martin@xemacs.org>
8983
8984         * miscplay.c (sndcnv8S_2mono):
8985         (sndcnv2monounsigned):
8986         (sndcnvULaw_2linear):
8987         (sndcnv16swap):
8988         Remove implementation-defined behavior.
8989
8990 2000-10-12  Martin Buchholz  <martin@xemacs.org>
8991
8992         * input-method-xlib.c: Warning suppression.
8993
8994 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
8995
8996         * mule-ccl.c: Sync up with Emacs 21.0.90.
8997         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
8998         Do nothing.
8999         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9000         Likewise.
9001         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9002         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9003         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9004         leading char belongs to official 2-dimensional charset.
9005         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9006         write the given character as is.  Otherwise,
9007         if it is a multibyte char, convert it by
9008         non_ascii_set_charptr_emchar, then write it.
9009         (CCL_WRITE_STRING): Likewise.
9010         (ccl_get_compiled_code): New function.
9011         (setup_ccl_program): When ccl_prog is invalid,
9012         return -1.
9013         (Fregister_code_conversion_map): New function.
9014         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9015
9016         * mule-ccl.h: Sync up with Emacs 21.0.90.
9017         (Fregister_ccl_program): export it.
9018
9019         * redisplay-msw.c (separate_textual_runs):
9020         If ccl program is not valid, don't do ccl conversion.
9021
9022         * redisplay-x.c (separate_textual_runs): Ditto.
9023
9024         * file-coding.c (Fmake_coding_system):
9025         When type is ccl and value is vector, register it
9026         with a proper symbol.  And checks whether the
9027         given ccl program is valid.
9028         (mule_decode): When calling ccl_driver, if src indicates
9029         NULL pointer, set an empty string instead.
9030         (mule_encode): Likewise.
9031
9032 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9033
9034         The following large batch of changes gets us back to a state of
9035         C++ compilability.  Extbyte is now a char, which means that
9036         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9037
9038         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9039
9040         * sound.c (Fplay_sound): Type correctness.
9041
9042         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9043         (x_get_window_property): Type correctness.
9044         (receive_incremental_selection): unsigned char ==> Extbyte
9045         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9046         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9047         (Fx_store_cutbuffer_internal): Type correctness.
9048
9049         * process-unix.c (try_to_initialize_subtty): Type correctness.
9050
9051         * objects-x.c (x_print_color_instance): Type correctness.
9052         (x_print_font_instance): Type correctness.
9053         (x_list_fonts): SExtbyte ==> Extbyte.
9054         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9055         (x_find_charset_font): SExtbyte ==> Extbyte.
9056         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9057         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9058         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9059         Use bufbyte_strcmp.
9060
9061         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9062         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9063         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9064         (BYTE_C0_P): Use bit ops for char-signedness safety.
9065         (BYTE_C1_P): Use bit ops for char-signedness safety.
9066         (CHARSET_BY_LEADING_BYTE):
9067         (CHARSET_BY_ATTRIBUTES):
9068         Always use inline function.
9069         Use type_checking_assert.
9070         Hide chlook.
9071
9072         * mule-charset.c (non_ascii_charptr_copy_char):
9073         Modify to work with both ASCII and non-ASCII characters.
9074         Improve docs and variable names.
9075         Replace over-clever fall-through switch with a simple loop.
9076         (Lstream_get_emchar_1):
9077         Replace over-clever fall-through switch with a simple loop.
9078
9079         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9080         Warning suppression.
9081
9082         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9083         the return value of Lstream_getc, which could be EOF as well.
9084
9085         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9086
9087         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9088         APIs can be used on Extbytes without casts.  Risky!
9089         (SExtbyte): Remove.
9090         (UExtbyte): Remove.
9091
9092         * input-method-xlib.c (XIM_init_device):
9093         Use Xlib.h instead of IntrinsicP.h.
9094         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9095         which will break in X11R7.
9096         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9097         to call XRegisterIMInstantiateCallback with correct types.
9098
9099         * gui-x.c (button_item_to_widget_value): Type correctness.
9100
9101         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9102
9103         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9104         (xbm_instantiate_1): Type correctness.
9105         (BUILD_GLYPH_INST):  Type correctness.
9106
9107         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9108
9109         * file-coding.c:
9110         (decode_coding_sjis):
9111         (decode_coding_big5):
9112         (decode_coding_ucs4):
9113         (decode_coding_utf8):
9114         (decode_coding_iso2022):
9115         (decode_coding_no_conversion):
9116         Make all decoding functions take an Extbyte * arg.
9117         (encode_coding_sjis):
9118         (encode_coding_big5):
9119         (encode_coding_ucs4):
9120         (encode_coding_utf8):
9121         (encode_coding_iso2022):
9122         (encode_coding_no_conversion):
9123         Make all encoding functions take a Bufbyte * arg.
9124         Use size_t instead of unsigned int for memory sizes.
9125         Only cast to unsigned char whenever dereferencing Extbyte *.
9126
9127         * doc.c (unparesseuxify_doc_string): Type correctness.
9128
9129         * console-x.c (split_up_display_spec):
9130         Rewrite without using details of internal string representation.
9131         (x_semi_canonicalize_device_connection): Type correctness.
9132
9133         * config.h.in:
9134         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9135         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9136         (HAVE_XFREE386): Removed.
9137
9138         * buffer.h (DEC_CHARPTR): `const' correctness.
9139         (bufbyte_strcmp): New.
9140         (bufbyte_memcmp): New.
9141
9142         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9143
9144         * buffer.h (XCHAR_OR_CHAR_INT):
9145         Always use inline function.
9146         Remove redundant type checking assert() - XINT will abort quite nicely.
9147
9148 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9149
9150         * search.c (Freplace_match): Set newtext to an empty string.
9151
9152 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9153
9154         * s/decosf1-3.h: Remove #include of stropts.h
9155         * s/ptx.h: Remove #include of stropts.h
9156         * s/usg5-4.h: Remove #include of stropts.h
9157         * sysproc.h:
9158         * config.h.in:
9159         Use stropts.h, not sys/stropts.h.
9160         Use strtio.h, not sys/strtio.h.
9161
9162 2000-10-04  Martin Buchholz <martin@xemacs.org>
9163
9164         * XEmacs 21.2.36 is released.
9165
9166 2000-09-21  Andy Piper  <andy@xemacs.org>
9167
9168         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9169         changes still involve copying the widget tree.
9170         (update_widget_face): make sure a change is register in the widget
9171         tree. Call update_tab_widget_face appropriately.
9172         (update_tab_widget_face): ditto.
9173         (x_tab_control_redisplay): make sure non-structural changes still
9174         involve copying the widget tree.
9175
9176 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9177
9178         * lread.c (locate_file): Check the path element is non-nil.
9179
9180 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9181
9182         * lisp.h: Warning suppression for SCO compilers.
9183
9184         * redisplay-tty.c (reset_tty_modes): Fix crash.
9185         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9186
9187 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9188
9189         Big signal/process handling overhaul.  Bugs fixed:
9190         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9191         M-x comint-kill-subjob should work for both values nil and t of
9192         process-connection-type. It was broken on most platforms.
9193         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9194         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9195         * process-unix.c: Signal/Process handling overhaul.
9196         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9197         (allocate_pty): Use all available modern methods of allocating
9198         ptys, falling back to old style BSD allocation as a last resort.
9199         Use allegedly more secure Unix98 pty allocation by default.
9200         (allocate_pty_the_old_fashioned_way): New. the last resort.
9201         (unix_create_process): Push ptem, ldterm, ttcompat where
9202         available.  Autoconfiscate.
9203         (try_to_initialize_subtty): New.
9204         (unix_kill_child_process): Proper signal handling for ptys on most
9205         platforms, using special knowledge of AIX, BSD, etc...
9206         (unix_create_process): Always disconnect_controlling_terminal() for
9207         subprocesses, whether using ptys or not.
9208         * process.h: Remove old getpt-dependent PTY code.
9209         * process.c (Fprocess_send_signal): New, obvious generic function.
9210         (decode_signal): New.
9211         (Finterrupt_process):
9212         (Fkill_process):
9213         (Fquit_process):
9214         (Fstop_process):
9215         (Fcontinue_process):
9216         (Fsignal_process): Use decode_signal.
9217         (process_send_signal):
9218         Many docstring corrections.
9219         Allow any signal to be sent to a process object.
9220         * config.h.in: Add symbols for big signal/process overhaul.
9221         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9222         * sysproc.h: Include process-related headers, where available:
9223         sys/stropts.h sys/strtio.h pty.h libutil.h
9224         * s/irix4-0.h:
9225         * s/irix5-0.h:
9226         * s/cygwin32.h:
9227         * s/gnu.h:
9228         * s/linux.h:
9229         * s/hpux.h:
9230         * s/aix3-1.h:
9231         Remove old S&M pty stuff.
9232         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9233         * systty.h: Simplify cpp hackery, improve comments.
9234         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9235
9236         * editfns.c (Fformat_time_string):
9237         Be a little more paranoid with the return value of ctime.
9238
9239         * fileio.c (check_executable):
9240         (check_writable):
9241         Use symbolic constants X_OK, W_OK.
9242
9243         * console-x.c (split_up_display_spec): Fix a warning.
9244
9245 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9246
9247         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9248         * ntproc.c (sys_spawnve): make_string ==> build_string
9249         Small clarity improvements.
9250
9251 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9252
9253         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9254
9255         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9256
9257         * config.h.in (HAVE_STRCASECMP): Remove.
9258
9259 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9260
9261         * redisplay-output.c (redisplay_output_pixmap):
9262         Cleaner and possibly more 64-bit correct code.
9263
9264 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9265
9266         * dumper.c (pdump_load_finish): move restoration of
9267         `noninteractive1' to emacs.c (main_1).
9268         * emacs.c (main_1): protect LISP-visible command-line flags
9269         from pdump_load().
9270
9271 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9272
9273         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9274         DUMP_TARGET instead of literal program names.
9275
9276 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9277
9278         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9279
9280 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9281
9282         * *: Spelling mega-patch
9283
9284 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9285
9286         * fns.c (bad_bad_turtle):
9287         Delete "Eek!" comment, since we fixed the bug to which it refers.
9288
9289 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9290
9291         * alloca.c: Replace REGISTER with register.
9292
9293 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9294
9295         * file-coding.c (ucs_to_char): Use countof.
9296
9297 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9298
9299         * file-coding.c: (ucs_to_char):
9300         (complex_vars_of_file_coding):
9301         Use countof instead of sizeof.
9302         Use CHECK_NATNUM instead of CHECK_INT.
9303
9304         * sysdep.c (strcasecmp): Remove.
9305         * device-x.c (ascii_strcasecmp): New.
9306         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9307         Avoid using non-standard non-portable strcasecmp.
9308
9309 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9310
9311         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9312         * font-lock.c: remove reference to emacsfns.h.
9313         * search.c: small doc improvement.
9314         * event-Xt.c: correct file names in comments.
9315         * console-x.h Correct file names in comments.
9316         * frame.c: Correct file names in comments.
9317         * event-stream.c: remove Energize from comments.
9318
9319 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9320
9321         * symeval.h (DEFERROR_STANDARD):
9322         (DEFERROR):
9323         (DEFSYMBOL):
9324         (DEFSYMBOL_NO_DUMP):
9325         (DEFSYMBOL_MULTIWORD_PREDICATE):
9326         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9327         (DEFKEYWORD):
9328         The construct &##name is not sensible C.
9329         Fixes compilation errors with Unixware native compiler.
9330
9331 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9332
9333         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9334         (next_frame_internal): Removed.  We now just have next_frame.
9335         (next_frame):
9336         Write a simpler and cleaner one-pass algorithm.
9337         Remove called_from_delete_device arg and #ifdefed-out code.
9338         (previous_frame):
9339         Renamed from prev_frame.  Update callers.
9340         Cleaned up to have an analogous implementation to next_frame.
9341         (other_visible_frames_internal): Remove the
9342         called_from_delete_device bogus arg, and hence, remove this
9343         function.  Just use other_visible_frames().
9344
9345         * window.c (Fnext_window):
9346         Prettify docstring.
9347         Since next_frame() is guaranteed to return a frame, remove check
9348         for nil inserted in previous patch.
9349         (Fprevious_window):
9350         Prettify docstring.
9351         Make code look more like Fnext_window.
9352         (window_loop):
9353         Respect the `console' arg when iterating through windows.
9354         Fixes bug: (get-buffer-window buffer t device) not respecting
9355         the `device' arg.
9356         This function needs more work, as others have pointed out.
9357
9358         * frame.h: Rename prev_frame to previous_frame.
9359         device_matches_console_spec no longer takes a `frame' arg.
9360
9361         * s/gnu.h:
9362         * s/linux.h:
9363         * s/hpux.h:
9364         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9365         From "Golubev I. N." <gin@mo.msk.ru>.
9366
9367         * make-src-depend: Fix typo.
9368
9369 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9370
9371         * window.c (Fnext_window):
9372         next_frame() might return nil, not a frame.
9373         Fixes this crash:
9374         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9375
9376         * frame.c (next_frame_internal):
9377         We've passed a frame if we've passed its device.
9378         Fixes this crash:
9379         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9380 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9381
9382 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9383
9384         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9385         Allow option to suppress accelerators in menu/dialog items.
9386         (populate_or_checksum_helper): Pass dialog title through above.
9387
9388 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9389
9390         * event-msw.c (mswindows_key_to_emacs_keysym):
9391         Add "pause" key, fix "menu" key.
9392
9393 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9394
9395         * eval.c (reinit_vars_of_eval):
9396         Increase max_lisp_eval_depth to 1000,
9397         required for thai-xtis.el to byte-compile under some circumstances.
9398
9399 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9400
9401         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9402         From Kenichi Handa.
9403
9404 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9405
9406         * make-src-depend: Make the generated Makefiles smaller.
9407
9408         * s/hpux.h (SETUP_SLAVE_PTY):
9409         Provide a %d in the format string for the errno argument.
9410
9411         * editfns.c (Ftemp_directory):
9412         Warning fix.
9413         Avoid buffer overrun on very long file name.
9414
9415         * input-method-xlib.c (XIM_init_device):
9416         6th parameter of XRegisterIMInstantiateCallback has different
9417         pointer types on different OSes, so simply cast to (void *).
9418
9419         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9420
9421         * sysdll.c (dll_open):
9422         shl_load will hang hard if passed a NULL filename.
9423         Simply return NULL for compatibility with dlopen.
9424         * sysdll.c: Conform to XEmacs coding standards.
9425
9426         * sysdep.c (get_pty_max_bytes):
9427         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9428
9429 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9430
9431         * tooltalk.c: Add #include <syssignal.h>
9432
9433 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9434
9435         * s/hpux.h: Don't use undefined function sigunblock().
9436
9437 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9438
9439         * config.h.in: Add HAVE_BALLOON_HELP.
9440         * emacs.c: Use HAVE_BALLOON_HELP.
9441         * Makefile.in.in (x_objs):
9442         Make Balloon Help conditional on finding shape.h.
9443
9444 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9445
9446         * syntax.c (regex_emacs_buffer_p): New variable.
9447         * syntax.h (regex_emacs_buffer_p): extern.
9448         * search.c (looking_at_1):
9449         (string_match_1):
9450         (fast_string_match):
9451         (search_buffer): Set regex_emacs_buffer_p.
9452         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9453         when before_dot, at_dot, after_dot.
9454
9455 2000-08-23  Andy Piper  <andy@xemacs.org>
9456
9457         * gui-x.c (popup_selection_callback): Only set action_occurred
9458         when we really have an image instance.
9459         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9460
9461 2000-08-23  Andy Piper  <andy@xemacs.org>
9462
9463         * gui-msw.c (mswindows_handle_gui_wm_command): set
9464         action_occurred.
9465         * gui-x.c (popup_selection_callback): ditto.
9466
9467         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9468         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9469         (struct Lisp_Image_Instance): add action_occurred flag.
9470
9471         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9472         (image_instance_changed): ditto.
9473         (reset_frame_subwindow_instance_cache): only unmap windows - do
9474         not remove them from the cache also.
9475
9476         * glyphs-widget.c (tab_control_update): better debug.
9477         (progress_gauge_update): ditto.
9478         (layout_update): ditto.
9479         (layout_instantiate): ditto.
9480         (tab_control_order_only_changed): cope with null pending items.
9481
9482         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9483         debug. Force selection of an item when an action occurred. Cope
9484         with null pending_items.
9485         (mswindows_progress_gauge_redisplay): better debug.
9486         * glyphs-x.c (x_tab_control_redisplay): ditto.
9487
9488         * redisplay.c (redisplay_frame): reset the frame cache if the
9489         frame is garbaged.
9490
9491         * window.c (Fset_window_configuration): potentially re-enable
9492         frame cache reset.
9493         (window_unmap_subwindows): need to finalize instances here since
9494         it is only used in mark_window_as_deleted.
9495
9496 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9497
9498         * nas.c (SndOpenDataForReading):
9499         nas.c (WaveOpenDataForReading):
9500         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9501         Somehow escaped from the 2000-08-14 patch.
9502
9503 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9504
9505         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9506         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9507
9508 2000-08-21  Andy Piper  <andy@xemacs.org>
9509
9510         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9511         window if it is not already displayed.
9512
9513         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9514         it is not already displayed.
9515
9516         * window.c (Fset_window_configuration): don't reset the frame
9517         cache.
9518
9519         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9520         instances from the frame cache if we are actually finalizing them.
9521         (reset_frame_subwindow_instance_cache): reset frame cache only
9522         after unmapping everything.
9523         (map_subwindow): set displayed flag after mapping.
9524
9525 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9526
9527         * data.c (indirect_function):
9528         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9529
9530         * eval.c (function_argcount):
9531         Use original function when signaling errors.
9532
9533 2000-08-18  Andy Piper  <andy@xemacs.org>
9534
9535         * frame.c (delete_frame_internal): use new
9536         free_frame_subwindow_instances name.
9537
9538         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9539         (add_tab_item): make return type correct.
9540         (mswindows_tab_control_instantiate): assert index of tab.
9541         (mswindows_tab_control_redisplay): Re-code to use
9542         gui_item_equal_sans_selected and gui_item_list_find_selected.
9543
9544         * glyphs-widget.c (tab_control_update): Correct comment.
9545
9546         * window.c (window_unmap_subwindows): use new
9547         unmap_subwindow_instance_cache_mapper.
9548         (window_unmap_subwindows_cache_mapper): deleted.
9549         (Fset_window_configuration): comparisons should now be with
9550         EQ. Preserve the subwindow instance cache across configuration
9551         changes.
9552         (allocate_window): ditto.
9553         (make_dummy_parent): ditto.
9554
9555         * glyphs.c (free_frame_subwindow_instances): rename from
9556         free_frame_subwindow_instance_cache. finalize all instances rather
9557         than just those in the display cache.
9558         (finalize_all_subwindow_instances): walk windows unmapping and
9559         finalizing subwindows.
9560         (unmap_subwindow_instance_cache_mapper): moved from
9561         window.c. Allow finalization as well as unmapping.
9562
9563         * gui.c (gui_item_list_find_selected): new function.
9564
9565         * gui.h (gui_item_list_find_selected): declare.
9566
9567         * glyphs-x.c (x_tab_control_redisplay): pick tab
9568         explicitly. Re-code to use gui_item_equal_sans_selected and
9569         gui_item_list_find_selected.
9570
9571         * glyphs-x.h: add lwlib-utils.h
9572
9573         * buffer.c (Frecord_buffer): undo previous change.
9574
9575 2000-08-09  Vin Shelton  <acs@xemacs.org>
9576
9577         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9578         possible.  Create temporary files more securely.  The patch was
9579         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9580         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9581         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9582         for details.
9583
9584 2000-08-07  Ben Wing  <ben@xemacs.org>
9585
9586         * getloadavg.c: remove duplicate (and windows-breaking)
9587         includes of fcntl.h and sys/file.h.
9588
9589         * nt.c: remove duplicate getloadavg() definition.
9590
9591         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9592         encodings.
9593
9594 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9595
9596         * eval.c (function_argcount): If function needs to be autoloaded
9597         actually use the loaded definition.
9598         GCPRO function.
9599
9600 2000-08-05  Ben Wing  <ben@xemacs.org>
9601
9602         * getloadavg.c: add prototype for getloadavg().  remove
9603         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9604         of the code).  remove duplicate header includes.
9605
9606         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9607
9608         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9609         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9610         useful load average.
9611
9612         * alloc.c (reinit_alloc_once_early): removed references to
9613         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9614         the lisp vars are the only things referencing the malloc_sbrk_*
9615         vars, and they were already if 0'd out.  these vars only exist
9616         in the older malloc.c, which is basically unused, and they're
9617         only for informational purposes.
9618
9619         * m\*.h: removed useless VIRT_ADDR_VARIES.
9620
9621         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9622
9623 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9624
9625         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9626         color if the image is a mono pixmap.
9627
9628 2000-07-30  Ben Wing  <ben@xemacs.org>
9629
9630         * Makefile.in.in (release):
9631         Remove stray @.
9632
9633         * buffer.c (directory_is_current_directory):
9634         * dired-msw.c (mswindows_get_files):
9635         * dired.c:
9636         * dired.c (Fdirectory_files):
9637         * dired.c (file_name_completion_stat):
9638         * dired.c (Ffile_attributes):
9639         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9640         preprocessor tricks, to avoid problems on some machines
9641         (e.g. SCO).
9642
9643         * callproc.c (egetenv): GC docs.
9644
9645         * console-msw.h:
9646         * console-msw.h (struct mswindows_dialog_id):
9647         * lrecord.h (lrecord_type):
9648         New object for use with MSW dialogs.
9649
9650         * console.h (struct console_methods):
9651         New enable/disable frame methods, for proper modal dialogs.
9652
9653         * device-msw.c (msprinter_default_printer): Fix to follow
9654         proper Mule conventions.
9655
9656         * device-msw.c:
9657         * device-msw.c (signal_open_printer_error):
9658         * device-msw.c (msprinter_init_device):
9659         * device-msw.c (ensure_not_printing):
9660         * device-msw.c (plist_get_margin):
9661         * device-msw.c (Fmsprinter_select_settings):
9662         * device-msw.c (finalize_devmode):
9663         * device-msw.c (Fmsprinter_settings_despecialize):
9664         * device-msw.c (signal_enum_priner_error):
9665         * extents.c (decode_extent):
9666         * extents.c (decode_map_extents_flags):
9667         * extents.c (decode_extent_at_flag):
9668         * extents.c (Fextent_at):
9669         * extents.c (Fextents_at):
9670         * extents.c (symbol_to_glyph_layout):
9671         [[[[2]]]] Use structured errors.
9672
9673         * dialog-msw.c:
9674         * dialog-msw.c (mswindows_is_dialog_msg):
9675         * dialog-msw.c (mark_mswindows_dialog_id):
9676         * dialog-msw.c (dialog_proc):
9677         * dialog-msw.c (handle_question_dialog_box):
9678         * dialog-msw.c (syms_of_dialog_mswindows):
9679         Define new object to clean up marking; use it as a dialog identifier.
9680         Call new delete-dialog-box-hook.
9681
9682         * dialog-x.c (dbox_selection_callback):
9683         * dialog-x.c (dbox_descriptor_to_widget_value):
9684         * dialog-x.c (x_make_dialog_box_internal):
9685         Call new delete-dialog-box-hook.
9686         Return an id.
9687
9688         * dialog.c:
9689         * dialog.c (syms_of_dialog):
9690         * dialog.c (vars_of_dialog):
9691         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9692
9693         * eval.c:
9694         * eval.c (signal_call_debugger):
9695         when noninteractive, output stack traces on the console instead
9696         of in a (never-seen) buffer.
9697
9698         * eval.c (signal_type_error):
9699         * eval.c (invalid_argument_2):
9700         * lisp.h:
9701         new funs for use w/structured errors.
9702
9703         * event-Xt.c:
9704         * event-Xt.c (x_to_emacs_keysym):
9705         * event-Xt.c (describe_event):
9706         * event-Xt.c (emacs_Xt_event_handler):
9707         * event-Xt.c (vars_of_event_Xt):
9708         * event-msw.c:
9709         * event-msw.c (mswindows_wnd_proc):
9710         * event-msw.c (vars_of_event_mswindows):
9711         rename {x,mswindows}-debug-events to debug-{}-events for
9712         consistency with other debug-foo variables.
9713
9714         * event-stream.c:
9715         document next-event more clearly.
9716
9717         * fileio.c (Ffile_name_directory):
9718         * fileio.c (Ffile_name_nondirectory):
9719         * fileio.c (Funhandled_file_name_directory):
9720         * fileio.c (file_name_as_directory):
9721         * fileio.c (Ffile_name_as_directory):
9722         * fileio.c (directory_file_name):
9723         * fileio.c (Fdirectory_file_name):
9724         * fileio.c (Fmake_temp_name):
9725         * fileio.c (Ffile_truename):
9726         * fileio.c (Fsubstitute_in_file_name):
9727         * fileio.c (expand_and_dir_to_file):
9728         * fileio.c (barf_or_query_if_file_exists):
9729         * fileio.c (check_executable):
9730         * fileio.c (Ffile_exists_p):
9731         * fileio.c (Ffile_writable_p):
9732         * fileio.c (Ffile_directory_p):
9733         * fileio.c (Ffile_regular_p):
9734         * fileio.c (Ffile_modes):
9735         * fileio.c (Ffile_newer_than_file_p):
9736         * fileio.c (Fverify_visited_file_modtime):
9737         * fileio.c (Fset_visited_file_modtime):
9738         * fileio.c (auto_save_1):
9739         (1). (2).
9740         fix up gcpro's.
9741
9742         * frame-msw.c:
9743         * frame-msw.c (mswindows_init_frame_1):
9744         * frame-msw.c (mswindows_enable_frame):
9745         * frame-msw.c (error_frame_unsizable):
9746         * frame-msw.c (msprinter_init_frame_1):
9747         * frame-msw.c (msprinter_init_frame_3):
9748         * frame-msw.c (console_type_create_frame_mswindows):
9749         (2).
9750         implement new enable/disable frame methods.
9751
9752         * frame-x.c:
9753         * frame-x.c (x_enable_frame):
9754         * frame-x.c (console_type_create_frame_x):
9755         implement new enable/disable frame methods.
9756
9757         * frame.c:
9758         * frame.c (Fdisable_frame):
9759         * frame.c (syms_of_frame):
9760         * frame.h (struct frame):
9761         implement new enable/disable frame methods/functions.
9762
9763         * general-slots.h:
9764         add initial-focus.
9765
9766         * glyphs-msw.c (mswindows_widget_instantiate):
9767         comment that initial-focus should be implemented.
9768
9769         * glyphs-widget.c:
9770         * glyphs-widget.c (check_valid_instantiator):
9771         * glyphs-widget.c (check_valid_orientation):
9772         * glyphs-widget.c (check_valid_tab_orientation):
9773         * glyphs-widget.c (check_valid_justification):
9774         * glyphs-widget.c (check_valid_border):
9775         * glyphs-widget.c (check_valid_callback):
9776         * glyphs-widget.c (check_valid_int_or_function):
9777         * glyphs-widget.c (check_valid_string_or_vector):
9778         * glyphs-widget.c (check_valid_item_list_1):
9779         * glyphs-widget.c (widget_validate):
9780         * glyphs-widget.c (combo_box_validate):
9781         * glyphs-widget.c (widget_instantiate):
9782         * glyphs-widget.c (syms_of_glyphs_widget):
9783         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9784         * glyphs-widget.c (image_instantiator_combo_box):
9785         * glyphs-widget.c (image_instantiator_scrollbar):
9786         * glyphs-widget.c (image_instantiator_tab_control):
9787         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9788         (2).
9789         support (unimplemented) keyword initial-focus.
9790         reindent long macros.
9791
9792         * glyphs-x.c (x_redisplay_widget):
9793         * glyphs-x.c (x_button_instantiate):
9794         * glyphs-x.c (x_button_redisplay):
9795         * glyphs-x.c (x_progress_gauge_instantiate):
9796         * glyphs-x.c (x_edit_field_instantiate):
9797         * glyphs-x.c (x_combo_box_instantiate):
9798         * glyphs-x.c (x_tab_control_instantiate):
9799         * glyphs-x.c (x_label_instantiate):
9800         * gui-x.c:
9801         * gui-x.c (button_item_to_widget_value):
9802         * gui-x.c (gui_items_to_widget_values_1):
9803         * gui-x.c (gui_item_children_to_widget_values):
9804         * gui-x.c (gui_items_to_widget_values):
9805         * gui-x.h:
9806         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9807         add new flag to gui-parsing routines to indicate whether
9808         accelerator specs should be supported.
9809
9810         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9811
9812         * glyphs.h (struct Lisp_Image_Instance):
9813         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9814         add initial-focus flag.
9815
9816         * gui.c:
9817         * gui.c (syms_of_gui):
9818         * gui.c (vars_of_gui):
9819         clean up menu-no-selection-hook.
9820
9821         * gui.h:
9822         support delete-dialog-box-hook.
9823
9824         * lread.c (Fload_internal):
9825         * lread.c (locate_file_in_directory_mapper):
9826         (1).
9827
9828         * lrecord.h:
9829         * lrecord.h (struct toolbar_button):
9830         * lrecord.h (syms_of_toolbar):
9831         document how to create a new object.
9832
9833         * menubar-msw.c (mswindows_char_is_accelerator):
9834         may be called on frames w/o menus.
9835
9836         * menubar.c (vars_of_menubar):
9837         clean up :filter docs.
9838
9839         * nt.c (readdir):
9840         * ntproc.c:
9841         (1).
9842
9843         * process-nt.c:
9844         * process-nt.c (validate_signal_number):
9845         * process-nt.c (signal_cannot_launch):
9846         * process-nt.c (nt_create_process):
9847         * process-nt.c (nt_send_process):
9848         * process-nt.c (nt_kill_child_process):
9849         * process-nt.c (nt_open_network_stream):
9850         * process-nt.c (syms_of_process_nt):
9851         (2).
9852         delete quote-handling.  call new lisp code that does it better.
9853
9854         * process-unix.c (connect_to_file_descriptor):
9855         * process-unix.c (allocate_pty):
9856         * process-unix.c (unix_send_process):
9857         * process-unix.c (unix_kill_child_process):
9858         * process-unix.c (unix_open_network_stream):
9859         * process-unix.c (unix_open_multicast_group):
9860         (1). (2).
9861
9862         * process.c:
9863         * process.c (Fstart_process_internal):
9864         (2).  need to canonicalize process path even if absolute.
9865
9866         * select-msw.c (symbol_to_ms_cf):
9867         * select-msw.c (ms_cf_to_symbol):
9868         * select-msw.c (cf_is_autofreed):
9869         * select-msw.c (mswindows_destroy_selection):
9870         * select.c:
9871         * select.c (syms_of_select):
9872         * select.h:
9873         support dibv5, fix bugs. (from Mike Alexander)
9874
9875         * select.c (Fget_selection_internal):
9876         * select.c (select_convert_out):
9877
9878         * sysdep.c:
9879         * sysdep.c (xemacs_stat):
9880         renamed.
9881
9882         * sysdep.c (mkdir):
9883         * sysdep.c (rmdir):
9884         but keep original stat() here because we provide encapsulation
9885         around these funs.
9886
9887         * sysfile.h:
9888         * sysfile.h (fstat):
9889         remove stat garbage.
9890
9891         * syswindows.h:
9892         fix X/MSW conflict.
9893         don't include tchar.h.  it's inappropriate because it makes
9894         compile-time distinctions when we want runtime distinctions.
9895         (we provide our own tchar replacements)
9896
9897         * toolbar.c:
9898         use default object printer for toolbar-button.
9899
9900         * unexcw.c:
9901         make sure we don't encapsulate.
9902
9903         * window.c (vars_of_window):
9904         emphasize that temp-buffer-show-hook is obsolete.
9905
9906 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9907
9908         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9909         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9910
9911         * events.c (Fevent_timestamp_lessp):
9912         Not 64-bit clean.  Use EMACS_INT, not int.
9913
9914 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9915
9916         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9917         unsigned int and changed the last enum to
9918         lrecord_type_last_built_in_type.
9919         (lrecord_implementations_table): changed prototype to know how
9920         long the array is supposed to be.
9921         (lrecord_type_count): new unsigned int to keep track of the
9922         current number of lisp lrecord types.
9923         (DEFINE_EXTERNAL_LRECORD):
9924         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9925         dynamic-modules to declare new lisp types. They are the same
9926         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9927         int for each new type, and increment lrecord_type_count by 1.
9928
9929         * alloc.c (lrecord_implementations_table): Changed to reference
9930         lrecord_type_last_built_in_type for the size of the array.
9931         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9932
9933 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9934
9935         * glyphs.h (check_valid_item_list): Renamed from
9936         check_valid_item_list_1.
9937
9938 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
9939
9940         * select.c (Qselect_coerce): New.
9941         * select.c (Vselection_coercion_alist): New.
9942         * select.c (syms_of_select): Declare.
9943         * select.c (get-selection-internal): Use it.
9944         Use the new select-coerce functionality.
9945
9946         * select.c (select_coerce): New.
9947         * select.h (select_coerce): Declare.
9948         New function to coerce one type of data into another.
9949
9950 2000-08-03  Martin Buchholz  <martin@xemacs.org>
9951
9952         * callproc.c (Fcall_process_internal):
9953         (Fcall_process_internal):
9954         * process-unix.c (unix_create_process):
9955         Save and restore the value of errno, so that error messages are accurate.
9956
9957 2000-08-01  Martin Buchholz  <martin@xemacs.org>
9958
9959         * elhash.c (print_hash_table):
9960         Fix printing of hash tables to also use `key-and-value' instead of `t'.
9961         Prettify docstrings and indentation.
9962
9963 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9964
9965         * window.c (Fwindow_pixel_edges): Subtract frame border and
9966         gutter size.
9967
9968 2000-07-31  Andy Piper  <andy@xemacs.org>
9969
9970         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
9971         will acknowledge the change.
9972
9973         * glyphs.h: declare tab_control_order_only_changed.
9974
9975         * glyphs-x.c (x_tab_control_redisplay): use
9976         tab_control_order_only_changed.
9977
9978         * glyphs-widget.c (tab_control_order_only_changed): new function.
9979
9980         * glyphs-msw.c (mswindows_tab_control_redisplay): use
9981         tab_control_order_only_changed.
9982
9983         * gui.c (gui_item_equal_sans_selected): new function.
9984         (gui_item_equal): use it.
9985
9986         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
9987         :properties in favor of :items..
9988
9989         * glyphs-widget.c (check_valid_item_list): rename from
9990         check_valid_item_list_1.
9991         (check_valid_item_list_1): renamed.
9992         (combo_box_validate): deprecate :properties in favor of :items.
9993         (widget_instantiate): ditto.
9994         (tab_control_update): ditto.
9995         (image_instantiator_combo_box): ditto.
9996         (image_instantiator_tree_view): ditto.
9997         (image_instantiator_tab_control): ditto.
9998         (layout_post_instantiate): remove dead code.
9999
10000         * print.c (debug_print_no_newline): only write to debugger if in
10001         WIN32_NATIVE.
10002
10003         * elhash.c (Fmake_hash_table): update doc string.
10004
10005         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10006         messages whilst in GC. This at least stops XEmacs crashing but has
10007         the potential for wierd behaviour.
10008
10009 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10010
10011         * config.h.in:
10012         Make existence of s&m files optional.
10013
10014         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10015         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10016         * s/gnu.h: Remove HAVE_GETLOADAVG.
10017         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10018         * s/sol2.h: Remove HAVE_GETLOADAVG.
10019         * lisp.h: Remove getloadavg() declaration.
10020         * fns.c:
10021         Include <sys/loadavg.h> if available.
10022         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10023         * config.h.in:  Group together getloadavg()-related macros.
10024         Use only configure-time tests to detect getloadavg().
10025
10026 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10027
10028         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10029
10030 2000-07-25  Andy Piper  <andy@xemacs.org>
10031
10032         * syswindows.h: add tchar.h for native builds.
10033
10034         * frame.c (syms_of_frame): remove set-glyph-image.
10035
10036         * general-slots.h: add Qset_glyph_image.
10037
10038         * glyphs-widget.c (layout_update): add domain arg to
10039         set-glyph-image.
10040         (syms_of_glyphs_widget): remove set-glyph-image.
10041
10042 2000-07-23  Ben Wing  <ben@xemacs.org>
10043
10044         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10045         Vpopup_frame_list.
10046
10047 2000-07-22  Andy Piper  <andy@xemacs.org>
10048
10049         * symsinit.h: add syms_of_win32().
10050
10051         * gui-msw.c (syms_of_gui_mswindows): remove
10052         Fmswindows_shell_execute.
10053         (Fmswindows_shell_execute): moved to win32.c.
10054
10055         * emacs.c (main_1): add syms_of_win32 ().
10056
10057         * win32.c (init_potentially_nonexistent_functions): rewrite in
10058         compiler-friendly terms.
10059         (Fmswindows_shell_execute): move here from gui-msw.c.
10060         (syms_of_win32): new.
10061
10062         * device-msw.c (Fmswindows_printer_list): clean up args to
10063         EnumPrinters.
10064         Don't include tchar under cygwin or mingw.
10065         (msprinter_default_printer): make cygwin-friendly.
10066
10067 2000-07-21  Andy Piper  <andy@xemacs.org>
10068
10069         * glyphs-widget.c (image_instantiator_tree_view): use tab
10070         control's update function.
10071         (layout_property): new function. Retrieve items.
10072
10073         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10074         function. Re-populate the tree view from the pending items.
10075
10076         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10077         is designated the parent if the domain is an image instance. This
10078         is needed so that dirtiness can be cascade up the hierarchy and
10079         thus for layout children to be redisplayed correctly.
10080         (allocate_image_instance): rename glyph -> parent.
10081
10082         * redisplay.h: change redisplay_output_layout signature.
10083
10084         * redisplay-msw.c (mswindows_output_display_block): use domain
10085         arg.
10086
10087         * redisplay-x.c (x_output_display_block): use domain arg.
10088
10089 2000-07-10  Andy Piper  <andy@xemacs.org>
10090
10091         * window.c (Fset_window_configuration): add comment.
10092
10093         * redisplay-output.c (compare_runes):
10094         (redisplay_output_subwindow): redisplay rather than update subwindow.
10095         (redisplay_output_layout): ditto.
10096
10097         * redisplay-msw.c (mswindows_frame_output_end):
10098         (mswindows_frame_output_end): make defer window pos optional.
10099
10100         * lisp.h: add Flast.
10101
10102         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10103         normalize method. Change update method to be for changed
10104         instantiators. Add redisplay method. Change signature of layout
10105         method.
10106         (struct Lisp_Image_Instance): add instantiator.
10107         (IMAGE_INSTANCE_INSTANTIATOR): new.
10108         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10109         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10110         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10111
10112         * glyphs.c:
10113         (find_instantiator_differences): new function.
10114         (Fset_instantiator_property): new convenience function.
10115         (check_image_instance_structure): strictly check for vector
10116         instantiators.
10117         (normalize_image_instantiator): make non-static.
10118         (instantiate_image_instantiator): pass on dest_mask and use new
10119         signatures for image_instance_layout and friends.
10120         (mark_image_instance): mark the instantiator. Mark the subwindow
10121         face not the widget face.
10122         (image_instance_equal): add instantiator.
10123         (image_instance_hash): ditto.
10124         (allocate_image_instance): ditto.
10125         (Fset_image_instance_property): removed.
10126         (Fimage_instance_file_name): ditto.
10127         (Fcolorize_image_instance): ditto.
10128         (image_instance_layout): add offsets to be set.
10129         (update_image_instance): new function. update an image instance
10130         from its changed instantiator.
10131         (inherit_normalize): add dest_mask.
10132         (xbm_normalize): ditto.
10133         (xface_normalize): ditto.
10134         (xpm_normalize): ditto.
10135         (text_update): set_property -> update.
10136         (image_instantiate): use the glyph identity as a hash key, not the
10137         instantiator.
10138         (glyph_width): use new image_instance_layout signature.
10139         (glyph_ascent): ditto.
10140         (glyph_descent): ditto.
10141         (glyph_height): ditto.
10142         (glyph_query_geometry): ressurrect.
10143         (glyph_layout): ditto.
10144         (redisplay_subwindow): update -> redisplay.
10145         (syms_of_glyphs): add Fset_instantiator_property.
10146         (image_instantiator_format_create): set_property -> update.
10147
10148         * glyphs-x.c:
10149         (autodetect_normalize): add dest_maks to signature.
10150         (x_redisplay_subwindow): update -> redisplay.
10151         (x_redisplay_widget): ditto.
10152         (x_button_redisplay): ditto.
10153         (x_progress_gauge_redisplay): ditto.
10154         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10155         stacking order.
10156         (console_type_create_glyphs_x): update -> redisplay.
10157         (image_instantiator_format_create_glyphs_x): ditto.
10158
10159         * glyphs-widget.c:
10160         (check_valid_instantiator): disallow glyphs in the instantiator,
10161         they must now be vectors.
10162         (check_valid_instantiator_list): ditto.
10163         (glyph_instantiator_to_glyph): use internal symbol rather than
10164         intern.
10165         (widget_update): renamed from widget_set_property. Call cascaded
10166         update methods.
10167         (redisplay_widget): renamed from update_widget.
10168         (widget_layout): image_instance_layout now takes position as well
10169         as size.
10170         (widget_normalize): ditto.
10171         (widget_instantiate): ditto.
10172         (tab_control_query_geometry) ditto.:
10173         (tab_control_update): renamed from tab_control_set_property.
10174         (progress_gauge_update): set_property -> update.
10175         (layout_normalize): rewrite so that child instantiators are
10176         normalized also.
10177         (layout_update): new function. Create glyphs from the normalized
10178         children and cope with any other layout keywords. We do not
10179         instantiate children here that will be take care of by
10180         redisplay_output_layout.
10181         (layout_instantiate): call layout_update and not much else.
10182         (layout_post_instantiate): not sure whether this is needed
10183         anymore.
10184         (layout_query_geometry): query glyph geometry rather than
10185         image_instance geometry.
10186         (layout_layout): set offsets from pass in parameters. Use glyph
10187         geometry and layout functions rather than image instance ones.
10188         (native_layout_layout): ditto.
10189         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10190         (image_instantiator_widget): set_property -> update.
10191         (image_instantiator_buttons): ditto.
10192         (image_instantiator_progress_guage): ditto.
10193         (image_instantiator_tab_control): ditto.
10194         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10195         (image_instantiator_layout): add update method.
10196
10197         * glyphs-msw.c (bmp_normalize):
10198         (mswindows_resource_normalize): add dest_mask so that it can be
10199         proprogated by layout_normalize.
10200         (begin_defer_window_pos): make optional because it may not be the
10201         right thing to do and it introduces differences with X.
10202         (mswindows_unmap_subwindow): ditto.
10203         (mswindows_map_subwindow): ditto.
10204         (mswindows_redisplay_subwindow): renamed from
10205         mswindows_update_subwindow.
10206         (mswindows_redisplay_widget): ditto.
10207         (mswindows_button_redisplay): renamed from
10208         mswindows_button_update. Update is now what the instantiation
10209         function does for a changed instantiator.
10210         (mswindows_progress_gauge_instantiate): set the progress value
10211         here if appropriate.
10212         (mswindows_tab_control_redisplay): cope with re-ordering of the
10213         members of the tab widget by simply selecting the new top
10214         widget. This makes things appear ok if you click on a tab.
10215         (mswindows_combo_box_instantiate): image_instance_layout now takes
10216         position as well as size.
10217         (mswindows_progress_gauge_redisplay): renamed from
10218         mswindows_progress_gauge_update.
10219         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10220         (image_instantiator_format_create_glyphs_mswindows): ditto.
10221
10222         * glyphs-eimage.c (jpeg_normalize):
10223         (gif_normalize):
10224         (png_normalize):
10225         (tiff_normalize): add dest_mask so that it can be proprogated by
10226         layout_normalize.
10227
10228         * elhash.c:
10229         (print_hash_table):
10230         (hash_table_weakness_validate):
10231         (decode_hash_table_weakness):
10232         (Fhash_table_weakness):
10233         (Fhash_table_type):
10234         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10235
10236         * console.h (struct console_methods): move update_* to
10237         redisplay_*.
10238
10239 2000-07-20  Ben Wing  <ben@xemacs.org>
10240
10241         * *.[ch] (XSETOBJ): remove unused middle argument.
10242         lisp-disunion.h: correct wrap_object() to one argument.
10243
10244 2000-07-15  Ben Wing  <ben@xemacs.org>
10245
10246         * s/cygwin32.h:
10247         * s/cygwin32.h (CYGWIN_CONV_PATH):
10248         Add missing logb prototype for v1.1.
10249         Use post-b20 names and alias to pre-b20 names when pre-b20.
10250
10251         * s/windowsnt.h: [5].
10252
10253 2000-07-15  Ben Wing  <ben@xemacs.org>
10254
10255         * Makefile.in.in (x_objs):
10256         * Makefile.in.in (sheap_objs):
10257         * Makefile.in.in (objs):
10258         added win32.o, cosmetic cleanups.
10259
10260         * alloc.c (Fmake_byte_code):
10261         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10262         etc. macros which declare their own args now.
10263
10264         * alloc.c (syms_of_alloc):
10265         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10266
10267         * buffer.c:
10268         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10269
10270         * buffer.c (Fget_file_buffer):
10271         Fixed GCPRO problem.
10272
10273         * buffer.c (get_truename_buffer):
10274         Fixed comment about GC checking.
10275
10276         * buffer.c (syms_of_buffer):
10277         Undeclared those dedicated frame funs.
10278         [2].
10279
10280         * buffer.h:
10281         Define convenience macros for internal/external conversions.
10282         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10283         and Qenvironment_variable_encoding for cleaner code.
10284
10285         * bufslots.h:
10286         Remove dedicated-frame; in lisp.
10287
10288         * bytecode.c (funcall_compiled_function):
10289         [1].
10290
10291         * bytecode.c (syms_of_bytecode):
10292         [2].
10293
10294         * console-msw.c:
10295         * console-msw.c (mswindows_show_console): Rewrote.
10296
10297         * console-msw.c (Fmswindows_debugging_output): New.
10298         Sends to OutputDebugString (special MSWin debugger interface).
10299
10300         * console-msw.c (Fmswindows_message_box):
10301         Fixed stupid bugs so it works when called from kill-emacs.
10302
10303         * console-msw.c (syms_of_console_mswindows):
10304         Declare Fmswindows_debugging_output.
10305
10306         * console-msw.h:
10307         New MSWin prototypes.
10308
10309         * console-msw.h (struct mswindows_frame):
10310         New entry last-click-mods for improved button-modifier support.
10311
10312         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10313         New struct entry `popup' with corresponding accessor.
10314
10315         * console-x.c:
10316         * console-x.c (split_up_display_spec):
10317         * console-x.c (get_display_arg_connection):
10318         * console-x.c (x_semi_canonicalize_console_connection):
10319         * console-x.c (x_canonicalize_device_connection):
10320         [[[6]]]: Change char to more specific type.
10321         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10322
10323         * console-x.c (x_semi_canonicalize_console_connection):
10324         * console-x.c (x_canonicalize_device_connection):
10325         [[[9]]]: Fix up error signalling to use new structured error system.
10326
10327         * console-x.h:
10328         [[[4]]]: Define codesys aliases:
10329         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10330         Qx_color_name_encoding, Qx_display_name_encoding.
10331
10332         * console.h (struct console_methods):
10333         New method make_dialog_box_internal supersedes older
10334         popup_dialog_box method.
10335
10336         * data.c:
10337         Define many new errors, part of new structured errors.
10338
10339         * data.c (init_errors_once_early):
10340         * data.c (syms_of_data):
10341         [2].
10342
10343         * device-msw.c (mswindows_init_device):
10344         [[[5]]]: Cleanup to support NT 3.51.
10345
10346         * device-msw.c (decode_devmode): Cleanup.
10347
10348         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10349         * device-msw.c (mswindows_handle_print_dialog_box):
10350         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10351         * device-msw.c (syms_of_device_mswindows):
10352         Delete the dialog box primitives recently introduced by Kirill and
10353         instead interface to general dialog box interface.
10354
10355         * device-x.c:
10356         * device-x.c (compute_x_app_name):
10357         * device-x.c (x_init_device):
10358         * device-x.c (Fx_valid_keysym_name_p):
10359         * device-x.c (Fx_set_font_path):
10360         [6].
10361         [7].
10362
10363         * device.h (wrap_device): New.
10364         First of its kind; meant to replace XSETDEVICE.
10365
10366         * dialog-msw.c: Many file-dialog symbols.
10367
10368         * dialog-msw.c (mswindows_register_popup_frame): New.
10369         * dialog-msw.c (mswindows_is_dialog_msg): New.
10370         For supporting kbd traversal in dialog boxes.
10371
10372         * dialog-msw.c (dialog_proc):
10373         Support hitting ESC in dialogs.
10374
10375         * dialog-msw.c (struct):
10376         Common dialog box errors.
10377
10378         * dialog-msw.c (handle_file_dialog_box): New.
10379         Add file dialog code.
10380
10381         * dialog-msw.c (handle_question_dialog_box):
10382         Redo existing code to support new question dialog syntax.
10383
10384         * dialog-msw.c (console_type_create_dialog_mswindows):
10385         We support new dialog console method.
10386
10387         * dialog-msw.c (syms_of_dialog_mswindows):
10388         * dialog-msw.c (vars_of_dialog_mswindows):
10389         New file dialog symbols, vars.
10390
10391         * dialog-x.c:
10392         * dialog-x.c (maybe_run_dbox_text_callback):
10393         * dialog-x.c (dbox_descriptor_to_widget_value):
10394         * dialog-x.c (x_make_dialog_box_internal):
10395         * dialog-x.c (console_type_create_dialog_x):
10396         Mule-ize entire file.
10397         Redo to support question dialog syntax.
10398         [6].
10399
10400         * dialog.c:
10401         * dialog.c (Fmake_dialog_box_internal):
10402         * dialog.c (syms_of_dialog):
10403         Kill old popup-dialog-box, replace with new primitive.
10404         Just call device method or signal error.
10405
10406         * eldap.c (Fldap_open):
10407         * eldap.c (Fldap_search_basic):
10408         * eldap.c (Fldap_add):
10409         * eldap.c (Fldap_modify):
10410         [1].
10411         [7].
10412
10413         * emacs.c:
10414         * emacs.c (make_arg_list_1):
10415         * emacs.c (make_arg_list):
10416         Mule-ize call to dll_init().
10417         [6].
10418         [8].
10419
10420         * emacs.c (make_argc_argv):
10421         * emacs.c (free_argc_argv):
10422         * emacs.c (init_cmdargs):
10423         * emacs.c (main_1):
10424         * emacs.c (Fkill_emacs):
10425         * emacs.c (Fdump_emacs):
10426         Update comments about what can be used in syms_* etc.
10427         Call init_win32() when necessary.
10428         Fix up MS Win dialog box in kill-buffer to actually work right.
10429         [7].
10430
10431         * eval.c:
10432         * eval.c (For):
10433         * eval.c (Fand):
10434         * eval.c (Fprogn):
10435         * eval.c (Fprog1):
10436         * eval.c (Fprog2):
10437         * eval.c (FletX):
10438         * eval.c (Flet):
10439         * eval.c (condition_case_3):
10440         * eval.c (Feval):
10441         * eval.c (function_argcount):
10442         * eval.c (funcall_lambda):
10443         [1].
10444
10445         * eval.c (type_error): New.
10446         * eval.c (maybe_type_error): New.
10447         * eval.c (continuable_type_error): New.
10448         * eval.c (maybe_continuable_type_error): New.
10449         * eval.c (type_error_with_frob): New.
10450         * eval.c (maybe_type_error_with_frob): New.
10451         * eval.c (continuable_type_error_with_frob): New.
10452         * eval.c (maybe_continuable_type_error_with_frob): New.
10453         New functions for use with structured errors.
10454
10455         * event-Xt.c:
10456         * event-Xt.c (x_event_to_emacs_event):
10457         Buttons are now modifiers too.
10458
10459         * event-Xt.c (emacs_Xt_current_event_timestamp):
10460         Implement new event method.
10461         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10462
10463         * event-msw.c:
10464         * event-msw.c (ntpipe_shove_writer): [5].
10465         * event-msw.c (mswindows_enqueue_mouse_button_event):
10466         * event-msw.c (mswindows_drain_windows_queue):
10467         * event-msw.c (mswindows_wnd_proc): [7].
10468         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10469         * event-msw.c (mswindows_modifier_state):
10470         Throughout: support new button modifiers.
10471
10472         * event-msw.c (emacs_mswindows_current_event_timestamp):
10473         Implement new event method.
10474         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10475
10476         * event-stream.c:
10477         * event-stream.c (event_stream_current_event_timestamp): New.
10478         * event-stream.c (maybe_kbd_translate): New functionality.
10479         * event-stream.c (vars_of_event_stream):
10480         Document new kbd-translate-table functionality.
10481
10482         * event-stream.c (Fcurrent_event_timestamp): New.
10483         New primitive for use in fabricated events.
10484         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10485
10486         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10487
10488         * events.c:
10489         * events.c (Fmake_event):
10490         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10491         [1].
10492         [9].
10493
10494         * events.c (format_event_object): fix gcc warnings.
10495
10496         * events.c (Fevent_timestamp): Document new primitives.
10497
10498         * events.c (TIMESTAMP_HALFSPACE): New.
10499
10500         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10501         comparing timestamps correctly (half-space algorithm).
10502
10503         * events.c (Fevent_modifier_bits): Doc fix.
10504
10505         * events.c (Fevent_modifiers): Major doc addition.
10506         * events.c (event_x_y_pixel_internal): Typo fix.
10507         * events.c (syms_of_events): Declare new primitives.
10508
10509         * events.h:
10510         Update long comment for button modifiers, timestamps.
10511
10512         * events.h (struct event_stream):
10513         New current_event_timestamp method.
10514
10515         * extents.c:
10516         * extents.c (extent_in_region_p):
10517         * extents.c (decode_extent):
10518         * extents.c (Fset_extent_parent):
10519         * extents.c (decode_map_extents_flags):
10520         Fix gcc warnings.
10521         [9].
10522
10523         * extents.c (struct extent_at_arg):
10524         * extents.c (decode_extent_at_flag):
10525         * extents.c (extent_at_mapper):
10526         * extents.c (extent_at_bytind):
10527         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10528         * extents.c (Fextents_at): New primitive. [9].
10529         * extents.c (symbol_to_glyph_layout): [9].
10530         Support new primitive `extents-at'.
10531
10532
10533         * extents.c (get_text_property_bytind):
10534         extent_at_bytind has another arg.
10535         [9].
10536
10537         * extents.c (syms_of_extents): New primitive.
10538
10539         * file-coding.c (Fmake_coding_system): [1].
10540         * file-coding.c (subsidiary_coding_system): fix gcc warning
10541         * file-coding.c (syms_of_file_coding): [2].
10542
10543         * fileio.c (Fexpand_file_name):
10544         * fileio.c (Fsysnetunam):
10545         * fileio.c (Ffile_exists_p):
10546         * fileio.c (Ffile_executable_p):
10547         * fileio.c (Fverify_visited_file_modtime):
10548         Clean up GCPROing.
10549
10550         * fileio.c (syms_of_fileio): [2].
10551
10552         * filelock.c (lock_file_1):
10553         * filelock.c (current_lock_owner):
10554         * filelock.c (lock_if_free):
10555         * filelock.c (lock_file):
10556         * filelock.c (unlock_file):
10557         Clean up GCPROing.
10558
10559         * fns.c (concat): Fix gcc warning.
10560
10561         * fns.c (Fmember):
10562         * fns.c (Fold_member):
10563         * fns.c (Fmemq):
10564         * fns.c (Fold_memq):
10565         * fns.c (memq_no_quit):
10566         * fns.c (Fassoc):
10567         * fns.c (Fold_assoc):
10568         * fns.c (Fassq):
10569         * fns.c (Fold_assq):
10570         * fns.c (assq_no_quit):
10571         * fns.c (Frassoc):
10572         * fns.c (Fold_rassoc):
10573         * fns.c (Frassq):
10574         * fns.c (Fold_rassq):
10575         * fns.c (rassq_no_quit):
10576         * fns.c (Fdelete):
10577         * fns.c (Fold_delete):
10578         * fns.c (Fdelq):
10579         * fns.c (Fold_delq):
10580         * fns.c (delq_no_quit):
10581         * fns.c (Fremassoc):
10582         * fns.c (Fremassq):
10583         * fns.c (remassq_no_quit):
10584         * fns.c (Fremrassoc):
10585         * fns.c (Fremrassq):
10586         * fns.c (remrassq_no_quit):
10587         * fns.c (Freverse):
10588         * fns.c (mapcar1):
10589         [1].
10590
10591         * frame-msw.c (mswindows_init_frame_1):
10592         * frame-msw.c (mswindows_delete_frame):
10593         Register popups with dialog code so keyboard traversing works.
10594
10595         * frame-tty.c (tty_raise_frame_no_select): [1].
10596
10597         * frame-x.c:
10598         * frame-x.c (x_set_frame_text_value):
10599         * frame-x.c (x_set_frame_properties):
10600         * frame-x.c (x_create_widgets):
10601         [7].
10602
10603         * frame.c:
10604         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10605
10606         * frame.h (wrap_frame): New.
10607         Macro like wrap_device.
10608
10609         * general.c:
10610         * general.c (SYMBOL):
10611         * general.c (syms_of_general):
10612         Major reorg.  This is now just a wrapper and symbols themselves
10613         are listed in general-slots.h.
10614
10615         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10616         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10617
10618         * glyphs-msw.c (mswindows_native_layout_instantiate):
10619         Add DS_CONTROL so keyboard traversal will work.
10620
10621         * glyphs-widget.c:
10622         * glyphs-widget.c (syms_of_glyphs_widget):
10623         Move some symbols to general-slots.h.
10624
10625         * glyphs-x.c:
10626         * glyphs-x.c (xbm_instantiate_1):
10627         * glyphs-x.c (x_xbm_instantiate):
10628         * glyphs-x.c (x_xface_instantiate):
10629         * glyphs-x.c (autodetect_instantiate):
10630         * glyphs-x.c (cursor_font_instantiate):
10631         * glyphs-x.c (x_update_widget):
10632         * glyphs-x.c (x_widget_instantiate):
10633         * glyphs.c (bitmap_to_lisp_data):
10634         * glyphs.c (pixmap_to_lisp_data):
10635         [7].
10636
10637         * glyphs.c (syms_of_glyphs):
10638         [2].
10639
10640         * gui-x.c:
10641         * gui-x.c (print_widget_value):
10642         * gui-x.c (menu_separator_style_and_to_external):
10643         * gui-x.c (add_accel_and_to_external):
10644         * gui-x.c (button_item_to_widget_value):
10645         * gui-x.c (gui_items_to_widget_values_1):
10646         * gui-x.c (gui_items_to_widget_values):
10647         * gui-x.c (syms_of_gui_x):
10648         * gui-x.c (vars_of_gui_x):
10649         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10650         [9].
10651
10652         * gui-x.h:
10653         Muleize, prototype changes matching gui-x.c.
10654
10655         * gui.c:
10656         * gui.c (separator_string_p):
10657         * gui.c (gui_item_add_keyval_pair):
10658         * gui.c (make_gui_item_from_keywords_internal):
10659         * gui.c (signal_too_long_error):
10660         * gui.c (parse_gui_item_tree_item):
10661         * gui.c (syms_of_gui):
10662         * gui.c (vars_of_gui):
10663         * gui.h:
10664         menu-no-selection-hook moved here (used by MSWin).
10665         Move some symbols to general-slots.h.
10666         [6].
10667         [9].
10668
10669         * insdel.c (get_buffer_pos_char):
10670         * insdel.c (get_buffer_range_char):
10671         Add GC comments.
10672
10673         * keymap.c (keymap_lookup_directly):
10674         * keymap.c (keymap_store):
10675         * keymap.c (ensure_meta_prefix_char_keymapp):
10676         * keymap.c (describe_map):
10677         * keymap.h:
10678         Support new button modifiers.
10679
10680         * lisp-disunion.h (wrap_object):
10681         * lisp-disunion.h (XSETOBJ):
10682         Rename make_obj to wrap_object.
10683
10684         * lisp-union.h:
10685         * lisp-union.h (make_int):
10686         * lisp-union.h (make_char):
10687         Support wrap_object.
10688
10689         * lisp.h:
10690         * lisp.h (LIST_LOOP):
10691         * lisp.h (EXTERNAL_LIST_LOOP):
10692         * lisp.h (LIST_LOOP_2):
10693         * lisp.h (EXTERNAL_LIST_LOOP_1):
10694         * lisp.h (EXTERNAL_LIST_LOOP_2):
10695         * lisp.h (EXTERNAL_LIST_LOOP_3):
10696         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10697         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10698         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10699         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10700         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10701         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10702         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10703         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10704         * lisp.h (struct Lisp_Symbol):
10705         * lisp.h (maybe_continuable_error_with_frob):
10706         Fix up section comments.
10707         Add new types for char to indicate usage.
10708         Delete symbols auto-generated from general-slots.h.
10709         Add prototypes for structured error functions.
10710         Add long comments describing looping macros and change interface
10711         so that lvalues are automatically declared.
10712         Add NO_DECLARE macro in case callers want to declare lvalues
10713         themselves.
10714
10715         * lread.c (read_syntax_error):
10716         * lread.c (continuable_read_syntax_error):
10717         * lread.c (read_structure):
10718         * lread.c (sequence_reader):
10719         * lread.c (read_list_conser):
10720         * lread.c (read_compiled_function):
10721         Rename syntax_error and continuable_syntax_error to avoid clash
10722         with same-named structured error functions.
10723
10724         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10725         * menubar-msw.c (populate_menu_add_item):
10726         * menubar-msw.c (populate_or_checksum_helper):
10727         [5].
10728         [9].
10729
10730         * menubar-x.c:
10731         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10732         Mule-ize whole file.
10733
10734         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10735
10736         * mule-charset.c (Fmake_charset):
10737         * mule-wnnfns.c (Fwnn_set_param):
10738         [1].
10739
10740         * ntproc.c (create_child):
10741         * ntproc.c (Fwin32_set_current_locale):
10742         Add comments portending doom.
10743
10744         * objects-msw.c:
10745         * objects-msw.c (old_font_enum_callback_2):
10746         * objects-msw.c (font_enum_callback_1):
10747         * objects-msw.c (mswindows_enumerate_fonts):
10748         [5].
10749
10750         * objects-x.c:
10751         * objects-x.c (allocate_nearest_color):
10752         * objects-x.c (x_parse_nearest_color):
10753         * objects-x.c (x_initialize_color_instance):
10754         * objects-x.c (x_print_color_instance):
10755         * objects-x.c (x_finalize_color_instance):
10756         * objects-x.c (x_valid_color_name_p):
10757         * objects-x.c (x_initialize_font_instance):
10758         * objects-x.c (x_print_font_instance):
10759         * objects-x.c (valid_x_font_name_p):
10760         * objects-x.c (truename_via_FONT_prop):
10761         * objects-x.c (truename_via_random_props):
10762         * objects-x.c (truename_via_XListFonts):
10763         * objects-x.c (x_font_truename):
10764         * objects-x.c (x_font_instance_truename):
10765         * objects-x.c (x_font_instance_properties):
10766         * objects-x.c (x_list_fonts):
10767         * objects-x.c (x_find_charset_font):
10768         Mule-ize entire file.
10769         [7].
10770
10771         * objects-x.h:
10772         Mule-verify.
10773
10774         * print.c:
10775         * print.c (std_handle_out_external):
10776         * print.c (debug_print_no_newline):
10777         * print.c (syms_of_print):
10778         Output to all debugger kinds in debug-print.
10779         Fix console-output code under MSWin to actually work.
10780
10781         * process-nt.c (send_signal):
10782         * process-nt.c (nt_create_process):
10783         Use newer Unicode macros.
10784
10785         * process-unix.c (unix_create_process):
10786         * process-unix.c (unix_canonicalize_host_name):
10787         * process-unix.c (unix_open_network_stream):
10788         [7].
10789
10790         * scrollbar-x.c:
10791         Mule-verify.
10792
10793         * search.c (syms_of_search):
10794         [2].
10795
10796         * select-msw.c (mswindows_destroy_selection):
10797         Use LIST_LOOP_2.
10798
10799         * select-x.c (symbol_to_x_atom):
10800         [7].
10801
10802         * select.c (syms_of_select):
10803         [2].
10804
10805         * sound.c (Fplay_sound_file):
10806         [7].
10807
10808         * specifier.c:
10809         * specifier.c (decode_specifier_type):
10810         * specifier.c (Fvalid_specifier_locale_type_p):
10811         * specifier.c (check_valid_locale_or_locale_type):
10812         * specifier.c (decode_locale):
10813         * specifier.c (decode_locale_type):
10814         * specifier.c (decode_locale_list):
10815         * specifier.c (check_valid_domain):
10816         * specifier.c (decode_specifier_tag_set):
10817         * specifier.c (Fcanonicalize_tag_set):
10818         * specifier.c (Fdefine_specifier_tag):
10819         * specifier.c (Fspecifier_tag_predicate):
10820         * specifier.c (check_valid_inst_list):
10821         * specifier.c (check_valid_spec_list):
10822         * specifier.c (decode_how_to_add_specification):
10823         * specifier.c (check_modifiable_specifier):
10824         * specifier.c (specifier_add_spec):
10825         * specifier.c (boolean_validate):
10826         * specifier.c (display_table_validate):
10827         [9].
10828
10829         * specifier.c (syms_of_specifier):
10830         Move some symbols to general-slots.h.
10831         [2].
10832
10833         * symbols.c:
10834         * symbols.c (Fmapatoms):
10835         * symbols.c (Fapropos_internal):
10836         Add GCPROs.
10837
10838         * symbols.c (set_default_buffer_slot_variable):
10839         * symbols.c (set_default_console_slot_variable):
10840         [1].
10841
10842         * symbols.c (defsymbol_massage_name_1):
10843         * symbols.c (defkeyword_massage_name):
10844         * symbols.c (deferror_1):
10845         * symbols.c (deferror):
10846         * symbols.c (deferror_massage_name_and_message):
10847         * symeval.h:
10848         * symeval.h (DEFSYMBOL):
10849         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10850
10851         * symbols.c (syms_of_symbols):
10852         [2].
10853
10854         * symsinit.h:
10855         * symsinit.h (init_win32): New.
10856         Also new is syms_of_dialog_mswindows.
10857
10858         * syswindows.h:
10859         Add new Unicode macros, missing Cygwin wide-char functions,
10860         convenience conversion macros for Qmswindows_tstr, macros for
10861         encapsulating required MSWin <-> Cygwin filename conversions,
10862         prototype for dynamically-extracted (not in NT 3.51) functions.
10863
10864         * toolbar-x.c:
10865         Mule-verify.
10866
10867         * tooltalk.c (Fadd_tooltalk_message_arg):
10868         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10869         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10870         [7].
10871
10872         * tooltalk.c (syms_of_tooltalk):
10873         [2].
10874
10875         * unexnt.c:
10876         * unexnt.c (unexec):
10877         Fix up headers, declaration of unexec() to be more standard.
10878
10879 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10880
10881         * offix.h: Revert change to guard macros - they're used in offix.c!
10882
10883 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10884
10885         * lisp.h: Defsubred Fdelete.
10886
10887         * console-msw.h:  (msprinter_default_printer): Added.
10888
10889         * console-msw.c (msprinter_canonicalize_console_connection):
10890         (msprinter_canonicalize_device_connection): Added.
10891
10892         * device-msw.c (msprinter_default_printer):
10893         (Fmswingows_get_default_printer):
10894         (signal_enum_priner_error):
10895         (Fmswingows_printer_list): Added.
10896
10897 2000-07-19  Martin Buchholz <martin@xemacs.org>
10898
10899         * XEmacs 21.2.35 is released.
10900
10901 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10902
10903         * select-x.c (x_handle_selection_request):
10904         Text selected in xemacs and pasted into xterm failed to appear.
10905         Spelling fixes and cosmetic changes.
10906
10907 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10908
10909         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10910         XEmacs frame (fix for doubling chars in dialog boxes).
10911
10912 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10913
10914         * select.c (select_convert_in, select_convert_out):
10915         Don't call intern() every time.
10916
10917         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10918         * select.c (vars_of_select): Initialise them.
10919
10920 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10921
10922         * select.c (selection-coercible-types): New.
10923
10924         * select.c (own-selection-internal):
10925         * select.c (get-selection-internal):
10926         MULE bug fix - these should default to COMPOUND_TEXT and not
10927         STRING for MULE. I think.
10928
10929         * select.c (select_convert_out): Use selection-coercible-types
10930         to find types that we can attempt to perform coercions on.
10931
10932 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10933
10934         * mule-wnnfns.c:
10935         * mule-canna.c:
10936         Add coding: cookie to identify encoding.
10937
10938         * mule-canna.c (CANNA_mode_keys): make static.
10939         Use proper prototypes, even for functions of no arguments.
10940         Remove external prototype for Fding().
10941
10942         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
10943
10944         * select.c (syms_of_select): Add missing DEFSUBR.
10945
10946 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10947
10948         * select.c (get_selection_internal, own_selection_internal):
10949         Make the type default to STRING, rather than placing a nil type
10950         into Vselection_alist.
10951
10952 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10953
10954         * gpmevent.c (tty_selection_exists_p):
10955         * gpmevent.c (tty_own_selection):
10956         Updated parameter lists.
10957
10958 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
10959
10960         * select.h (selection-alist): Removed declaration.
10961
10962         * select.h (get_local_selection):
10963         * select.c (get_local_selection):
10964         Made static.
10965
10966         * select.h (convert_selection): Removed declaration.
10967         * select.c (convert_selection): Removed.
10968         This function belongs in Lisp.
10969
10970         * select.h (select_convert_in): Declare.
10971         * select.h (select_convert_out): Declare.
10972         * select.c (select_convert_in): New.
10973         * select.c (select_convert_out): New.
10974         New conversion functions for other files to call.
10975
10976         * select.h (select_notify_buffer_kill): Declare.
10977         * select.c (select_notify_buffer_kill): New.
10978         New functions that get called from kill-buffer.
10979
10980         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
10981         X-specific lisp code.
10982
10983         * select.h: Declare some of the lisp-visible functions for
10984         external use.
10985
10986         * select.c (clean_local_selection_data): Removed. This was
10987         a disgusting function, and previously should have been in
10988         select-x.c in any case. The functionality is now provided
10989         in select-convert-from-integer (select.el).
10990
10991         * select.c (available-selection-types): Fixed stupidity where
10992         INTEGER and ATOM got added twice. Also add STRING when we see an
10993         extent.
10994
10995         * select.c (get-selection-internal): Removed symbol stripping. No
10996         longer causes conversion when data comes from the internal cache.
10997
10998         * select.c (syms_of_select): Added new functions.
10999
11000         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11001         error checking - previously this called abort!
11002
11003         * select-x.c (x_own_selection): Changed comment.
11004
11005         * select-x.c (x_handle_selection_request): Use select_convert_out.
11006         Don't mess with selection-alist; it's an internal variable of select.c.
11007
11008         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11009
11010         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11011         rather than messing with selection-alist.
11012
11013         * select-msw.c (mswindows_get_foreign_selection):
11014         Use TO_INTERNAL_FORMAT rather than hacking.
11015
11016 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11017
11018         * process-unix.c (unix_open_multicast_group):
11019         (unix_open_multicast_group): Remove useless casts.
11020
11021 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11022
11023         * sound.c (Fplay_sound): Fix `unused variable' warning.
11024
11025         * emacs.c (main): Use correct type for _environ on SCO5.
11026
11027 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11028
11029         * console.h (own_selection_method):
11030         * console.h (selection_exists_p_method):
11031         * console.h (available_selection_types_method): New.
11032         * console.h (register_selection_data_type_method): New.
11033         * console.h (selection_data_type_name): New.
11034
11035         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11036         function & alist to track GlobalAlloc()'d handles that need
11037         releasing when the clipboard data gets replaced or emptied.
11038
11039         * event-msw.c (mswindows_wnd_proc): Call it.
11040
11041         * lisp.h, general.c (Qappend): New symbol representing a
11042         `how-to-add' mode.
11043
11044         * select.c (own-selection-internal):
11045         * select.c (selection-exists-p):
11046         * select.c (available-selection-types): New.
11047         * select.c (register-selection-data-type): New.
11048         * select.c (selection-data-type-name): New.  New functions to deal
11049         with device-specific selection data formats.
11050         * select.c (selection-converter-out-alist): Renamed.
11051         * select.c (selection-converter-in-alist): New.
11052         * select.c (selection-appender-alist): New.  Added new alists.
11053         * select.c (syms_of_select, vars_of_select): Added new symbols &
11054         variables.
11055         * select.c (get_local_selection): Split.
11056         * select.c: Removed spurious type checking - selections may now be
11057         of any type, not just strings.
11058         * select.c (own-selection-internal):
11059
11060         * select.h, select.c (convert_selection): New. Created
11061         convert_selection() function based on get_local_selection().
11062         * select.h, select.c (QCF_*): New symbols representing mswindows
11063         clipboard formats.
11064         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11065         symbols representing `how-to-add' modes.
11066
11067         * select-msw.c (x_sym_p): New.
11068         * select-msw.c (symbol_to_ms_cf): New.
11069         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11070         symbols & clipboard formats. Can also handle string names.
11071         * select-msw.c (mswindows_own_selection):
11072         * select-msw.c (mswindows_selection_exists_p):
11073         Added `data-type' parameter. Use it.
11074         * select-msw.c (mswindows_available_selection_types): New.
11075         * select-msw.c (mswindows_register_selection_data_type): New.
11076         * select-msw.c (mswindows_selection_data_type_name): New.
11077         * select-msw.c (mswindows_own_selection):
11078         * select-msw.c (mswindows_get_foreign_selection):
11079         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11080         * select-msw.c (console_create_select_mswindows): Added new methods.
11081         * select-msw.c (mswindows_destroy_selection): New.
11082         * select-msw.c (Vhandle_alist): New list.
11083         * select-msw.c (mswindows_own_selection):
11084
11085         * select-x.c (x_own_selection):
11086         * select-x.c (x_selection_exists_p):
11087         * select-x.c: Added some comments about maybe using new
11088         functionality.
11089         * select-x.c (x_own_selection):
11090
11091         * specifier.c: Remove definition of Qappend (now in general.c)
11092         * specifier.c (syms_of_specifier): Remove Qappend.
11093
11094 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11095
11096         * config.h.in: Add socklen_t.
11097
11098         * s/decosf4-0.h: No special compiler flags needed or desired.
11099         In particular, undefine _BSD for DEC OSF 4.0.
11100
11101 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11102
11103         * redisplay-msw.c (msprinter_frame_output_end): Added.
11104         (console_type_create_redisplay_mswindows): Referred the above.
11105
11106         * frame.c (setup_frame_without_minibuffer): Do not create a
11107         default minibuffer frame on a printer device.
11108
11109         * frame-msw.c (apply_dc_geometry): Added.
11110         (msprinter_start_page):
11111         (msprinter_init_frame_3):
11112         (msprinter_eject_page): Use it.
11113
11114         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11115         and removed residual duplex and orientation properties.
11116
11117 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11118
11119         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11120
11121         * unexalpha.c: Remove system prototypes from C sources!
11122
11123 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11124
11125         * eval.c: Remove references to M-x edit-options in DEFUNs for
11126         `defvar' and `defconst'.
11127
11128 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11129
11130         * config.h.in: Remove SMART_INCLUDE hackery.
11131
11132         PostgreSQL hacking:
11133         * config.h.in: Don't use SMART_INCLUDE.
11134
11135         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11136         * inline.c: Simply #include "postgresql.h"
11137         * postgresql.c:
11138         - Don't use SMART_INCLUDE
11139         - Use simply "const".
11140         - Use standard doc string conventions.
11141         - Use correct type for result of PQstatus.
11142
11143 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11144
11145         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11146
11147         C++ compilation changes.
11148         * config.h.in (EXTERN_C): Define.
11149         * config.h.in (not): This is also a C++ keyword.
11150         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11151         * cm.c: Use EXTERN_C.
11152         * redisplay-tty.c: Use EXTERN_C.
11153         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11154
11155 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11156
11157         * general.c: Remove duplicate definition for Qfunction.
11158
11159 2000-07-08  Ben Wing  <ben@xemacs.org>
11160
11161         * device-msw.c (msprinter_init_device):
11162         * device-msw.c (sync_printer_with_devmode):
11163         * device-msw.c (handle_devmode_changes):
11164         * device-msw.c (print_dialog_worker):
11165         * device-msw.c (Fmsprinter_apply_settings):
11166         * device-msw.c (hash_devmode):
11167         * device-msw.c (Fmsprinter_settings_despecialize):
11168         use Qmswindows_tstr, not Qctext.
11169
11170         * vm-limit.c (check_memory_limits):
11171         avoid infinite loop printing warning messages.
11172
11173 2000-07-05  Craig Lanning  <lanning@scra.org>
11174
11175         * Makefile.in.in: Add support for including the Windows resources
11176         when building with the cygwin and mingw targets.
11177
11178         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11179         not set or not correct.
11180         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11181         (init_initial_directory): Don't try to use $PWD on the
11182         WIN32_NATIVE target.
11183
11184         * s\cygwin32.h:
11185         [[Add -mwindows to eliminate console window.]] not required --ben
11186         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11187         (MAIL_USE_POP): removed; now handled by configure.
11188
11189         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11190         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11191         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11192         (MAIL_USE_POP): removed; now handled by configure.
11193         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11194         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11195         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11196         constant string.
11197         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11198         up from <winsock.h> via systime.h.
11199         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11200         (getpagesize): from Dan Holmsand, added.
11201         Added #endif which was left dangling by Ben's mega patch; added
11202         comment to help prevent this in the future.
11203
11204         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11205
11206 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11207
11208         * console-msw.h (struct mswindows_device): Removed unnecessary
11209         cached device geometry values.
11210         Added update_tick and an accessor macro.
11211         (Lisp_Devmode): Added lrecord declaration.
11212         (struct msprinter_device): Contain devmode as a Lisp object.
11213         Added mswindows_get_selected_frame_hwnd();
11214
11215         * console.h (struct console_methods): Indentation nitpicking.
11216
11217         * device-msw.c (mswindows_init_device): Do not initialize geometry
11218         cache. Initialize update tick.
11219         (mswindows_device_system_metrics): Ask the device for its geometry.
11220         (global_free_2_maybe):
11221         (devmode_to_hglobal):
11222         (handle_printer_changes):
11223         (ensure_not_printing):
11224         (print_dialog_worker):
11225         (Fmsprinter_print_setup_dialog):
11226         (Fmsprinter_print_dialog):
11227         (plist_get_margin):
11228         (plist_set_margin):
11229         (Fmsprinter_page_setup_dialog): Added functions.
11230         (sync_printer_with_devmode):
11231         (handle_devmode_changes):
11232         (Fmsprinter_get_settings):
11233         (Fmsprinter_select_settings):
11234         (Fmsprinter_apply_settings):
11235         (allocate_devmode):
11236         (Fmsprinter_settings_copy):
11237         (Fmsprinter_settings_despecialize):
11238         (print_devmode):
11239         (finalize_devmode):
11240         (equal_devmode):
11241         (hash_devmode): Added functions
11242         (syms_of_device_mswindows): Init devmode lrecord class.
11243
11244         * device.h: Added an exfun for find-device.
11245
11246         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11247         geometry; although, recreate the device compatible DC.
11248
11249         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11250         (msprinter_init_frame_3):
11251         (msprinter_frame_property):
11252         (msprinter_internal_frame_property_p):
11253         (msprinter_frame_properties):
11254         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11255         print job properties (will move to device settings).
11256
11257         * lisp.h: Added symbols.
11258
11259         * general.c (syms_of_general): Declared them.
11260
11261         * hash.c (string_hash): Added.
11262
11263         * lrecord.h (lrecord_type): Added devmode lrecord type.
11264
11265 2000-07-02  Mike Sperber <mike@xemacs.org>
11266
11267         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11268         FreeBSD 4.0.
11269
11270 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11271
11272         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11273         integer.
11274
11275 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11276
11277         * data.c (Fstring_to_number): Don't recognize floating point if
11278         base is not 10.
11279
11280 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11281
11282         * glyphs-widget.c (tab_control_query_geometry):
11283         (widget_query_geometry):
11284         (button_query_geometry):
11285         * glyphs.c (text_query_geometry):
11286         Enforce type correctness.
11287
11288 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11289
11290         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11291         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11292
11293 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11294
11295         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11296         conflicts with gcc's fixincluded version of FOO.h.
11297
11298         * glyphs.h (image_instance_geometry): Remove trailing `,'
11299
11300 2000-06-08  Mike Alexander  <mta@arbortext.com>
11301
11302         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11303         (shove_thread): Don't write the same output twice
11304         (make_ntpipe_output_stream): Increase priority of shove thread
11305         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11306         chance to run
11307         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11308         it.
11309
11310 2000-06-12  Ben Wing  <ben@xemacs.org>
11311
11312         * s\mingw32.h (sigset):
11313         * s\windowsnt.h (sigset):
11314         rename msw_ to mswindows_ for consistency with general convention.
11315
11316 2000-06-12  Ben Wing  <ben@xemacs.org>
11317
11318         * console-msw.c:
11319         * console-msw.c (mswindows_get_console_hwnd):
11320         * console-msw.c (mswindows_ensure_console_allocated):
11321         * console-msw.c (mswindows_hide_console):
11322         * console-msw.c (mswindows_show_console):
11323         * console-msw.c (mswindows_ensure_console_buffered):
11324         * console-msw.c (mswindows_output_console_string):
11325         * console-msw.c (mswindows_windows9x_p):
11326         * console-msw.h:
11327         * device-msw.c (mswindows_get_workspace_coords):
11328         * device-msw.c (mswindows_device_system_metrics):
11329         * dialog-msw.c (mswindows_popup_dialog_box):
11330         * event-msw.c (mswindows_wnd_proc):
11331         * frame-msw.c (mswindows_size_frame_internal):
11332         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11333         * menubar-msw.c (displayable_menu_item):
11334         * menubar-msw.c (mswindows_char_is_accelerator):
11335         * nt.c:
11336         * nt.c (mswindows_sigset):
11337         * nt.c (mswindows_sigrelse):
11338         * nt.c (mswindows_sigpause):
11339         * nt.c (mswindows_raise):
11340         * nt.c (timer_proc):
11341         * ntproc.c:
11342         * ntproc.c (find_child_console):
11343         * ntproc.c (sys_kill):
11344         * print.c:
11345         * print.c (std_handle_out_external):
11346         * process-nt.c (find_child_console):
11347         * process-nt.c (send_signal_the_95_way):
11348         * process-nt.c (ensure_console_window_exists):
11349         * process-nt.c (nt_create_process):
11350         * syssignal.h:
11351         rename msw_ to mswindows_ for consistency with general convention.
11352
11353         * emacs.c:
11354         * dumper.c:
11355         include nt.h, not syswindows.h.
11356
11357         * nt.c (mswindows_fstat):
11358         * nt.c (mswindows_stat):
11359         prefix mswindows_ instead of attempting to directly override the
11360         library functions.  fix declarations.
11361
11362         * nt.h:
11363         include syswindows.h.  move some sysdep.h stuff here.
11364
11365         * ntheap.h:
11366         include syswindows.h, not <windows.h>.
11367
11368         * ntplay.c:
11369         clean up headers.
11370
11371         * sysdep.c:
11372         clean up headers.
11373
11374         * sysdep.c (sys_fstat):
11375         * sysdep.c (sys_stat):
11376         call mswindows versions when appropriate.
11377
11378         * sysdep.h:
11379         move mswin decls to nt.h.
11380
11381         * syswindows.h:
11382         add long comment describing appropriate use of the various windows
11383         headers.
11384
11385 2000-06-11  Ben Wing  <ben@xemacs.org>
11386
11387         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11388
11389 2000-06-10  Ben Wing  <ben@xemacs.org>
11390
11391         * Makefile.in.in (release):
11392         Correction to make sure xemacs.exe always dumped when correct.
11393
11394         * alloca.c:
11395         * balloon_help.c:
11396         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11397
11398         * buffer.c (set_buffer_internal):
11399         [[[[2]]]]: Remove HAVE_FEP code.
11400
11401         * buffer.c (init_initial_directory):
11402         [3].
11403
11404         * bytecode.c:
11405         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11406         individual files.
11407
11408         * callproc.c:
11409         * callproc.c (call_process_cleanup):
11410         * callproc.c (Fold_call_process_internal):
11411         * callproc.c (child_setup):
11412         * callproc.c (getenv_internal):
11413         * callproc.c (init_callproc):
11414         * callproc.c (vars_of_callproc):
11415         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11416         __CYGWIN32__ -> CYGWIN.
11417         DOS_NT -> WIN32_NATIVE.
11418         Remove MSDOS support/references, converting to WIN32_NATIVE
11419           where correct.
11420         __MINGW32__ -> MINGW.
11421         Fix windows.h includes.
11422         Remove bogus HAVE_NTGUI.
11423
11424         * config.h.in:
11425         [2].
11426
11427         * console-msw.c:
11428         mswindows_message_outputted added for use in allowing startup
11429         errors on the console to be seen.
11430
11431         * console-msw.c (msw_ensure_console_allocated):
11432         * console-msw.c (msw_output_console_string):
11433         * console-msw.c (DHEADER):
11434         * console-msw.c (DOPAQUE_DATA):
11435         * console-msw.c (DEVENT):
11436         * console-msw.c (DCONS):
11437         * console-msw.c (DCONSCDR):
11438         * console-msw.c (DSTRING):
11439         * console-msw.c (DVECTOR):
11440         * console-msw.c (DSYMBOL):
11441         * console-msw.c (DSYMNAME):
11442         Fix warnings.
11443
11444         * console-stream.c (stream_init_console):
11445         Fix text/binary problems.
11446
11447         * device-msw.c:
11448         * device-msw.c (mswindows_finish_init_device):
11449         * device-msw.c (mswindows_delete_device):
11450         [1].
11451
11452         * device.c (handle_asynch_device_change):
11453         [3].
11454
11455         * dgif_lib.c:
11456         * dgif_lib.c (DGifOpenFileName):
11457         * dgif_lib.c (DGifOpenFileHandle):
11458         * dgif_lib.c (DGifGetLine):
11459         * dgif_lib.c (DGifGetPixel):
11460         Added config.h/lisp.h, fix up includes.
11461         [1].
11462
11463         * dired-msw.c:
11464         [4].
11465
11466         * dired.c:
11467         * dired.c (file_name_completion):
11468         * dired.c (Ffile_attributes):
11469         * dired.c (syms_of_dired):
11470         [1].
11471
11472         * dumper.c:
11473         * dumper.c (pdump_file_unmap):
11474         * dumper.c (pdump_load):
11475         [1].
11476
11477         * editfns.c:
11478         * editfns.c (Ftemp_directory):
11479         * editfns.c (user_login_name):
11480         * editfns.c (Fuser_real_login_name):
11481         * editfns.c (get_home_directory):
11482         [1].
11483
11484         * elhash.c (finish_marking_weak_hash_tables):
11485         [[[[5]]]]: Fix GCC warnings.
11486
11487         * emacs.c:
11488         * emacs.c (mswindows_handle_hardware_exceptions):
11489         * emacs.c (make_arg_list_1):
11490         * emacs.c (main_1):
11491         * emacs.c (Fkill_emacs):
11492         * emacs.c (Fdump_emacs):
11493         [1].
11494         Fix problems with nested crashes, add long comment.
11495
11496         * event-Xt.c (init_event_Xt_late):
11497         [1].
11498
11499         * event-msw.c:
11500         * event-msw.c (mswindows_dde_callback):
11501         * event-msw.c (mswindows_handle_sticky_modifiers):
11502         * event-msw.c (mswindows_wnd_proc):
11503         [1].
11504         [5].
11505
11506         * events.c (character_to_event):
11507         [1].
11508
11509         * fileio.c:
11510         * fileio.c (Ffile_name_directory):
11511         * fileio.c (Ffile_name_nondirectory):
11512         * fileio.c (directory_file_name):
11513         * fileio.c (Fexpand_file_name):
11514         * fileio.c (Fsubstitute_in_file_name):
11515         * fileio.c (Ffile_name_absolute_p):
11516         * fileio.c (check_executable):
11517         * fileio.c (Ffile_readable_p):
11518         * fileio.c (Ffile_accessible_directory_p):
11519         * fileio.c (Ffile_modes):
11520         * fileio.c (Funix_sync):
11521         * fileio.c (vars_of_fileio):
11522         [1]. [4].
11523
11524         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11525
11526         Expand getdefdir defn.
11527         Fix bogus rename() comment.
11528
11529         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11530         to use standard XEmacs include files, e.g. sysfile.h, rather
11531         than system-specific includes.
11532
11533         * fns.c:
11534         * fns.c (Fsubseq):
11535         [5]. [6].
11536
11537         * frame.c (vars_of_frame):
11538         [1].
11539
11540         * getloadavg.c:
11541         * getloadavg.c (getloadavg):
11542         [1]. [6].
11543         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11544         (We don't use it elsewhere in the code; just add a comment.)
11545
11546         * gif_io.c:
11547         [6].
11548         Add config.h.
11549
11550         * glyphs-msw.c:
11551         * glyphs-msw.c (mswindows_resource_instantiate):
11552         [1].
11553
11554         * glyphs-x.c (x_native_layout_instantiate):
11555         [5].
11556
11557         * gui-msw.c (Fmswindows_shell_execute):
11558         [1].
11559
11560         * insdel.c:
11561         [4].
11562
11563         * lisp.h:
11564         [4]. [5].
11565
11566         * lread.c (locate_file_in_directory_mapper):
11567         [1].
11568
11569         * lstream.c:
11570         [4].
11571
11572         * mem-limits.h:
11573         * mem-limits.h (get_lim_data):
11574         [1].
11575
11576         * menubar-msw.c:
11577         [4].
11578
11579         * ndir.h:
11580         [1].
11581
11582         * nt.c:
11583         * nt.c (getwd):
11584         * nt.c (closedir):
11585         * nt.c (rva_to_section):
11586         * nt.c (mswindows_executable_type):
11587         [1]. [6].
11588         Fix closedir() defn.
11589
11590         * nt.h:
11591         [[[[8]]]]: *_OK defs moved to sysfile.h.
11592
11593         * ntproc.c:
11594         [6]. [7].
11595
11596         * objects-x.c:
11597         [4].
11598
11599         * print.c:
11600         * print.c (std_handle_out_external):
11601         [1]. [4].
11602
11603         * process-nt.c:
11604         * process-nt.c (nt_create_process):
11605         [6].
11606         try to fix process quoting somewhat.
11607
11608         * process-unix.c (unix_create_process):
11609         [1].
11610
11611         * process.c:
11612         * process.c (vars_of_process):
11613         Add Vnull_device.
11614
11615         * process.h:
11616         [1].
11617
11618         * realpath.c:
11619         * realpath.c (xrealpath):
11620         [1].
11621
11622         * redisplay-tty.c (init_tty_for_redisplay):
11623         [3].
11624
11625         * redisplay.c:
11626         [4]. [6].
11627
11628         * scrollbar-msw.c:
11629         [4].
11630
11631         * sheap.c:
11632         * sheap.c (more_static_core):
11633         * sheap.c (report_sheap_usage):
11634         [5]. [6].
11635
11636         * signal.c:
11637         * signal.c (alarm_signal):
11638         [1]. [6].
11639
11640         * sound.c:
11641         [6].
11642
11643         * strftime.c:
11644         * strftime.c (zone_name):
11645         [1]. [5].
11646
11647         * symsinit.h (init_sunpro):
11648         [1].
11649
11650         * syscommctrl.h:
11651         commctrl.h not in Cygwin b20.1.
11652
11653         * sysdep.c:
11654         * sysdep.c (endif):
11655         * sysdep.c (sys_subshell):
11656         * sysdep.c (init_baud_rate):
11657         * sysdep.c (emacs_get_tty):
11658         * sysdep.c (emacs_set_tty):
11659         * sysdep.c (tty_init_sys_modes_on_device):
11660         * sysdep.c (init_system_name):
11661         * sysdep.c (sys_open):
11662         * sysdep.c (interruptible_open):
11663         * sysdep.c (sys_fopen):
11664         * sysdep.c (sys_mkdir):
11665         * sysdep.c (sys_rename):
11666         * sysdep.c (get_process_times_1):
11667         [1]. [6].
11668
11669         * sysdep.h:
11670         [1].
11671
11672         * sysdir.h:
11673         * sysdir.h (DIRENTRY_NONEMPTY):
11674         [1]. [6].
11675
11676         * sysdll.c (dll_init):
11677         * sysdll.h:
11678         [1].
11679
11680         * sysfile.h:
11681         [1]. [6]. [8].
11682         added text/binary defs.
11683
11684         * sysfloat.h:
11685         [1].
11686
11687         * sysproc.h:
11688         * sysproc.h (EDESTADDRREQ):
11689         * sysproc.h (poll_fds_for_input):
11690         [1]. [6].
11691
11692         * syspwd.h:
11693         [6].
11694
11695         * syssignal.h:
11696         [1].
11697
11698         * systime.h:
11699         [1]. [6].
11700
11701         * systty.h:
11702         [1].
11703
11704         * syswindows.h:
11705         [1].
11706         Always define WIN32_LEAN_AND_MEAN.
11707
11708         * unexcw.c (unexec):
11709         [5].
11710
11711         * unexec.c:
11712         * unexec.c (copy_text_and_data):
11713         * unexec.c (adjust_lnnoptrs):
11714         [1].
11715
11716         * unexnt.c:
11717         * unexnt.c (_start):
11718         [1].
11719
11720 2000-06-07  Ben Wing  <ben@xemacs.org>
11721
11722         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11723         was used only as a model.  We've long since extracted any useful
11724         logic or code out of this. (I just did an exhaustive search.)
11725
11726         * s\msdos.h: Removed.
11727
11728         * s\windows95.h: Removed.
11729
11730 2000-06-10  Ben Wing  <ben@xemacs.org>
11731
11732         * s\cygwin32.h:
11733         [1]. [5].
11734         Don't use extern with fun defs.
11735
11736         * s\mingw32.h:
11737         [1]. [7].
11738         Remove nt\inc include.
11739         Remove getdisk, getdefdir. (The former is unused, the latter
11740         expanded in fileio.h.)
11741
11742         * s\windowsnt.h:
11743         * s\windowsnt.h (WIN32_NATIVE):
11744         * s\windowsnt.h (HAVE_STRCASECMP):
11745         [1]. [7].
11746         Add long comment about preprocessor changes.
11747         Remove getdisk, getdefdir. (The former is unused, the latter
11748         expanded in fileio.h.)
11749
11750 2000-06-10  Ben Wing  <ben@xemacs.org>
11751
11752         * m\arm.h:
11753         * m\delta.h:
11754         * m\intel386.h:
11755         * m\sequent.h:
11756         * m\template.h:
11757         * m\windowsnt.h:
11758         [1].
11759         Remove bogus/unused NO_SOCK_SIGIO.
11760
11761 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11762
11763         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11764         not an Emchar.
11765
11766 2000-06-04  Mike Sperber <mike@xemacs.org>
11767
11768         * casetab.c (set_case_table): For `set-standard-case-table',
11769         actually deposit the new case tables where the rest of XEmacs can
11770         see them.
11771
11772 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11773
11774         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11775
11776 2000-06-05  Ben Wing  <ben@xemacs.org>
11777
11778         * callproc.c (child_setup): Don't do close_load_descs() under
11779         MS Windows.  Put in a comment explaining why.
11780
11781 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11782
11783         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11784         Toolkit shell" which breaks `kill-compilation' on Windows NT
11785         native, retaining STDERR handling improvements.
11786
11787 2000-06-01  Andreas Jaeger  <aj@suse.de>
11788
11789         * s/s390.h: Support for S390, based on a patch by Martin
11790         Schwidefsky <schwidefsky@de.ibm.com>.
11791
11792 2000-05-30  Andy Piper  <andy@xemacs.org>
11793
11794         * window.c (allocate_window):
11795         (make_dummy_parent):
11796         (Fset_window_configuration): use new hashtable type.
11797
11798         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11799         (struct image_instantiator_methods):
11800         (struct Lisp_Image_Instance): make instance geometry signed.
11801
11802         * glyphs.c (instantiate_image_instantiator):
11803         (image_instance_query_geometry):
11804         (image_instance_layout):
11805         (image_instance_layout):
11806         (query_string_geometry):
11807         (text_query_geometry):
11808         (image_instantiate):
11809         (image_instantiate):
11810         (cache_subwindow_instance_in_frame_maybe):
11811         (subwindow_query_geometry): make instance geometry signed.
11812
11813         * glyphs-widget.c (widget_query_geometry):
11814         (widget_layout):
11815         (button_query_geometry):
11816         (tree_view_query_geometry):
11817         (tab_control_query_geometry):
11818         (layout_query_geometry):
11819         (layout_layout):
11820         (native_layout_layout): make instance geometry signed.
11821
11822 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11823
11824         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11825         constant.
11826
11827         * general.c (syms_of_general): Add Qfull_assoc symbol.
11828
11829         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11830         correctly.
11831         (decode_weak_list_type): Decode full-assoc type.
11832         (encode_weak_list_type): Encode full-assoc type.
11833         (Fmake_weak_list): Update doc string.
11834
11835 2000-05-30  Andy Piper  <andy@xemacs.org>
11836
11837         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11838
11839         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11840         (decode_hash_table_weakness): ditto.
11841         (Fhash_table_weakness): ditto.
11842         (Fhash_table_type): ditto.
11843         (finish_marking_weak_hash_tables): ditto.
11844         (hash_table_weakness_validate): ditto.
11845         (syms_of_elhash): ditto.
11846
11847 2000-05-28  Martin Buchholz <martin@xemacs.org>
11848
11849         * XEmacs 21.2.34 is released.
11850
11851 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11852
11853         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11854         start cache.
11855         (updating_line_start_cache): Gone.
11856         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11857         generic code to force a minimum of 1 line laid out in the
11858         CMOTION_DISP case.
11859
11860 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11861
11862         * glyphs.c (instantiate_image_instantiator): Check for initialized
11863         height & width no longer special cases IMAGE_NOTHING.
11864         (nothing_instantiate): Set height and width of instance.
11865
11866 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11867
11868         * unexelf.c (unexec): Search for ".data" section.
11869         Initialize new_data2_offset from old_data_index.
11870         Remove redundant check for ElfW.
11871
11872 2000-05-23  Andy Piper  <andy@xemacs.org>
11873
11874         * glyphs.c (get_image_instantiator_governing_domain): allow more
11875         specific domains as the governing domain rather than expecting an
11876         exact match. This fixes problems with layouts.
11877
11878 2000-05-22  Andy Piper  <andy@xemacs.org>
11879
11880         * redisplay-output.c (compare_runes): check for non-images
11881
11882         * glyphs.c (set_glyph_dirty_p): ditto.
11883         (update_glyph_cachel_data): ditto.
11884
11885         * glyphs-widget.c (layout_post_instantiate): ditto.
11886         (layout_post_instantiate): ditto.
11887
11888         * event-msw.c (mswindows_wnd_proc): warning removal.
11889
11890 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11891
11892         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11893
11894         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11895
11896         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11897
11898         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11899         (mswindows_executable_type): mingw32 now has enough headers for
11900         this to work.
11901
11902 2000-05-20  Andy Piper  <andy@xemacs.org>
11903
11904         * console-msw.c (mswindows_output_last_error): ; -> ,
11905
11906 2000-05-12  Andy Piper  <andy@xemacs.org>
11907
11908         * console-msw.c (FROB): compare ints with ints.
11909
11910 2000-05-11  Andy Piper  <andy@xemacs.org>
11911
11912         * glyphs-x.c (x_finalize_image_instance): make minimal build
11913         happy.
11914
11915 2000-05-20  Ben Wing  <ben@xemacs.org>
11916
11917         * event-Xt.c:
11918         * event-Xt.c (vars_of_event_Xt):
11919         move modifier-keys-are-sticky to event-stream.c.
11920
11921         * event-msw.c:
11922         * event-msw.c (mswindows_enqueue_mouse_button_event):
11923         * event-msw.c (key_needs_default_processing_p):
11924         * event-msw.c (XEMSW_LCONTROL):
11925         * event-msw.c (mswindows_handle_sticky_modifiers):
11926         * event-msw.c (FROB):
11927         * event-msw.c (clear_sticky_modifiers):
11928         * event-msw.c (output_modifier_keyboard_state):
11929         * event-msw.c (output_alt_keyboard_state):
11930         * event-msw.c (mswindows_wnd_proc):
11931         * event-msw.c (mswindows_modifier_state):
11932         * event-msw.c (emacs_mswindows_handle_magic_event):
11933         implement sticky modifiers.
11934
11935         * event-stream.c:
11936         * event-stream.c (vars_of_event_stream):
11937         move modifier-keys-are-sticky here.
11938
11939         * lisp.h:
11940         add CHECK_FUNCTION.
11941
11942         * rangetab.c:
11943         implement map-range-table.
11944
11945
11946 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
11947
11948         * redisplay-tty.c (reset_tty_modes):
11949         (tty_redisplay_shutdown): Adjust argument type to
11950         tty_frame_output_end.
11951
11952 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11953
11954         * eval.c (Fbacktrace): Don't output a line with only right
11955         parenthesis.
11956
11957 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
11958
11959         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
11960         (Fpq_reset_poll): Ditto.
11961
11962 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
11963
11964         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
11965
11966 2000-05-16  Ben Wing  <ben@xemacs.org>
11967
11968         * buffer.c:
11969         * buffer.c (dfc_convert_to/from_internal_format):
11970         * buffer.c (reinit_vars_of_buffer):
11971         Fix conversion functions to allow reentrancy.
11972
11973         * console-msw.c:
11974         * console-msw.c (mswindows_output_last_error):
11975         New fun, generally useful -- output a human-readable
11976         version of GetLastError() on the console.
11977
11978         * console-msw.h:
11979         * console-msw.h (struct mswindows_frame):
11980         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
11981
11982         * console-stream.c (stream_output_begin):
11983         * console-stream.c (stream_output_end):
11984         * console-stream.c (stream_output_vertical_divider):
11985         * console-stream.c (stream_clear_region):
11986         * console-stream.c (stream_flash):
11987         * console-stream.c (console_type_create_stream):
11988         Delete blank stream methods, not needed.
11989
11990         * console.h (struct console_methods):
11991         Split begin/end methods into window and frame.
11992
11993         * event-msw.c:
11994         * event-msw.c (mswindows_handle_paint):
11995         * event-msw.c (output_alt_keyboard_state):
11996         * event-msw.c (mswindows_wnd_proc):
11997         * event-msw.c (vars_of_event_mswindows):
11998         Comment about problems with ignored-expose.
11999         Define mswindows-debug-events; not really implemented.
12000
12001         * frame-msw.c (mswindows_init_frame_1):
12002         random cleanups.
12003
12004         * glyphs-msw.c:
12005         * glyphs-msw.c (begin_defer_window_pos):
12006         * glyphs-msw.c (mswindows_unmap_subwindow):
12007         * glyphs-msw.c (mswindows_map_subwindow):
12008         * glyphs-msw.c (mswindows_resize_subwindow):
12009         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12010
12011         * glyphs.c (make_image_instance_1):
12012         Fix crash.
12013
12014         * gutter.c (Fredisplay_gutter_area):
12015         Use new begin/end methods.
12016
12017         * lisp.h (Dynarr_new2):
12018         New creation fun.
12019
12020         * redisplay-msw.c:
12021         * redisplay-msw.c (mswindows_frame_output_begin):
12022         * redisplay-msw.c (mswindows_frame_output_end):
12023         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12024         New begin/end methods -- handle DeferWindowPos.
12025
12026         * redisplay-output.c (redisplay_move_cursor):
12027         * redisplay-output.c (redraw_cursor_in_window):
12028         * redisplay-output.c (redisplay_update_line):
12029         * redisplay-output.c (redisplay_output_window):
12030         New begin/end methods.
12031
12032         * redisplay-tty.c:
12033         * redisplay-tty.c (tty_frame_output_begin):
12034         * redisplay-tty.c (tty_frame_output_end):
12035         * redisplay-tty.c (console_type_create_redisplay_tty):
12036         New begin/end methods.
12037
12038         * redisplay-x.c:
12039         * redisplay-x.c (x_window_output_begin):
12040         * redisplay-x.c (x_window_output_end):
12041         * redisplay-x.c (console_type_create_redisplay_x):
12042         New begin/end methods.
12043
12044         * redisplay.c (redisplay_frame):
12045         * redisplay.c (Fredisplay_echo_area):
12046         New begin/end methods.
12047         use MAYBE_DEVMETH for clear_frame; it may not exist.
12048
12049         * window.h (WINDOW_XFRAME):
12050         WINDOW_XFOO macros -- get locale and decode struct pointer.
12051
12052
12053 2000-05-12  Ben Wing  <ben@xemacs.org>
12054
12055         * emacs.c:
12056         * emacs.c (ensure_no_quitting_from_now_on):
12057         * emacs.c (fatal_error_signal):
12058         * emacs.c (mswindows_handle_hardware_exceptions):
12059         * emacs.c (main):
12060         * emacs.c (Fkill_emacs):
12061         * emacs.c (shut_down_emacs):
12062         * emacs.c (assert_failed):
12063         various improvements in fatal error handling.
12064
12065         * eval.c:
12066         move preparing_for_armageddon to emacs.c.
12067
12068         * lisp.h:
12069         declare fatal_error_in_progress.
12070
12071         * print.c:
12072         * print.c (std_handle_out_external):
12073         * print.c (std_handle_out_va):
12074         * print.c (stderr_out):
12075         * print.c (stdout_out):
12076         use console under mswin when no standard output.
12077         don't do code conversion during fatal error.
12078
12079         * scrollbar.c (Fscrollbar_page_up):
12080         * scrollbar.c (Fscrollbar_page_down):
12081         fix missing else.  reindent.
12082
12083 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12084
12085         Emergency fix.
12086
12087         * glyphs.h (GLYPH_CACHEL_DESCENT):
12088         (GLYPH_CACHEL_DESCENT):
12089         (GLYPH_CACHEL_DESCENT):
12090         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12091         used in case these are inline functions.
12092         Use more absurd values to error check.
12093
12094         include window.h for error check functions.
12095
12096 2000-05-11  Ben Wing  <ben@xemacs.org>
12097
12098         * cmdloop.c (Freally_early_error_handler):
12099         Display message box under windows; otherwise, message will disappear
12100         before it can be viewed.
12101
12102         * console-msw.c:
12103         * console-msw.c (Fmswindows_message_box):
12104         * console-msw.c (FROB):
12105         * console-msw.c (syms_of_console_mswindows):
12106         Define new fun `mswindows-message-box'.
12107         #### I will merge this into `popup-dialog-box'; just give me
12108         a bit of time.
12109
12110         * general.c:
12111         * general.c (syms_of_general):
12112         Some new symbols used in `mswindows-message-box'.
12113
12114         * glyphs.c:
12115         * glyphs.c (Fset_image_instance_property):
12116         put warning in this fun.
12117
12118         * glyphs.h:
12119         * glyphs.h (GLYPH_CACHEL_WIDTH):
12120         * glyphs.h (GLYPH_CACHEL_ASCENT):
12121         * glyphs.h (GLYPH_CACHEL):
12122         * glyphs.h (GLYPH_CACHEL_GLYPH):
12123         define error-checking versions to try to catch a bug i've seen --
12124         redisplay gets in an infinite loop because the glyph width of the
12125         continuation glyph is 65535.
12126
12127         * lisp.h:
12128         Extern message-box stuff.
12129
12130         * window.c (allocate_window):
12131         * window.c (make_dummy_parent):
12132         * window.c (Fset_window_configuration):
12133         Use EQUAL not EQ for subwindow caches to make them work a bit
12134         better. (Something is still very broken.)
12135
12136
12137 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12138
12139         * glyphs.c (image_instantiate): Suppress gcc warnings.
12140         (Fmake_image_instance): Fix doc string.
12141         * specifier.c (Fmake_specifier): Ditto.
12142
12143 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12144
12145         * paths.h.in (PATH_LOCK): Removed.
12146         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12147         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12148
12149 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12150
12151         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12152         Document (featurep '(and xemacs 21.02)).
12153
12154 2000-05-09  Ben Wing  <ben@xemacs.org>
12155
12156         * buffer.c (complex_vars_of_buffer):
12157         update modeline-format doc.
12158
12159         * device.h:
12160         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12161
12162         * emacs.c:
12163         timeline of all released versions of Emacs, for use in creating
12164         authorship comments and in synching up.
12165
12166         * glyphs-widget.c (image_instantiator_buttons):
12167         * glyphs-widget.c (image_instantiator_edit_fields):
12168         * glyphs-widget.c (image_instantiator_combo_box):
12169         * glyphs-widget.c (image_instantiator_scrollbar):
12170         * glyphs-widget.c (image_instantiator_progress_guage):
12171         * glyphs-widget.c (image_instantiator_tree_view):
12172         * glyphs-widget.c (image_instantiator_tab_control):
12173         * glyphs-widget.c (image_instantiator_labels):
12174         * glyphs-widget.c (image_instantiator_layout):
12175         * glyphs-widget.c (image_instantiator_native_layout):
12176         rename decode_domain method to governing_domain.
12177
12178         * glyphs.c:
12179         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12180         * glyphs.c (add_entry_to_device_ii_format_list):
12181         make sure we don't put an entry more than once into the list.
12182         * glyphs.c (check_instance_cache_mapper):
12183         *************************************************************
12184         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12185         HAVE BEEN GETTING.
12186         *************************************************************
12187         * glyphs.c (get_image_instantiator_governing_domain):
12188         clean up, expand on new concept of governing domain.
12189         * glyphs.c (instantiate_image_instantiator):
12190         * glyphs.c (allocate_image_instance):
12191         use governing_domain instead of cache_domain in naming.
12192         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12193         * glyphs.c (make_image_instance_1):
12194         * glyphs.c (Fmake_image_instance):
12195         allow for any domain (not just device), and process the
12196         governing domain correctly.  very big doc fix.
12197         * glyphs.c (Fimage_instance_domain):
12198         new primitive, to retrieve the governing domain of an image instance.
12199         * glyphs.c (image_instantiate):
12200         use new governing_domain stuff.  this fixes a crash you could get
12201         by instantiating certain widget glyphs in frame locales. (should
12202         signal an error instead of crashing.)
12203         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12204         * glyphs.c (Fglyphp): clean up doc.
12205         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12206         * glyphs.c (syms_of_glyphs):
12207         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12208         * glyphs.c (image_instantiator_format_create): add some comments about
12209         bogus code.
12210         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12211         for current-display-table. (Apparently Hrjove implemented in 1998 a
12212         design I wrote up in 1996, but didn't update the doc string.)
12213
12214         * glyphs.h: clean up a doc string.
12215         * glyphs.h (governing_domain):
12216         * glyphs.h (struct image_instantiator_methods):
12217         changes for governing_domain stuff.
12218
12219         * gutter.c:
12220         * gutter.c (Fgutter_specifier_p):
12221         * gutter.c (Fgutter_size_specifier_p):
12222         * gutter.c (Fgutter_visible_specifier_p):
12223         * objects.c:
12224         * objects.c (Fcolor_specifier_p):
12225         * objects.c (Ffont_specifier_p):
12226         * objects.c (Fface_boolean_specifier_p):
12227         doc strings moved to make-*-specifier.
12228
12229         * redisplay.c (add_disp_table_entry_runes_1):
12230         * redisplay.c (generate_fstring_runes):
12231         * redisplay.c (screen):
12232         add random comments and doc strings.
12233
12234         * specifier.c:
12235         * specifier.c (Fmake_specifier):
12236         major overhaul of this doc string.
12237
12238         * specifier.c (Fvalid_specifier_domain_p):
12239         comment about the bogosity of image instances being domains.
12240         * specifier.c (decode_domain):
12241         now non-static, used in glyphs.c.
12242         * specifier.c (specifier_instance):
12243         comment about the bogosity of image instances being domains.
12244         * specifier.c (Fgeneric_specifier_p):
12245         move doc string to make-generic-specifier.
12246         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12247         rebackslashify.
12248
12249         * specifier.h:
12250         * specifier.h (DOMAIN_FRAME):
12251         * specifier.h (DOMAIN_LIVE_P):
12252         * specifier.h (DOMAIN_XDEVICE):
12253         rebackslashify.
12254         add comments about problems with these macros.
12255         prototype for decode_domain.
12256
12257         * toolbar.c:
12258         * toolbar.c (Ftoolbar_specifier_p):
12259         move doc string to `make-toolbar-specifier'.
12260
12261         * window.c (window_unmap_subwindows_cache_mapper):
12262         *************************************************************
12263         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12264         HAVE BEEN GETTING.
12265         *************************************************************
12266
12267 2000-05-09  Andy Piper  <andy@xemacs.org>
12268
12269         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12270
12271         * window.c (Fset_window_configuration): reset the frame subwindow
12272         cache and re-initialize the window subwindow caches.
12273
12274         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12275
12276 2000-05-09  Ben Wing  <ben@xemacs.org>
12277
12278         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12279         DWORD.
12280
12281 2000-04-26  Mike Woolley  <mike@bulsara.com>
12282
12283         * ntheap.c: Changed recreate_heap to limit the amount reserved
12284         for the heap to that which is actually available. Also now
12285         displays a message box (with some dignostics) in the event that
12286         it still can't start.
12287
12288 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12289
12290         * callproc.c (Fold_call_process_internal): GCPRO path
12291
12292 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12293
12294         Patch by Bill Perry.
12295
12296         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12297         back data instead of #ifdef.
12298         (Fscrollbar_page_down): ditto.
12299
12300 2000-05-07  Ben Wing  <ben@xemacs.org>
12301
12302         * buffer.h:
12303         Kludge for defining Qmswindows_tstr.
12304
12305         * nt.c:
12306         * nt.c (open_input_file):
12307         * nt.c (open_output_file):
12308         * nt.c (rva_to_section):
12309         * nt.c (mswindows_executable_type):
12310         Move all memory-mapped-file routines here (some were in unexnt.c,
12311         which is bad because they are used by process-nt.c, and unexnt
12312         won't be around when portable dumping).  Synched the above routines
12313         with FSF 20.6.
12314
12315         * nt.h:
12316         Removed ifdef'd out bogus code.
12317         Fixed some prototypes.
12318
12319         * nt.h (file_data):
12320         * nt.h (OFFSET_TO_RVA):
12321         * nt.h (RVA_TO_OFFSET):
12322         * nt.h (RVA_TO_PTR):
12323         Moved the memory-mapped-file structures, macros and prototypes
12324         here, to parallel nt.c.  ntheap.h should really be removed
12325         entirely, and it's a non-portable-dumper specific file.
12326
12327         * ntheap.h (round_to_next):
12328         Moved the memory-mapped-file structures, macros and prototypes
12329         to nt.h.
12330
12331         * ntproc.c (compare_env):
12332         Moved rva_to_section and mswindows_executable_type to nt.c.
12333         Moved compare_env to process-nt.c.
12334         ntproc.c will die, one day.
12335
12336         * ntproc.c (sys_spawnve):
12337         Account for win32_ -> mswindows_.
12338
12339         * process-nt.c:
12340         * process-nt.c (struct nt_process_data):
12341         * process-nt.c (ensure_console_window_exists):
12342         * process-nt.c (compare_env):
12343         * process-nt.c (nt_create_process):
12344         * process-nt.c (nt_kill_process_by_pid):
12345         * process-nt.c (syms_of_process_nt):
12346         * process-nt.c (vars_of_process_nt):
12347         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12348         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12349         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12350         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12351         Move compare_env here from ntproc.c.
12352
12353         * process.c (Fprocess_send_region):
12354         Takes an optional fourth argument, BUFFER, which should fix some
12355         problems with call-process.
12356
12357         * syscommctrl.h:
12358         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12359
12360         * syswindows.h:
12361         Move ICC_BAR_CLASSES to syscommctrl.h.
12362         Add preliminary macros for MSWindows/Mule.  More to come.
12363
12364         * unexnt.c:
12365         * unexnt.c (unexec):
12366         open_output_file moved to nt.c.
12367
12368
12369 2000-05-05  Andy Piper  <andy@xemacs.org>
12370
12371         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12372         instance from the frame cache also since GC may catch up too late
12373         to make frame deletion sane.
12374
12375 2000-05-04  Andy Piper  <andy@xemacs.org>
12376
12377         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12378         (x_finalize_image_instance): ungcpro on deletion.
12379
12380         * glyphs.c (image_instantiator_format_create): give pointers a
12381         query geometry method so that the geometry is at least set.
12382
12383         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12384         initialize layouts if using widgets.
12385
12386 2000-05-03  Andy Piper  <andy@xemacs.org>
12387
12388         * nt.c: remove bogus reference to sysmmsystem.h
12389
12390         * gui-x.c (popup_selection_callback): fix no selection abort.
12391
12392 2000-05-02  Andy Piper  <andy@xemacs.org>
12393
12394         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12395         (mswindows_widget_instantiate): ditto.
12396
12397         * glyphs-widget.c (initialize_widget_image_instance): initialize
12398         children correctly.
12399         (widget_instantiate): cope with children and items in the same
12400         instance.
12401
12402         * glyphs.c (mark_image_instance): cope with children as a first
12403         class member.
12404         (image_instance_equal): ditto.
12405         (image_instance_hash): ditto.
12406         (image_instance_changed): ditto.
12407
12408 2000-04-30  Andy Piper  <andy@xemacs.org>
12409
12410         * glyphs.c (subwindow_query_geometry): new function. Return some
12411         defaults.
12412         (subwindow_instantiate): don't assign dimensions if none have been
12413         given.
12414         (image_instantiator_format_create): add subwindow_query_geometry.
12415         (print_image_instance): cope with layouts as widgets.
12416
12417 2000-04-29  Andy Piper  <andy@xemacs.org>
12418
12419         * frame.c (delete_frame_internal): call
12420         free_frame_subwindow_instance_cache so that all subwindows are
12421         finalized before their parent.
12422         (mark_frame): remove subwindow_cachels.
12423         (Fmake_frame): remove subwindow_cachel manipulation.
12424         (allocate_frame_core): subwindow_instance_cache is a weak list.
12425         (delete_frame_internal): set subwindow_instance_cache to nil.
12426
12427         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12428         finalization safe.
12429         (mswindows_finalize_image_instance): use the device
12430         not the domain as the domain may have died already.
12431
12432         * glyphs-x.c (x_finalize_image_instance): ditto.
12433         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12434         HEIGHT.
12435
12436         * redisplay-output.c (redisplay_unmap_subwindows): update for
12437         subwindow instance cache as a weak list.
12438         (redisplay_unmap_subwindows_maybe): ditto.
12439         (redisplay_unmap_subwindows_except_us): ditto.
12440
12441         * glyphs.c (unmap_subwindow): error checking will check the domain
12442         so don't deal with it here. Don't use cachels anymore.
12443         (map_subwindow): ditto.
12444         (update_subwindow_cachel_data): remove old accessor names.
12445         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12446         (Fresize_subwindow): don't update cachel.
12447         (mark_subwindow_cachels):
12448         (update_subwindow_cachel_data):
12449         (add_subwindow_cachel):
12450         (get_subwindow_cachel_index):
12451         (update_subwindow_cachel):
12452         (reset_subwindow_cachels):
12453         (mark_subwindow_cachels_as_not_updated): deleted.
12454         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12455         subwindow instance to the frame cache.
12456         (find_matching_subwindow): update for subwindow instance cache as
12457         a weak list.
12458         (update_widget_instances): ditto.
12459         (image_instance_type_to_mask):inlined.
12460         (free_frame_subwindow_instance_cache): new function. finalize all
12461         subwindows that are instantiated.
12462
12463         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12464         of cachel information.
12465         (IMAGE_INSTANCE_DISPLAY_X):
12466         (IMAGE_INSTANCE_DISPLAY_Y):
12467         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12468         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12469         (XIMAGE_INSTANCE_DISPLAY_X):
12470         (XIMAGE_INSTANCE_DISPLAY_Y):
12471         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12472         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12473         remove subwindow_cachel structure and function references.
12474         (image_instance_type_to_mask): inline from glyphs.c
12475
12476         * redisplay.c (redisplay_frame): remove subwindow_cachel
12477         references.
12478
12479         * frame.h (struct frame): remove subwindow_cachels.
12480         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12481
12482         * frameslots.h: add subwindow_instance_cache.
12483
12484         * window.c (replace_window): check subwindow cache of replacement.
12485         (window_unmap_subwindows_cache_mapper):
12486         (window_unmap_subwindows): new functions. Unmap all subwindows
12487         cached on this window.
12488         (mark_window_as_deleted): unmap all subwindows.
12489
12490 2000-04-27  Andy Piper  <andy@xemacs.org>
12491
12492         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12493
12494         * glyphs-widget.c (widget_layout): return something.
12495         (layout_layout): return something. Fail if not initialized.
12496         (layout_query_geometry): ditto.
12497         (image_instantiator_native_layout): new function. Initialized the
12498         native layout type.
12499         (widget_instantiate): don't do layout stuff here.
12500
12501         * glyphs.c (instantiate_image_instantiator): reorded calling or
12502         instantiate and post_instantiate with layout in between.
12503         (image_instance_layout): be more selective about deciding whether
12504         the layout has been done or not.
12505
12506         * glyphs.h (struct image_instantiator_methods): return a value
12507         from layout_method.
12508
12509 2000-04-26  Andy Piper  <andy@xemacs.org>
12510
12511         * glyphs.c (allocate_image_instance): make initial width and
12512         height unspecified. Set initialized to 0.
12513
12514         * syscommctrl.h new file. Encapsulates commctrl.h.
12515
12516         * syswindows.h new file. Encapsulates windows.h.
12517
12518         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12519         * nt.c: ditto.
12520         * console-msw.h: ditto.
12521
12522         * redisplay-tty.c (tty_output_display_block): remove layout references.
12523
12524         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12525         window handle rather than just the frame.
12526
12527         * glyphs.c (mark_image_instance): remove layout references.
12528         (print_image_instance): ditto.
12529         (image_instance_equal): ditto.
12530         (image_instance_hash): ditto.
12531         (decode_image_instance_type): ditto.
12532         (encode_image_instance_type): ditto.
12533         (image_instantiate): ditto.
12534         (allocate_glyph): ditto.
12535         (Fimage_instance_height): ditto.
12536         (Fimage_instance_width): ditto.
12537         (update_subwindow): ditto.
12538
12539         * redisplay-x.c (x_output_display_block): recode for layouts as
12540         widgets.
12541
12542         * redisplay-output.c (redisplay_output_layout): recode for layouts
12543         as widgets.
12544         (compare_runes): remove layout references.
12545
12546         * redisplay-msw.c (mswindows_output_display_block): recode for
12547         layouts as widgets.
12548
12549         * glyphs-widget.c (image_instantiator_layout): remove
12550         layout_possible_dest_types.
12551         (layout_possible_dest_types): deleted.
12552
12553         * glyphs.h (image_instance_type): remove layout references.
12554         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12555         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12556         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12557
12558 2000-04-25  Andy Piper  <andy@xemacs.org>
12559
12560         * glyphs-widget.c (image_instantiator_buttons):
12561         (image_instantiator_edit_fields):
12562         (image_instantiator_combo_box):
12563         (image_instantiator_scrollbar):
12564         (image_instantiator_progress_guage):
12565         (image_instantiator_tree_view):
12566         (image_instantiator_tab_control):
12567         (image_instantiator_labels):
12568         (image_instantiator_layout): call default post_instantiate method.
12569         (widget_post_instantiate): new function. Simply lays out the
12570         widgets.
12571
12572         * glyphs.h (struct image_instantiator_methods): add
12573         post_instantiate method.
12574
12575         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12576         method calls.
12577
12578 2000-04-23  Andy Piper  <andy@xemacs.org>
12579
12580         * glyphs.h (struct image_instantiator_methods): add
12581         decode_domain_method.
12582         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12583         derived from the domain.
12584         (IMAGE_INSTANCE_FRAME): new accessor.
12585         (XIMAGE_INSTANCE_FRAME): ditto.
12586
12587         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12588         instead of _SUBWINDOW_FRAME.
12589         (finalize_image_instance): ditto.
12590         (Fimage_instance_foreground): ditto.
12591         (Fimage_instance_background): ditto.
12592         (image_instantiate): ditto.
12593         (update_subwindow_cachel): ditto.
12594         (update_subwindow): ditto.
12595         (unmap_subwindow): ditto.
12596         (map_subwindow): ditto
12597         (subwindow_instantiate): ditto.
12598         * glyphs-msw.c (mswindows_update_widget): ditto.
12599         (mswindows_progress_gauge_instantiate): ditto.
12600         (mswindows_tab_control_update): ditto.
12601         * glyphs-x.c (x_update_widget): ditto.
12602         (x_widget_instantiate): ditto.
12603         (x_tab_control_instantiate): ditto.
12604         (x_tab_control_update): ditto.
12605         * event-msw.c (mswindows_wnd_proc): ditto
12606
12607         * glyphs-widget.c (image_instantiator_layout): use
12608         subwindow_decode_domain.
12609         (image_instantiator_buttons): ditto.
12610         (image_instantiator_edit_fields): ditto.
12611         (image_instantiator_combo_box): ditto.
12612         (image_instantiator_scrollbar): ditto.
12613         (image_instantiator_progress_guage): ditto.
12614         (image_instantiator_tree_view): ditto.
12615         (image_instantiator_tab_control): ditto.
12616         (image_instantiator_labels): ditto.
12617         (image_instantiator_layout): ditto.
12618
12619         * glyphs.c: add instance error checking to many functions.
12620         (instantiate_image_instantiator): decode device from cache_domain.
12621         (image_instantiate): partially rewrite by using
12622         decode_image_instantiator_domain to determine what domain the
12623         instance needs to be cached in.
12624         (decode_image_instantiator_domain): new function. Determine what
12625         domain the image needs to be cached in.
12626         (check_window_subwindow_cache): new error checking function.
12627         (check_instance_cache_mapper): ditto.
12628         (check_image_instance_structure): ditto.
12629         (subwindow_decode_domain): new function. Encodes a window as a
12630         subwindow's cache domain.
12631         (image_instantiator_format_create): use it for text and
12632         subwindows.
12633
12634 2000-04-21  Andy Piper  <andy@xemacs.org>
12635
12636         * glyphs.c (image_instance_device): new function.
12637         (image_instance_frame): new function.
12638         (image_instance_window): new function.
12639         (image_instance_live_p): new function.
12640
12641         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12642         cache to nil.
12643
12644         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12645         (IMAGE_INSTANCE_DOMAIN): new accessor.
12646         (XIMAGE_INSTANCE_DOMAIN): ditto.
12647
12648         * glyphs-x.c (x_finalize_image_instance): device->domain.
12649
12650         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12651         (mswindows_finalize_image_instance): ditto.
12652
12653         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12654         (gif_instantiate): ditto.
12655         (png_instantiate): ditto.
12656         (tiff_instantiate): ditto.
12657
12658         * glyphs.c (instantiate_image_instantiator): use domain rather
12659         than device.
12660         (mark_image_instance): device -> domain.
12661         (print_image_instance): ditto.
12662         (finalize_image_instance): ditto.
12663         (image_instance_equal): ditto.
12664         (allocate_image_instance): ditto.
12665         (Fcolorize_image_instance): ditto.
12666         (query_string_geometry): ditto.
12667         (image_instantiate): ditto
12668         (query_string_font): ditto.
12669         (image_instantiate): ditto.
12670         (update_subwindow): ditto.
12671         (unmap_subwindow): ditto.
12672         (map_subwindow): ditto.
12673         (subwindow_instantiate): ditto.
12674
12675         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12676         (DOMAIN_FRAME): ditto.
12677         (DOMAIN_WINDOW): ditto.
12678         (DOMAIN_LIVE_P): ditto.
12679         (XDOMAIN_DEVICE): ditto.
12680         (XDOMAIN_FRAME): ditto.
12681         (XDOMAIN_WINDOW): ditto.
12682
12683         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12684         a valid specifier domain.
12685
12686 2000-04-19  Andy Piper  <andy@xemacs.org>
12687
12688         * glyphs-widget.c (syms_of_glyphs_widget): remove
12689         widget-callback-current-channel.
12690         (vars_of_glyphs_widget): ditto.
12691         * glyphs.h: ditto
12692
12693         * gui.c (get_gui_callback): revert to previous behaviour.
12694
12695 2000-04-18  Andy Piper  <andy@xemacs.org>
12696
12697         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12698         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12699         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12700
12701         * glyphs.c (image_instance_equal): add margin_width.
12702         (image_instance_hash): ditto.
12703
12704         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12705         (layout_query_geometry): ditto.
12706         (layout_layout): ditto.
12707         (syms_of_glyphs_widget): add margin-width.
12708         (image_instantiator_layout): allow margin-width.
12709
12710         * glyphs.c (update_widget_instances): make a normal function.
12711         (syms_of_glyphs): remove Qupdate_widget_instances.
12712         * glyphs.h: ditto.
12713
12714         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12715         so that we don't corrupt ideas about the last event or
12716         command. Remove widget-callback-current-channel fiddling.
12717         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12718
12719 2000-05-01  Martin Buchholz <martin@xemacs.org>
12720
12721         * XEmacs 21.2.33 is released.
12722
12723 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12724
12725         * make-src-depend: Allow dots in header file name.
12726
12727 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12728
12729         * mule-charset.h (struct charset_lookup): Add
12730         next_allocated_1_byte_leading_byte and
12731         next_allocated_2_byte_leading_byte.
12732         * mule-charset.c: Move above two variables so that those values
12733         will be dumped.
12734
12735 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12736
12737         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12738         when string length is zero.
12739         (find_charsets_in_emchar_string): Ditto.
12740
12741 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12742
12743         * lisp.h: extern Qdialog and Qmenubar.
12744
12745         * gui-x.c: added events.h.
12746                 also fixed typo which made the file uncompilable.
12747
12748         * general.c: Added Qmenubar and Qdialog
12749
12750 2000-04-28  Ben Wing  <ben@xemacs.org>
12751
12752         * frame-msw.c (mswindows_init_frame_1):
12753         * frame-msw.c (mswindows_mark_frame):
12754         * event-msw.c (mswindows_enqueue_dispatch_event):
12755         * console-msw.h:
12756         * console-msw.h (struct mswindows_frame):
12757         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12758         there are now three hash tables for callbacks.
12759         mswindows_enqueue_dispatch_event is no longer static.
12760
12761         * dialog-x.c (maybe_run_dbox_text_callback):
12762         * dialog-x.c (dbox_descriptor_to_widget_value):
12763         switch to new cons3 form for callbacks.
12764
12765         * glyphs-msw.c (mswindows_register_gui_item):
12766         * glyphs-msw.c (mswindows_widget_instantiate):
12767         * glyphs-msw.c (add_tree_item):
12768         * glyphs-msw.c (add_tab_item):
12769         new image instance parameter, so it can be passed to callback-ex.
12770         respect :callback-ex as well as :callback.
12771
12772         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12773         add :callback-ex.
12774
12775         * glyphs.c (print_image_instance):
12776         prettify, e.g. now prints widget type.
12777
12778         * gui-x.h:
12779         certain funs have new image instance parameter.
12780
12781         * gui.c:
12782         * gui.c (get_gui_callback):
12783         * gui.c (gui_item_add_keyval_pair):
12784         * gui.c (gui_item_init):
12785         * gui.c (gui_add_item_keywords_to_plist):
12786         * gui.c (mark_gui_item):
12787         * gui.c (gui_item_hash):
12788         * gui.c (gui_item_equal):
12789         * gui.c (copy_gui_item):
12790         * gui.c (syms_of_gui):
12791         recognize callback-ex in a number of places.
12792         also, fix the annoying "can't get out of yes-no dialog" bug.
12793
12794         * gui.h:
12795         * gui.h (struct Lisp_Gui_Item):
12796         recognize callback-ex in a number of places.
12797
12798         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12799         new parameter in button_item_to_widget_value.
12800
12801         * glyphs-x.c (x_update_widget):
12802         * glyphs-x.c (x_button_instantiate):
12803         * glyphs-x.c (x_button_update):
12804         * glyphs-x.c (x_progress_gauge_instantiate):
12805         * glyphs-x.c (x_edit_field_instantiate):
12806         * glyphs-x.c (x_combo_box_instantiate):
12807         * glyphs-x.c (x_tab_control_instantiate):
12808         * glyphs-x.c (x_label_instantiate):
12809         new image instance parameter in various places.
12810
12811         * event-Xt.c:
12812         * event-Xt.c (enqueue_Xt_dispatch_event):
12813         this fun gets exported.
12814
12815         * gui-msw.c:
12816         * gui-msw.c (mswindows_handle_gui_wm_command):
12817         handle both :callback and :callback-ex, and generate our own
12818         event because it's one of the callback-ex arguments.
12819
12820         * gui-x.c:
12821         * gui-x.c (popup_selection_callback):
12822         handle both :callback and :callback-ex, and generate our own
12823         event because it's one of the callback-ex arguments.
12824         * gui-x.c (button_item_to_widget_value):
12825         * gui-x.c (gui_items_to_widget_values_1):
12826         * gui-x.c (gui_item_children_to_widget_values):
12827         * gui-x.c (gui_items_to_widget_values):
12828         new image instance parameter in various places.
12829
12830         * fns.c (Freplace_list):
12831         fix small typo in doc string.
12832
12833         * lisp.h:
12834         declare enqueue_Xt_dispatch_event.
12835
12836 2000-04-28  Ben Wing  <ben@xemacs.org>
12837
12838         * buffer.c:
12839         * buffer.c (Frecord_buffer):
12840         * buffer.c (syms_of_buffer):
12841         delete record-buffer-hook.
12842
12843         * fns.c:
12844         * fns.c (Freplace_list):
12845         * fns.c (syms_of_fns):
12846         new primitive replace-list.
12847
12848         * frameslots.h:
12849         slot for old buffer-alist.
12850
12851         * lisp.h:
12852         exfun replace-list.
12853
12854         * redisplay.c:
12855         * redisplay.c (redisplay_frame):
12856         * redisplay.c (syms_of_redisplay):
12857         * redisplay.c (vars_of_redisplay):
12858         new hook buffer-list-changed-hook.
12859         call it.
12860
12861 2000-04-27  Ben Wing  <ben@xemacs.org>
12862
12863         * extents.h: extern in_modeline_generation.
12864
12865         * redisplay.c (generate_formatted_string_db): set
12866         in_modeline_generation.
12867
12868         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12869         flags if in modeline generation.  otherwise frame-modified-tick
12870         is ticked far too often.
12871         Declare in_modeline_generation.
12872
12873 2000-04-26  Ben Wing  <ben@xemacs.org>
12874
12875         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12876         option.
12877         (vars_of_emacs): add quick-build as an error-checking option.
12878         A bit kludgy, but there doesn't seem much point in creating
12879         a real var for this.
12880
12881         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12882
12883 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12884
12885         * redisplay.h (struct display_line): Add a new variable,
12886         line_continuation.
12887
12888         * redisplay.c (create_text_block): Set dl->line_continuation if
12889         the line continues.
12890         (create_string_text_block): Ditto.
12891         (regenerate_window_incrementally): Use line_continuation instead
12892         of searching continuation glyph.
12893         (add_margin_runes): Call add_glyph_rune.
12894         (add_glyph_rune): Handle margin glyph.
12895
12896 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12897
12898         * filelock.c (fill_in_lock_file_name):
12899         ANSIfy.
12900         Check for IS_ANY_SEP instead of '/'.
12901         (lock_file_1):
12902         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12903         Never check errno without first seeing that system call failed.
12904         (unlock_file): Add GCPRO.
12905         (Flock_buffer): Fix docstring.
12906         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12907
12908 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12909
12910         * sysdep.c (get_pty_max_bytes):
12911         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12912         strings longer than 252 bytes.
12913
12914         * md5.c: Unconditionally include ANSI header <limits.h>
12915
12916         * glyphs-x.c (convert_EImage_to_XImage):
12917         * lisp-union.h (union Lisp_Object):
12918         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12919
12920 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12921
12922         * filelock.c (current_lock_owner): Remove unused variable o, p.
12923
12924 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12925
12926         * callint.c: Remove multiply defined symbol Qlet
12927         (syms_of_callint): ditto.
12928
12929 2000-04-14  Andy Piper  <andy@xemacs.org>
12930
12931         * general.c (syms_of_general): add last-command, this-command, let
12932         and funcall.
12933
12934         * lisp.h: declare various symbols.
12935
12936         * glyphs.h: declare Qwidget_callback_current_channel;
12937
12938         * glyphs-widget.c (syms_of_glyphs_widget): add
12939         Qgui_callback_current_channel.
12940         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
12941
12942         * gui-msw.c (mswindows_handle_gui_wm_command): bind
12943         widget-callback-current-channel when invoking the interactive
12944         arg. Also bind last-command and next-command when invoking the
12945         widget updates.
12946         * gui-x.c (popup_selection_callback): ditto.
12947
12948         * gui.c (get_gui_callback): massage args so that we are always
12949         calling eval. This allows us to add our own variable bindings
12950         outside.
12951
12952         * glyphs-x.c (x_button_instantiate): use
12953         gui_items_to_widget_values since this is GC safe.
12954         (x_progress_gauge_instantiate): ditto.
12955         (x_edit_field_instantiate): ditto.
12956         (x_label_instantiate): ditto.
12957
12958         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
12959         (emacs_Xt_event_widget_focus_out): new function
12960         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
12961         focus.
12962         (emacs_Xt_event_add_widget_actions): new function. add focus
12963         functions as actions.
12964         (init_event_Xt_late): use it.
12965
12966 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
12967
12968         * event-stream.c (Fdispatch_event): Doc fix.
12969
12970 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
12971
12972         * postgresql.c: Remove all references to PQsetenv*.
12973
12974         * postgresql.h: Remove references to PGsetenvHandler object.
12975         * lrecord.h (lrecord_type): Ditto.
12976
12977 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12978
12979         * glyphs-msw.h (struct mswindows_image_instance_data): Added
12980         real_heigh and real_width members, and accessor macros for these.
12981
12982         * glyphs-msw.c (init_image_instance_geometry): New function.
12983         (init_image_instance_from_dibitmap): Use it.
12984         (mswindows_resource_instantiate): Use it.
12985         (init_image_instance_from_xbm_inline): Use it.
12986         (mswindows_initialize_image_instance_mask): Use real bitmap
12987         geometry.
12988         (mswindows_create_resized_bitmap): Ditto.
12989         (mswindows_create_resized_mask): Ditto.
12990
12991         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
12992         and bitmap to their surface size.
12993
12994 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
12995
12996         * process-unix.c (unix_send_process): Guard against process MIA
12997         after Faccept_process_output.
12998
12999 2000-04-11  Ben Wing  <ben@xemacs.org>
13000
13001         * eval.c (unbind_to_hairy): fix brokenness introduced by
13002         nanosecond speed improvements.
13003
13004 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13005
13006         * sunplay.c (init_device): To play sounds correctly, the device
13007         apparently needs to be initialized at least once by XEmacs.  Make
13008         it so.
13009
13010 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13011
13012         * redisplay.c (add_margin_runes): Add text image glyph
13013           handling.
13014
13015 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13016
13017         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13018         gcc is newer than 2.5.
13019
13020 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13021
13022         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13023
13024         * fns.c (size_bit_vector):
13025         * alloc.c (size_vector):
13026         (make_vector_internal):
13027         (make_bit_vector_internal):
13028         (sweep_bit_vectors_1):
13029         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13030
13031 2000-04-06  Andy Piper  <andy@xemacs.org>
13032
13033         * gmalloc.c (malloc): undo previous change.
13034         (malloc): ditto.
13035         (free): ditto.
13036         (realloc): ditto.
13037
13038 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13039
13040         * line-number.c (buffer_line_number): Revert to former version.
13041
13042 2000-04-06  Andy Piper  <andy@xemacs.org>
13043
13044         * gmalloc.c (malloc): add error checking.
13045         (malloc): ditto.
13046         (free): ditto.
13047         (realloc): ditto.
13048
13049         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13050         button_item_to_widget_value arg.
13051
13052         * glyphs-x.c (x_button_instantiate): add extra
13053         button_item_to_widget_value arg.
13054         (x_progress_gauge_instantiate): ditto.
13055         (x_edit_field_instantiate): ditto.
13056         (x_label_instantiate): ditto.
13057
13058         * gui-x.c (gui_items_to_widget_values_1): add extra
13059         button_item_to_widget_value arg.
13060         (button_item_to_widget_value): add extra menu_item_p arg.
13061
13062         * gui-x.h: change signature of button_item_to_widget_value.
13063
13064         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13065         button_item_to_widget_value arg.
13066
13067 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13068
13069         * buffer.h (struct buffer): auto_save_modified should be long.
13070
13071 2000-04-05  Andy Piper  <andy@xemacs.org>
13072
13073         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13074         type.
13075         (button_query_geometry): give a little more room so that athena
13076         buttons fit.
13077
13078 2000-04-05  Andy Piper  <andy@xemacs.org>
13079
13080         * faces.c (complex_vars_of_faces): The widget face should inherit
13081         the font of the gui-element face.
13082
13083 2000-04-04  Andy Piper  <andy@xemacs.org>
13084
13085         * glyphs-x.c (x_button_update): new function. unconditionally
13086         update a button's state when the instance is dirty.
13087         (image_instantiator_format_create_glyphs_x): add x_button_update.
13088         (x_widget_instantiate): remove old resize cruft.
13089
13090 2000-04-02  Andy Piper  <andy@xemacs.org>
13091
13092         * frame.c (change_frame_size_1): The introduction of gutters means
13093         that we need to allow 0 as a potential frame dimension.
13094
13095 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13096
13097         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13098         image glyph if allow_cursor.
13099         (add_hscroll_rune): Don't allow cursor to border glyph.
13100         (create_text_block): Ditto.
13101
13102         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13103         text not in buffer.
13104         (redisplay_output_layout): Call ensure_face_cachel_complete for
13105         text image glyph.
13106
13107
13108 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13109
13110         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13111
13112         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13113         not in buffer
13114
13115         * redisplay-tty.c (tty_output_display_block): Delete the routine
13116         for text image glyph
13117         * redisplay-x.c (x_output_display_block): ditto
13118         * redisplay-msw.c (mswindows_output_display_block): ditto
13119
13120 2000-02-02  Mike Alexander  <mta@arbortext.com>
13121
13122         Note: Some of these were committed by accident as part of other
13123         patches.
13124
13125         * regex.c (regex_compile): Avoid compiler warnings.
13126
13127         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13128
13129         * nt.h: Declare term_ntproc correctly.
13130
13131         * nt.c: Remove incorrect declaration of get_home_directory which
13132         is declared correctly in lisp.h.
13133
13134         * keymap.c (get_keyelt): Avoid compiler warnings.
13135         (raw_lookup_key_mapper): Avoid compiler warnings.
13136
13137         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13138
13139         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13140
13141         * filemode.c (mode_string): Avoid compiler warnings.
13142
13143         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13144         avoid warning.
13145
13146         * events-mod.h: Undef some things that winuser.h defines differently.
13147
13148         * data.c (Faset): Avoid compiler warnings.
13149
13150         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13151
13152 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13153
13154         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13155         Fall through to simple beep on error.
13156         Replace "extern" by real header file.
13157
13158         * linuxplay.c: Use nativesound.h
13159         (play_sound_data): Return error code. Be less verbose on error.
13160
13161         * sunplay.c: Use nativesound.h
13162         (play_sound_data): Return error code. Be less verbose on error.
13163
13164         * ntplay.c: Use nativesound.h
13165         (play_sound_data): Return fake error code
13166
13167         * sgiplay.c: Use nativesound.h
13168         (play_sound_data): Return error code
13169
13170         * hpplay.c: Use nativesound.h, partially implement
13171         new error code. Break compilation until finished.
13172         (play_sound_data): error code.
13173
13174         * nativesound.h (play_sound_file):
13175           (play_sound_data): Prototype in new header.
13176
13177 2000-03-31  Andy Piper  <andy@xemacs.org>
13178
13179         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13180         for toggle and radio buttons.
13181         (image_instantiator_buttons): use it.
13182
13183 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13184
13185         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13186         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13187         found. Scrollbar event probably belonged to some old config.
13188
13189 2000-03-31  Andy Piper  <andy@xemacs.org>
13190
13191         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13192         than 1.
13193         (initialize_widget_image_instance): default layout to
13194         LAYOUT_HORIZONTAL rather than 0.
13195         (widget_instantiate): reverse the item list at the end rather than
13196         every iteration.
13197         (layout_layout): re-code for the border text at the front of the
13198         item list rather than at the end.
13199         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13200         provided by the user.
13201         (widget_query_geometry): comment.
13202
13203 2000-03-30  Andy Piper  <andy@xemacs.org>
13204
13205         * glyphs-widget.c (image_instantiator_layout): allow standard
13206         widget keywords in layouts.
13207
13208         * gutter.c (output_gutter): cope with nil gutter contents.
13209
13210         * frame.c (Fset_frame_properties): add gutter docs.
13211
13212 2000-03-29  Andy Piper  <andy@xemacs.org>
13213
13214         * toolbar-msw.c (TBSTYLE_FLAT): add.
13215         (mswindows_output_toolbar): minor fiddling.
13216
13217 2000-03-29  Andy Piper  <andy@xemacs.org>
13218
13219         * gutter.c (output_gutter): force gutter size recalculation if
13220         what we are trying to display won't fit.
13221         (update_gutter_geometry): new function. A per-gutter version of
13222         update_frame_gutter_geometry.
13223         (update_frame_gutter_geometry): use it.
13224         (redraw_exposed_gutter): add extra debugging output.
13225
13226 2000-03-28  Mike Alexander  <mta@arbortext.com>
13227
13228         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13229         (pdump_file_unmap): Implement it on Windows
13230         (pdump_file_get): Save alocated handles for pdump_file_unmap
13231
13232 2000-03-28  Andy Piper  <andy@xemacs.org>
13233
13234         * gui.c (get_gui_callback): treat Quit specially.
13235
13236 2000-03-27  Andy Piper  <andy@xemacs.org>
13237
13238         * glyphs.c (image_instantiate): be careful to check in the same
13239         way we assigned.
13240
13241 2000-03-27  Didier Verna  <didier@xemacs.org>
13242
13243         * config.h.in: define the proper SMART_INCLUDE macro.
13244         handle renaming of `foo_h_path' to `foo_h_file'.
13245
13246         * database.c: ditto.
13247
13248         * emacs.c: ditto.
13249
13250         * linuxplay.c: ditto.
13251
13252         * terminfo.c: ditto.
13253
13254         * tooltalk.h: ditto.
13255
13256 2000-03-27  Andy Piper  <andy@xemacs.org>
13257
13258         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13259         gets updated whenever the face might have changed.
13260
13261 2000-03-26  Mike Alexander  <mta@arbortext.com>
13262
13263         * dumper.c (pdump_resource_free): Fix the comment.
13264
13265 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13266
13267         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13268
13269 2000-03-22  Mike Alexander  <mta@arbortext.com>
13270
13271         * dumper.c: Include Windows headers on Windows
13272         (pdump_resource_free): Add a body to the function
13273         (pdump_load): exe_name -> exe_path and add some comments.
13274
13275 2000-03-25  Mike Alexander  <mta@arbortext.com>
13276
13277         * gui.c (copy_gui_item_tree): Return a value in all cases
13278
13279 2000-03-21  Didier Verna  <didier@xemacs.org>
13280
13281         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13282         lwlib/config.h.in.
13283         (SMART_INCLUDE): new macro.
13284         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13285         the proper location.
13286
13287         * postgresql.c: use it.
13288
13289         * inline.c: ditto.
13290
13291 2000-03-24  Andy Piper  <andy@xemacs.org>
13292
13293         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13294         do this.
13295
13296 2000-03-24  Andy Piper  <andy@xemacs.org>
13297
13298         * redisplay-output.c (compare_runes): use image_instance_changed
13299         to detect changes. Do not depend on glyphs_changed, only depend on
13300         dirtiness.
13301          (redisplay_output_layout): add debug messages.
13302         (compare_runes): ditto.
13303
13304         * glyphs.h: declare new functions.
13305         (struct Lisp_Image_Instance): remove percent and associated
13306         accessors.
13307
13308         * gui.h: declare new copying functions.
13309
13310         * gui.c (copy_gui_item_tree): new function.
13311         (copy_gui_item): new function.
13312         (gui_item_id_hash): revert to standard hash.
13313         (gui_item_hash): ditto.
13314         (gui_item_hash_internal): deleted.
13315         (mark_gui_item): mark value.
13316         (gui_item_add_keyval_pair): add value.
13317         (gui_item_init): ditto.
13318         (gui_add_item_keywords_to_plist): ditto.
13319         (gui_item_equal): ditto.
13320         (syms_of_gui): add Q_value.
13321
13322         * glyphs-x.c (x_progress_gauge_update): use pending items and
13323         value for setting the state.
13324         (x_update_widget): don't set items from pending here.
13325
13326         * glyphs-widget.c (update_widget): update items here.
13327         (progress_gauge_set_property): use items for storing value. Put
13328         new value in pending items.
13329
13330         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13331         items for new value. Convert percent -> value.
13332         (mswindows_tab_control_update): don't update items here.
13333
13334         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13335         (update_subwindow): ditto.
13336         (image_instance_changed): new function. Compare hash values and
13337         past and present widget items.
13338         (image_instantiate): We more careful about where we instantiate
13339         things.
13340         (image_instantiate): add error checking.
13341
13342         * gutter.c (syms_of_gutter): use -hook.
13343
13344 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13345
13346         * console-tty.c (Fset_console_tty_input_coding_system): Use
13347         Qkeyboard.
13348         (Fset_console_tty_output_coding_system): Use Qterminal.
13349         (tty_init_console): Use Qkeyboard and Qterminal.
13350
13351 2000-03-21  Ben Wing  <ben@xemacs.org>
13352
13353         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13354         From Mike Alexander <mta@arbortext.com>.
13355
13356 2000-03-21  Ben Wing  <ben@xemacs.org>
13357
13358         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13359         process brokenness.  Proper implementation to come.
13360         * callproc.c:
13361         Rename call-process-internal to old-call-process-internal.
13362         New impl. in process.el.
13363
13364 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13365
13366         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13367
13368 2000-03-20  Andy Piper  <andy@xemacs.org>
13369
13370         * glyphs.c (full_list_hash): make hashes of the same elements in
13371         different orders return different values.
13372
13373 2000-03-20  Martin Buchholz <martin@xemacs.org>
13374
13375         * XEmacs 21.2.32 is released.
13376
13377 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13378
13379         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13380         (DFC_MALLOC_USE_CONVERTED_DATA):
13381         Add aliasing-safe casts to allow use with char* or unsigned char*
13382         lvalues.
13383
13384         * eldap.c (Fldap_open):
13385         (Fldap_search_basic):
13386         (Fldap_add):
13387         (Fldap_modify):
13388         Make C++-compilable.
13389         Make sure GCPRO'ed variables are initialized.
13390         Use temp variables to avoid repeated calls to Flength.
13391
13392 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13393
13394         * sysfile.h:
13395         Make sure PATH_MAX is always defined.
13396         Include limits.h for PATH_MAX.
13397         Deprecate use of MAXPATHLEN.
13398
13399 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13400
13401         * emacs.c: Add reinit_vars_of_fileio.
13402         * symsinit.h: Add reinit_vars_of_fileio.
13403         * fileio.c (reinit_vars_of_fileio): New.
13404         * fileio.c (Fmake_temp_name):
13405         Initialize temp_name random number from microseconds to make
13406         collisions even less likely.  Initialize always at process startup
13407         time.  (make-temp-name) used to return the same file name twice in
13408         a row when PDUMP.
13409         Random stylistic fiddling.
13410         Comment fixes.
13411
13412 2000-03-20  Andy Piper  <andy@xemacs.org>
13413
13414         * glyphs.c (image_instantiate): allow text glyphs to be
13415         instantiated in the minibuffer window.
13416
13417 2000-03-19  Andy Piper  <andy@xemacs.org>
13418
13419         * glyphs.c (image_instance_hash): be careful about which items we
13420         hash on.
13421
13422         * glyphs-widget.c (tab_control_set_property): record into pending
13423         items rather than the actual items.
13424
13425         * glyphs-x.c (x_update_widget): use pending items to update with.
13426
13427         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13428         to update with.
13429
13430         * glyphs.c (mark_image_instance): mark pending items.
13431
13432         * window.c (Fset_window_configuration): record the buffer.
13433         (Fselect_window): totally revert previous change which breaks many
13434         things.
13435
13436 2000-03-18  Andy Piper  <andy@xemacs.org>
13437
13438         * glyphs-msw.c (mswindows_tab_control_update): force selected
13439         item.
13440
13441         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13442         window domain cache, otherwise we get inconsistencies at
13443         startup. There is something fishy at startup which can lead to the
13444         minibuffer being the selected window when the gutter content is
13445         instantiated.
13446
13447         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13448         gcpros.
13449         (parse_gui_item_tree_children): ditto.
13450         (parse_gui_item_tree_item): ditto.
13451
13452         * glyphs.c (Fupdate_widget_instances): return something.
13453
13454 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13455
13456         * window.c (Fselect_window): Undo 2000-03-17 change.
13457
13458 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13459
13460         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13461         against v7.0 libraries.  Insta-coredump city until the postgres
13462         folks fix it.
13463
13464 2000-03-17  Andy Piper  <andy@xemacs.org>
13465
13466         * faces.c (complex_vars_of_faces): don't give the widget face an
13467         inherited background pixmap.
13468
13469         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13470         selected item.
13471
13472         * event-stream.c (Fdispatch_non_command_events): return something.
13473
13474         * gutter.c (output_gutter): use widget face.
13475         (clear_gutter): ditto.
13476
13477         * NEWS: adjust again.
13478
13479         * window.c (Fselect_window): make sure this runs to completion to
13480         avoid oddities with Fset_window_configuration.
13481         (Fcurrent_window_configuration): in general do not save the
13482         minibuffer as the selected window.
13483
13484         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13485
13486 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13487
13488         * emacs.c (Frunning_temacs_p): Revert previous patch.
13489         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13490
13491 2000-03-16  Andy Piper  <andy@xemacs.org>
13492
13493         * glyphs-x.c (x_tab_control_update): if no widget values then
13494         return.
13495
13496         * NEWS: update for new features.
13497
13498         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13499         synthetic event to the native system.
13500         (reinit_vars_of_event_Xt): set force_event_pending to
13501         emacs_Xt_force_event_pending.
13502
13503         * events.h (struct event_stream): add force_event_pending.
13504
13505         * specifier.c (recompute_one_cached_specifier_in_window): add
13506         comment.
13507
13508         * redisplay.c (redisplay_frame): don't call
13509         update_frame_subwindows. Reset subwindow cachels when
13510         subwindows_changed, removing this was an optimization too far.
13511
13512         * redisplay-output.c (compare_runes): reorganize so that we catch
13513         glyph changes when we want them. Set optimize_output when this
13514         would help layouts.
13515         (redisplay_output_layout): remove frame_really_changed, use
13516         optimize_output instead.
13517
13518         * redisplay-msw.c (mswindows_output_display_block): reset
13519         optimize_output after outputting a glyph.
13520         * redisplay-x.c (x_output_display_block): ditto.
13521         * redisplay-tty.c (tty_output_display_block): ditto.
13522
13523         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13524         functions.
13525         (gutter_specs_changed): do specific gutter positions.
13526         (top_gutter_specs_changed): new function. Only update the
13527         specified gutter specs.
13528         (bottom_gutter_specs_changed): ditto.
13529         (left_gutter_specs_changed): ditto.
13530         (right_gutter_specs_changed): ditto.
13531
13532         * gui.c (gui_item_hash_internal): new function, does a real hash.
13533         (gui_item_id_hash): use it.
13534         (gui_item_hash): hash the eval'ed gui_item.
13535
13536         * gui-x.c (popup_selection_callback): send an eval event to call
13537         Fupdate_widget_instances.
13538
13539         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13540         to call Fupdate_widget_instances.
13541
13542         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13543         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13544
13545         * glyphs.c: (update_frame_subwindows): deleted.
13546         (Fupdate_widget_instances): new function for updating the dirty
13547         state of widgets that might have changed.
13548         (syms_of_glyphs): add Qupdate_widget_instances.
13549         (full_list_hash): hash a list completely.
13550         (image_instance_hash): use it for items and properties.
13551
13552         * frame-msw.c (mswindows_size_frame_internal): remove unused
13553         variable.
13554
13555         * faces.h (struct face_cachel): fix comment.
13556
13557         * event-stream.c (Fdispatch_non_command_events): new
13558         function. Process non-command events, forcing an event cycle
13559         beforehand.
13560         (syms_of_event_stream): declare.
13561         (event_stream_force_event_pending): new function. Force an event
13562         on the native event queue so that an event cycle will occur next
13563         time we check.
13564
13565         * event-msw.c:
13566         (struct ntpipe_shove_stream):
13567         (mswindows_enqueue_dispatch_event):
13568         (mswindows_dequeue_dispatch_event):
13569         (mswindows_cancel_dispatch_event):
13570         (mswindows_pump_outstanding_events):
13571         (mswindows_drain_windows_queue):
13572         (mswindows_handle_paint):
13573         (mswindows_wnd_proc):
13574         (mswindows_key_to_emacs_keysym):
13575         (get_process_input_waitable):
13576         (emacs_mswindows_delete_stream_pair): re-indent file.
13577         (mswindows_need_event): do not process further fds if the windows
13578         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13579         fixes the 100% cpu problem.
13580         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13581
13582 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13583
13584         * alloc.h: New.
13585         * dumper.h: New.
13586         * dumper.c: New.
13587
13588         * emacs.c: Moved dump file searching to dumper.c.
13589         (Frunning_temacs_p): Fixed.
13590
13591         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13592         last_lrecord_type_index_assigned.
13593
13594 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13595
13596         * symsinit.h: Added reinit parameter to init_console_stream
13597         declaration.
13598
13599         * lisp.h: Added file parameter to pdump_load declaration.
13600
13601         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13602         support.  Added dump file searching.
13603
13604         * config.h.in: Added EMACS_PROGNAME.
13605
13606         * console-stream.c (init_console_stream): Fix reinitialisation
13607         when running from temacs.
13608
13609         * alloc.c (pdump): Add id support.
13610         (pdump_load): Add file parameter and signature/id support.
13611
13612         * Makefile.in.in: Add full pdump support.
13613
13614 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13615
13616         * postgresql.c: Update documentation to reflect latest code
13617         status.
13618         (print_result): Show tuple counts in printed representation when
13619         appropriate.
13620         (Fpq_put_nbytes): MULE-ize.
13621         (Fpq_get_line_async): Ditto.
13622
13623 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13624
13625         * postgresql.c (Fpq_lo_import): Fix return value.
13626         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13627
13628 2000-03-13  Ben Wing  <ben@xemacs.org>
13629
13630         * alloc.c (pdump_load):
13631         Fix compile warning under mswin.
13632
13633 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13634
13635         * postgresql.c: Mule-ization, bug fixes.
13636         Use PG_CODING to encapsulate coding system name changes.
13637         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13638         (pg-coding-system): Create.
13639
13640         (Fpq_conn_defaults): Mule-ize.
13641         (Fpq_connectdb): Mule-ize & bug fix.
13642         (Fpq_connect_start): Mule-ize.
13643         (Fpq_set_client_encoding): Mule-ize.
13644         (Fpq_finish): Document `DEAD' connection status.
13645         (Fpq_clear): Ditto.
13646         (Fpq_pgconn): Mule-ize.
13647         (Fpq_exec): Mule-ize & bug fix.
13648         (Fpq_send_query): Ditto.
13649         (Fpq_get_result): Ditto.
13650         (Fpq_res_status): Mule-ize.
13651         (Fpq_result_error_message): Mule-ize.
13652         (Fpq_ntuples): fix comments.
13653         (Fpq_fname): Mule-ize.
13654         (Fpq_fnumber): Mule-ize.
13655         (Fpq_ftype): fix comments.
13656         (Fpq_get_value): Mule-ize.
13657         (Fpq_cmd_status): Ditto.
13658         (Fpq_cmd_tuples): Ditto.
13659         (Fpq_oid_value): Ditto.
13660         (Fpq_notifies): Ditto.
13661         (Fpq_lo_import): Ditto.
13662         (Fpq_lo_export): Ditto.
13663         (Fpq_get_line): Ditto.
13664         (Fpq_put_line): Mule-ize and bug fix.
13665         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13666
13667 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13668
13669         * postgresql.c (vars_of_postgresql): Mule-ize.
13670         (Fpq_conn_defaults): Ditto.
13671
13672 2000-03-12  Ben Wing  <ben@xemacs.org>
13673
13674         * alloc.c (Fmake_byte_code):
13675         * alloc.c (debug_string_purity_print):
13676         * alloc.c (pdump_backtrace):
13677         * alloc.c (pdump_get_indirect_count):
13678         * alloc.c (pdump_register_sub):
13679         * alloc.c (pdump_register_object):
13680         * alloc.c (pdump_register_struct):
13681         * alloc.c (pdump_dump_data):
13682         * alloc.c (pdump_reloc_one):
13683         Minor cleanups.
13684
13685         * console-msw.c:
13686         * console-msw.c (GetConsoleHwnd):
13687         * console-msw.c (msw_hide_console):
13688         * console-msw.c (msw_show_console):
13689         * console-msw.c (msw_ensure_console_buffered):
13690         * console-msw.c (msw_output_console_string):
13691         * console-msw.c (console_type_create_mswindows):
13692
13693         a) Added functions to manipulate the console window for use with
13694         shell support.
13695
13696         b) Added support for writing text to the console, which is now
13697         used under Windows when xemacs is not being run non-interactively,
13698         to write text that would otherwise be destined for stdout because
13699         under these circumstances, text written to stdout tends to
13700         disappear and not be seen.
13701
13702         * console-msw.h:
13703         * event-Xt.c:
13704         * event-Xt.c (x_event_to_emacs_event):
13705         * event-Xt.c (describe_event_window):
13706         * events-mod.h (XEMACS_MOD_CONTROL):
13707         * events.c:
13708         * events.c (Fmake_event):
13709         * events.c (character_to_event):
13710         * events.c (event_to_character):
13711         * events.c (format_event_object):
13712         * events.c (Fevent_modifiers):
13713         * events.h:
13714         * events.h (struct key_data):
13715         * events.h (struct button_data):
13716         * events.h (struct misc_user_data):
13717         * frame-x.c (Fcde_start_drag_internal):
13718         * frame-x.c (Foffix_start_drag_internal):
13719         * gpmevent.c (Freceive_gpm_event):
13720         * keymap.c:
13721         * keymap.c (bucky_sym_to_bucky_bit):
13722         * keymap.c (control_meta_superify):
13723         * keymap.c (make_key_description):
13724         * keymap.c (keymap_lookup_directly):
13725         * keymap.c (create_bucky_submap):
13726         * keymap.c (keymap_store):
13727         * keymap.c (define_key_check_and_coerce_keysym):
13728         * keymap.c (define_key_parser):
13729         * keymap.c (define_key_alternate_name):
13730         * keymap.c (Fdefine_key):
13731         * keymap.c (raw_lookup_key_mapper):
13732         * keymap.c (struct map_keymap_unsorted_closure):
13733         * keymap.c (map_keymap_unsorted_mapper):
13734         * keymap.c (map_keymap_sort_predicate):
13735         * keymap.c (map_keymap_sorted):
13736         * keymap.c (accessible_keymaps_mapper_1):
13737         * keymap.c (where_is_recursive_mapper):
13738         * keymap.c (describe_map_mapper):
13739         * keymap.c (describe_map_sort_predicate):
13740         * keymap.c (describe_map):
13741         * keymap.c (complex_vars_of_keymap):
13742         And a number of other files, the key modifier preprocessor
13743         constants that xemacs uses have names that conflict with constants
13744         defined under MS Windows for other purposes, so they were renamed
13745         to begin with the prefix XEMACS_. The variables that hold such
13746         modifiers were changed to consistently be of type int to fix
13747         various compile warnings.
13748
13749         * console.c (complex_vars_of_console):
13750         * device.c:
13751         * device-msw.c:
13752         * device-msw.c (mswindows_finish_init_device):
13753         * device-msw.c (msw_get_workspace_coords):
13754         * device-msw.c (mswindows_device_system_metrics):
13755         and various other files, added support for a new
13756         device property called offset-workspace which returns the position
13757         of the upper left corner of the workspace area and goes along with
13758         the existing size-workspace property.
13759
13760         * dialog-msw.c:
13761         * dialog-msw.c (push_bufbyte_string_as_unicode):
13762         * dialog-msw.c (mswindows_popup_dialog_box):
13763         Added support for XEmacs-style accelerator specifications in
13764         button text.  Note: I didn't add support for this under X Windows,
13765         and somebody needs to do this.
13766
13767         * dialog.c:
13768         * dialog.c (Fpopup_dialog_box):
13769         Documented the support for accelerators that was just mentioned.
13770
13771         editfns.c (get_home_directory): Changed behavior under Windows
13772         when HOME not defined; former behavior was irretrievably broken.
13773
13774         * emacs.c:
13775         * emacs.c (main_1):
13776         * emacs.c (main):
13777         * minibuf.c (clear_echo_area_internal):
13778         * minibuf.c (echo_area_append):
13779         * print.c:
13780         * print.c (std_handle_out_external):
13781         * print.c (std_handle_out_va):
13782         * print.c (fatal):
13783         * print.c (write_string_to_stdio_stream):
13784         * print.c (output_string):
13785         * print.c (debug_print):
13786         * print.c (debug_backtrace):
13787         * print.c (debug_short_backtrace):
13788         Cleaned up the code that prints text to stdout so that this can be
13789         changed to output into a console window instead under MS Windows,
13790         as described above.
13791
13792         * eval.c:
13793         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13794         * eval.c (internal_catch):
13795         * eval.c (unwind_to_catch):
13796         * eval.c (throw_or_bomb_out):
13797         * eval.c (condition_case_1):
13798         * eval.c (signal_1):
13799         * eval.c (check_error_state_sanity):
13800         * eval.c (call_with_suspended_errors_1):
13801         * eval.c (call_with_suspended_errors):
13802         * eval.c (reinit_vars_of_eval):
13803         Added code to catch throw loops and check for a pesky bug that may
13804         be gone now.
13805
13806         * event-msw.c:
13807         * event-msw.c (key_needs_default_processing_p):
13808         * event-msw.c (mswindows_wnd_proc):
13809         * event-msw.c (mswindows_modifier_state):
13810         * event-msw.c (emacs_mswindows_quit_p):
13811         * event-msw.c (vars_of_event_mswindows):
13812         a) Added support for using the alt key to select menu items as is
13813         standard under MS Windows.  This is controlled using the variable
13814         menu-accelerator-enabled, just like under X Windows.  There is an
13815         option on the options menu to turn this support on.  I really
13816         think that it should be on by default under Windows, but I'm not
13817         going to make this change yet.
13818
13819         b)  Added support for dynamic display size changes under Windows.
13820
13821         * event-stream.c:
13822         * event-stream.c (maybe_echo_keys):
13823         * event-stream.c (Fnext_event):
13824         * event-stream.c (command_builder_find_leaf):
13825         * event-stream.c (lookup_command_event):
13826         * event-stream.c (execute_command_event):
13827         * event-stream.c (pre_command_hook):
13828         * event-stream.c (post_command_hook):
13829         * event-stream.c (syms_of_event_stream):
13830         * event-stream.c (vars_of_event_stream):
13831         * event-stream.c (complex_vars_of_event_stream):
13832         * events.h (struct command_builder):
13833
13834         a) Tried to clean up a little bit the horribly written x-specific
13835         accelerator code that crept into this file.  I moved this code
13836         into menubar-x.c where it belongs. I also needed to move the
13837         command builder structure into the file events.h because it is
13838         accessed directly by this accelerator code.  What I didn't do, but
13839         which should be done at some point, is to properly abstract this
13840         code using device methods instead of the kludgy way that it
13841         currently hooks into the event code.
13842
13843         b) Added the lisp variables this-command-properties and
13844         last-command- properties, which should be used to synchronize two
13845         adjacent commands in preference to playing games with the variable
13846         this-command, which is typically what happens.
13847
13848         c) Added some slightly nasty code to hook into the lisp support
13849         for shifted- motion-key selection.  This is actually necessary for
13850         somewhat complicated reasons, which are described in
13851         simple.el. (NB: I think the proper thing would be to have the code
13852         that calls the pre and post command hooks also call out to generic
13853         lisp functions in simple.el, where all built-in stuff could be
13854         added.  I will think about this more.)
13855
13856         * event-unixoid.c (poll_fds_for_input):
13857         * lread.c (readchar):
13858         * redisplay-tty.c (tty_clear_frame):
13859         * redisplay-x.c (x_get_gc):
13860         * signal.c (interrupt_signal):
13861         And a whole bunch of other files: fixed up places that printed
13862         directly to stderr to instead call the function stderr_out so that
13863         the changes I made under Windows work correctly.
13864
13865         * filemode.c (mode_string):
13866         Warning fixes.
13867
13868         * frame-msw.c:
13869         * frame-msw.c (mswindows_size_frame_internal):
13870         Fixed the computation of frame size and position to keep the frame
13871         within the workspace area, rather than within the physical
13872         dimensions of the screen, so that the frame doesn't overlap window
13873         manager decorations, such as the start menu and toolbar, typically
13874         at the bottom of the screen.
13875
13876         * frame.c (vars_of_frame):
13877         Changed the default frame title format under MS Windows to consist
13878         of buffername-XEmacs, which is standard under MS Windows.  I think
13879         it might be a good idea to change this everywhere because I think
13880         it is superior to the current frame title format, but this is the
13881         kind of change that is likely to cause some people to get annoyed,
13882         so I'm not making it.
13883
13884         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13885
13886         * gui-msw.c (mswindows_handle_gui_wm_command):
13887         Fixed compile warnings.
13888
13889         * gui-x.c:
13890         * gui-x.c (strdup_and_add_accel):
13891         * gui-x.c (button_item_to_widget_value):
13892         * gui-x.h:
13893         Added code to automatically put an accelerator onto the beginning
13894         of menu items that don't have one as is now the standard, and is
13895         described more later.  Also fixed things so that the menu item
13896         name can be an evaluated expression, again a new standard.
13897
13898         * gui.c:
13899         * gui.c (gui_item_add_keyval_pair):
13900         * gui.c (make_gui_item_from_keywords_internal):
13901         * gui.c (gui_add_item_keywords_to_plist):
13902         * gui.c (gui_item_accelerator):
13903         * gui.c (gui_name_accelerator):
13904         * gui.c (gui_item_included_p):
13905         * gui.c (gui_item_display_flush_left):
13906         * gui.c (gui_item_display_flush_right):
13907         * gui.c (parse_gui_item_tree_item):
13908         * gui.c (parse_gui_item_tree_children):
13909         * gui.c (parse_gui_item_tree_list):
13910         Mule-ized.  Cleanup.  GCPRO addition.
13911
13912         * line-number.c (buffer_line_number):
13913         * lisp.h:
13914         * lisp.h (EMACS_INT_MAX):
13915         Added the manifest constant EMACS_INT_MIN corresponding to the
13916         existing constant EMACS_INT_MAX.  This is partially to fix compile
13917         warnings under Windows, and partly for cleanliness.
13918
13919         * menubar-msw.c:
13920         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13921         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13922         * menubar-msw.c (displayable_menu_item):
13923         * menubar-msw.c (populate_menu_add_item):
13924         * menubar-msw.c (populate_or_checksum_helper):
13925         * menubar-msw.c (populate_menu):
13926         * menubar-msw.c (update_frame_menubar_maybe):
13927         * menubar-msw.c (prune_menubar):
13928         * menubar-msw.c (msw_char_is_accelerator):
13929         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13930         * menubar-msw.c (mswindows_handle_wm_command):
13931         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13932         * menubar-msw.c (mswindows_handle_wm_initmenu):
13933         * menubar-msw.c (mswindows_update_frame_menubars):
13934         * menubar-msw.c (mswindows_free_frame_menubars):
13935         * menubar-msw.c (mswindows_popup_menu):
13936         Fixed a bug in handling accelerators where an extra character
13937         would be displayed in the menu item.  Also generalized the
13938         function displayable_menu_item because it is now used by the
13939         dialog box code as well.  And finally, added code in the functions
13940         that create the menubar to extract a list of accelerators for the
13941         top level menubar, which is used in the event code to determine
13942         whether a particular alt-key combination should be used to invoke
13943         a menu item, or should be passed through to access the standard
13944         XEmacs keymap binding for this key combination.
13945
13946         Much needed GCPROing.
13947
13948         * menubar-x.c:
13949         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13950         * menubar-x.c (menu_item_descriptor_to_widget_value):
13951         * menubar-x.c (restore_in_menu_callback):
13952         * menubar-x.c (x_popup_menu):
13953         * menubar-x.c (menu_move_up):
13954         * menubar-x.c (menu_move_down):
13955         * menubar-x.c (menu_move_left):
13956         * menubar-x.c (menu_move_right):
13957         * menubar-x.c (menu_select_item):
13958         * menubar-x.c (command_builder_operate_menu_accelerator):
13959         * menubar-x.c (menu_accelerator_junk_on_error):
13960         * menubar-x.c (command_builder_find_menu_accelerator):
13961         * menubar-x.c (Faccelerate_menu):
13962         * menubar.h:
13963         Moved a whole bunch of code here that was previously in
13964         event-stream.c as described above.  There is also code connected
13965         to the new standard of adding an accelerator to the beginning of
13966         menu items that don't have one as described above and below.
13967
13968         * menubar.c:
13969         * menubar.c (menu_parse_submenu_keywords):
13970         * menubar.c (Fmenu_find_real_submenu):
13971         * menubar.c (Fnormalize_menu_item_name):
13972         * menubar.c (syms_of_menubar):
13973         * menubar.c (vars_of_menubar):
13974         * menubar.c (complex_vars_of_menubar):
13975
13976         a) Cleaned up a bunch of documentation and improved it.
13977
13978         b) XEmacs now automatically adds an accelerator onto the beginning
13979         of any menu items that don't have one.  I did this because there
13980         will inevitably be some menu items on the main menubar that don't
13981         have accelerators on them because the package that adds that
13982         particular menu item hasn't yet been fixed up to have accelerators
13983         in them and it looked rather strange to have some items with and
13984         some items without accelerators, especially since even in items
13985         without accelerators, you can, at least under windows, still
13986         access the item through an accelerator corresponding to the first
13987         character in the item's name.  If people don't like this behavior,
13988         I can add a variable to turn it off optionally, but I'm not sure
13989         this is a good idea because we really do need to have accelerators
13990         on all of the menu items, and if a package doesn't like the
13991         accelerators being put on the first character, then it should put
13992         the accelerators where they belong.
13993
13994         c) I made a behavior change, which is that the descriptor that
13995         specifies the text of the menu item, which formerly was just a
13996         string, can now also be an evaluated expression.  This makes this
13997         descriptor parallel with all of the others, which could also be
13998         evaluated expressions.  This also obviates the need for the
13999         keyword :label, which was previously listed in the documentation
14000         as unimplemented, and which was for the same purpose.
14001
14002         d) GCPROing.
14003
14004         * ntproc.c:
14005         * ntproc.c (new_child):
14006         * ntproc.c (sys_spawnve):
14007         * ntproc.c (find_child_console):
14008         * ntproc.c (sys_kill):
14009         Fixed compile warnings.  By the way, this file should really go
14010         away entirely, and this will happen as soon as Kirill makes his
14011         final round of process cleanups, which affect the function
14012         call-process.
14013
14014         * process-nt.c:
14015         * process-nt.c (struct nt_process_data):
14016         * process-nt.c (find_process_from_pid):
14017         * process-nt.c (send_signal_the_nt_way):
14018         * process-nt.c (enable_child_signals):
14019         * process-nt.c (find_child_console):
14020         * process-nt.c (send_signal_the_95_way):
14021         * process-nt.c (nt_finalize_process_data):
14022         * process-nt.c (ensure_console_window_exists):
14023         * process-nt.c (nt_create_process):
14024         * process-nt.c (nt_kill_child_process):
14025         * process-nt.c (nt_kill_process_by_pid):
14026         * process-nt.c (nt_open_network_stream):
14027         * process-nt.c (vars_of_process_nt):
14028         Copied over code from Emacs 20.5 to correctly send signals to sub-
14029         processes under Windows 95.  Also added code to automatically
14030         create and hide console window when a sub-process is created under
14031         Windows 95, which obviates the need for the separate runemacs.exe
14032         executable, and finally implemented some variables that were
14033         implemented in Emacs 20.5, but previously not in XEmacs.  These
14034         include mswindows- start-process-share-console and
14035         mswindows-start-process-inherit-error-mode. (Both of these only
14036         apply to Windows 95.)
14037
14038         * regex.c (regex_compile): Fixed a compile warning.
14039
14040         * select-msw.c:
14041         * select-msw.c (mswindows_own_selection):
14042         * select-msw.c (mswindows_get_foreign_selection):
14043         * select-msw.c (mswindows_disown_selection):
14044         * select-msw.c (console_type_create_select_mswindows):
14045         * select-msw.c (syms_of_select_mswindows):
14046         Cleaned up the file and implemented the device method
14047         selection_exists_p, which had accidentally been left out.  Also
14048         removed four lisp functions that were remnants from before the
14049         time when the selection code was properly device abstracted.
14050         These functions are no longer needed because there are generic
14051         equivalents, and because they were added recently and don't exist
14052         in FSF Emacs, I don't think there's any problem with just deleting
14053         them.
14054
14055         * sysdep.c:
14056         * sysdep.c (sys_subshell):
14057         Fixed a compile warning, although in this case there's probably
14058         something wrong with this code, and it ought to be looked into
14059         more thoroughly by somebody who understands it.
14060
14061         * window.c:
14062         * window.c (Fwindow_text_area_height):
14063         * window.c (Fwindow_width):
14064         * window.c (Fwindow_full_width):
14065         * window.c (Fwindow_pixel_width):
14066         * window.c (debug_print_window):
14067         * window.c (syms_of_window):
14068         Added functions window-text-area-height and window-full-width,
14069         which are functions for returning various width and height
14070         characteristics of a window. (One of these functions is necessary
14071         for making the file dialog box work correctly, and the other one
14072         was added for completeness.)  Also added a table to the
14073         documentation for window-height which describes the entire scheme
14074         for accessing width and height characteristics of a window.
14075
14076 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14077
14078         * nt.c (fstat): Added a comment for another problem with
14079         non-encapsulated [f]stat(), reported by Adrian Aichner
14080         <aichner@ecf.teradyne.com>.
14081
14082 2000-03-11  Andy Piper  <andy@xemacs.org>
14083
14084         * window.c (make_dummy_parent): initialize subwindow instance
14085         cache.
14086         (Fset_window_configuration): zero extent_modiff.
14087
14088 2000-03-10  Andy Piper  <andy@xemacs.org>
14089
14090         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14091         more changes can be triggered.
14092         (Fredisplay_frame): ditto.
14093         (Fredraw_device): ditto.
14094         (Fredisplay_device): ditto.
14095         (redisplay_frame): make non-static.
14096         (redisplay_frame): call update_frame_gutter_geometry outside of
14097         display proper.
14098
14099         * gutter.h: declare update_frame_gutter_geometry.
14100
14101         * redisplay.h: declare redisplay_frame.
14102
14103         * gutter.c (update_frame_gutter_geometry): move geometry changes
14104         in update_frame_gutters here. Geometry changes can only occur
14105         outside of redisplay.
14106         (update_frame_gutters): remove geometry change code.
14107         (Fredisplay_gutter_area): make sure that we are in display when we
14108         update and that we have flushed any size changes.
14109
14110 2000-03-11  Andy Piper  <andy@xemacs.org>
14111
14112         * alloc.c (pdump_dump_data): remove i & count shadows.
14113
14114 2000-02-27  Mike Alexander  <mta@arbortext.com>
14115
14116         * sysdep.h: Declare pdump_read_file
14117
14118         * sysdep.c (pdump_read_file): New function
14119
14120         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14121         dump data
14122
14123 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14124
14125         * lrecord.h: add `lrecord_type_pgsetenv'.
14126
14127 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14128
14129         * symsinit.h: declare (vars|syms)_of* functions.
14130         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14131
14132 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14133
14134         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14135
14136         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14137         GCCs.
14138
14139         * emacs.c (main_1): Call postgres initialization code.
14140
14141         * postgresql.h: New file.  PostgreSQL RDBMS support.
14142         * postgresql.c: New file.
14143
14144 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14145
14146         * redisplay-output.c (redisplay_output_display_block): Disable
14147         redundant code.
14148
14149 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14150
14151         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14152         (Fcanna_henkan_next): Ditto.
14153         (Fcanna_bunsetu_henkou): Ditto.
14154         (Fcanna_henkan_kakutei): Ditto.
14155         (Fcanna_henkan_end): Ditto.
14156         (Fcanna_henkan_quit): Ditto.
14157         (Fcanna_henkan_next): Set retun value correctly.
14158         (c2mu): Use unsigned char instead of signed char.
14159
14160 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14161
14162         * emacs.c (main_1): Always call syms_of_gui.
14163         * inline.c: include gui.h
14164
14165 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14166
14167         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14168         converted to Lisp_Object.
14169         (Qtop_bottom): New variable.
14170         (syms_of_redisplay): Initialize it.
14171         * redisplay.h (Vvisible_bell): Ditto.
14172         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14173         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14174         only flash top and bottom.
14175
14176 2000-03-08  Andy Piper  <andy@xemacs.org>
14177
14178         * buffer.c (Frename_buffer): record new buffer name the right way.
14179
14180 2000-03-08  Andy Piper  <andy@xemacs.org>
14181
14182         * glyphs.c (update_subwindow): increase hash depth so that widget
14183         items get picked up properly.
14184
14185         * redisplay-output.c (compare_runes): increase hash depth so that
14186         widget items get picked up properly.
14187
14188 2000-03-08  Andy Piper  <andy@xemacs.org>
14189
14190         * gutter.c (output_gutter): add some debug.
14191
14192         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14193         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14194         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14195
14196         * redisplay-output.c (compare_runes): use display_hash to
14197         determine if glyphs really are not the same.
14198
14199         * glyphs.c (update_subwindow): check display_hash to see if
14200         anything really needs to be updated. If not then do
14201         nothing. Record the display_hash after updating.
14202         (image_instance_equal): compare the image_instance face also.
14203
14204 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14205
14206         * redisplay.h: Fix comment style.
14207
14208 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14209
14210         * consle-msw.h (struct mswindows_frame):
14211         Added new member paint_pending to indicate whether a WM_PAINT
14212         magic event has been queued for this frame.
14213
14214         * event-msw.c (mswindows_drain_windows_queue):
14215         Don't queue a WM_PAINT magic event if one is already queued.
14216         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14217
14218         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14219
14220 2000-03-07  Didier Verna  <didier@xemacs.org>
14221
14222         * dired.c: #include `regex.h' after `sysfile.h'.
14223
14224 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14225
14226         * sound.c (init_nas_sound): Fix compiler warning.
14227
14228         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14229         (FREE_STRUCT_P):
14230         (MARK_STRUCT_AS_FREE):
14231         (MARK_STRUCT_AS_NOT_FREE):
14232         Make `gcc -fstrict-aliasing' work properly.
14233
14234 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14235
14236         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14237         (mswindows_delete_device): Call CoUnnitialize().
14238
14239         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14240
14241 2000-02-25    <CraigL@DyCon.com>
14242
14243         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14244         <errno.h>.
14245
14246         * sysdep.c: This extern declaration for environ prevents MinGW
14247         from finding the variable in CRTDLL.DLL.
14248
14249         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14250         windows headers.
14251         (SHGFI_EXETYPE): ..
14252         (WM_MOUSEWHEEL): ..
14253         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14254         definitions.
14255         (MMRESULT): Removed, now defined in cygwin's windows headers.
14256         (TIMECAPS): ..
14257         (uid_t,gid_t,pid_t,ssize_t): ..
14258         (_timeb): Removed, MinGW defines both _timeb and timeb.
14259         (HAVE_H_ERRNO): Added.
14260         (HAVE_TZNAME): Added, configure is not detecting this.
14261
14262 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14263
14264         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14265         * syntax.c (syntax_match): Use it.
14266
14267         * cmds.c: Import auto-fill-chars from FSF Emacs.
14268         (Vauto_fill_chars): New variables.
14269         (internal_self_insert): Check Vauto_fill_chars.
14270         (vars_of_cmds):
14271         Declare auto-fill-chars as a Lisp variable and initialize it.
14272
14273 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14274
14275         * fileio.c (Fmake_symbolic_link):
14276         (Ffile_symlink_p):
14277         Run handlers even if local machine doesn't have symlinks.
14278
14279 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14280
14281         * event-msw.c (mswindows_drain_windows_queue):
14282         Don't generate paint magic events for non-XEmacs frames.
14283
14284 2000-03-05  Andy Piper  <andy@xemacs.org>
14285
14286         * redisplay.c (redisplay_frame): generate_displayable_area and
14287         friends assumes that we are not in GC, we therefore have to make
14288         sure that this doesn't happen.
14289
14290         * gutter.c (calculate_gutter_size): generate_displayable_area
14291         assumes that we are not in GC, we therefore have to make sure that
14292         this doesn't happen.
14293
14294 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14295
14296         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14297
14298 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14299
14300         * redisplay.c (regenerate_window): Make sure we set a sane value
14301         for end_pos even if we jump out of the loop.
14302         (regenerate_window): Answer Ben's question :-).
14303         (start_end_of_last_line): Add may_error argument.
14304         (start_of_last_line):
14305         (end_of_last_line): Pass may_error = 0.
14306         (end_of_last_line_may_error): New function.
14307         (pixel_to_glyph_translation): Use it, so we don't crash in
14308         event_to_glyph.
14309
14310 2000-03-04  Andy Piper  <andy@xemacs.org>
14311
14312         * window.h (struct window): add gutter_extent_modiff.
14313
14314         * window.c (allocate_window): zero out gutter_extent_modiff.
14315
14316         * redisplay.h: declare sync_display_line_structs.
14317
14318         * redisplay.c (add_glyph_rune): add a better comment.
14319
14320         * redisplay-output.c (sync_display_line_structs): made non-static.
14321         (compare_runes): remove unneccesary glyph cachel access.
14322
14323         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14324
14325         * gutter.c (output_gutter): don't output the gutter if extent
14326         changes only involve extents in buffers. use 4 sets of display
14327         lines.
14328         (gutter_extent_signal_changed_region_maybe): new function. Mark
14329         extents in gutters as changed.
14330         (update_frame_gutters): use 4 sets of display lines.
14331         (reset_gutter_display_lines): ditto.
14332         (free_frame_gutters): ditto.
14333         (redraw_exposed_gutter): force output of gutters.
14334
14335         * frame.h (struct frame): add 4 sets of gutter display lines.
14336
14337         * extents.c: (extent_changed_for_redisplay): signal changes to
14338         extents in strings in the gutter as well as extents in buffers.
14339
14340 2000-03-02  Andy Piper  <andy@xemacs.org>
14341
14342         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14343
14344         * frame.c (Fmake_frame): make sure the gutters get initialized
14345         after the frame is visible.
14346         (set_frame_selected_window): re-arrange compilation macros a
14347         little.
14348         (change_frame_size_1): mark gutters changed.
14349
14350         * device.c (Fset_device_class): mark gutters changed.
14351
14352 2000-03-01  Andy Piper  <andy@xemacs.org>
14353
14354         * window.c (window_top_frame_gutter_height): deleted.
14355         (window_bottom_frame_gutter_height): ditto.
14356         (window_left_frame_gutter_height): ditto.
14357         (window_right_frame_gutter_height): ditto.
14358         (window_top_gutter_height): don't use them.
14359         (window_bottom_gutter_height): ditto.
14360         (window_left_gutter_width): ditto.
14361         (window_right_gutter_width): ditto.
14362         (Fsplit_window): ditto.
14363         (Fwindow_pixel_edges): don't use border dimensions here.
14364
14365         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14366         (update_scrollbar_instance): ditto.
14367
14368         * redisplay.c (generate_modeline): don't take gutters into account.
14369         (generate_modeline): ditto.
14370         (redisplay_frame): small gutter display optimization.
14371
14372         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14373
14374         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14375         gutters into account.
14376
14377         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14378         for window position and type.
14379
14380         * gutter.c (get_gutter_coords): fix for frame gutters.
14381         (update_frame_gutters): update frame geometry if the gutters have
14382         changed.
14383         (init_frame_gutters): record current gutter geometries.
14384
14385         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14386         var.
14387         (mswindows_widget_instantiate): ditto.
14388
14389         * frame.h (struct frame): add current_gutter_bounds.
14390
14391         * frame.c (change_frame_size_1): position window and minibuffer
14392         appropriately taking into account the frame gutters.
14393
14394         * frame-x.c: (x_initialize_frame_size): take into account the
14395         frame gutters.
14396
14397 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14398
14399         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14400
14401 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14402
14403         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14404
14405 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14406
14407         * file-coding.c (reset_decoding_stream): Clear previous
14408         detection state when autodetect.
14409
14410 2000-02-29  Didier Verna  <didier@xemacs.org>
14411
14412         * extents.c (set_extent_glyph_1): don't require extents to be
14413         attached.
14414
14415 2000-02-27  Andy Piper  <andy@xemacs.org>
14416
14417         * gutter.c (Fset_default_gutter_position): don't default left and
14418         right gutter visibility to t.
14419         (Fset_default_gutter_position): run
14420         default-gutter-position-changed-hook.
14421         (syms_of_gutter): add default-gutter-position-changed-hook.
14422
14423 2000-02-26  Andy Piper  <andy@xemacs.org>
14424
14425         * specifier.c (Fmake_specifier): add gutter references.
14426
14427         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14428
14429         * lisp.h: declare Fvalid_plist_p.
14430
14431         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14432         as changed.
14433         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14434         well as its visibility so that it gets reconstructed.
14435         (construct_window_gutter_spec): new function. Construct a string
14436         to be displayed in the gutter from a plist of strings. Take care
14437         to only use elements that are declared as visible.
14438         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14439         WINDOW_GUTTER.
14440         (gutter_validate): allow plists of strings in the specifier.
14441         (gutter_specs_changed): construct the real_gutter from the gutter
14442         specs using construct_window_gutter_spec.
14443         (gutter_visible_validate): gutter-visible is a new specifier type.
14444         (Fgutter_visible_specifier_p): new function for the new specifier.
14445         (syms_of_gutter): declare gutter-visible and
14446         Fgutter_visible_specifier_p.
14447         (specifier_type_create_gutter): intitalize new gutter-visible
14448         specifier.
14449         (reinit_specifier_type_create_gutter): ditto.
14450         (specifier_vars_of_gutter): use new specifier type for gutter
14451         visibility.
14452         (init_frame_gutters): construct real_gutter correctly.
14453         (Fgutter_specifier_p): beef up documentation.
14454         (Fgutter_size_specifier_p): ditto.
14455
14456         * winslots.h: add real_gutter slots.
14457
14458 2000-02-25  Andy Piper  <andy@xemacs.org>
14459
14460         * device-msw.c: Be kind to older cygwin versions. From Raymond
14461         Toy <toy@rtp.ericsson.se>.
14462
14463         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14464         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14465
14466 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14467
14468         * elhash.c (MARK_OBJ): Practice macro hygiene.
14469
14470 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14471
14472         * miscplay.c: s/__inline__/inline/g;
14473         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14474         (get_device_compdc): INLINE ==> static inline
14475         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14476         find -name '*.h' | \
14477         xargs global-replace \
14478         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14479
14480 2000-02-25  Andy Piper  <andy@xemacs.org>
14481
14482         * window.c (window_top_frame_gutter_height): new function.
14483         (window_top_window_gutter_height): ditto.
14484         (window_top_gutter_height): use them.
14485         (window_bottom_frame_gutter_height): new function.
14486         (window_bottom_window_gutter_height): ditto.
14487         (window_bottom_gutter_height): use them.
14488         (window_left_window_gutter_width): new function.
14489         (window_left_frame_gutter_width): ditto.
14490         (window_left_gutter_width): use them.
14491         (window_right_window_gutter_width): new function.
14492         (window_right_frame_gutter_width): ditto.
14493         (window_right_gutter_width): use them.
14494         (window_pixel_height): new function. calulate window pixel height
14495         with frame gutter involvement.
14496         (Fsplit_window): calculate new sizes taking frame gutters into
14497         account.
14498         (window_char_height_to_pixel_height): don't include frame gutters.
14499         (window_char_height): use window_pixel_height.
14500         (window_pixheight): rename from window_pixel_height.
14501         (change_window_height): use it.
14502         (window_pixel_height_to_char_height): don't include frame gutters.
14503         (window_char_width_to_pixel_width): ditto.
14504
14505 2000-02-25  Andy Piper  <andy@xemacs.org>
14506
14507         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14508         if it is.
14509
14510 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14511
14512         * alloc.c (staticpro):
14513         (staticpro_nodump):
14514         (dumpstruct):
14515         (dumpopaque):
14516         (pdump_wire):
14517         (pdump_wire_list):
14518         (compact_string_chars):
14519         (pdump_dump_wired):
14520         Convert:  if (foo) abort();  ==>  assert (! foo);
14521
14522         * eldap.c (Fldap_search_basic):
14523         (Fldap_add):
14524         (Fldap_modify):
14525         (Fldap_delete):
14526         Fix compiler warnings, and possible crashes if (random) return
14527         value were to be used.
14528
14529 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14530
14531         * device-msw.c: Workaround ResetDC failure.
14532
14533         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14534         applying a devmode.
14535
14536         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14537         (mswindows_text_width): Do not start printer page.
14538
14539         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14540
14541         * glyphs-msw.c: Added image methods to msprinter console and
14542         msprinter-specific image instantiation.
14543
14544 2000-02-20  Mike Alexander  <mta@arbortext.com>
14545
14546         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14547         to avoid crashes when selection-sets-clipboard is on
14548         (mswindows_own_selection): ditto
14549
14550 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14551
14552         * glyphs-msw.c:
14553         * redisplay-msw.c (get_frame_dc):
14554         (get_frame_compdc):
14555         * console-msw.h:
14556         * device-msw.c (mswindows_init_device):
14557         (mswindows_delete_device):
14558         (msprinter_init_device):
14559         (msprinter_delete_device):
14560         * frame-msw.c (mswindows_init_frame_1):
14561         (mswindows_delete_frame):
14562         (msprinter_init_frame_3):
14563         (msprinter_delete_frame): Move compatible DC to device object from
14564         frame object, for both mswindows and msprinter. Only one at a time
14565         is needed, it is a real waste to have one per frame!
14566
14567 2000-02-23  Andy Piper  <andy@xemacs.org>
14568
14569         * glyphs.c: add dynamic width and height elements.
14570         (image_instance_equal): ditto.
14571
14572         * glyphs-widget.c (widget_query_geometry): calculate width and
14573         height dynamically if required.
14574         (initialize_widget_image_instance): initialize dynamic dimensions.
14575         (widget_instantiate): pick-up dynamic dimensions.
14576
14577         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14578         dynamic determination. Add appropriate macros.
14579
14580         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14581         dimensions safe.
14582         (WINDOW_GUTTER_SIZE): ditto.
14583         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14584
14585         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14586         inline.
14587         (get_frame_dc): ditto.
14588
14589         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14590         here.
14591
14592 2000-02-23  Martin Buchholz <martin@xemacs.org>
14593
14594         * XEmacs 21.2.31 is released.
14595
14596 2000-02-22  Ben Wing <ben@xemacs.org>
14597
14598         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14599
14600 2000-02-22  Andy Piper  <andy@xemacs.org>
14601
14602         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14603
14604 2000-02-21  Mike Sperber <mike@xemacs.org>
14605
14606         * .dbxrc:
14607         * .gdbinit:
14608         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14609         variables.
14610
14611 2000-02-21  Mike Sperber <mike@xemacs.org>
14612
14613         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14614
14615 2000-02-21  Martin Buchholz <martin@xemacs.org>
14616
14617         * XEmacs 21.2.30 is released.
14618
14619 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14620
14621         Performance hacking.
14622         * *.c (syms_of_*):
14623         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14624         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14625         * emacs.c (main_1):
14626         * lisp.h (DEFUN):
14627         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14628         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14629         * symeval.h (DEFVAR_SYMVAL_FWD):
14630         * symbols.c (guts_of_unbound_marker):
14631         Make all c_readonly objects also lisp_readonly and marked for life.
14632         * lrecord.h (struct lrecord_implementation):
14633         Document flags better.
14634         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14635         * lrecord.h (DECLARE_LRECORD):
14636         * lrecord.h (XSETRECORD):
14637         * lrecord.h (RECORDP):
14638         * lrecord.h (RECORD_TYPEP):
14639         * lrecord.h (RECORD_MARKER): New.
14640         * lrecord.h (error_check_*):
14641         * lrecord.h (CONCHECK_NONRECORD):
14642         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14643         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14644         * lrecord.h (set_lheader_implementation):
14645         * lrecord.h (enum lrecord_type): New.
14646         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14647         * alloc.c (disksave_object_finalization_1):
14648         * alloc.c (mark_object):
14649         * alloc.c (lrecord_type_index):
14650         * alloc.c (tick_lcrecord_stats):
14651         * alloc.c (Fgarbage_collect):
14652         * alloc.c (init_alloc_once_early):
14653         * alloc.c (pdump_load):
14654         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14655         * alloc.c (lrecord_type_index): Delete.
14656         Make lisp object type indexes be constant.
14657           Makes (byte-compile) 5% faster.
14658         Put all marker functions into their own array.
14659           Makes (garbage-collect) 5% faster.
14660         Optimize SYMBOL_VALUE_MAGIC_P.
14661           Makes (byte-compile) 2-3% faster.
14662         * config.h.in (gc_checking_assert): New.
14663         * alloc.c: Use gc_checking_assert().
14664         * .dbxrc: Make compatible with new object type implementation.
14665         * .gdbinit: Make compatible with new object type implementation.
14666         * alloc.c: Delete all symbols defined only for debugging, such as
14667         Lisp_Type_Vector and lrecord_charset.
14668
14669 2000-02-21  Andy Piper  <andy@xemacs.org>
14670
14671         * gui-msw.c (Fmswindows_shell_execute): fix file location
14672         problems.
14673
14674         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14675         unshowing so that set_window_buffer doesn't undo
14676         kill_buffer_hook's hard work.
14677
14678         * glyphs-widget.c (tab_control_query_geometry): don't count the
14679         first item when calculating geometry.
14680
14681         * glyphs.c (map_subwindow): remove redundant code.
14682         (update_frame_subwindows): be more circumspect about when to
14683         update subwindows.
14684
14685         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14686         when items haven't changed. Update faces if faces have changed as
14687         well as just the widget face.
14688         (x_tab_control_update): Update faces if faces have changed as well
14689         as just the widget face.
14690
14691 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14692
14693         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14694         registration.
14695         (build_syscolor_string): Use mswindows_color_to_string to try to
14696         get a named color.
14697         (mswindows_device_system_metrics): Reverse the foreground and
14698         background colors so that they match the documentation.
14699
14700         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14701         they match the default Windows palette.
14702         (mswindows_color_to_string): New function.
14703
14704 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14705
14706         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14707
14708 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14709
14710         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14711         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14712
14713         * symbols.c (init_symbols_once_early): Removed obsolete
14714         DATA_SEG_BITS related kludge.
14715         (defvar_magic): Ditto.
14716
14717         * malloc.c: Removed obsolete DATA_SEG_BITS
14718         * ralloc.c: Ditto.
14719         * mem-limits.h: Ditto.
14720
14721         * Makefile.in.in: Removed obsolete HAVE_SHM
14722         * emacs.c: Ditto.
14723
14724 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14725
14726         *  device-msw.c (mswindows_delete_device): Free DDE string
14727         handles.
14728
14729 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14730
14731         * keymap.c (get_keyelt):
14732         * unexnt.c (unexec):
14733         * vm-limit.c (memory_warnings):
14734         * ntheap.c (recreate_heap):
14735         * ntheap.h (UNINIT_PTR):
14736         * select-msw.c (Fmswindows_get_clipboard):
14737         (Fmswindows_set_clipboard):
14738         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14739         * objects-msw.c:
14740         * menubar-msw.c (displayable_menu_item):
14741         * glyphs-msw.c:
14742         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14743         * sysdep.c (sys_subshell):
14744         * process-nt.c (nt_create_process):
14745         * nt.c (normalize_filename):
14746         (dostounix_filename):
14747         (unixtodos_filename):
14748         * ntproc.c (win32_executable_type):
14749         * ntplay.c (play_sound_data_1):
14750         (play_sound_file):
14751         * editfns.c (get_home_directory):
14752         * event-msw.c (struct winsock_stream):
14753         (mswindows_dde_callback):
14754         * device-msw.c (msprinter_init_device):
14755         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14756
14757         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14758         mswindows_clear_toolbar were swapped!
14759
14760         * objects-msw.c:(colormap_t):
14761         (fontmap_t):
14762         * emacs.c (struct standard_args): Fixed const jumble.
14763
14764         * glyphs-widget.c (update_widget): Fixed comparison notation.
14765
14766         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14767
14768         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14769         __declspec(noreturn) syntax.
14770
14771 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14772
14773         * eldap.c (Fldap_open):
14774         (Fldap_search_basic):
14775         (Fldap_add):
14776         (Fldap_modify):
14777         Use new coding system conversion macros.
14778
14779 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14780
14781         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14782
14783 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14784
14785         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14786         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14787
14788         * eldap.c (Qadd, Qreplace): New constant symbols
14789         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14790         interruptions by XEmacs signals
14791         Remove unnecessary calls to slow_down_interrupts and
14792         speed_up_interrupts
14793         (Fldap_search_basic): Renamed from Fldap_search_internal
14794         Added new optional parameter VERBOSE that triggers the
14795         display of progress messages
14796         Remove unnecessary calls to slow_down_interrupts and
14797         speed_up_interrupts
14798         LDAP result code analysis rewritten
14799         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14800         (syms_of_eldap): Define the new symbols and functions
14801
14802
14803 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14804
14805         * realpath.c: Determine PATH_MAX maximally portably.
14806
14807         * insdel.c (bytecount_to_charcount): Optimize.
14808         The function used to be optimized for entirely ASCII sequences.
14809         Now it is optimized for successive characters from the same
14810         charset.  This also wins big for _mostly_ ASCII sequences.
14811
14812         * fileio.c (Ffile_truename): convert return from realpath() using
14813         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14814         - Rewrite GCPROing slightly.
14815
14816         * sysdep.c (sys_open): Do filename conversion, like all other
14817         sys_* functions.  Fixes bug:
14818         (let ((file-name-coding-system 'iso-8859-2))
14819            (write-region x y latin2-name))
14820         ==> writes filename using internal encoding.
14821
14822 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14823
14824         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14825         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14826         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14827         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14828         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14829         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14830         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14831         (CONST_IF_NOT_DEBUG): Delete.
14832         * alloc.c (this_one_is_unmarkable): Delete.
14833         (mark_object): Don't check for this_one_is_unmarkable. Use the
14834         c_readonly flag instead.
14835         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14836
14837 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14838
14839         * event-msw.c (mswindows_drain_windows_queue):
14840         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14841         away redundant repaint events.
14842
14843 2000-02-17  Andy Piper  <andy@xemacs.org>
14844
14845         * redisplay.h: declare mark_redisplay_structs.
14846
14847         * redisplay.c (redisplay_window):
14848         (redisplay_frame): don't check subwindows_state_changed.
14849         (mark_redisplay): mark gutters here.
14850
14851         * glyphs.c: (instantiate_image_instantiator): always layout if we
14852         haven't done so already.
14853         (allocate_image_instance): don't mark as dirty.
14854         (update_subwindow): bind inhibit_quit.
14855
14856         * gutter.c (mark_gutters): new function.
14857
14858         * glyphs-x.c (x_update_widget): Always resize to get round a
14859         widget bug.
14860
14861         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14862         breaking absolutely everything.
14863
14864         * gutter.h: declare mark_gutters.
14865
14866 2000-02-16  Martin Buchholz <martin@xemacs.org>
14867
14868         * XEmacs 21.2.29 is released.
14869
14870 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14871
14872         * fns.c (size_bit_vector): Fix computation of the size.
14873
14874 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14875
14876         * *.[ch]: Change CONST to const globally.
14877         find -name '*.[ch]' | \
14878         xargs global-replace \
14879         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14880         - Remove vestigial references to CONST_IS_LOSING
14881
14882 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14883
14884         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14885         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14886         events instead of dispatching them directly.
14887         (mswindows_handle_paint): New function to do repainting.
14888         (mswindows_wnd_proc):
14889         (emacs_mswindows_handle_magic_event): Call above function.
14890
14891 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14892
14893         * objects-msw.c (mswindows_create_font_variant): Return the new
14894         font handle.
14895         (initialize_font_instance): Get font metrics from the underlined
14896         variant of the font to cope with the case where the underlined
14897         font has a bigger descent.
14898
14899 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14900
14901         * gui.c (gui_item_accelerator): Return the first underlined
14902         character in item name.
14903
14904 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14905
14906         * lisp.h: Added Qprinter.
14907
14908         * general.c (syms_of_general): Initialized it.
14909
14910         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14911         (get_frame_dc):
14912         (get_frame_compdc): Made inline.
14913
14914         * console.h (struct console_methods): Added eject_page method.
14915
14916         * frame.h: Added FRAME_DISPLAY_P and friends.
14917         Aligned backslahes in many macros in more readable fashion.
14918         Added page_number to struct frame, and an accessor macro
14919         for it.
14920
14921         * defice.h: Added DEVICE_DISPLAY_P and friends.
14922
14923         * device.c (Fdevice_printer_p): Used these.
14924
14925         * frame.c (allocate_frame_core): Initialize page number.
14926         (Fprint_job_page_number):
14927         (Fprint_job_eject_page): Implemented.
14928
14929         * frame-msw.c (msprinter_eject_page): Added method.
14930         (msprinter_start_page): Added.
14931
14932         * window.c (Fwindow_truncated_p): Fixed docstring.
14933         (Fwindow_last_line_visible_height): Implemented.
14934
14935 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14936
14937         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
14938
14939 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14940
14941         * syntax.c (scan_words): Always advance at least one character.
14942
14943 2000-02-13  Andy Piper  <andy@xemacs.org>
14944
14945         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
14946         to make sure the glyph is in the cachels.
14947
14948         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
14949         global image instance flag.
14950         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
14951         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
14952
14953         * glyphs.c (allocate_image_instance): set dirty bits correctly.
14954         (Fset_image_instance_property): mark layout as changed.
14955         (invalidate_glyph_geometry_maybe): mark layout as changed.
14956         (glyph_width): use new NEEDS_LAYOUT macro.
14957         (glyph_ascent): ditto.
14958         (glyph_descent): ditto.
14959         (glyph_height): ditto.
14960         (image_instance_layout): mark layout as clean after laying out.
14961         (update_subwindow): don't mark layout as clean here.
14962
14963         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
14964         should no longer be needed.
14965
14966         * glyphs-x.c (x_update_widget): sanitize asserts.
14967         (x_finalize_image_instance): sanitize assignment to widgets.
14968
14969         * glyphs-widget.c (widget_instantiate): don't need to clear the
14970         layout flag here.
14971
14972 2000-02-13  Martin Buchholz  <martin@xemacs.org>
14973
14974         * sysdep.c (getcwd): Use standard prototype.
14975         * sysdep.h (getcwd): Use standard prototype.
14976
14977         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
14978         (sequence, start, end).
14979         Remove redundant type checking.
14980         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
14981         view of `caller-protects') to avoid a crash where the real fix was
14982         found elsewhere.
14983
14984 2000-02-12  Martin Buchholz  <martin@xemacs.org>
14985
14986         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
14987
14988         * s/sol2.h: Remove feature macro initialization.
14989
14990         * alloc.c (alloc_lcrecord): Add more type checking assertions.
14991         (vector_hash): New.  Code from internal_hash.
14992         * lrecord.h:
14993         Fix up allocation subsystem comments.
14994
14995         * config.h.in: Add __EXTENSIONS__ for Solaris.
14996
14997         * systime.h (EMACS_GETTIMEOFDAY): New.
14998         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
14999         Remove Solaris-specific code.
15000         Use void* for the (ignored) second arg for gettimeofday().
15001
15002         * elhash.c (hash_table_hash): Implement it, finally.
15003         * elhash.c:  Use hashcode_t.
15004
15005         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15006         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15007
15008         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15009         * fns.c (size_bit_vector):
15010         * alloc.c (size_vector):
15011         (make_vector_internal):
15012         (make_bit_vector_internal):
15013         (sweep_bit_vectors_1):
15014         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15015
15016 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15017
15018         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15019         Include strings.h to avoid warnings for bzero and strcasecmp.
15020
15021 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15022
15023         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15024         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15025
15026         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15027         sequence.
15028
15029 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15030
15031         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15032         use a value field instead.
15033         (symbol_value_forward_forward): Use value field.
15034         (DEFVAR_SYMVAL_FWD): Use value field.
15035         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15036         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15037         (DEFVAR_CONST_INT): Ditto.
15038         (DEFVAR_BOOL): Ditto.
15039         (DEFVAR_CONST_BOOL): Ditto.
15040         (DEFVAR_INT_MAGIC): Ditto.
15041         (DEFVAR_BOOL_MAGIC): Ditto.
15042
15043         * symbols.c (guts_of_unbound_marker): Use value field.
15044         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15045         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15046
15047         * lisp.h: Declare dumpopaque and noninteractive1.
15048
15049         * alloc.c (dumpopaque): Added.
15050         (pdump_dump_opaquevec): Added.
15051         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15052         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15053         noninteractive.
15054
15055 2000-02-10  Andy Piper  <andy@xemacs.org>
15056
15057         * glyphs.c (image_instance_layout): if the size changes, mark it
15058         as such.
15059
15060         * redisplay-output.c (redisplay_output_layout): Update the
15061         subwindow here.
15062         (redisplay_output_subwindow): ditto.
15063
15064         * glyphs.c (update_subwindow): make sure we reset flags for
15065         layouts as well as everything else.
15066
15067         * glyphs-widget.c (layout_layout): don't need to set the instances
15068         dimensions here.
15069
15070 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15071
15072         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15073         not HAVE_DLOPEN, which is a lower-level thing.
15074
15075         * .cvsignore: Ignore gmon.out
15076
15077 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15078
15079         * .cvsignore: Ignore portable dumper xemacs.dmp file
15080
15081 2000-02-09  Andy Piper  <andy@xemacs.org>
15082
15083         * redisplay-output.c (redisplay_output_layout): be more clever
15084         about when we output based on the changed flags.
15085
15086         * glyphs.h (struct image_instantiator_methods): add update_method.
15087         (struct Lisp_Image_Instance): add changed flags. Declare new
15088         macros for manipulating them.
15089
15090         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15091         (image_instance_parent_glyph): find an image_instance's parent
15092         glyph or image_instance.
15093         (image_instance_layout): mark the size as changed.
15094         (set_image_instance_dirty_p): new function. mark an image
15095         instance, plus all of its parents, as dirty.
15096         (Fset_image_instance_property): use it.
15097         (Fglyph_animated_timeout_handler): use it.
15098         (update_subwindow): call update_widget and device methods for
15099         update_subwindow. Mark all changed flags as clean.
15100         (Fresize_subwindow): mark size as changed.
15101
15102         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15103         failures.
15104         (x_update_subwindow): only resize subwindows here.
15105         (x_update_widget): new function. Update all changed properties of
15106         a widget.
15107         (x_resize_subwindow): deleted.
15108         (x_widget_set_property): deleted.
15109         (x_progress_gauge_set_property): deleted.
15110         (x_progress_gauge_update): new function. Implement recorded
15111         changes.
15112         (x_tab_control_update): ditto.
15113         (x_tab_control_set_property): deleted.
15114         (console_type_create_glyphs_x): declare new functions.
15115         (image_instantiator_format_create_glyphs_x): ditto.
15116
15117         * glyphs-widget.c (widget_set_property): mark text changed.
15118         (update_widget): new function. Update properties of a widget.
15119         (widget_instantiate): for layouts make sure we set their
15120         children's parent correctly.
15121         (tab_control_set_property): new function. Record changes that will
15122         take place under redisplay's control.
15123         (progress_gauge_set_property): ditto.
15124         (image_instantiator_progress_guage): declare new functions.
15125         (image_instantiator_tab_control): ditto.
15126
15127         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15128         now.
15129         (mswindows_update_widget): new function. Update all properties on
15130         a widget that have changed.
15131         (mswindows_button_update): new function. Update a button's set
15132         state.
15133         (mswindows_tab_control_update): new function. Update the items in
15134         a tab.
15135         (mswindows_tab_control_set_property): deleted.
15136         (mswindows_progress_gauge_update): new function. Update the
15137         progress gauge's progress.
15138         (mswindows_widget_set_property): deleted. This is all done
15139         asynchronously now.
15140         (mswindows_progress_gauge_set_property): ditto.
15141         (console_type_create_glyphs_mswindows): declare new methods.
15142         (image_instantiator_format_create_glyphs_mswindows): ditto.
15143
15144         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15145         (msprinter_set_frame_properties): ditto.
15146
15147         * console.h (struct console_methods): Add update_widget_method.
15148
15149 2000-02-09  Andy Piper  <andy@xemacs.org>
15150
15151         * gui-msw.c (Fmswindows_shell_execute): Make
15152         mswindows-shell-execute industrial strength.
15153
15154 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15155
15156         * lrecord.h: Make macro argument `props' match member function `plist'.
15157         * fns.c (Fget):
15158         * fns.c (Fput):
15159         * fns.c (Fremprop):
15160         * fns.c (Fobject_plist):
15161         * alloc.c:
15162         * symbols.c:
15163         Object property list frobbing cleanup.
15164         - Allow any lisp object (compared with `eq'), not just symbols, as
15165           keys in object plists.
15166         - Move symbol plist frobbing into symbols.c, where it belongs.
15167         - Move string plist frobbing into alloc.c, where it belongs.
15168         - Everything's an lrecord now, so no need to test for symbolp, etc.
15169         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15170
15171         * extents.c: Reorder code to remove declarations.
15172
15173         * frame.h (store_in_alist): Remove useless declaration.
15174
15175 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15176
15177         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15178         * config.h.in: Add HAVE_XCONVERTCASE.
15179
15180 2000-02-07  Andy Piper  <andy@xemacs.org>
15181
15182         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15183         it breaks many things.
15184
15185 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15186
15187         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15188         actually can start a common comment type.
15189         * src/syntax.h (SYNTAX_END_P): ditto for end.
15190
15191 2000-02-07  Martin Buchholz <martin@xemacs.org>
15192
15193         * XEmacs 21.2.28 is released.
15194
15195 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15196
15197         * event-Xt.c (x_keysym_to_character): New.
15198         (maybe_define_x_key_as_self_inserting_character): New.
15199         (x_has_keysym): New.
15200         Auto-define all keys on the keyboard as self-insert-key.
15201
15202 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15203
15204         * menubar.c (vars_of_menubar): A small code simplification.
15205
15206         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15207
15208         * ExternalShell.c:
15209         * ExternalClient.c:
15210         * EmacsShell-sub.c:
15211         * EmacsManager.c:
15212         * EmacsFrame.c:
15213         Use consistent style for specifying X resources.
15214
15215         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15216         This makes (dontusethis-set-symbol-value-handler) actually usable.
15217
15218         * lrecord.h (lrecord_decription_type):
15219         * alloc.c (pdump_register_sub):
15220         (pdump_dump_data):
15221         (pdump_reloc_one):
15222         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15223         Comply with XEmacs coding style.
15224         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15225         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15226
15227         * keymap.c (Faccessible_keymaps):
15228         Make (accessible-keymaps map "\C-h") do the Right Thing.
15229         Make (accessible-keymaps map []) do the Right Thing.
15230         Make (accessible-keymaps map "") do the Right Thing.
15231         (check_keymap_definition_loop): New function.
15232         (keymap_store_internal): Keep luser from shooting self in foot,
15233           via (define-key ctl-x-4-map "p" global-map).
15234         Remove fullness slot from struct Lisp_Keymap, since hash tables
15235         are now reliable.
15236         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15237
15238 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15239
15240         * redisplay.c (init_redisplay): Fix small memory leak.
15241         * elhash.h:
15242         * elhash.c (pdump_reorganize_hash_table):
15243         Rename from reorganize_hash_table. Change prototype.
15244         Reuse the original memory for hentries.  Save 100k.
15245         * alloc.c (PDUMP_READ): new macro.
15246         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15247         * alloc.c: No need to #ifndef before #undef.
15248
15249         * print.c: Allow debug_print() to print readably by modifying
15250         debug_print_readably.  Use consistent variable names.
15251
15252         * .dbxrc: Try to get things to work even if stopped in a function
15253         without source available by explicitly specifying source files.
15254 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15255
15256         * unexnt.c (_start): Removed bogus code which caused loading heap
15257         from differrent executable file.
15258         Removed bogus assignment to _fmode, which caused inconsistencies.
15259
15260 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15261
15262         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15263         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15264         Do not preliminary `#define signal sigset'.
15265
15266         * systime.h: Do not prototype environ on windows nt and cygwin,
15267         this conflicts with system header.
15268
15269         * syssignal.h: Use correct define for WINDOWSNT
15270
15271         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15272         with system header.
15273
15274         * sysdep.c (near start of file): Fixed commentary and rearranged
15275         ifdefs in readable order.
15276         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15277         (start_of_text):
15278         (end_of_text):
15279         (end_of_data): Do not compile in if using PDUMP.
15280
15281         * symsinit.h: Prototyped vars_of_nt().
15282
15283         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15284         (find_child_console): Use it.
15285         (sys_kill): Use it.
15286
15287         * ntheap.h: Do not extern os_subtype.
15288
15289         * ntheap.c (cache_system_info): Do not cache unneeded:
15290         nt_major_version, nt_minor_version and os_subtype.
15291         (recreate_heap): Do not compile in when PDUMPing.
15292
15293         * nt.c (geteuid and friends): Use the new varibale
15294         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15295         (init_user_info): Removed the above mentioned hackery.
15296         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15297         stat has been fixed in the C runtime.
15298         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15299
15300         * file-coding.c (struct file_coding_dump): Do not define
15301         ucs_to_mule_table in the struct if not MULE.
15302         (struct struct lrecord_description fcd_description_1): Do not dump
15303         the above.
15304
15305         * emacs.c (main_1): Call vars_of_nt().
15306         (right before Fdump_emacs_data): Don't need lastfile if using both
15307         portabe dumper and system malloc.
15308
15309         * alloc.c (Fmemory_limit): Conditionalized out.
15310         (pdump): Use OPEN_BINARY for the portable dump file.
15311         (pdump_load): Ditto.
15312
15313 2000-02-02  Mike Alexander  <mta@arbortext.com>
15314
15315         * nt.c (convert_time): Set tm_isdst before calling mktime and
15316         avoid calling it at all if the compiler supports 64 bit integers.
15317         Also initialize utc_base_ft before using it.
15318
15319 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15320
15321         * frame.c (change_frame_size_1): Take f->internal_border_width
15322         into consideration when calculating the width of the frame.
15323
15324 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15325
15326         * window.c (frame_min_height):
15327         (frame_size_valid_p):
15328         (frame_pixsize_valid_p): Added.
15329         (check_frame_size): Generalized.
15330
15331         * window.h: Prototyped the above.
15332
15333         * lisp.h:
15334         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15335         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15336         Deleted Vwin32_* and Vbinary_process_* unused variables.
15337
15338         * device-msw.c (msprinter_init_device): Do not get printer font
15339         list; Added DEVMODE functions.
15340
15341         * frame-msw.c: Added lots of printer code.
15342
15343         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15344         general.c.
15345
15346         * console-msw.h: Added more msprinter device private slots.
15347
15348 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15349
15350         * event-msw.c (key_needs_default_processing_p): Added.
15351         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15352
15353 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15354
15355         * glyphs.c (image_instance_layout): Mark image instance as clean
15356         after layout.
15357         (glyph_dirty_p): Removed redundant function.
15358         (invalidate_glyph_geometry_maybe): Added.
15359         (update_glyph_cachel_data): Call it.
15360
15361         * glyphs.h: Prototyped it.
15362
15363         * redisplay.c (add_glyph_rune): Call it.
15364         (redisplay_window): Reset glyphs cachels when frame faces have
15365         changed, thus forcing recomputation of built-in border glyphs.
15366
15367 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15368
15369         * Makefile.in.in: Make portable dumper and purify play well together.
15370         Add imperfect, but better than nothing, support for pdump.
15371         Remove xemacs.dmp when temacs is re-generated.
15372         Don't ignore errors when dumping xemacs.
15373
15374         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15375
15376 2000-01-28  Andy Piper  <andy@xemacs.org>
15377
15378         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15379         (setup_normal_frame): ditto.
15380         (setup_frame_without_minibuffer): ditto.
15381         (setup_minibuffer_frame): ditto.
15382         (delete_frame_internal): ditto.
15383         (Fmake_frame_invisible): ditto.
15384         (Ficonify_frame): ditto.
15385
15386         * window.h: change Fset_window_buffer signature.
15387
15388         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15389         (Fset_window_buffer): allow recording of buffer if the window is
15390         the selected window.
15391         (window_loop): Use new Fset_window signature.
15392
15393 2000-01-23  Daniel Pittman  <daniel@danann.net>
15394
15395         * config.h.in: Added template for `HAVE_ATHENA_3D'
15396
15397 2000-01-29  Andy Piper  <andy@xemacs.org>
15398
15399         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15400
15401         * gutter.c (output_gutter): Don't output if the window isn't live.
15402
15403 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15404
15405         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15406         of 01/12/00: Moved SetFocus back here where it belongs.
15407
15408 2000-01-23  Andy Piper  <andy@xemacs.org>
15409
15410         * s/cygwin32.h: declare printer things.
15411
15412 2000-01-26  Andy Piper  <andy@xemacs.org>
15413
15414         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15415         Alexander.
15416
15417 2000-01-24  Andy Piper  <andy@xemacs.org>
15418
15419         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15420         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15421
15422         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15423
15424         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15425
15426         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15427
15428         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15429         (mswindows_output_display_block): Avoid local shadows.
15430
15431         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15432         (mswindows_enqueue_mouse_button_event): ditto.
15433         (mswindows_handle_gui_wm_command): remove declaration.
15434
15435         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15436         warnings.
15437
15438         * console-msw.h: Avoid shadows.
15439         (mswindows_get_toolbar_button_text):
15440         (emacs_mswindows_create_stream_pair):
15441         (emacs_mswindows_delete_stream_pair):
15442         (mswindows_handle_toolbar_wm_command): declare.
15443
15444         * device-msw.c (build_syscolor_string): Avoid shadows.
15445
15446 2000-01-23  Andy Piper  <andy@xemacs.org>
15447
15448         * glyphs-widget.c (widget_instantiate): reverse the items for
15449         layouts so that children are in the expected order.
15450
15451 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15452
15453         * ralloc.c: safe_bcopy ==> memmove
15454         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15455         * s/msdos.h: Remove BCOPY macros.
15456         * insdel.c (gap_right): Remove BCOPY conditional code.
15457         * insdel.c (gap_left): Remove BCOPY conditional code.
15458         XEmacs demands a working ANSI C compiler - hence memmove.
15459
15460         * regex.c (regex_compile): Remove accidental use of trigraphs.
15461
15462 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15463
15464         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15465         event timestamp.
15466
15467 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15468
15469         * event-msw.c (mswindows_drain_windows_queue): Added the
15470         parameter.
15471         (mswindows_need_event): Commented the call to
15472         mswindows_drain_windows_queue().
15473         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15474         only.
15475
15476         * console-msw.h: Moved a few function prototypes here from
15477         event-msw.c.
15478
15479         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15480         parameter from unsigned short to unsigned long.
15481         (Fmswindows_shell_execute): Added return value.
15482
15483 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15484
15485         * sysdep.c (init_system_name):
15486           process-unix.c (unix_canonicalized_host_name):
15487         Don't call freeaddrinfo() if getaddrinfo() fails.
15488
15489         * process-unix.c (unix_open_unix_network_stream):
15490         Moved the code to get a port # into address loop.
15491
15492 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15493
15494         * buffer.c (reinit_vars_of_buffer):
15495         The right place to initialize conversion_in_dynarr and
15496         conversion_out_dynarr.
15497
15498         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15499
15500         * process-unix.c (unix_canonicalize_host_name): Muleize.
15501         (unix_open_network_stream): Muleize.
15502
15503         * buffer.h: Fix up prototypes for ralloc.c functions.
15504
15505 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15506         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15507         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15508                 instead of gethostbyname()
15509         * process-unix.c: In unix_canonicalize_host_name() and
15510                 unix_open_network_stream(), add code to use getaddrinfo()
15511                 instead of gethostbyname().
15512
15513 2000-01-27  Daniel Pittman <daniel@danann.net>
15514
15515         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15516         libs when built with flat Athena.
15517
15518 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15519
15520         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15521         Use coding standards for function prototypes.
15522
15523 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15524
15525         * dialog-msw.c (push_lisp_string_as_unicode):
15526         * doc.c (unparesseuxify_doc_string):
15527         * dired.c (Fuser_name_completion_1):
15528         * dired.c (Fuser_name_all_completions):
15529         * dired.c (free_user_cache):
15530         * dired.c (user_name_completion):
15531         * console-x.c (get_display_arg_connection):
15532         * minibuf.c (clear_echo_area_internal):
15533         * minibuf.c (echo_area_append):
15534         * eldap.c (Fldap_open):
15535         * eldap.c (Fldap_search_internal):
15536         * frame-x.c (x_set_frame_text_value):
15537         * frame-x.c (x_set_frame_properties):
15538         * frame-x.c (x_create_widgets):
15539         * redisplay-tty.c (term_get_fkeys_1):
15540         * objects-x.c (x_parse_nearest_color):
15541         * objects-x.c (x_valid_color_name_p):
15542         * objects-x.c (x_initialize_font_instance):
15543         * objects-x.c (x_list_fonts):
15544         * objects-x.c (x_find_charset_font):
15545         * tooltalk.c (Fadd_tooltalk_message_arg):
15546         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15547         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15548         * process-unix.c (unix_create_process):
15549         * ntproc.c (sys_spawnve):
15550         * sound.c (Fplay_sound_file):
15551         * sound.c (Fplay_sound):
15552         * buffer.c (init_initial_directory):
15553         * buffer.c (init_buffer):
15554         * editfns.c (init_editfns):
15555         * editfns.c (Ftemp_directory):
15556         * editfns.c (Fuser_full_name):
15557         * editfns.c (uncache_home_directory):
15558         * editfns.c (get_home_directory):
15559         * editfns.c (Fuser_home_directory):
15560         * editfns.c (Fformat_time_string):
15561         * editfns.c (Fcurrent_time_string):
15562         * gui-x.c (button_item_to_widget_value):
15563         * database.c (Fopen_database):
15564         * event-Xt.c (x_to_emacs_keysym):
15565         * event-Xt.c (x_event_to_emacs_event):
15566         * event-Xt.c (describe_event_window):
15567         * event-msw.c (mswindows_wnd_proc):
15568         * glyphs-eimage.c (jpeg_instantiate):
15569         * glyphs-eimage.c (gif_instantiate):
15570         * glyphs-eimage.c (png_instantiate):
15571         * glyphs-eimage.c (tiff_instantiate):
15572         * glyphs-x.c (xbm_instantiate_1):
15573         * glyphs-x.c (x_xbm_instantiate):
15574         * glyphs-x.c (x_xface_instantiate):
15575         * glyphs-x.c (autodetect_instantiate):
15576         * glyphs-x.c (cursor_font_instantiate):
15577         * glyphs-x.c (x_widget_instantiate):
15578         * glyphs-x.c (x_widget_set_property):
15579         * glyphs-x.c (x_widget_property):
15580         * glyphs-x.c (BUILD_GLYPH_INST):
15581         * print.c (write_string_to_stdio_stream):
15582         * print.c (output_string):
15583         * print.c (Falternate_debugging_output):
15584         * print.c (Fexternal_debugging_output):
15585         * glyphs-msw.c (extract_xpm_color_names):
15586         * glyphs-msw.c (mswindows_xpm_instantiate):
15587         * glyphs-msw.c (bmp_instantiate):
15588         * glyphs-msw.c (resource_name_to_resource):
15589         * glyphs-msw.c (mswindows_resource_instantiate):
15590         * glyphs-msw.c (xbm_instantiate_1):
15591         * glyphs-msw.c (mswindows_xbm_instantiate):
15592         * glyphs-msw.c (mswindows_xface_instantiate):
15593         * glyphs-msw.c (mswindows_widget_instantiate):
15594         * glyphs-msw.c (add_tree_item):
15595         * glyphs-msw.c (add_tab_item):
15596         * glyphs-msw.c (mswindows_combo_box_instantiate):
15597         * glyphs-msw.c (mswindows_widget_property):
15598         * glyphs-msw.c (mswindows_combo_box_property):
15599         * glyphs-msw.c (mswindows_widget_set_property):
15600         * console.c (stuff_buffered_input):
15601         * objects-msw.c (mswindows_initialize_color_instance):
15602         * objects-msw.c (mswindows_valid_color_name_p):
15603         * objects-msw.c (mswindows_list_fonts):
15604         * objects-msw.c (mswindows_font_instance_truename):
15605         * bytecode.c (optimize_compiled_function):
15606         * select-x.c (symbol_to_x_atom):
15607         * select-x.c (x_atom_to_symbol):
15608         * select-x.c (hack_motif_clipboard_selection):
15609         * select-x.c (selection_data_to_lisp_data):
15610         * select-x.c (lisp_data_to_selection_data):
15611         * select-x.c (Fx_get_cutbuffer_internal):
15612         * select-x.c (Fx_store_cutbuffer_internal):
15613         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15614         * buffer.h (TO_INTERNAL_FORMAT): New function.
15615         * emacs.c (make_arg_list_1):
15616         * emacs.c (make_argc_argv):
15617         * emacs.c (main_1):
15618         * emacs.c (Fdump_emacs):
15619         * emacs.c (split_string_by_emchar_1):
15620         * file-coding.h:
15621         * lisp.h:
15622         * lstream.h:
15623         * symsinit.h:
15624         * device-x.c (x_init_device):
15625         * device-x.c (Fx_valid_keysym_name_p):
15626         * device-x.c (Fx_get_font_path):
15627         * device-x.c (Fx_set_font_path):
15628         * glyphs.c (bitmap_to_lisp_data):
15629         * glyphs.c (pixmap_to_lisp_data):
15630         * alloc.c (make_ext_string): Use coding system arguments.  Update
15631         all callers.
15632         * alloc.c (build_string):
15633         * callproc.c (child_setup):
15634         * callproc.c (init_callproc):
15635         * fileio.c (lisp_strerror):
15636         * fileio.c (directory_file_name):
15637         * fileio.c (Fexpand_file_name):
15638         * fileio.c (Ffile_truename):
15639         * fileio.c (Fsysnetunam):
15640         * fileio.c (Fdo_auto_save):
15641         * sysdep.c (sys_readdir):
15642         * tests.c: New file.  Allow adding C tests.
15643         Replace GET_* macros with a more comprehensible and flexible
15644         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15645         Modify all calls.
15646         Any coding system can be used to do format conversion.
15647         Eliminate enum external_data_format.
15648         Eliminate convert_to_external_format.
15649         Eliminate convert_to_internal_format.
15650         Make sure file-name, keyboard, terminal, and ctext are always
15651         defined as coding systems or aliases.  Make
15652         file-name-coding-system, terminal-coding-system, and
15653         keyboard-coding-system magical variables that are equivalent to
15654         defining the corresponding coding system aliases.
15655
15656         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15657         * file-coding.c (Fcoding_system_alias_p): New function.
15658         * file-coding.c (Fcoding_system_aliasee): New function.
15659         * file-coding.c (append_suffix_to_symbol): New function.
15660         * file-coding.c (dangling_coding_system_alias_p): New function.
15661         * file-coding.c (Ffind_coding_system):
15662         * file-coding.c (Fcopy_coding_system):
15663         * file-coding.c (encode_coding_no_conversion):
15664         * file-coding.c (syms_of_file_coding):
15665         * file-coding.c (vars_of_file_coding):
15666         Rewrite coding system alias code.
15667         Allow nested aliases, like symbolic links.
15668         Allow redefinition of coding system aliases.
15669         Prevent existence of dangling coding system aliases.
15670
15671         * dired.c (Fuser_name_completion_1):
15672         * dired.c (Fuser_name_all_completions):
15673         A crash would happen if user did QUIT in the middle of building
15674         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15675
15676         * lisp.h:
15677         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15678
15679         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15680         an unsigned char *.  Update all callers.
15681
15682 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15683
15684         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15685
15686 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15687
15688         * elhash.c (hentry_description): Use more portable definition.
15689         (resize_hash_table): Initialize new hentries using
15690         xnew_array_and_zero, thereby simplifying the code.
15691
15692         * mule-charset.c (make_charset): Make sure entire object is
15693         initialized, to avoid Purify warnings.
15694
15695         * alloc.c (resize_string): Fix unlikely crash with big strings.
15696
15697 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15698
15699         * realpath.c (xrealpath):
15700         Don't call getwd().
15701
15702 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15703
15704         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15705
15706 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15707
15708         * unexelfsgi.c (unexec): Change the way we decide which segment
15709         should be extended.
15710
15711         Assumption that .bss section should be outside the PT_LOADable
15712         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15713         it's present) is inside the 'data' segment. This would fail the
15714         test which was used to find a segment to grow and cover new
15715         heap. Instead of this assumption, I created another one - on IRIX
15716         the segment to grow should start below .bss and it's address
15717         should extent above the end of .bss. Once this segment is
15718         identified, it's grown to accommodate the new heap and new
15719         zero-length .bss section is added at the end of .data2.
15720
15721 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15722
15723         * eval.c (Feval): Wrong number of arguments should use original
15724         function, not the indirect_function version of it.
15725
15726 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15727
15728         * glyphs-x.c (x_button_instantiate): Don't add image if
15729         it is not a pixmap.
15730         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15731         is relative.
15732
15733 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15734
15735         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15736         declaration.
15737         (DEFVAR_INT_MAGIC): Ditto.
15738         (DEFVAR_BOOL_MAGIC): Ditto.
15739         * glyphs.h: Reindent backslash.
15740
15741 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15742
15743         * glyphs-widget.c (layout_query_geometry):
15744         (layout_layout): Use correct types for gheight, gwidth.
15745
15746 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15747
15748         * EmacsManager.c (QueryGeometry): Purified.
15749
15750 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15751
15752         * alloc.c (make_float): Make sure entire object is initialized, to
15753         avoid Purify warnings.
15754         (pdump_register_sub): Remove useless assignment.
15755         (pdump): Use xmalloc, not malloc.
15756         (pdump_load): Use xmalloc, not malloc.
15757
15758 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15759
15760         * callproc.c:
15761         * dired-msw.c:
15762         * fileio.c:
15763         * process-nt.c:
15764         * redisplay-msw.c:
15765         * sysdep.c: Removed redundant #include <windows.h>
15766
15767 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15768
15769         * frame.c (delete_frame_internal): Do not delete device when its
15770         implementation so declares.
15771         (delete_frame_internal): Set device selected frame to nil when
15772         last frame goes away.
15773
15774         * device-msw.c (msprinter_device_system_metrics): Implemented.
15775         (mswindows_device_system_metrics): Added 'device-dpi property.
15776
15777         * device.c: (Fdevice_printer_p): Added.
15778         Added 'offset-workspace device metric.
15779
15780         * console.h (device_metrics): Declared DM_offset_workspace.
15781
15782 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15783
15784         * fileio.c (Ffile_truename): Remove pointless and confusing
15785         initialization of elen.
15786
15787         * glyphs-widget.c: Compiler warning fixes.
15788
15789 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15790
15791         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15792         instead of a Lisp_Object as argument to make it consistent with
15793         the other LIVE_P macros.
15794         (CHECK_LIVE_PROCESS): New macro.
15795
15796         * process.c: Declare Qprocess_live_p.
15797         (Fprocess_live_p): New function.
15798         (create_process): Use PROCESS_LIVE_P.
15799         (read_process_output): Ditto.
15800         (set_process_filter): Ditto.
15801         (Fdelete_process): Ditto.
15802         (kill_buffer_processes): Ditto
15803         (process_send_signal): Use CHECK_LIVE_PROCESS.
15804         (Fprocess_input_coding_system): Check whether process is still
15805         alive (fix PR#1061).
15806         (Fprocess_output_coding_system): Ditto.
15807         (Fprocess_coding_system): Ditto.
15808         (Fset_process_input_coding_system): Ditto.
15809         (Fset_process_output_coding_system): Ditto.
15810
15811 2000-01-23  Andy Piper  <andy@xemacs.org>
15812
15813         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15814         layout and widget.
15815
15816         * glyphs.c (mark_image_instance): take into account changed
15817         image_instance format.
15818         (image_instance_equal): ditto.
15819         (image_instance_hash): ditto.
15820
15821         * glyphs-widget.c (widget_instantiate): Incorporate layout
15822         instantiation here. Delay layout of the layout until later.
15823         (layout_instantiate): deleted.
15824         (layout_query_geometry): new function. get the geometry of a
15825         layout.
15826         (layout_layout): layout a layout dynamically.
15827         (image_instantiator_widget): New function - splitting up
15828         image_instantiator_format_create_glyphs_widget for netwinder
15829         compilation.
15830         (image_instantiator_buttons):
15831         (image_instantiator_edit_fields):
15832         (image_instantiator_combo_box):
15833         (image_instantiator_scrollbar):
15834         (image_instantiator_progress_guage):
15835         (image_instantiator_tree_view):
15836         (image_instantiator_tab_control):
15837         (image_instantiator_labels):
15838         (image_instantiator_layout): ditto.
15839         (image_instantiator_format_create_glyphs_widget): Call preceding
15840         functions.
15841
15842 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15843
15844         * process.c (Fset_process_coding_system):
15845         * device-x.c (Fx_keysym_hash_table):
15846         Docstring fixes.
15847
15848         * lstream.c (Lstream_write): Return documented value, not 0.
15849
15850         * fileio.c (directory_file_name):
15851         (Fsubstitute_in_file_name):
15852         (Fsubstitute_insert_file_contents_internal):
15853         (Fwrite_region_internal):
15854         * emacs.c:
15855         * sysdep.c:
15856         * getloadavg.c:
15857         * systty.h:
15858         Remove vestigial APOLLO-conditional code.
15859
15860 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15861
15862         * getpagesize.h: Add guard macros.
15863         * libsst.h: Add guard macros.
15864         * libst.h: Add guard macros.
15865         * line-number.h: Add guard macros.
15866         * ndir.h: Add guard macros.
15867         * sysfloat.h: Add guard macros.
15868         * sysfile.h: Add guard macros.
15869         * sysproc.h: Add guard macros.
15870         * syswait.h: Add guard macros.
15871         * xintrinsic.h: Add guard macros.
15872         * xintrinsicp.h: Add guard macros.
15873         * xmmanager.h: Add guard macros.
15874         * xmmanagerp.h: Add guard macros.
15875         * xmprimitive.h: Add guard macros.
15876         * xmu.h: Add guard macros.
15877         * gpmevent.h: Add copyright statement. Add guard macros.
15878         * miscplay.h: Add guard macros.
15879         * *.h: Use consistent C-standards-approved guard macro names.
15880
15881         * opaque.c (make_opaque): Switch parameter order.
15882         * opaque.h (make_opaque): Switch parameter order.
15883         Update all callers.
15884         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15885
15886         * config.h.in (type_checking_assert): Added.
15887         (bufpos_checking_assert): Added.
15888
15889 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15890
15891         * alloc.c: Harmless pdump changes.
15892         - Use countof().
15893         - spell alignment correctly.
15894         * sysdep.c: Use countof()
15895
15896 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15897
15898         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15899         initially_selected_for_input() console method, default to 0.
15900         (semi_canonicalize_console_connection): Try to delegate to
15901         canonicalize_console_connection if no such console method.
15902         (canonicalize_console_connection): Vice versa.
15903         (print_console): Do not print nil connection.
15904
15905         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15906         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15907         (XDEVIMPF_FRAMELESS_OK): Added.
15908         (CONSOLE_INHERITS_METHOD): Added.
15909
15910         * console-msw.c (mswindows_canonicalize_console_connection):
15911         Added.
15912         (mswindows_canonicalize_device_connection): Added.
15913
15914         * console-msw.h (struct msprinter_device): Added this struct and
15915         accessor macros.
15916         (mswindows_device): Made fontlist a lisp object.
15917
15918         * device.c (semi_canonicalize_device_connection):  Try to delegate
15919         to canonicalize_device_connection if no such console method.
15920         (canonicalize_device_connection): Vice versa.
15921         (print_device): Do not print nil connection.
15922
15923         * device-msw.c (mswindows_init_device): Call InitCommonControls
15924         when have widgets.
15925         (mswindows_delete_device): Removed fontlist deallocation.
15926         (mswindows_mark_device): Added.
15927
15928         * events.c (event_equal): Added abort() at unreached code.
15929         (event_hash): Ditto.
15930
15931         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15932         fallback tags of Windows devices.
15933
15934         * general.c (syms_of_general): Initialized Qmsprinter.
15935
15936         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
15937         of fallback tags of Windows devices.
15938
15939         * lisp.h: Declared Qmsprinter.
15940
15941         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
15942         of strings.
15943         (mswindows_list_fonts): Ditto.
15944         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
15945         that it can be used by both mswindows and msprinter devices.
15946         (initialize_font_instance): Added.
15947         (mswindows_initialize_font_instance): Use it.
15948         (msprinter_initialize_font_instance): Added.
15949
15950         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
15951         and implementation flags check.
15952         (redisplay_without_hooks): Changed the call to the above.
15953         (Fredraw_device): Ditto.
15954         (Fredisplay_device): Ditto.
15955
15956         * redisplay-msw.c (get_frame_dc): Implemented.
15957         (get_frame_compdc): Implemented.
15958         (many functions): Use the two functions above to get device
15959         contexts, ether for a window or a printer.
15960
15961 2000-01-21  Olivier Galibert  <galibert@pobox.com>
15962
15963         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
15964         initialization here.
15965         (init_symbols_once_early): Call it.
15966         * emacs.c (main_1): Call it.
15967         * symsinit.h: Declare it.
15968
15969 2000-01-19  Olivier Galibert  <galibert@pobox.com>
15970
15971         * alloc.c: Use a lrecord_header * in the backtrace instead of a
15972         Lisp_Object.
15973         (pdump_backtrace): Ditto.
15974         (pdump_register_object): Ditto.  Cleanup use of the pointers.
15975         (pdump_get_entry): Abort if trying to register a null pointer.
15976         (pdump_dump_data): Cleanup types when relocating.
15977         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
15978         (pdump_dump_rtables): Remove bad casts.
15979         (pdump_load): Cleanup relocation w.r.t union type.  Use a
15980         Lisp_Object instead of a EMACS_INT for the hashtable
15981         reorganization.
15982
15983 2000-01-20  Martin Buchholz  <martin@xemacs.org>
15984
15985         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
15986
15987         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
15988
15989         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
15990
15991         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
15992
15993 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15994
15995         * faces.h (FACE_STRIKETHRU_P): Added.
15996
15997         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
15998         of font variants.
15999
16000         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16001         (mswindows_set_dc_font): New function, aware of font variants,
16002         separated from mswindows_update_dc.
16003
16004         * objects-msw.h (struct mswindows_font_instance_data): Added
16005         definition.
16006
16007         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16008         cached fonts and the data structure.
16009         (mswindows_initialize_font_instance): Added creation of font data
16010         structure.
16011         (mswindows_print_font_instance): Print at least something.
16012         (mswindows_create_font_variant): Implemented.
16013         (mswindows_get_hfont): Implemented.
16014
16015 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16016
16017         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16018         prototyping problem with msvc.
16019
16020         * emacs.c (main_1): added syms_of_gui_mswindows() call
16021
16022         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16023         syms_of_gui_mswindows() function
16024
16025         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16026
16027 2000-01-18  Martin Buchholz <martin@xemacs.org>
16028
16029         * XEmacs 21.2.27 is released.
16030
16031 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16032
16033         * glyphs-eimage.c (struct tiff_error_struct):
16034         (tiff_error_func):
16035         (tiff_warning_func):
16036         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16037
16038         * unexmips.c:
16039         * unexhp9k3.c:
16040         * unexfreebsd.c:
16041         * unexec.c: Remove vestigial Lucid C code.
16042         * unexalpha.c:
16043         * unexaix.c:
16044         * termcap.c:
16045         * libsst.c: Ansify.
16046         Remove declarations of errno and strerror().
16047
16048         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16049
16050         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16051
16052 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16053
16054         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16055         Optimize.
16056
16057 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16058
16059         * md5.c:
16060         * file-coding.c:
16061         * file-coding.h:
16062         Change enum eol_type to eol_type_t.
16063
16064 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16065
16066         * gui.c (get_gui_callback): Check cons before accessing car.
16067
16068 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16069
16070         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16071         (XSETSPECIFIER_TYPE): Ditto.
16072
16073 2000-01-17  Didier Verna  <didier@xemacs.org>
16074
16075         * redisplay.c (generate_fstring_runes): compute string size in
16076         characters, not bytes.
16077
16078 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16079
16080         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16081
16082 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16083
16084         * print.c (print_error_message): Call print_prepare().
16085
16086 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16087
16088         * .dbxrc: Renamed from dbxrc.
16089
16090         * events.c (event_to_character):
16091         Use `assert (foo)' instead of `if (!foo) abort()'
16092
16093         * .gdbinit (xtype): Add documentation.
16094         * .gdbinit (check-temacs): New function.
16095         * .gdbinit (check-xemacs): New function.
16096         * dbxrc (check-xemacs): New function.
16097         * dbxrc (check-xemacs): New function.
16098
16099 2000-01-14  Andy Piper  <andy@xemacs.org>
16100
16101         * glyphs-widget.c (widget_query_geometry): Make sure that we
16102         calculate default dimensions correctly.
16103
16104 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16105
16106         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16107
16108         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16109         pdump_wire'd variable.
16110
16111         * emacs.c: (main_1): Conditionalized calls to
16112         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16113
16114 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16115
16116         * window.c (Fset_window_configuration):
16117         * sysdep.c (_start):
16118         * input-method-motif.c (res):
16119         * event-Xt.c (Xt_process_to_emacs_event):
16120         Simple compiler warning fixes.
16121
16122         * bytecode.c (funcall_compiled_function): Use the original
16123         function symbol on the backtrace list in preference to the
16124         compiled_function object in error messages.
16125
16126 2000-01-13  Andy Piper  <andy@xemacs.org>
16127
16128         * glyphs-x.c (update_widget_face): Make sure we update the widget
16129         background as well as foreground.
16130
16131 2000-01-13  Andy Piper  <andy@xemacs.org>
16132
16133         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16134         fields to subwindow.
16135         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16136         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16137         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16138         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16139
16140         * glyphs-widget.c (check_valid_tab_orientation): new function.
16141         (initialize_widget_image_instance): zero orientation and
16142         justification.
16143         (widget_instantiate): pick up orientation.
16144         (tab_control_query_geometry): return appropriate values for
16145         vertical tabs.
16146
16147         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16148         appropriate creation flags for left, right and bottom tabs.
16149
16150         * s/cygwin32.h: add tab definitions.
16151
16152 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16153
16154         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16155         frame upon hiding a subwindow.
16156         (mswindows_button_instantiate): Changed the push button style to
16157         BS_PUSHBUTTON.
16158         (mswindows_button_instantiate): Removed button BS_NOTIFY
16159         style.
16160         (mswindows_button_instantiate): Removed redundant check for
16161         a disabled gui item.
16162         (mswindows_button_instantiate): Made use of WS_TABSTOP
16163         consistent: "operable" controls (edit, button, tree, scroll) have
16164         this style, "display-only" ones (static, progress gauge) do
16165         not. This style is currently ignored by XEmacs though. Also,
16166         removed the WS_EX_CONTROLPARENT style - it is not for children,
16167         it is for their parents!
16168         (mswindows_edit_field_instantiate): Ditto.
16169         (mswindows_progress_gauge_instantiate): Ditto.
16170         (mswindows_tree_view_instantiate): Ditto.
16171         (mswindows_tab_control_instantiate): Ditto.
16172         (mswindows_scrollbar_instantiate): Ditto.
16173         (mswindows_combo_box_instantiate): Ditto.
16174         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16175         style to the "clip" window.
16176         (mswindows_button_instantiate): Removed compilation warning by
16177         equally typing terms of the ?: operator.
16178
16179 2000-01-12  Didier Verna  <didier@xemacs.org>
16180
16181         * redisplay.c (generate_fstring_runes): new parameter holding the
16182         last modeline-format extent.
16183         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16184         extent, fill the glyph block with it.
16185         (generate_fstring_runes): handle these parameters.
16186         (generate_formatted_string_db): ditto.
16187
16188         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16189         glyphs'extents in the modeline.
16190
16191 1999-01-11  Mike Woolley  <mike@bulsara.com>
16192
16193         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16194         256Mb, as a workaround for the non-starting problem many people
16195         have experienced.
16196
16197 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16198
16199         * console-tty.c (Fset_console_tty_output_coding_system):
16200         Force redrawing tty frame.
16201
16202 2000-01-10  Didier Verna  <didier@xemacs.org>
16203
16204         * redisplay.c (generate_fstring_runes): fix size computation bug.
16205
16206 2000-01-09  William M. Perry <wmperry@aventail.com>
16207
16208         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16209
16210 2000-01-09  Andy Piper  <andy@xemacs.org>
16211
16212         * glyphs-msw.c: index -> i to avoid shadows.
16213         (xbm_create_bitmap_from_data): make static.
16214         (check_valid_string_or_int): deleted.
16215         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16216
16217         * glyphs-x.c (x_update_subwindow): remove unused args.
16218
16219         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16220         back pointer - this is done in allocate_image_instance.
16221         (query_string_font): return Qnil to make the compiler happy.
16222         (unmap_subwindow): set to ~0 to make the compiler happy.
16223         (glyph_query_geometry): comment out until used.
16224         (glyph_layout): ditto.
16225
16226 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16227
16228         * insdel.c (signal_after_change): Remove extraneous unbind_to().