update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (Vchise_system_db_directory): New variable.
4         (vars_of_chartab): Add new variable `chise-system-db-directory'.
5
6 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * chartab.c: EXFUN `Fmount_char_attribute_table'.
9         (print_chartab_range): Don't define when `UTF2000' is defined.
10         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
11         `CHISE_DS_open'.
12
13 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
14
15         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
16         and optional argument `rehash' is specified, call
17         `open_chise_data_source_maybe' before
18         `chise_ds_foreach_char_feature_name' is called.
19
20 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
21
22         * chartab.c (char_attribute_list_reset_map_func): New function
23         when HAVE_LIBCHISE is defined.
24         (Fchar_attribute_list): Add new optional argument `rehash' when
25         HAVE_LIBCHISE is defined.
26         (open_chise_data_source_maybe): Use "chise-db" instead of
27         "char-db".
28         (char_attribute_system_db_file): Likewise.
29         (Fload_char_attribute_table): Use
30         `chise_feature_foreach_char_with_value' instead of
31         `chise_char_feature_value_iterate'.
32
33 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
34
35         * chartab.c (Vchise_db_directory): New variable.
36         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
37
38 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
39
40         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
41         instead of HAVE_CHISE to specify using with libchise.
42
43         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
44
45         * chartab.h: Don't use HAVE_CHISE_CLIENT.
46
47         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
48         defined or HAVE_LIBCHISE_LIBCHISE is defined.
49         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
50         is defined.
51         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
52         HAVE_CHISE to specify using with libchise.
53         (syms_of_chartab): Don't define symbol `system-char-id' when
54         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
55
56 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
57
58         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
59         specify CHISE DB support.
60         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
61         of `char_attribute_system_db_file' to check feature DB file.
62
63         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
64         HAVE_CHISE_CLIENT to specify CHISE DB support.
65
66         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
67         specify CHISE DB support.
68         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
69         not defined.
70         (Freset_char_attribute_table): Use `chise_feature_setup_db'
71         instead of `char_attribute_system_db_file' to check feature DB
72         file.
73
74 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
75
76         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
77         `HAVE_CHISE_CLIENT'.
78
79 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
80
81         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
82         (Fsave_charset_mapping_table): Don't use
83         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
84
85         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
86         (HAVE_LIBCHISE): New macro.
87
88         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
89
90         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
91         (Fsave_char_attribute_table): Don't use
92         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
93
94 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
95
96         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
97         defined.
98         (save_uint16_byte_table): Likewise.
99         (save_byte_table): Likewise.
100         (char_table_get_db): Use `chise_ds_load_char_feature_value'
101         instead of `chise_char_load_feature_value'.
102         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
103
104 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
105
106         * chartab.h (struct Lisp_Char_Table): Delete member
107         `feature_table' if CHISE is defined.
108
109         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
110         (Fcopy_char_table): Likewise.
111         (char_table_open_db_maybe): Likewise.
112         (char_table_close_db_maybe): Likewise.
113         (char_table_get_db): Likewise.
114         (Fmount_char_attribute_table): Likewise.
115         (Fload_char_attribute_table): Likewise.
116
117 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
118
119         * mule-charset.c (load_char_decoding_entry_maybe): Use
120         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
121         `chise_ccs_decode'.
122
123 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
124
125         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
126         instead of `chise_open_data_source'.
127         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
128         `chise_ds_close'.
129
130 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
131
132         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
133         instead of `chise_ds_open_feature_table'.
134         (char_table_close_db_maybe): Don't use `chise_ft_close'.
135
136 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
137
138         * mule-charset.c (Fsave_charset_mapping_table): Use
139         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
140         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
141         `chise_ccs_sync' instead of `chise_ccst_close'.
142         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
143
144         * chartab.c (open_chise_data_source_maybe): Modify for
145         `chise_open_data_source'.
146         (char_table_open_db_maybe): Modify for
147         `chise_ds_open_feature_table'.
148
149 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
150
151         * mule-charset.c (load_char_decoding_entry_maybe): Use
152         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
153         `chise_ccst_close'.
154
155 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
156
157         * mule-charset.c (Fsave_charset_mapping_table): Use
158         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
159         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
160         `chise_dt_put_char' and `chise_dt_close'.
161         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
162         `chise_ccs_decode' and `chise_ccst_close' instead of
163         `chise_ds_open_decoding_table', `chise_dt_get_char' and
164         `chise_dt_close'.
165
166         * chartab.c (char_table_get_db): Use
167         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
168         (load_char_attribute_table_map_func): Modify for
169         `chise_char_feature_value_iterate'.
170         (Fload_char_attribute_table): Use
171         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
172
173 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
174
175         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
176
177 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
178
179         * chartab.c (put_char_table): Modify for inherited coded-charsets
180         in XEmacs CHISE.
181
182 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
183
184         * chartab.c (Fput_char_table_map_function): Fixed.
185         (word_boundary_p): Don't check charset in XEmacs CHISE.
186
187 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
188
189         * mule-charset.c (Fsave_charset_mapping_table): Use
190         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
191         instead of `chise_open_decoding_table'; refer
192         `default_chise_data_source'; use `chise_dt_close' instead of
193         `chise_close_decoding_table'.
194         (load_char_decoding_entry_maybe): Likewise.
195
196         * chartab.c (default_chise_data_source): New variable when `CHISE'
197         is defined.
198         (Fcopy_char_table): `ct->ds' is deleted.
199         (open_chise_data_source_maybe): New function.
200         (Fclose_char_data_source): New function.
201         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
202         use `chise_ds_open_feature_table' instead of
203         `chise_open_feature_table'.
204         (char_table_close_db_maybe): Use `chise_ft_close' instead of
205         `chise_close_feature_table'; `cit->ds' is deleted.
206         (syms_of_chartab): Add new builtin function
207         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
208
209         * chartab.h (default_chise_data_source): New extern variable.
210         (open_chise_data_source_maybe): New prototype.
211         (struct Lisp_Char_Table): Delete `ds'.
212
213 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
214
215         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
216         `CHISE' is defined.
217
218 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
219
220         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
221         not defined; add code for non-libchise setting.
222         (char_table_close_db_maybe): Likewise.
223         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
224         defined.
225         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
226         even if `CHISE' is not defined.
227         (Freset_char_attribute_table): Likewise.
228         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
229         `char_table_close_db_maybe' even if `CHISE' is not defined; use
230         `char_table_get_db'.
231         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
232         `char_table_close_db_maybe' even if `CHISE' is not defined.
233
234 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
235
236         * chartab.c (char_table_open_db_maybe): New function.
237         (char_table_close_db_maybe): New function.
238         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
239         (Freset_char_attribute_table): Likewise.
240         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
241         `char_table_close_db_maybe'.
242         (Fload_char_attribute_table): Likewise.
243
244 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
245
246         * chartab.c: Don't include <chise.h> because it is included in
247         chartab.h.
248         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
249         defined.
250         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
251         `CHISE' is defined.
252         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
253         `CHISE' is defined.
254         (Fclose_char_attribute_table): Close `ct->feature_table' and
255         `ct->ds' when `CHISE' is defined.
256         (Freset_char_attribute_table): Likewise.
257         (load_char_attribute_maybe): Use `cit->ds' and
258         `cit->feature_table' when `CHISE' is defined.
259         (Fload_char_attribute_table): Likewise.
260
261         * chartab.h: Include <chise.h> when `CHISE' is defined.
262         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
263         when `CHISE' is defined.
264
265 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
266
267         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
268         is defined.
269         (char_table_description): Likewise.
270         (Fmake_char_table): Likewise.
271         (Fcopy_char_table): Likewise.
272         (Fmount_char_attribute_table): Likewise.
273         (Fclose_char_attribute_table): Likewise.
274         (Freset_char_attribute_table): Likewise.
275         (load_char_attribute_maybe): Likewise.
276         (Fload_char_attribute_table): Likewise.
277
278         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
279         defined.
280
281 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
282
283         * chartab.c (load_char_attribute_table_map_func): New function
284         when CHISE is defined.
285         (Qload_char_attribute_table_map_function): Don't define when CHISE
286         is defined.
287         (Fload_char_attribute_table_map_function): Likewise.
288         (Fload_char_attribute_table): Use libchise when `CHISE' is
289         defined.
290         (syms_of_chartab): Don't define
291         `load-char-attribute-table-map-function' when CHISE is defined.
292
293 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
294
295         * chartab.c: Include <chise.h> when `CHISE' is defined.
296         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
297
298 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
299
300         * mule-charset.c (charset_code_point): Fix problem when searching
301         in mother CCS fails with `defined_only' mode.
302
303 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
304
305         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
306         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
307         (put_char_composition): Likewise.
308         (Fput_char_attribute): Likewise.
309         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
310
311 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
312
313         * chartab.c (Q_ucs): Deleted.
314         (Fput_char_attribute): Don't refer `->ucs'.
315         (Fdefine_char): Likewise.
316         (Ffind_char): Likewise.
317         (syms_of_chartab): Delete `->ucs'.
318
319 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
320
321         * mule-charset.c (Qmap_cns11643_2): Renamed from
322         `Qchinese_cns11643_2'.
323         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
324         `chinese-cns11643-2'.
325         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
326         `=cns11643-2'.
327
328 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
329
330         * mule-charset.c (Qmap_cns11643_1): Renamed from
331         `Qchinese_cns11643_1'.
332         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
333         `chinese-cns11643-1'.
334         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
335         `=cns11643-1'.
336
337 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
338
339         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
340         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
341         `chinese-gb12345'.
342         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
343         `=gb12345'.
344
345 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
346
347         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
348         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
349         `chinese-gb2312'.
350         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
351         `=gb2312'.
352
353 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
354
355         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
356         (syms_of_mule_charset): Add new symbol `=big5' instead of
357         `chinese-big5'.
358         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
359
360 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
361
362         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
363         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
364         `korean-ksc5601'.
365         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
366         `=ks-x1001'.
367
368 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
369
370         * mule-charset.c (Qmap_jis_x0212): Renamed from
371         `Qjapanese_jisx0212'.
372         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
373         `japanese-jisx0212'.
374         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
375         `=jis-x0212'.
376
377 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
378
379         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
380         `Qjapanese_jisx0208'.
381         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
382         of `japanese-jisx0208'.
383         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
384         `=jis-x0208-1983'.
385
386 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
387
388         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
389         `Qjapanese_jisx0208_1978'.
390         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
391         of `japanese-jisx0208-1978'.
392         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
393         `=jis-x0208-1978'.
394
395 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
396
397         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
398         only for XEmacs CHISE.
399
400 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
401
402         * char-ucs.h: Compact non-ISO-IR charset-ids.
403         (LEADING_BYTE_UCS): Changed to -177.
404         (LEADING_BYTE_CONTROL_1): Changed to -77.
405         (LEADING_BYTE_UCS_BMP): Changed to -176.
406         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
407
408 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
409
410         * mule-charset.c (Qiso_ir): New variable.
411         (Fmake_charset): Recognise new property `iso-ir'.
412         (syms_of_mule_charset): Add new symbol `iso-ir'.
413
414 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
415
416         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
417         n to -n; charset-id of non ISO-IR sets are changed to positive
418         numbers.
419
420 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
421
422         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
423         for &MCS-XXXXXXXX; values.
424
425 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
426
427         * mule.c (Vxemacs_chise_version): Renamed from
428         `Vutf_2000_version'.
429         (vars_of_mule): Add new variable `xemacs-chise-version'; define
430         `utf-2000-version' as an alias for `xemacs-chise-version'.
431
432 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
433
434         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
435         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
436         defined.
437
438         * config.h.in (CHISE): New macro.
439
440 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
441
442         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
443         of `ucs'.
444         (Qmap_ucs): New variable.
445         (syms_of_mule_charset): Add new symbol `=ucs'.
446         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
447
448         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
449         (simplify_char_spec): Likewise.
450
451         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
452
453         * char-ucs.h (Qmap_ucs): New extern variable.
454
455 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
456
457         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
458         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
459         don't define it when UTF2000 is not defined.
460         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
461         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
462         when UTF2000 is not defined.
463         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
464         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
465
466 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
467
468         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
469
470         * mule-charset.c (Vcharset_ucs_gb): Deleted.
471         (Qucs_gb): Deleted.
472         (syms_of_mule_charset): Delete `ucs-gb'.
473         (complex_vars_of_mule_charset): Likewise.
474
475 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
476
477         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
478
479         * mule-charset.c (Vcharset_ucs_cns): Deleted.
480         (Qucs_cns): Deleted.
481         (syms_of_mule_charset): Delete `ucs-cns'.
482         (complex_vars_of_mule_charset): Likewise.
483
484 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
485
486         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
487
488         * mule-charset.c (Vcharset_ucs_jis): Deleted.
489         (Qucs_jis): Deleted.
490         (syms_of_mule_charset): Delete `ucs-jis'.
491         (complex_vars_of_mule_charset): Likewise.
492
493 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
494
495         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
496
497         * mule-charset.c (Vcharset_ucs_ks): Deleted.
498         (Qucs_ks): Deleted.
499         (syms_of_mule_charset): Delete `ucs-ks'.
500         (complex_vars_of_mule_charset): Likewise.
501
502 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
503
504         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
505         (Qideograph_daikanwa_2): Deleted.
506         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
507         (complex_vars_of_mule_charset): Likewise.
508
509         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
510         (LEADING_BYTE_DAIKANWA_1): Deleted.
511         (LEADING_BYTE_DAIKANWA_2): Deleted.
512         (MIN_CHAR_DAIKANWA): Deleted.
513         (MAX_CHAR_DAIKANWA): Deleted.
514
515 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
516
517         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
518         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
519         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
520
521         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
522         (Vcharset_ideograph_daikanwa): Deleted.
523         (Qideograph_hanziku_{1..12}): Deleted.
524         (Qideograph_daikanwa): Deleted.
525         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
526         Vcharset_ideograph_daikanwa.
527         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
528         `ideograph-hanziku-{1..12}'.
529         (complex_vars_of_mule_charset): Likewise.
530
531 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
532
533         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
534
535         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
536         (Qideograph_gt_pj_{1..11}): Deleted.
537         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
538         (complex_vars_of_mule_charset): Likewise.
539
540 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
541
542         * mule-charset.c (Vcharset_ucs_big5): Deleted.
543         (Vcharset_ideograph_gt): Deleted.
544         (Qucs_big5): Deleted.
545         (Qideograph_gt): Deleted.
546         (syms_of_mule_charset): Delete symbol `ucs-big5' and
547         `ideograph-gt'.
548         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
549         and `ideograph-gt'.
550
551         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
552         (LEADING_BYTE_GT): Deleted.
553         (MIN_CHAR_GT): Deleted.
554         (MAX_CHAR_GT): Deleted.
555
556 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
557
558         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
559
560 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
561
562         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
563         (save_uint16_byte_table): Likewise.
564         (save_byte_table): Likewise; convert values by it.
565         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
566         for `ideographic-structure'.
567         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
568         as the filter for `ideographic-structure'.
569
570 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
571
572         * chartab.c (put_char_composition): New function.
573         (Fput_char_attribute): Use `put_char_composition'; use
574         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
575
576         * fns.c (simplify_char_spec): New function.
577         (char_ref_simplify_spec): New function.
578         (Fchar_refs_simplify_char_specs): New function.
579         (syms_of_fns): Add new builtin function
580         `char-refs-simplify-char-specs'.
581
582 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
583
584         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
585         (Qideograph_cbeta): Deleted.
586         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
587         (complex_vars_of_mule_charset): Likewise.
588
589         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
590         (MIN_CHAR_CBETA): Comment out.
591         (MAX_CHAR_CBETA): Likewise.
592
593 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
594
595         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
596         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
597         CHISE client feature.
598
599 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
600
601         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
602
603 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
604
605         * mule-charset.c (charset_lookup_description_1): Use
606         `NUM_LEADING_BYTES' in UTF-2000.
607
608 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
609
610         * char-ucs.h (GC_CHARSETP): Deleted.
611
612 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
613
614         * char-ucs.h (MAX_CHAR_GT): Updated.
615
616 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
617
618         * text-coding.c: Sync with XEmacs 21.4.10.
619
620 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
621
622         * mule-charset.c (Vcharset_china3_jef): Deleted.
623         (Qchina3_jef): Deleted.
624         (syms_of_mule_charset): Don't define `china3-jef'.
625         (complex_vars_of_mule_charset): Likewise.
626
627         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
628         (MIN_CHAR_CHINA3_JEF): Comment out.
629         (MAX_CHAR_CHINA3_JEF): Comment out.
630
631 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
632
633         * mule-charset.c (Vcharset_ucs_gb): New variable.
634         (Qucs_gb): New variable.
635         (syms_of_mule_charset): Add new symbol `ucs-gb'.
636         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
637
638         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
639
640 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
641
642         * mule-charset.c (charset_code_point): if a coded-charset has a
643         final-byte, don't inherit the builtin range of the mother CCS.
644
645 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
646
647         * mule-charset.c (charset_code_point): Fix problem about
648         inheritance.
649
650 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
651
652         * mule-charset.c (decode_builtin_char): Reorganized.
653
654 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
655
656         * text-coding.c (char_encode_as_entity_reference): Modify for
657         `charset_code_point'.
658         (char_encode_shift_jis): Likewise.
659         (char_encode_big5): Likewise.
660         (char_encode_utf8): Likewise.
661         (char_encode_iso2022): Likewise.
662
663         * mule-charset.c (charset_code_point): Add new argument
664         `defined_only'.
665         (Fencode_char): Add new optional argument `defined_only'.
666
667         * chartab.c (put_char_table): Modify for `charset_code_point'.
668
669         * char-ucs.h (charset_code_point): Add new argument
670         `defined_only'.
671         (encode_char_1): Modify for `charset_code_point'.
672
673 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
674
675         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
676         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
677
678 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
679
680         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
681         (Qjis_x0208): Likewise.
682         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
683         XCHARSET_FINAL(charset).
684         (charset_code_point): Modify condition for final-byte based
685         builtin-chars.
686         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
687         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
688         in UTF-2000; specify `=jis-x0208' as the mother of
689         `japanese-jisx0208-1978', `japanese-jisx0208' and
690         `japanese-jisx0208-1990' in UTF-2000.
691
692 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
693
694         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
695
696 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
697
698         * text-coding.c (decode_coding_utf16): Support UTF-16.
699         (char_encode_utf16): Fixed.
700
701 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
702
703         * text-coding.c (Qutf16): New variable in MULE.
704         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
705         (Fcoding_system_type): Add `utf-16' in MULE.
706         (struct detection_state): Add a structure for utf16 in MULE.
707         (detect_coding_type): Setup st->utf16.mask in MULE.
708         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
709         MULE.
710         (reset_encoding_stream): Use `char_encode_utf16' and
711         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
712         (detect_coding_utf16): New function [incomplete].
713         (decode_coding_utf16): New function [support only UCS-2].
714         (char_encode_utf16): New function.
715         (char_finish_utf16): New function.
716         (syms_of_file_coding): Add new symbol `utf-16'; setup
717         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
718
719         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
720         UTF-2000.
721         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
722         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
723
724 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
725
726         * chartab.c (put_char_table): When a charset is specified as a
727         range in UTF-2000, don't support builtin characters.
728
729 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
730
731         * mule-charset.c (decode_defined_char): Don't refer external
732         database if Qunbound or Qnil are found.
733         (Fsave_charset_mapping_table): Don't define it if
734         HAVE_CHISE_CLIENT is not defined.
735         (Freset_charset_mapping_table): New function.
736         (load_char_decoding_entry_maybe): Store Qnil if a character is not
737         found in external database.
738         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
739         if HAVE_CHISE_CLIENT is not defined; add new builtin function
740         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
741
742 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
743
744         * text-coding.c (decode_coding_utf8): Check CCS is specified or
745         not.
746
747 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
748
749         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
750         Q_lowercase, Q_uppercase in UTF-2000.
751
752         * chartab.c (get_char_table): Add special code for the standard
753         case table to use character attribute `->downcase' and
754         `->uppercase' for case operations in UTF-2000.
755
756         * casetab.c (Qflippedcase): New variable in UTF-2000.
757         (Q_lowercase): Likewise.
758         (Q_uppercase): Likewise.
759         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
760         and `->uppercase' in UTF-2000.
761         (complex_vars_of_casetab): Assign attribute name `downcase' to
762         downcase and CANON table of Vstandard_case_table in UTF-2000;
763         assign attribute name `flippedcase' to upcase and EQV table of
764         Vstandard_case_table in UTF-2000.
765
766 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
767
768         * text-coding.c (decode_add_er_char): Support isolated-chars.
769         (char_encode_as_entity_reference): Likewise.
770
771 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
772
773         * emacs.c (Vutf_2000_lisp_directory): New variable.
774         (Vconfigure_utf_2000_lisp_directory): Likewise.
775         (complex_vars_of_emacs): Add new variable
776         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
777
778 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
779
780         * char-ucs.h (DECODE_CHAR): Delete special code for
781         `chinese-big5-1' and `chinese-big5-2'.
782
783         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
784         (Qbig5_2): Likewise.
785         (decode_defined_char): Support CONVERSION_BIG5_1 and
786         CONVERSION_BIG5_2.
787         (decode_builtin_char): Likewise.
788         (charset_code_point): Likewise.
789         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
790         'conversion in UTF-2000.
791         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
792         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
793         `chinese-big5-2' as children of `chinese-big5'.
794
795         * char-ucs.h (CONVERSION_BIG5_1): New macro.
796         (CONVERSION_BIG5_2): New macro.
797
798 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
799
800         * text-coding.c (char_encode_big5): Support entity-reference.
801
802 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
803
804         * text-coding.c (char_encode_as_entity_reference): New function.
805         (char_encode_utf8): Use `char_encode_as_entity_reference'.
806
807 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
808
809         * text-coding.c (decode_coding_big5): Support entity-reference
810         decoding feature.
811
812 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
813
814         * text-coding.c (allocate_coding_system): Initialize initial
815         charsets for CODESYS_UTF8.
816         (Fmake_coding_system): Accept charset-g0, charset-g1 and
817         charset-g2 for CODESYS_UTF8.
818         (decode_coding_utf8): Use charset-g0.
819         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
820         to force variants to map to UCS.
821
822 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
823
824         * text-coding.c (Qutf_8_mcs): New variable.
825         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
826         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
827         instead of `utf-8' in UTF-2000.
828
829 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
830
831         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
832         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
833         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
834         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
835         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
836         CONVERSION_96x96x96x96 are introduced.
837         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
838         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
839         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
840
841         * char-ucs.h (CONVERSION_94): New macro.
842         (CONVERSION_96): New macro.
843         (CONVERSION_94x94): New macro.
844         (CONVERSION_96x96): New macro.
845         (CONVERSION_94x94x94): New macro.
846         (CONVERSION_96x96x96): New macro.
847         (CONVERSION_94x94x94x60): New macro.
848         (CONVERSION_94x94x94x94): New macro.
849         (CONVERSION_96x96x96x96): New macro.
850
851 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
852
853         * chartab.c (Vcharacter_variant_table): Deleted.
854         (Fchar_variants): Use character-attribute `->ucs-variants' instead
855         of `Vcharacter_variant_table'.
856         (Fput_char_attribute): Likewise.
857         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
858         (complex_vars_of_chartab): Likewise.
859
860 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
861
862         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
863
864         * fns.c (Qideographic_structure): New variable.
865         (Qkeyword_char): New variable.
866         (ids_format_unit): New function.
867         (Fideographic_structure_to_ids): New function.
868         (syms_of_fns): Add new symbols `ideographic-structure' and
869         `:char'; add new builtin function `ideographic-structure-to-ids'.
870
871         * data.c (Fchar_ref_p): New function.
872         (syms_of_data): Add new builtin function `char-ref-p'.
873
874         * chartab.h: Add an EXFUN for `Ffind_char'.
875
876 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
877
878         * text-coding.c (Vcharacter_composition_table): Deleted.
879         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
880         in every UTF-2000.
881
882         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
883         UTF-2000.
884         (Vcharacter_composition_table): Deleted.
885         (Fget_composite_char): Use the implementation for external-DB
886         support in every UTF-2000.
887         (Fput_char_attribute): Likewise.
888         (char_attribute_system_db_file): Don't define if external-DB
889         feature is not available.
890         (Fsave_char_attribute_table): Likewise.
891         (Fmount_char_attribute_table): Likewise.
892         (Fclose_char_attribute_table): Likewise.
893         (Freset_char_attribute_table): Likewise.
894         (Fload_char_attribute_table): Likewise.
895         (syms_of_chartab): Don't define `save-char-attribute-table',
896         `mount-char-attribute-table', `reset-char-attribute-table',
897         `close-char-attribute-table' and `load-char-attribute-table' if
898         external-DB feature is not available.
899         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
900
901 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
902
903         * text-coding.c (Qcomposition): Add extern if external-DB feature
904         is supported.
905         (Vcharacter_composition_table): Don't add extern if external-DB
906         feature is supported.
907         (COMPOSE_ADD_CHAR): Modify for new data-representation of
908         character composition rule if external-DB feature is supported.
909
910         * chartab.c (Vcharacter_composition_table): Don't define if
911         external-DB feature is supported.
912         (Qcomposition): New variable.
913         (Fget_composite_char): New implementation for external-DB support.
914         (Fput_char_attribute): Use `composition' property of each
915         character instead of `Vcharacter_composition_table' to store
916         character-composition rules if external-DB feature is supported.
917         (syms_of_chartab): Add new symbol `composition'.
918         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
919         external-DB feature is supported.
920
921 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
922
923         * chartab.c (Vchar_db_stingy_mode): New variable.
924         (load_char_attribute_maybe): Close database if
925         Vchar_db_stingy_mode is not NIL.
926         (Fload_char_attribute_table_map_function): Use
927         `get_char_id_table_0' instead of `get_char_id_table'.
928         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
929
930         * chartab.h (get_char_id_table_0): New inline function.
931         (get_char_id_table): Use `get_char_id_table_0'.
932
933 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
934
935         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
936         and `COMPOSE_ADD_CHAR'.
937         (decode_coding_iso2022): Use `decode_flush_er_chars'.
938
939 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
940
941         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
942         instead of `DECODE_ADD_UCS_CHAR'.
943         (COMPOSE_ADD_CHAR): Likewise.
944
945 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
946
947         * text-coding.c (decode_flush_er_chars): New inline function.
948         (decode_add_er_char): New function.
949         (decode_coding_utf8): Use `decode_flush_er_chars' and
950         `decode_add_er_char'.
951
952 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
953
954         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
955         done before `decode_output_utf8_partial_char'.
956
957         * mule-charset.c (complex_vars_of_mule_charset): Specify
958         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
959         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
960
961 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
962
963         * mule-charset.c (decode_defined_char): New function; search
964         mother.
965         (decode_builtin_char): Don't search mother if
966         XCHARSET_MAX_CODE(charset) == 0.
967         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
968         == 0 even if code >= XCHARSET_MAX_CODE(charset).
969         (Fdecode_char): Use `decode_defined_char' instead of
970         `DECODE_DEFINED_CHAR'.
971         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
972         mother of `Vcharset_ucs_jis'.
973
974         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
975         instead of `DECODE_DEFINED_CHAR'.
976
977         * char-ucs.h (decode_defined_char): Renamed from
978         `DECODE_DEFINED_CHAR'; changed to normal function.
979         (DECODE_CHAR): Use `decode_defined_char' instead of
980         `DECODE_DEFINED_CHAR'.
981
982         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
983
984 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
985
986         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
987
988         * text-coding.c (Vcoded_charset_entity_reference_alist): New
989         variable.
990         (Quse_entity_reference): New variable.
991         (Qd): New variable.
992         (Qx): New variable.
993         (QX): New variable.
994         (coding_system_description): Add description for
995         `ccs_priority_list'.
996         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
997         (allocate_coding_system): Initialize `ccs_priority_list' in
998         UTF-2000.
999         (Fmake_coding_system): Add description about
1000         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1001         (codesys).
1002         (Fcoding_system_property): Accept `disable-composition' and
1003         `use-entity-reference' in UTF-2000.
1004         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1005         in UTF-2000.
1006         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1007         (decode_coding_utf8): Decode entity-reference if
1008         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1009         (char_encode_utf8): Encode non-Unicode characters as
1010         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1011         (str->codesys).
1012         (syms_of_file_coding): Add new symbols `use-entity-reference',
1013         `d', `x', `X'.
1014         (vars_of_file_coding): Add new variable
1015         `coded-charset-entity-reference-alist'.
1016         (complex_vars_of_file_coding): Declare `disable-composition' and
1017         `use-entity-reference' to be coding-system-properties in UTF-2000.
1018
1019         * file-coding.h (struct Lisp_Coding_System): Add new member
1020         `use_entity_reference' and `ccs_priority_list'.
1021         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1022         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1023         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1024
1025 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1026
1027         * chartab.c (save_uint8_byte_table): Don't clear the table.
1028         (save_uint16_byte_table): Likewise.
1029         (save_byte_table): Likewise.
1030         (Fmount_char_attribute_table): New function.
1031         (syms_of_chartab): Add new builtin function
1032         `mount-char-attribute-table'.
1033
1034 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1035
1036         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1037         "w+" mode.
1038         (load_char_decoding_entry_maybe): Open database as read-only mode.
1039
1040         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1041         open database as "w+" mode.
1042         (load_char_attribute_maybe): Open database as read-only mode.
1043         (Fload_char_attribute_table): Likewise.
1044
1045 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1046
1047         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1048         (char_table_description): Delete member `db_file'.
1049         (Fmake_char_table): Don't refer `ct->db_file'.
1050         (Fcopy_char_table): Likewise.
1051         (Fsave_char_attribute_table): Likewise.
1052         (Fclose_char_attribute_table): Likewise.
1053         (Freset_char_attribute_table): Likewise.
1054         (load_char_attribute_maybe): Likewise.
1055         (Fload_char_attribute_table): Likewise.
1056
1057         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1058
1059 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1060
1061         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1062         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1063         `ct->db' is living.
1064         (load_char_attribute_maybe): Likewise.
1065         (Fload_char_attribute_table): Likewise.
1066
1067 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1068
1069         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1070         `ct->db_file' unconditionally.
1071
1072 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1073
1074         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1075         UTF-2000.
1076         (char_table_description): Add description for `db_file' and `db'
1077         in UTF-2000.
1078         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1079         UTF-2000.
1080         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1081         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1082         (Fclose_char_attribute_table): New function.
1083         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1084         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1085         and `cit->db'.
1086         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1087         (syms_of_chartab): Add new builtin function
1088         `Fclose_char_attribute_table'.
1089
1090 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1091
1092         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1093         `db' in UTF-2000.
1094         (load_char_attribute_maybe): Change interface.
1095         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1096
1097 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1098
1099         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1100
1101 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1102
1103         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1104         instead of `DECODE_CHAR' for mother; don't use special code for
1105         chinese-big5 to use code space of chinese-big5-1 and
1106         chinese-big5-2.
1107         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1108         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1109
1110         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1111         (MAX_CHAR_BIG5_CDP): Revival.
1112
1113 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1114
1115         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1116         the XLFD registry-encoding name of `chinese-big5'.
1117
1118 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1119
1120         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1121         (Qchinese_big5_cdp): Deleted.
1122         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1123         (complex_vars_of_mule_charset): Delete coded-charset
1124         `chinese-big5-cdp'.
1125
1126         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1127         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1128         `CHARSET_ID_OFFSET - n' for private CCS.
1129         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1130         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1131         of `MIN_LEADING_BYTE'.
1132         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1133         `(CHARSET_ID_OFFSET - 97)'.
1134         (MIN_CHAR_BIG5_CDP): Deleted.
1135         (MAX_CHAR_BIG5_CDP): Deleted.
1136
1137 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1138
1139         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1140
1141 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1142
1143         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1144         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1145         chartab.c].
1146
1147         * chartab.c (Vutf_2000_version): Moved to mule.c.
1148         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1149
1150 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1151
1152         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1153         when HAVE_CHISE_CLIENT is not defined.
1154
1155         * mule.c (vars_of_mule): Provide feature `chise' when
1156         HAVE_CHISE_CLIENT is defined.
1157
1158 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1159
1160         * config.h.in (UTF2000): Add comment.
1161         (HAVE_CHISE_CLIENT): New macro.
1162
1163 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1164
1165         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1166         CONSP.
1167         (Fput_char_attribute): Likewise.
1168         (char_attribute_system_db_file): Encode file-name of attribute.
1169         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1170         the initial value.
1171
1172 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1173
1174         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1175         (Fsave_charset_mapping_table): Use
1176         `char_attribute_system_db_file'.
1177         (load_char_decoding_entry_maybe): Likewise.
1178
1179         * chartab.h (Qsystem_char_id): New external variable.
1180         (char_attribute_system_db_file): New prototype.
1181
1182         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1183         (char_attribute_system_db_file): New function.
1184         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1185         (Freset_char_attribute_table): Likewise.
1186         (load_char_attribute_maybe): Likewise.
1187         (Fload_char_attribute_table): Likewise.
1188         (syms_of_chartab): Add new symbol `system-char-id'.
1189
1190 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1191
1192         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1193         `XCHARSET_GRAPHIC(ccs)'.
1194
1195 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1196
1197         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1198
1199 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1200
1201         * chartab.c (Q_ucs_variants): New variable.
1202         (syms_of_chartab): Add new symbol `->ucs-variants'.
1203         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1204         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1205         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1206
1207         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1208
1209         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1210         `HAVE_DATABASE' is defined.
1211         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1212         `HAVE_DATABASE' is defined.
1213
1214 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1215
1216         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1217         attribute-table.
1218         (Freset_char_attribute_table): New function.
1219         (syms_of_chartab): Add new builtin function
1220         `reset-char-attribute-table'.
1221
1222 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1223
1224         * chartab.c (load_char_attribute_maybe): Don't make directories.
1225
1226 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1227
1228         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1229
1230         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1231         for decoding-table.
1232
1233 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1234
1235         * mule-charset.c (Fsave_charset_mapping_table): Use
1236         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1237
1238         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1239         instead of `XCHARSET_CHARS'.
1240
1241 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1242
1243         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1244         (XCHARSET_BYTE_SIZE): Likewise.
1245
1246         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1247         mule-charset.c].
1248         (XCHARSET_BYTE_SIZE): Likewise.
1249
1250 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1251
1252         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1253         data-directory to store database.
1254         (Fsave_char_attribute_table): Likewise.
1255         (load_char_attribute_maybe): Likewise.
1256         (Fload_char_attribute_table): Likewise.
1257
1258 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1259
1260         * mule-charset.c (Fsave_charset_mapping_table): New function.
1261         (syms_of_mule_charset): Add new builtin function
1262         `save-charset-mapping-table'.
1263
1264 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1265
1266         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1267         (get_ccs_octet_table): New inline function.
1268         (put_ccs_octet_table): Likewise.
1269         (decoding_table_put_char): Use `get_ccs_octet_table' and
1270         `put_ccs_octet_table'.
1271         (decoding_table_remove_char): Use `decoding_table_put_char'.
1272         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1273
1274         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1275         into encoding_table.
1276         (make_charset): Use Qunbound instead Qnil as initial value of
1277         decoding_table.
1278
1279 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1280
1281         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1282         element is Qunloaded.
1283         (map_over_uint16_byte_table): Likewise.
1284         (map_over_byte_table): Likewise.
1285         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1286         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1287         database support, load encoding-table of the specified
1288         coded-charset if it is not loaded yet.
1289         (save_uint8_byte_table): New function of UTF-2000 with external
1290         database support.
1291         (save_uint16_byte_table): Likewise.
1292         (save_byte_table): Likewise.
1293         (Fput_char_attribute): Don't store value into external database
1294         even if the external database feature is supported in UTF-2000;
1295         set `attribute' as name of char-table if the external database
1296         feature is supported.
1297         (Fsave_char_attribute_table): New function in UTF-2000.
1298         (syms_of_chartab): Add new builtin function
1299         `save-char-attribute-table' in UTF-2000.
1300
1301 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1302
1303         * chartab.c (char_attribute_table_to_put): New variable in
1304         UTF-2000.
1305         (Qput_char_table_map_function): Likewise.
1306         (value_to_put): Likewise.
1307         (Fput_char_table_map_function): New function in UTF-2000.
1308         (put_char_table): Use `Fmap_char_attribute' for
1309         CHARTAB_RANGE_CHARSET in UTF-2000.
1310         (Fput_char_attribute): Store symbol instead of string in
1311         `XCHAR_TABLE_NAME (table)'.
1312         (load_char_attribute_maybe): Likewise.
1313         (syms_of_chartab): Add new symbol/function
1314         `put-char-table-map-function'.
1315
1316 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1317
1318         * database.h: Add new EXFUN for `Fmap_database'.
1319
1320         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1321         (syms_of_database): Likewise.
1322
1323         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1324         UTF-2000.
1325         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1326         (XCHAR_TABLE_UNLOADED): Likewise.
1327
1328         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1329         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1330         HAVE_DATABASE is defined.
1331         (char_attribute_table_to_load): New variable of UTF-2000 with
1332         external database support.
1333         (Qload_char_attribute_table_map_function): Likewise.
1334         (Fload_char_attribute_table_map_function): New function of
1335         UTF-2000 with external database support.
1336         (Fload_char_attribute_table): New function of UTF-2000.
1337         (Fmap_char_attribute): Call Fload_char_attribute_table if
1338         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1339         (syms_of_chartab): Add new symbol and function
1340         `load-char-attribute-table-map-function' in UTF-2000 with external
1341         database support; add new function `load-char-attribute-table' in
1342         UTF-2000.
1343
1344 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1345
1346         * chartab.h (load_char_attribute_maybe): New prototype for
1347         UTF-2000 with DATABASE support.
1348         (get_char_id_table): Use `load_char_attribute_maybe' if
1349         HAVE_DATABASE is defined.
1350
1351         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1352         with DATABASE support.
1353
1354 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1355
1356         * chartab.c (Fput_char_attribute): Use S-expression as key of
1357         external database.
1358
1359         * chartab.h (get_char_id_table): Use S-expression as key of
1360         external database.
1361
1362 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1363
1364         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1365         if an element is not loaded, load the corresponding attributes
1366         from an external database.
1367         (map_over_uint16_byte_table): Likewise.
1368         (map_over_byte_table): Likewise.
1369         (map_char_table): Modify for `map_over_uint8_byte_table',
1370         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1371         element is not loaded, load the corresponding attributes from an
1372         external database.
1373         (Fput_char_attribute): Change initial values to Qunloaded.
1374
1375         * chartab.h (get_char_id_table): If a character attribute is not
1376         loaded and the attribute value is not found in an external
1377         database, store Qunbound as the attribute value.
1378
1379 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1380
1381         * chartab.c (BT_UINT8_unloaded): New macro.
1382         (UINT8_VALUE_P): Accept Qunloaded.
1383         (UINT8_ENCODE): Likewise.
1384         (UINT8_DECODE): Likewise.
1385         (BT_UINT16_unloaded): New macro.
1386         (UINT16_VALUE_P): Accept Qunloaded.
1387         (UINT16_ENCODE): Likewise.
1388         (UINT16_DECODE): Likewise.
1389         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1390         BT_UINT16_unloaded.
1391         (mark_char_table): Mark `ct->name' in UTF-2000.
1392         (char_table_description): Add `name' in UTF-2000.
1393         (Fmake_char_table): Initialize `ct->name'.
1394         (Fcopy_char_table): Copy `ct->name'.
1395         (Fput_char_attribute): Store value into an external database if
1396         HAVE_DATABASE is defined.
1397
1398         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1399         UTF-2000.
1400         (CHAR_TABLE_NAME): New macro in UTF-2000.
1401         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1402         (get_char_id_table): Try to read an external database if Qunloaded
1403         is stored in a table.
1404
1405         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1406         Qunloaded.
1407
1408 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1409
1410         * database.h: Add EXFUN definitions for Fopen_database,
1411         Fput_database, Fget_database and Fclose_database.
1412
1413         * data.c (Qunloaded): New variable in UTF-2000.
1414
1415         * lisp.h (Qunloaded): New variable in UTF-2000.
1416
1417 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1418
1419         * mule-charset.c (put_char_ccs_code_point): Modify for
1420         `decoding_table_remove_char' and `decoding_table_put_char'.
1421         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1422
1423         * char-ucs.h (decoding_table_remove_char): Change arguments to
1424         hide decoding_table vector.
1425         (decoding_table_put_char): Likewise.
1426
1427 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1428
1429         * mule-charset.c (decoding_table_remove_char): Moved to
1430         char-ucs.h.
1431         (decoding_table_put_char): Likewise.
1432
1433         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1434         from mule-charset.c].
1435         (decoding_table_remove_char): New inline function [moved from
1436         mule-charset.c].
1437         (decoding_table_put_char): Likewise.
1438
1439 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1440
1441         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1442         extension.
1443
1444 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1445
1446         * mule-charset.c (decode_builtin_char): Support mother charsets.
1447
1448 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1449
1450         * mule-charset.c (Q94x94x60): New variable.
1451         (charset_code_point): Support conversion `94x94x60'.
1452         (Fmake_charset): Likewise.
1453         (syms_of_mule_charset): Add new symbol `94x94x60'.
1454
1455         * char-ucs.h (CONVERSION_94x94x60): New macro.
1456
1457 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1458
1459         * mule-charset.c (charset_code_point): Unify code about
1460         `code-offset'.
1461
1462 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1463
1464         * mule-charset.c (charset_code_point): Merge code about builtin
1465         characters into code about mother charsets; don't use
1466         `range_charset_code_point'.
1467         (range_charset_code_point): Deleted.
1468
1469 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1470
1471         * mule-charset.c (Qcode_offset): New variable.
1472         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1473         `max-code'; accept new property `code-offset'.
1474         (syms_of_mule_charset): Add new symbol `code-offset'.
1475
1476 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1477
1478         * mule-charset.c (range_charset_code_point): Fixed.
1479
1480 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1481
1482         * mule-charset.c (decode_builtin_char): Change semantics of
1483         code-offset of coded-charset.
1484         (charset_code_point): Likewise.
1485         (range_charset_code_point): Likewise.
1486         (complex_vars_of_mule_charset): Modify for the change.
1487
1488 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1489
1490         * mule-charset.c (Fencode_char): Reverse arguments.
1491
1492         * mule-charset.c (charset_code_point): Fixed.
1493
1494 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1495
1496         * mule-charset.c (Vcharset_mojikyo): Deleted.
1497         (Vcharset_mojikyo_2022_1): Deleted.
1498         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1499         (Qmin_code): New variable in UTF-2000.
1500         (Qmax_code): Likewise.
1501         (Qmother): Likewise.
1502         (Qconversion): Likewise.
1503         (Q94x60): Likewise.
1504         (Qmojikyo): Deleted.
1505         (Qmojikyo_2022_1): Deleted.
1506         (Qmojikyo_pj_{1..22}): Deleted.
1507         (mark_charset): Mark `cs->mother'.
1508         (charset_description): Add description for `mother'.
1509         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1510         new arguments `mother' and `conversion'; use
1511         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1512         (charset_code_point): Moved from char-ucs.h; support `mother'
1513         charset feature.
1514         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1515         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1516         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1517         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1518         allow 2 as the value of `graphic' in UTF-2000; add new properties
1519         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1520         require `final' in UTF-2000; modify for `make_charset'.
1521         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1522         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1523         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1524         (Fencode_char): New function.
1525         (syms_of_mule_charset): Add new builtin function `encode-char' in
1526         UTF-2000; add new symbols `min-code', `max-code', `mother',
1527         `conversion' and `94x60'; delete symbols `mojikyo',
1528         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1529         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1530         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1531         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1532
1533         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1534         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1535
1536         * char-ucs.h (Vcharset_mojikyo): Deleted.
1537         (Vcharset_mojikyo_2022_1): Deleted.
1538         (LEADING_BYTE_MOJIKYO): Deleted.
1539         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1540         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1541         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1542         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1543         add new member `mother'; add new member `conversion'.
1544         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1545         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1546         (CHARSET_MOTHER): New macro.
1547         (CHARSET_CONVERSION): New macro.
1548         (CONVERSION_IDENTICAL): New macro.
1549         (CONVERSION_94x60): New macro.
1550         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1551         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1552         (XCHARSET_MOTHER): New macro.
1553         (XCHARSET_CONVERSION): New macro.
1554         (MIN_CHAR_MOJIKYO): Deleted.
1555         (MAX_CHAR_MOJIKYO): Deleted.
1556         (DECODE_MOJIKYO_2022): Deleted.
1557         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1558         (charset_code_point): Changed to non-inline function.
1559         (encode_char_1): Use `charset_code_point'.
1560         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1561
1562 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1563
1564         * lread.c (read_compiled_function): Fix prototype.
1565         (read_vector): Likewise.
1566
1567 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1568
1569         * lrecord.h (struct lrecord_header): Delete `older'.
1570         (set_lheader_implementation): Delete code for `older'.
1571         (set_lheader_older_implementation): Deleted.
1572         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1573         (OLDER_RECORD_P): Deleted.
1574         (OLDER_RECORD_HEADER_P): Deleted.
1575         (alloc_older_lcrecord): Deleted.
1576         (alloc_older_lcrecord_type): Deleted.
1577
1578         * alloc.c (all_older_lcrecords): Deleted.
1579         (alloc_older_lcrecord): Deleted.
1580         (disksave_object_finalization_1): Delete code for older objects.
1581         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1582         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1583
1584 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1585
1586         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1587         instead of `make_older_vector'.
1588         (put_char_ccs_code_point): Likewise.
1589         (mark_charset): Mark `cs->decoding_table'.
1590         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1591
1592         * lisp.h (make_older_vector): Deleted.
1593         (make_vector_newer): Deleted.
1594
1595         * config.h.in (HAVE_GGC): Deleted.
1596
1597         * alloc.c (make_older_vector): Deleted.
1598         (make_vector_newer_1): Deleted.
1599         (make_vector_newer): Deleted.
1600
1601 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1602
1603         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1604         (Qideograph_daikanwa_2): New variable.
1605         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1606         (complex_vars_of_mule_charset): Add new coded-charset
1607         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1608         `LEADING_BYTE_DAIKANWA'.
1609
1610         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1611         (LEADING_BYTE_DAIKANWA_1): New macro.
1612         (LEADING_BYTE_DAIKANWA_2): New macro.
1613         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1614
1615 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1616
1617         * mule-charset.c (complex_vars_of_mule_charset): Change
1618         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1619         the second revised version.
1620
1621 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1622
1623         * mule-charset.c (Vcharset_ucs_smp): New variable.
1624         (Vcharset_ucs_sip): New variable.
1625         (Qucs_smp): New variable.
1626         (Qucs_sip): New variable.
1627         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1628         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1629         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1630         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1631         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1632         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1633
1634         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1635         (LEADING_BYTE_UCS_SIP): New macro.
1636         (MIN_CHAR_SMP): New macro.
1637         (MAX_CHAR_SMP): New macro.
1638         (MIN_CHAR_SIP): New macro.
1639         (MAX_CHAR_SIP): New macro.
1640
1641 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1642
1643         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1644         utf-2000.
1645
1646 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1647
1648         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1649         value; don't store value into `encoding_table' of `Lisp_Charset'.
1650         (mark_charset): `encoding_table' was deleted.
1651         (charset_description): Likewise.
1652         (make_charset): Likewise.
1653         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1654         `put_char_ccs_code_point'.
1655
1656         * chartab.h (Fput_char_attribute): New EXFUN.
1657
1658         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1659         is unified with normal symbol space.
1660         (Fget_char_attribute): Likewise.
1661         (Fput_char_attribute): Likewise; behavior of
1662         `put_char_ccs_code_point' is changed.
1663
1664         * char-ucs.h: Include "elhash.h".
1665         (Vchar_attribute_hash_table): New external variable.
1666         (struct Lisp_Charset): Delete `encoding_table'.
1667         (CHARSET_ENCODING_TABLE): New implementation; refer
1668         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1669         `Lisp_Charset'.
1670
1671 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1672
1673         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1674         (cs) == 0.
1675
1676 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1677
1678         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1679         `chinese-big5'.
1680
1681 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1682
1683         * chartab.c (uint8_byte_table_description): New constant.
1684         (uint8-byte-table): Use `uint8_byte_table_description'.
1685         (uint16_byte_table_description): New constant.
1686         (uint16-byte-table): Use `uint16_byte_table_description'.
1687
1688 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1689
1690         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1691         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1692
1693 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1694
1695         * mule-charset.c (Vcharset_ucs_ks): New variable.
1696         (Qucs_ks): New variable.
1697         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1698         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1699
1700         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1701
1702 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1703
1704         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1705         (Fdecode_char): Likewise.
1706
1707         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1708         chartab.h.
1709         (Fdefine_char): Modify for Fdecode_char.
1710         (Ffind_char): Likewise.
1711
1712         * mule-charset.c (Fdecode_char): Add new optional argument
1713         `defined-only'.
1714         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1715
1716 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1717
1718         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1719         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1720         (allocate_coding_system): Initialize initial-charsets of
1721         CODESYS_BIG5 in XEmacs UTF-2000.
1722         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1723         CODESYS_BIG5 in XEmacs UTF-2000.
1724         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1725         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1726
1727         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1728         variables.
1729         (Qideograph_hanziku_{1 .. 12}): Likewise.
1730         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1731         .. 12}'.
1732         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1733         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1734         `ideograph-hanziku-{1 .. 12}'.
1735
1736         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1737         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1738         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1739         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1740         (DECODE_DEFINED_CHAR): New inline function.
1741         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1742
1743 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1744
1745         * mule-charset.c (Vcharset_china3_jef): Renamed from
1746         `Vcharset_japanese_jef_china3'.
1747         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1748         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1749         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1750         (syms_of_mule_charset): Rename `china3-jef' from
1751         `japanese-jef-china3'.
1752         (complex_vars_of_mule_charset): Likewise; rename
1753         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1754
1755         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1756         `LEADING_BYTE_JEF_CHINA3'.
1757         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1758         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1759
1760 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1761
1762         * mule-charset.c (encode_builtin_char_1): Comment out special code
1763         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1764
1765         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1766         (MAX_CHAR_MOJIKYO_0): Comment out.
1767         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1768         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1769         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1770         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1771
1772 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1773
1774         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1775         (Qideograph_cbeta): New variable.
1776         (encode_builtin_char_1): Comment out special code for
1777         coded-charset `mojikyo' and `japanese-jef-china3'.
1778         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1779         (complex_vars_of_mule_charset): Add new coded-charset
1780         `ideograph-cbeta'.
1781
1782         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1783         (MIN_CHAR_CBETA): New macro.
1784         (MAX_CHAR_CBETA): New macro.
1785
1786 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1787
1788         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1789         (LEADING_BYTE_JEF_CHINA3): New macro.
1790         (MIN_CHAR_JEF_CHINA3): New macro.
1791         (MAX_CHAR_JEF_CHINA3): Likewise.
1792         (DECODE_CHAR): Fixed.
1793
1794 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1795
1796         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1797         (Qjapanese_jef_china3): New variable.
1798         (encode_builtin_char_1): Support `japanese-jef-china3'.
1799         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1800         (complex_vars_of_mule_charset): Add new coded-charset
1801         `japanese-jef-china3'.
1802
1803 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1804
1805         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1806         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1807         94^4, 96^3, 96^4, 128^n and 256^n set.
1808         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1809         (map_char_table): Likewise.
1810
1811 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1812
1813         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1814         UTF-2000.
1815
1816 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1817
1818         * chartab.h (get_char_id_table): New inline function.
1819
1820         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1821         function.
1822
1823 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1824
1825         * chartab.h (decode_char_table_range): New prototype in XEmacs
1826         UTF-2000.
1827         (put_char_id_table): New inline function in XEmacs UTF-2000.
1828
1829         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1830         function.
1831         (decode_char_table_range): Delete static declaration in XEmacs
1832         UTF-2000.
1833
1834 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1835
1836         * chartab.c (put_char_id_table): Use `put_char_table'.
1837
1838 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1839
1840         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1841         (map_over_uint16_byte_table): Likewise.
1842         (map_over_byte_table): Likewise.
1843         (map_char_table): Modify for `map_over_uint8_byte_table',
1844         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1845         UTF-2000.
1846
1847 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1848
1849         * chartab.c (struct map_char_table_for_charset_arg): New
1850         structure.
1851         (map_char_table_for_charset_fun): New function.
1852         (map_char_table): Use `map_char_table' for encoding_table of
1853         `range->charset'.
1854
1855 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1856
1857         * chartab.c (map_char_table): Check a character is found in
1858         range->charset instead of non default value is defined in
1859         char-table when range is CHARTAB_RANGE_ROW.
1860
1861 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1862
1863         * chartab.c (map_char_id_table): Deleted.
1864         (Fmap_char_attribute): Use `map_char_table' instead of
1865         `map_char_id_table'.
1866
1867 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1868
1869         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1870         UTF-2000.
1871         (update_syntax_table): Deleted in XEmacs UTF-2000.
1872
1873         * syntax.c (find_defun_start): Use `syntax_table' instead of
1874         `mirror_syntax_table' in XEmacs UTF-2000.
1875         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1876         UTF-2000.
1877         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1878         XEmacs UTF-2000.
1879         (Fmatching_paren): Likewise.
1880         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1881         in XEmacs UTF-2000.
1882         (find_start_of_comment): Likewise.
1883         (find_end_of_comment): Likewise.
1884         (Fforward_comment): Likewise.
1885         (scan_lists): Likewise.
1886         (char_quoted): Likewise.
1887         (Fbackward_prefix_chars): Likewise.
1888         (scan_sexps_forward): Likewise.
1889         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1890         (update_syntax_table): Likewise.
1891
1892         * search.c (skip_chars): Use `syntax_table' instead of
1893         `mirror_syntax_table' in XEmacs UTF-2000.
1894         (wordify): Likewise.
1895         (Freplace_match): Likewise.
1896
1897         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1898         `mirror_syntax_table' in XEmacs UTF-2000.
1899         (WORDCHAR_P_UNSAFE): Likewise.
1900         (re_match_2_internal): Likewise.
1901
1902         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1903         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1904
1905         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1906         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1907
1908         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1909         XEmacs UTF-2000.
1910
1911         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1912         UTF-2000.
1913         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1914         (char_table_description): Delete `mirror_table' in XEmacs
1915         UTF-2000.
1916         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1917         UTF-2000.
1918         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1919         (Fcopy_char_table): Likewise.
1920         (put_char_table): Don't call `update_syntax_table' in XEmacs
1921         UTF-2000.
1922
1923         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1924         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1925         (casify_region_internal): Likewise.
1926
1927         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1928
1929         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1930         `mirror_syntax_table' in XEmacs UTF-2000.
1931
1932         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1933         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1934         (Fexpand_abbrev): Likewise.
1935
1936 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1937
1938         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1939
1940 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1941
1942         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1943         (map_over_uint16_byte_table): Likewise.
1944         (map_over_byte_table): Likewise.
1945         (get_char_id_table): Refer `cit->default_value'.
1946         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1947         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1948         of character-id ranges.
1949         (mark_char_table): Mark `ct->default_value'.
1950         (char_table_description): Add `default_value'.
1951         (fill_char_table): Use `default_value'.
1952         (decode_char_table_range): Decode `nil' as
1953         `CHARTAB_RANGE_DEFAULT'.
1954         (get_char_id_table): Refer `cit->default_value'.
1955         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1956         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1957         temporary hack; check value of char-table is bound or not.
1958         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1959
1960         * chartab.h (struct Lisp_Char_Table): Add new member
1961         `default_value' in XEmacs UTF-2000.
1962         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1963         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1964         UTF-2000.
1965
1966 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1967
1968         * chartab.h (Lisp_Char_ID_Table): Deleted.
1969
1970         * chartab.c (char_table_description): Fix typo.
1971         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1972         `Lisp_Char_ID_Table'.
1973
1974 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1975
1976         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1977         `CHAR_ID_TABLE_P'.
1978
1979         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1980         `CHAR_ID_TABLE_P'.
1981
1982         * chartab.h (XCHAR_ID_TABLE): Deleted.
1983         (XSETCHAR_ID_TABLE): Deleted.
1984         (CHAR_ID_TABLE_P): Deleted.
1985
1986         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1987         `CHAR_ID_TABLE_P'.
1988         (Fget_composite_char): Likewise.
1989         (put_char_table): Likewise.
1990         (add_char_attribute_alist_mapper): Fixed.
1991         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1992         `CHAR_ID_TABLE_P'.
1993         (Fget_char_attribute): Likewise.
1994         (Fget_char_attribute): Likewise.
1995         (Fmap_char_attribute): Likewise.
1996
1997         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1998         `CHAR_ID_TABLE_P'.
1999         (encode_char_1): Likewise.
2000
2001 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2002
2003         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2004         `XCHAR_ID_TABLE'.
2005
2006         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2007         instead of `XCHAR_ID_TABLE'.
2008         (remove_char_ccs): Likewise.
2009
2010         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2011         `XCHAR_ID_TABLE'.
2012         (Fget_composite_char): Likewise.
2013         (Fchar_variants): Likewise.
2014         (put_char_table): Likewise.
2015         (add_char_attribute_alist_mapper): Likewise.
2016         (Fchar_attribute_alist): Likewise.
2017         (Fget_char_attribute): Likewise.
2018         (Fput_char_attribute): Likewise.
2019         (Fmap_char_attribute): Likewise.
2020         (Fmap_char_attribute): Likewise.
2021
2022         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2023         `XCHAR_ID_TABLE'.
2024         (encode_char_1): Likewise.
2025
2026 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2027
2028         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2029         `Lisp_Char_ID_Table'.
2030         (mark_char_id_table): Deleted.
2031         (print_char_id_table): Likewise.
2032         (char_id_table_equal): Likewise.
2033         (char_id_table_hash): Likewise.
2034         (char_id_table_description): Likewise.
2035         (char_id_table): Likewise.
2036         (make_char_id_table): Use `Fmake_char_table' and
2037         `fill_char_table'.
2038         (get_char_id_table): Use `Lisp_Char_Table' instead of
2039         `Lisp_Char_ID_Table'.
2040         (put_char_id_table): Likewise.
2041         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2042         `XCHAR_ID_TABLE'.
2043         (Fremove_char_attribute): Likewise.
2044         (syms_of_chartab): Don't define type `char-id-table'.
2045
2046         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2047         (char_id_table): Likewise.
2048         (GC_CHAR_ID_TABLE_P): Likewise.
2049         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2050         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2051         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2052         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2053         (get_char_id_table): Use `Lisp_Char_Table' instead of
2054         `Lisp_Char_ID_Table'.
2055         (put_char_id_table_0): Likewise.
2056         (put_char_id_table): Likewise.
2057
2058 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2059
2060         * chartab.h: Lisp_Byte_Table related codes are moved from
2061         chartab.h.
2062
2063         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2064
2065 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2066
2067         * chartab.h: Don't include "chartab.h".
2068         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2069         (Lisp_Char_ID_Table): Likewise.
2070         (char_id_table): Likewise.
2071         (XCHAR_ID_TABLE): Likewise.
2072         (XSETCHAR_ID_TABLE): Likewise.
2073         (CHAR_ID_TABLE_P): Likewise.
2074         (GC_CHAR_ID_TABLE_P): Likewise.
2075         (get_char_id_table): Likewise.
2076
2077         * char-ucs.h: Include "chartab.h".
2078         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2079         (Lisp_Char_ID_Table): Likewise.
2080         (char_id_table): Likewise.
2081         (XCHAR_ID_TABLE): Likewise.
2082         (XSETCHAR_ID_TABLE): Likewise.
2083         (CHAR_ID_TABLE_P): Likewise.
2084         (GC_CHAR_ID_TABLE_P): Likewise.
2085         (get_char_id_table): Likewise.
2086
2087 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2088
2089         * chartab.c (copy_uint8_byte_table): New function.
2090         (copy_uint16_byte_table): New function.
2091         (copy_byte_table): New function.
2092         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2093         characters to call.
2094         (map_over_uint16_byte_table): Likewise.
2095         (map_over_byte_table): Likewise.
2096         (get_byte_table): Move prototype to chartab.h.
2097         (put_byte_table): Likewise.
2098         (put_char_id_table_0): Moved to chartab.h.
2099         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2100         (char_table_entry_equal): Likewise.
2101         (char_table_entry_hash): Likewise.
2102         (char_table_entry_description): Likewise.
2103         (char_table_entry): Likewise.
2104         (make_char_table_entry): Likewise.
2105         (copy_char_table_entry): Likewise.
2106         (get_non_ascii_char_table_value): Likewise.
2107         (map_over_charset_ascii): Likewise.
2108         (map_over_charset_control_1): Likewise.
2109         (map_over_charset_row): Likewise.
2110         (map_over_other_charset): Likewise.
2111         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2112         (print_char_table): Likewise.
2113         (char_table_equal): Likewise.
2114         (char_table_hash): Likewise.
2115         (char_table_description): Likewise.
2116         (fill_char_table): Likewise.
2117         (Fcopy_char_table): Likewise.
2118         (get_char_table): Likewise.
2119         (Fget_range_char_table): Likewise.
2120         (put_char_table): Likewise.
2121         (map_char_table): Likewise.
2122         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2123         UTF-2000.
2124
2125 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2126
2127         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2128         `Vauto_fill_chars' in XEmacs UTF-2000.
2129
2130         * chartab.h (get_byte_table): New prototype [moved from
2131         chartab.c].
2132         (put_byte_table): Likewise [moved from chartab.c].
2133         (put_char_id_table_0): New inline function [moved from chartab.c].
2134         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2135         (Lisp_Char_Table_Entry): Likewise.
2136         (char_table_entry): Likewise.
2137         (XCHAR_TABLE_ENTRY): Likewise.
2138         (XSETCHAR_TABLE_ENTRY): Likewise.
2139         (CHAR_TABLE_ENTRYP): Likewise.
2140         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2141         (NUM_ASCII_CHARS): Likewise.
2142         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2143         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2144
2145 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2146
2147         * chartab.c (get_char_id_table): Change interface.
2148         (put_char_id_table_0): New function.
2149         (put_char_id_table): Change interface; new implementation.
2150         (Fget_composite_char): Modify for interface change of
2151         `get_char_id_table'.
2152         (Fchar_variants): Likewise.
2153         (add_char_attribute_alist_mapper): Likewise.
2154         (Fchar_attribute_alist): Likewise.
2155         (Fget_char_attribute): Likewise.
2156         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2157         as same as character as the first argument like `put-char-table';
2158         modify for interface change of `put_char_id_table'.
2159         (Fremove_char_attribute): Modify for interface change of
2160         `put_char_id_table'.
2161
2162 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2163
2164         * text-coding.c: Sync up with XEmacs 21.2.41.
2165         (COMPOSE_ADD_CHAR): Modify for interface change of
2166         `get_char_id_table'.
2167
2168         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2169         change of `put_char_id_table'.
2170         (remove_char_ccs): Likewise.
2171
2172         * chartab.h (put_char_id_table): Change interface.
2173
2174         * char-ucs.h (get_char_id_table): Change interface.
2175         (charset_code_point): Modify for interface change of
2176         `get_char_id_table'.
2177         (encode_char_1): Likewise.
2178
2179 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2180
2181         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2182         argument `ccs'.
2183         (map_over_uint16_byte_table): Likewise.
2184         (map_over_byte_table): Likewise.
2185         (map_char_id_table): Add new argument `range' like
2186         `map_char_table'.
2187         (Fmap_char_attribute): Add new argument `range' like
2188         `Fmap_char_table'.
2189
2190 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2191
2192         * chartab.c (map_over_uint8_byte_table): Change interface of
2193         mapping function to use struct chartab_range instead of Emchar.
2194         (map_over_uint16_byte_table): Likewise.
2195         (map_over_byte_table): Likewise.
2196         (map_char_id_table): Likewise.
2197         (struct slow_map_char_id_table_arg): Deleted.
2198         (slow_map_char_id_table_fun): Deleted.
2199         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2200         function `slow_map_char_table_fun' instead of struct
2201         `slow_map_char_id_table_arg' and function
2202         `slow_map_char_id_table_fun'.
2203
2204 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2205
2206         * mule-charset.c: Move char-it-table related codes to chartab.c.
2207         (Vutf_2000_version): Moved to chartab.c.
2208         (Fdefine_char): Likewise.
2209         (Ffind_char): Likewise.
2210         (syms_of_mule_charset): Move types `uint8-byte-table',
2211         `uint16-byte-table', `byte-table' and `char-id-table' to
2212         chartab.c; move functions `char_attribute_list,
2213         `find_char_attribute_table, `char_attribute_alist,
2214         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2215         `map_char_attribute, `define_char, `find_char, `char_variants and
2216         `get_composite_char to chartab.c; move symbols `=>ucs',
2217         `->decomposition', `compat', `isolated', `initial', `medial',
2218         `final', `vertical', `noBreak', `fraction', `super', `sub',
2219         `circle', `square', `wide', `narrow', `small' and `font' to
2220         chartab.c.
2221         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2222         setting codes for `Vcharacter_composition_table' and
2223         `Vcharacter_variant_table' to chartab.c.
2224         (complex_vars_of_mule_charset): Move setting code for
2225         `Vchar_attribute_hash_table' to chartab.c.
2226
2227         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2228         (make_char_id_table): New prototype.
2229         (put_char_id_table): Likewise.
2230         (Fget_char_attribute): Likewise.
2231
2232         * chartab.c: Move char-id-table related code from mule-charset.c.
2233         (Vutf_2000_version): Moved from mule-charset.c.
2234
2235         * char-ucs.h (Qucs): New external variable.
2236         (put_char_ccs_code_point): New prototype.
2237         (remove_char_ccs): Likewise.
2238
2239 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2240
2241         * mule-charset.c (Vcharset_ucs_jis): New variable.
2242         (Qucs_jis): Likewise.
2243         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2244         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2245
2246         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2247
2248 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2249
2250         * mule-charset.c (map_over_uint8_byte_table): New function.
2251         (map_over_uint16_byte_table): Likewise.
2252         (map_over_byte_table): Likewise.
2253         (map_char_id_table): Likewise.
2254         (slow_map_char_id_table_fun): Likewise.
2255         (Fmap_char_attribute): Likewise.
2256         (syms_of_mule_charset): Add new function `map-char-attribute'.
2257
2258 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2259
2260         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2261         (syms_of_mule_charset): Add new function `find-char'.
2262
2263 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2264
2265         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2266         XEmacs UTF-2000.
2267         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2268         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2269         XEmacs UTF-2000.
2270         (complex_vars_of_mule_charset): Add new coded-charset
2271         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2272         `ideograph-gt-pj-*'.
2273
2274         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2275
2276 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2277
2278         * mule-charset.c (encode_builtin_char_1): Purge codes about
2279         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2280         {MIN|MAX}_CHAR_HEBREW.
2281         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2282         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2283
2284         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2285         (MAX_CHAR_GREEK): Purged.
2286         (MIN_CHAR_CYRILLIC): Purged.
2287         (MAX_CHAR_CYRILLIC): Purged.
2288         (MIN_CHAR_HEBREW): Commented out.
2289         (MAX_CHAR_HEBREW): Likewise.
2290
2291 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2292
2293         * mule-charset.c (Qto_ucs): New variable.
2294         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2295         (Fdefine_char): Likewise.
2296         (syms_of_mule_charset): Add new symbol `=>ucs'.
2297
2298 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2299
2300         * mule-charset.c (Fdecode_char): Fixed.
2301
2302 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2303
2304         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2305         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2306         "tcvn5712-1".
2307
2308 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2309
2310         * mule-charset.c (Vcharset_ucs_big5): New variable.
2311         (Qucs_big5): Likewise.
2312         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2313         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2314
2315         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2316
2317 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2318
2319         * mule-charset.c (decode_builtin_char): Check Big5 code range
2320         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2321
2322 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2323
2324         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2325         (Qchinese_gb12345): Likewise.
2326         (Fdecode_builtin_char): Fixed.
2327         (syms_of_mule_charset): Add `chinese-gb12345'.
2328         (complex_vars_of_mule_charset): Add coded-charset
2329         `chinese-gb12345'.
2330
2331         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2332         (LEADING_BYTE_CHINESE_GB12345): New macro.
2333
2334 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2335
2336         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2337         and `latin-viscii-upper' for `latin-viscii'.
2338
2339 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2340
2341         * mule-charset.c (Fdecode_builtin_char): Comment out
2342         regularization code for ISO-IR GR representation.
2343
2344 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2345
2346         * mule-charset.c (decode_builtin_char): New function; renamed from
2347         `make_builtin_char'; return -1 instead of signal.
2348         (Fdecode_builtin_char): Use `decode_builtin_char'.
2349
2350         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2351         `make_builtin_char'.
2352         (DECODE_CHAR): Use `decode_builtin_char' instead of
2353         `make_builtin_char'; use mapping table of `chinese-big5' for
2354         `chinese-big5-{1,2}'.
2355
2356 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2357
2358         * text-coding.c (char_encode_big5): New function.
2359         (char_finish_big5): Likewise.
2360         (reset_encoding_stream): Use `char_encode_big5' and
2361         `char_finish_big5' for CODESYS_BIG5.
2362         (mule_encode): Don't use `encode_coding_big5'.
2363         (encode_coding_big5): Deleted.
2364
2365 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2366
2367         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2368         0x81- in XEmacs UTF-2000.
2369         (detect_coding_big5): Likewise.
2370
2371 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2372
2373         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2374         generate character-id if the CCS property does not have
2375         corresponding predefined character.
2376         (make_builtin_char): Return -1 if corresponding predefined
2377         character is not found.
2378         (Fdecode_char): Return nil if corresponding character is not
2379         found.
2380         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2381         don't map to builtin ucs space.
2382
2383 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2384
2385         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2386         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2387
2388 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2389
2390         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2391         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2392         (Qideograph_gt): Likewise.
2393         (Qideograph_gt_pj_{1..11}): Likewise.
2394         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2395         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2396         `ideograph-gt-pj-11'.
2397         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2398         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2399         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2400
2401         * char-ucs.h (LEADING_BYTE_GT): New macro.
2402         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2403         (MIN_CHAR_GT): Likewise.
2404         (MAX_CHAR_GT): Likewise.
2405
2406 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2407
2408         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2409         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2410
2411         * doprnt.c (unsigned_int_converters): Add `c'.
2412         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2413
2414         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2415         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2416         `MIN_CHAR_MOJIKYO'.
2417         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2418         (MAX_CHAR_MOJIKYO_0): New macro.
2419         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2420
2421 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2422
2423         * mule-charset.c (Fdefine_char): Delete cemented out code.
2424         (encode_builtin_char_1): Modify for new allocation of builtin
2425         Mojikyo characters.
2426
2427         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2428
2429 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2430
2431         * mule-charset.c (Vcharset_ucs_cns): New variable.
2432         (Qucs_cns): New variable.
2433         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2434         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2435
2436 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2437
2438         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2439
2440 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2441
2442         * search.c (search_buffer): Make `charset_base_code' as
2443         character-id >> 6 to eliminate the corresponding last byte in
2444         UTF-8 representation [I'm not sure it is right thing].
2445         (boyer_moore): Likewise.
2446
2447 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2448
2449         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2450         representation in MULE.
2451
2452 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2453
2454         * text-coding.c (Fmake_coding_system): Use
2455         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2456         `EXTERNAL_PROPERTY_LIST_LOOP'.
2457
2458 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2459
2460         * text-coding.c (decode_output_utf8_partial_char): New function.
2461         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2462
2463 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2464
2465         * text-coding.c (decode_coding_utf8): Output original byte
2466         sequence if it is broken; change order of conditions.
2467
2468         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2469         of conditions.
2470
2471         * mb-multibyte.h (BYTE_ASCII_P):
2472         Use bit ops for char-signedness safety.
2473         (BYTE_C0_P): Use bit ops for char-signedness safety.
2474         (BYTE_C1_P): Use bit ops for char-signedness safety.
2475
2476         * character.h: (XCHAR_OR_CHAR_INT):
2477         Always use inline function.
2478         Remove redundant type checking assert() - XINT will abort quite
2479         nicely.
2480
2481 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2482
2483         * text-coding.c: (Fencode_shift_jis_char):
2484         (Fencode_big5_char):
2485         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2486         Replace 0 with '\0' when working with bytes.
2487         Replace initial "(" with "\(" in docstrings.
2488
2489         (Fmake_coding_system):
2490         When type is ccl and value is vector, register it with a proper
2491         symbol.  And checks whether the given ccl program is valid.
2492         (mule_decode): When calling ccl_driver, if src indicates
2493         NULL pointer, set an empty string instead.
2494         (mule_encode): Likewise.
2495
2496         (detect_eol_type):
2497         (detect_coding_sjis):
2498         (decode_coding_sjis):
2499         (detect_coding_big5):
2500         (decode_coding_big5):
2501         (detect_coding_ucs4):
2502         (decode_coding_ucs4):
2503         (detect_coding_utf8):
2504         (decode_coding_utf8):
2505         (detect_coding_iso2022):
2506         (decode_coding_iso2022):
2507         (decode_coding_no_conversion):
2508         (mule_decode):
2509         Make all detecting and decoding functions take an Extbyte * arg.
2510         (text_encode_generic):
2511         (encode_coding_big5):
2512         (encode_coding_no_conversion):
2513         (mule_encode):
2514         Make all encoding functions take a Bufbyte * arg.
2515         Use size_t instead of unsigned int for memory sizes.
2516         Only cast to unsigned char whenever dereferencing Extbyte *.
2517
2518         (struct lrecord_description fcd_description_1): Use countof.
2519         (complex_vars_of_file_coding):
2520         Use countof instead of sizeof.
2521         Use CHECK_NATNUM instead of CHECK_INT.
2522
2523 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2524
2525         * mule-charset.c (Fget_char_attribute): Add new optional argument
2526         `default-value'.
2527         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2528         (remove_char_ccs): Likewise.
2529
2530 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2531
2532         * text-coding.c (char_encode_shift_jis): New implementation in
2533         UTF-2000.
2534         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2535         ...)'.
2536
2537         * mule-charset.c (Vcharset_chinese_big5): New variable in
2538         UTF-2000.
2539         (Qchinese_big5): New variable in UTF-2000.
2540         (BIG5_SAME_ROW): New macro in UTF-2000.
2541         (make_builtin_char): Use builtin characters of
2542         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2543         characters of `Vcharset_chinese_big5'.
2544         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2545         (complex_vars_of_mule_charset): Add new coded-charset
2546         `chinese-big5' in UTF-2000.
2547
2548         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2549         (Vcharset_chinese_big5): New external variable declaration.
2550         (Vcharset_japanese_jisx0208_1990): Likewise.
2551
2552 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2553
2554         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2555         function.
2556         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2557
2558 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2559
2560         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2561         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2562         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2563         `mojikyo-pj-*'.
2564
2565 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2566
2567         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2568
2569 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2570
2571         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2572         to 0.17.
2573
2574 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2575
2576         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2577         for `CHARSET_BY_ATTRIBUTES'.
2578         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2579         `CHARSET_BY_ATTRIBUTES'.
2580
2581         * text-coding.c (struct decoding_stream): Rename member `CH' to
2582         `CPOS'.
2583         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2584         (decode_coding_sjis): Likewise.
2585         (decode_coding_big5): Likewise.
2586         (decode_coding_ucs4): Likewise.
2587         (decode_coding_utf8): Likewise.
2588         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2589         `CHARSET_BY_ATTRIBUTES'.
2590         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2591         `str->counter'; decode 3, 4 bytes sets.
2592         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2593         sets.
2594         (decode_coding_no_conversion): Use `str->cpos' instead of
2595         `str->ch'.
2596
2597         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2598         (Qmojikyo_2022_1): New variable.
2599         (make_charset): Don't use `CHARSET_TYPE_*'.
2600         (range_charset_code_point): Support coded-charset
2601         `mojikyo-2022-1'.
2602         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2603         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2604         `CHARSET_BY_ATTRIBUTES'.
2605         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2606         `CHARSET_BY_ATTRIBUTES'.
2607         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2608         (complex_vars_of_mule_charset): Add new coded-charset
2609         `mojikyo-2022-1'.
2610
2611         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2612         interface; changed to inline function.
2613
2614         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2615         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2616         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2617         (CHARSET_TYPE_94): Deleted.
2618         (CHARSET_TYPE_94X94): Deleted.
2619         (CHARSET_TYPE_96): Deleted.
2620         (CHARSET_TYPE_96X96): Deleted.
2621         (CHARSET_TYPE_128): Deleted.
2622         (CHARSET_TYPE_128X128): Deleted.
2623         (CHARSET_TYPE_256): Deleted.
2624         (CHARSET_TYPE_256X256): Deleted.
2625         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2626         to inline function.
2627         (DECODE_MOJIKYO_2022): New inline function.
2628         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2629         `Vcharset_mojikyo_2022_1'.
2630
2631 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2632
2633         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2634         instead of `EQ'.
2635         (put_byte_table): Likewise.
2636         (char_id_table_equal): Use `get_byte_table' [new implementation].
2637
2638 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2639
2640         * mule-charset.c: Include <limits.h> in UTF-2000.
2641         (BT_UINT8_MIN): New macro in UTF-2000.
2642         (BT_UINT8_MAX): New macro in UTF-2000.
2643         (BT_UINT8_t): New macro in UTF-2000.
2644         (BT_UINT8_nil): New macro in UTF-2000.
2645         (BT_UINT8_unbound): New macro in UTF-2000.
2646         (INT_UINT8_P): New inline function in UTF-2000.
2647         (UINT8_VALUE_P): New inline function in UTF-2000.
2648         (UINT8_ENCODE): New inline function in UTF-2000.
2649         (UINT8_DECODE): New inline function in UTF-2000.
2650         (mark_uint8_byte_table): New function in UTF-2000.
2651         (print_uint8_byte_table): New function in UTF-2000.
2652         (uint8_byte_table_equal): New function in UTF-2000.
2653         (uint8_byte_table_hash): New function in UTF-2000.
2654         (make_uint8_byte_table): New function in UTF-2000.
2655         (uint8_byte_table_same_value_p): New function in UTF-2000.
2656         (BT_UINT16_MIN): New macro in UTF-2000.
2657         (BT_UINT16_MAX): New macro in UTF-2000.
2658         (BT_UINT16_t): New macro in UTF-2000.
2659         (BT_UINT16_nil): New macro in UTF-2000.
2660         (BT_UINT16_unbound): New macro in UTF-2000.
2661         (INT_UINT16_P): New inline function in UTF-2000.
2662         (UINT16_VALUE_P): New inline function in UTF-2000.
2663         (UINT16_ENCODE): New inline function in UTF-2000.
2664         (UINT16_DECODE): New inline function in UTF-2000.
2665         (UINT8_TO_UINT16): New inline function in UTF-2000.
2666         (mark_uint16_byte_table): New function in UTF-2000.
2667         (print_uint16_byte_table): New function in UTF-2000.
2668         (uint16_byte_table_equal): New function in UTF-2000.
2669         (uint16_byte_table_hash): New function in UTF-2000.
2670         (make_uint16_byte_table): New function in UTF-2000.
2671         (uint16_byte_table_same_value_p): New function in UTF-2000.
2672         (print_byte_table): New function in UTF-2000.
2673         (byte-table): Use `print_byte_table' as printer.
2674         (make_byte_table): Delete second argument `older'.
2675         (byte_table_same_value_p): New function in UTF-2000.
2676         (copy_byte_table): Deleted.
2677         (get_byte_table): New function in UTF-2000.
2678         (put_byte_table): New function in UTF-2000.
2679         (print_char_id_table): New function in UTF-2000.
2680         (char-id-table): Use `print_char_id_table' as printer.
2681         (make_char_id_table): Delete second argument `older'.
2682         (get_char_id_table): Use `get_byte_table [new implementation].
2683         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2684         implementation].
2685         (Ffind_char_attribute_table): New function in UTF-2000.
2686         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2687         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2688         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2689         (syms_of_mule_charset): Add new function
2690         `find-char-attribute-table' in UTF-2000.
2691
2692         * lrecord.h (enum lrecord_type): Add
2693         `lrecord_type_uint16_byte_table' and
2694         `lrecord_type_uint8_byte_table'.
2695
2696         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2697         (Lisp_Uint8_Byte_Table): New type.
2698         (XUINT8_BYTE_TABLE): New macro.
2699         (XSETUINT8_BYTE_TABLE): New macro.
2700         (UINT8_BYTE_TABLE_P): New macro.
2701         (GC_UINT8_BYTE_TABLE_P): New macro.
2702         (struct Lisp_Uint16_Byte_Table): New structure.
2703         (Lisp_Uint16_Byte_Table): New type.
2704         (XUINT16_BYTE_TABLE): New macro.
2705         (XSETUINT16_BYTE_TABLE): New macro.
2706         (UINT16_BYTE_TABLE_P): New macro.
2707         (GC_UINT16_BYTE_TABLE_P): New macro.
2708
2709 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2710
2711         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2712         (Vcharacter_ideographic_strokes_table): Deleted.
2713         (Vcharacter_total_strokes_table): Deleted.
2714         (Vcharacter_morohashi_daikanwa_table): Deleted.
2715         (Vcharacter_decomposition_table): Deleted.
2716         (Qname): Deleted because it is duplicated.
2717         (Qideographic_radical): Deleted.
2718         (Qideographic_strokes): Deleted.
2719         (Qtotal_strokes): Deleted.
2720         (Qmorohashi_daikanwa): Deleted.
2721         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2722         `ideographic-radical', `ideographic-strokes', `total-strokes',
2723         `morohashi-daikanwa' and `->decomposition'.
2724         (Fget_char_attribute): Likewise.
2725         (Fput_char_attribute): Likewise; use `make-vector' instead of
2726         `make_older_vector' for `->decomposition' value.
2727         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2728         `ideograph-daikanwa'.
2729         (syms_of_mule_charset): Delete builtin symbols `name',
2730         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2731         `morohashi-daikanwa'.
2732         (vars_of_mule_charset): Don't setup
2733         `Vcharacter_ideographic_radical_table',
2734         `Vcharacter_ideographic_strokes_table',
2735         `Vcharacter_total_strokes_table',
2736         `Vcharacter_morohashi_daikanwa_table' and
2737         `Vcharacter_decomposition_table'.
2738
2739 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2740
2741         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2742         `make_older_vector', `make_vector_newer_1' and
2743         `make_vector_newer'.
2744
2745         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2746         `make_older_vector' and `make_vector_newer'.
2747
2748         * config.h.in (HAVE_GGC): New macro.
2749
2750 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2751
2752         * mule-charset.c (struct char_attribute_list_closure): New
2753         structure in UTF-2000.
2754         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2755         (Fchar_attribute_list): Likewise.
2756         (Fset_charset_mapping_table): Use `make_vector_newer'.
2757         (Fdecode_builtin_char): New function in UTF-2000.
2758         (syms_of_mule_charset): Add new function `char-attribute-list' and
2759         `decode-builtin-char' in UTF-2000.
2760
2761         * lisp.h (make_vector_newer): New prototype.
2762
2763         * alloc.c (make_vector_newer_1): New function.
2764         (make_vector_newer): New function.
2765
2766 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2767
2768         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2769         50100)'.
2770
2771 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2772
2773         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2774         (Vcharacter_attribute_table): Deleted.
2775         (Vcharacter_name_table): Deleted.
2776         (put_char_attribute): Deleted.
2777         (remove_char_attribute): Deleted.
2778         (struct char_attribute_alist_closure): New structure.
2779         (add_char_attribute_alist_mapper): New function.
2780         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2781         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2782         (Fget_char_attribute): Likewise.
2783         (Fput_char_attribute): Likewise.
2784         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2785         of `remove_char_attribute'.
2786         (Fdefine_char): Return character.
2787         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2788         and `Vcharacter_name_table'.
2789         (complex_vars_of_mule_charset): Likewise
2790         `Vchar_attribute_hash_table'.
2791
2792 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2793
2794         * character.h (CHARC_CHARSET): New macro.
2795         (CHARC_CHARSET_ID): New macro.
2796         (CHARC_CODE_POINT): New macro.
2797         (CHARC_COLUMNS): New macro.
2798         (CHARC_TO_CHAR): New inline function.
2799         (CHARC_EQ): New inline function.
2800         (CHARC_ASCII_EQ): New inline function.
2801         (CHARC_IS_SPACE): New inline function.
2802         (ASCII_TO_CHARC): New inline function.
2803
2804         * char-ucs.h (encode_char_2): Deleted.
2805         (ENCODE_CHAR): Use `encode_char_1' again.
2806         (breakup_char_1): Likewise.
2807         (CHAR_TO_CHARC): New inline function.
2808
2809         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2810
2811 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2812
2813         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2814         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2815         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2816         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2817         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2818         `CHARC_IS_SPACE'.
2819         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2820
2821         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2822         `CHARC_CODE_POINT'.
2823         (x_output_display_block): Use `CHARC_CHARSET' and
2824         `CHARC_ASCII_EQ'.
2825
2826         * redisplay-tty.c (tty_output_display_block): Use
2827         `CHARC_ASCII_EQ'.
2828         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2829
2830         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2831
2832         * insdel.c (find_charsets_in_charc_string): Use
2833         `CHARC_CHARSET_ID'.
2834         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2835         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2836         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2837         (convert_charc_string_into_malloced_string): Likewise.
2838
2839 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2840
2841         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2842         instead of <Emchar_dynarr *> for buf; use
2843         `convert_bufbyte_string_into_charc_dynarr' instead of
2844         `convert_bufbyte_string_into_emchar_dynarr'; use
2845         `find_charsets_in_charc_string' instead of
2846         `find_charsets_in_emchar_string'.
2847
2848         * redisplay.h:
2849         - Include "character.h".
2850         (struct rune): New member `cglyph'; delete member `chr'.
2851
2852         * redisplay.c (redisplay_text_width_charc_string): New function;
2853         delete `redisplay_text_width_emchar_string'.
2854         (rtw_charc_dynarr): New variable; renamed from
2855         `rtw_emchar_dynarr'.
2856         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2857         `rtw_emchar_dynarr'; use
2858         `convert_bufbyte_string_into_charc_dynarr' instead of
2859         `convert_bufbyte_string_into_emchar_dynarr'; use
2860         `redisplay_text_width_charc_string' instead of
2861         `redisplay_text_width_emchar_string'.
2862         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2863         instead of `rtw_emchar_dynarr'; use
2864         `convert_bufbyte_string_into_charc_dynarr' instead of
2865         `convert_bufbyte_string_into_emchar_dynarr'.
2866         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2867         `redisplay_text_width_charc_string' instead of
2868         `redisplay_text_width_emchar_string'.
2869         (create_text_block): Modify for <struct rune> change.
2870         (generate_formatted_string_db): Likewise.
2871         (create_string_text_block): Likewise.
2872         (pixel_to_glyph_translation): Likewise.
2873
2874         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2875         instead of <const Emchar *>.
2876         (x_text_width): Likewise.
2877         (x_output_display_block): Use <Charc_dynarr *> instead
2878         <Emchar_dynarr *>; modify for <structure rune> change.
2879         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2880         *>.
2881
2882         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2883         <const Emchar *>; use `charc_string_displayed_columns' instead of
2884         `emchar_string_displayed_columns'.
2885         (tty_output_display_block): Use <Charc_dynarr *> instead of
2886         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2887         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2888         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2889         `tty_output_emchar_dynarr_dynarr'.
2890         (tty_output_charc_dynarr): New function; delete
2891         `tty_output_charc_dynarr'.
2892
2893         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2894         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2895         <Emchar_dynarr *> for buf; use
2896         `convert_bufbyte_string_into_charc_dynarr' instead of
2897         `convert_bufbyte_string_into_emchar_dynarr'.
2898
2899         * frame.c (title_string_charc_dynarr): New variable; renamed from
2900         `title_string_emchar_dynarr'.
2901         (generate_title_string): Use `title_string_charc_dynarr' instead
2902         of `title_string_emchar_dynarr'; use
2903         `convert_charc_string_into_malloced_string' instead of
2904         `convert_emchar_string_into_malloced_string'.
2905         (init_frame): Use `title_string_charc_dynarr' instead of
2906         `title_string_emchar_dynarr'.
2907
2908         * console.h:
2909         - Include "character.h".
2910         (struct console_methods): Use <const Charc *> instead of <const
2911         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2912         <Emchar_dynarr *> in output_string_method.
2913
2914         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2915         <Emchar_dynarr *>.
2916
2917         * console-stream.c (stream_text_width): Use <const Charc *>
2918         instead of <const Emchar *>.
2919
2920         * character.h (Charc_dynarr): New type.
2921
2922         * char-ucs.h (structure Charc): New structure; define new type
2923         `Charc'.
2924
2925         * char-lb.h (DECODE_CHAR): New inline function.
2926         (encode_char_1): New inline function.
2927         (ENCODE_CHAR): New macro.
2928         (structure Charc): New structure; define new type `Charc'.
2929
2930         * char-1byte.h (Vcharset_control_1): New macro.
2931         (Vcharset_latin_iso8859_1): New macro.
2932         (DECODE_CHAR): New inline function.
2933         (encode_char_1): New inline function.
2934         (ENCODE_CHAR): New macro.
2935         (structure Charc): New structure; define new type `Charc'.
2936
2937         * insdel.c (find_charsets_in_charc_string): New function; delete
2938         `find_charsets_in_emchar_string'.
2939         (charc_string_displayed_columns): New function; delete
2940         `emchar_string_displayed_columns'.
2941         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2942         `convert_bufbyte_string_into_emchar_dynarr'.
2943         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2944         `convert_charc_string_into_bufbyte_dynarr'.
2945         (convert_charc_string_into_malloced_string): New function; delete
2946         `convert_charc_string_into_malloced_string'.
2947
2948         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2949         `find_charsets_in_emchar_string'.
2950         (charc_string_displayed_columns): New prototype; delete
2951         `emchar_string_displayed_columns'.
2952         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2953         `convert_charc_string_into_bufbyte_dynarr'.
2954         (convert_charc_string_into_malloced_string): New prototype; delete
2955         `convert_charc_string_into_malloced_string'.
2956
2957 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2958
2959         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2960
2961 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2962
2963         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2964
2965         * char-ucs.h: Use <short> for <Charset_ID>.
2966
2967         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2968         <Charset_ID>.
2969
2970 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2971
2972         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2973         to 0.16.
2974
2975 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2976
2977         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2978         variable.
2979         (Qmorohashi_daikanwa): New variable.
2980         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2981         for `morohashi-daikanwa' attribute.
2982         (Fget_char_attribute): Likewise.
2983         (Fput_char_attribute): Likewise.
2984         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2985         has the same value of `ideograph-daikanwa'.
2986         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2987         (vars_of_mule_charset): Setup
2988         `Vcharacter_morohashi_daikanwa_table'.
2989
2990 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2991
2992         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2993         attributes.
2994         (add_charset_to_list_mapper): Add `key' instead of
2995         `XCHARSET_NAME (value)' to return aliases.
2996
2997 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2998
2999         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3000         variable.
3001         (Vcharacter_ideographic_strokes_table): New variable.
3002         (Qideographic_radical): New variable.
3003         (Qideographic_strokes): New variable.
3004         (Fchar_attribute_alist): Use
3005         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3006         attribute; use `Vcharacter_ideographic_strokes_table' for
3007         `ideographic-strokes' attribute.
3008         (Fget_char_attribute): Likewise.
3009         (Fput_char_attribute): Likewise.
3010         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3011         `ideographic-strokes'.
3012         (vars_of_mule_charset): Setup
3013         `Vcharacter_ideographic_radical_table' and
3014         `Vcharacter_ideographic_strokes_table'.
3015
3016 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3017
3018         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3019         (Qtotal_strokes): New variable.
3020         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3021         `total-strokes' attribute.
3022         (Fget_char_attribute): Likewise.
3023         (Fput_char_attribute): Likewise.
3024         (syms_of_mule_charset): Add new symbol `total-strokes'.
3025         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3026
3027 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3028
3029         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3030         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3031         are found.
3032         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3033         `->decomposition' attribute.
3034         (Fput_char_attribute): Likewise.
3035         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3036
3037 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3038
3039         * mule-charset.c (decoding_table_check_elements): New function.
3040         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3041
3042 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3043
3044         * mule-charset.c (Fset_charset_mapping_table): Use
3045         `put_char_ccs_code_point'.
3046
3047 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3048
3049         * mule-charset.c (decoding_table_put_char): New inline function.
3050         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3051
3052 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3053
3054         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3055         (XCHARSET_BYTE_SIZE): New macro.
3056         (decoding_table_remove_char): New inline function.
3057         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3058         `decoding_table_remove_char'.
3059         (remove_char_ccs): Use `decoding_table_remove_char'.
3060         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3061
3062 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3063
3064         * mule-charset.c (Vcharacter_name_table): New variable.
3065         (Qname): New variable.
3066         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3067         attribute.
3068         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3069         `Vcharacter_name_table' for `name' attribute.
3070         (Fremove_char_attribute): Use function `remove_char_ccs'.
3071         (put_char_ccs_code_point): New function.
3072         (remove_char_ccs): New function.
3073         (syms_of_mule_charset): Add new symbol `name'.
3074         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3075
3076 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3077
3078         * mule-charset.c (make_byte_table): Add new argument `older'.
3079         (make_char_id_table): Likewise.
3080         (copy_char_id_table): Comment out because it is not used.
3081         (put_char_id_table): Modify for `make_byte_table'.
3082         (Fput_char_attribute): Make encoding_table as older object;
3083         inherit older bit of `Vcharacter_composition_table'.
3084         (mark_charset): Don't mark `cs->encoding_table'.
3085         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3086         normal object; make `Vcharacter_composition_table' as an older
3087         object; delete staticpro for `Vcharacter_composition_table'; make
3088         `Vcharacter_variant_table' as a normal object.
3089
3090         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3091         (mark_object): Don't check older object in UTF-2000.
3092
3093         * lrecord.h (struct lrecord_header): Add new member `older' in
3094         UTF-2000.
3095         (set_lheader_implementation): Setup `SLI_header->older' in
3096         UTF-2000.
3097         (set_lheader_older_implementation): New macro in UTF-2000.
3098         (OLDER_RECORD_P): New macro in UTF-2000.
3099         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3100         (alloc_older_lcrecord): New prototype in UTF-2000.
3101         (alloc_older_lcrecord_type): New macro in UTF-2000.
3102
3103 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3104
3105         * mule-charset.c (byte_table_description): Use
3106         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3107         (char_id_table_description): Delete bogus `, 1'.
3108         (Fget_char_attribute): Refer encoding_table of each coded-charset
3109         to get value of coded-charset attribute of a character.
3110         (Fput_char_attribute): Use `make_older_vector' instead of
3111         `make_vector'; use encoding_table of each coded-charset to store
3112         value of coded-charset attribute of a character.
3113         (Fremove_char_attribute): Use encoding_table of each coded-charset
3114         to store value of coded-charset attribute of a character.
3115         (mark_charset): Mark `cs->encoding_table'; don't mark
3116         `cs->decoding_table'.
3117         (charset_description): Add description of new member
3118         `encoding_table'.
3119         (make_charset): Initialize `encoding_table'.
3120
3121         * char-ucs.h (struct Lisp_Charset): Add new member
3122         `encoding_table'.
3123         (CHARSET_ENCODING_TABLE): New macro.
3124         (XCHARSET_ENCODING_TABLE): New macro.
3125         (charset_code_point): New implementation.
3126         (encode_char_1): Likewise.
3127
3128         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3129         (disksave_object_finalization_1): Call finalizers of
3130         `all_older_lcrecords' in UTF-2000.
3131         (make_older_vector): New function in UTF-2000.
3132         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3133         UTF-2000.
3134
3135         * lisp.h (make_older_vector): New prototype in UTF-2000.
3136
3137 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3138
3139         * lrecord.h (enum lrecord_type): Rename
3140         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3141
3142         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3143         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3144         `get_char_code_table'.
3145
3146         * mule-charset.c (mark_char_id_table): Renamed from
3147         `mark_char_code_table'.
3148         (char_id_table_equal): Renamed from `char_code_table_equal'.
3149         (char_id_table_hash): Renamed from `char_code_table_hash'.
3150         (make_char_id_table): Renamed from `make_char_code_table'.
3151         (copy_char_id_table): Renamed from `copy_char_code_table'.
3152         (get_char_id_table): Renamed from `get_char_code_table'.
3153         (put_char_id_table): Renamed from `put_char_code_table'.
3154         (to_char_id): Renamed from `to_char_code'.
3155
3156         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3157         `Lisp_Char_Code_Table'.
3158         (char_id_table): Renamed from `char_code_table'.
3159         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3160         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3161         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3162         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3163         (get_char_id_table): Renamed from `get_char_code_table'.
3164
3165 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3166
3167         * lrecord.h (enum lrecord_type): Rename
3168         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3169
3170         * mule-charset.c (mark_byte_table): Renamed from
3171         `mark_char_byte_table'.
3172         (byte_table_equal): Renamed from `char_byte_table_equal'.
3173         (byte_table_hash): Renamed from `byte_table_hash'.
3174         (make_byte_table): Renamed from `make_byte_table'.
3175         (copy_byte_table): Renamed from `copy_char_byte_table'.
3176
3177         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3178         `Lisp_Char_Byte_Table'.
3179         (byte_table): Renamed from `char_byte_table'.
3180         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3181         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3182         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3183         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3184
3185 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3186
3187         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3188         (dfc_convert_to_internal_format): Likewise.
3189         
3190         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3191         * text-coding.c (Fcoding_system_alias_p): New function.
3192         * text-coding.c (Fcoding_system_aliasee): New function.
3193         * text-coding.c (append_suffix_to_symbol): New function.
3194         * text-coding.c (dangling_coding_system_alias_p): New function.
3195         * text-coding.c (Ffind_coding_system):
3196         * text-coding.c (Fcopy_coding_system):
3197         * text-coding.c (encode_coding_no_conversion):
3198         * text-coding.c (syms_of_file_coding):
3199         * text-coding.c (vars_of_file_coding):
3200         Rewrite coding system alias code.
3201         Allow nested aliases, like symbolic links.
3202         Allow redefinition of coding system aliases.
3203         Prevent existence of dangling coding system aliases.
3204         Eliminate convert_to_external_format.
3205         Eliminate convert_to_internal_format.
3206         
3207         * text-coding.c: Change enum eol_type to eol_type_t.
3208
3209 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3210
3211         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3212         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3213
3214         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3215         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3216
3217 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3218
3219         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3220         `ideograph-daikanwa'.
3221
3222         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3223         (Vcharset_ucs_bmp): Likewise.
3224         (Vcharset_mojikyo): Add new extern variable definition.
3225         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3226         (Vcharset_latin_iso8859_3): Likewise.
3227         (Vcharset_latin_iso8859_4): Likewise.
3228         (Vcharset_latin_iso8859_9): Likewise.
3229         (Vcharset_latin_viscii_lower): Likewise.
3230         (Vcharset_latin_viscii_upper): Likewise.
3231         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3232         `mojikyo' code-point is used to decode.
3233         (encode_char_2): New function [to convert `mojikyo' code-point to
3234         Mojikyo font encoding].
3235         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3236         (breakup_char_1): Likewise.
3237         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3238
3239 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3240
3241         * text-coding.c (Fmake_coding_system): Add document about
3242         `disable-composition' property.
3243
3244 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3245
3246         * text-coding.c (Qdisable_composition): New variable; delete
3247         `Qcomposite'.
3248         (Fmake_coding_system): Add new property `disable-composite';
3249         delete property `composite'.
3250         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3251         instead of `!CODING_SYSTEM_COMPOSITE'.
3252         (syms_of_file_coding): Add new symbol `disable-composition';
3253         delete symbol `composite'.
3254
3255         * file-coding.h (struct Lisp_Coding_System): Add
3256         `disable_composition'; delete `enable_composition'.
3257         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3258         `CODING_SYSTEM_COMPOSITE'.
3259         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3260         `XCODING_SYSTEM_COMPOSITE'.
3261
3262 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3263
3264         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3265         to 0.15.
3266
3267 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3268
3269         * text-coding.c (Qcomposite): New variable.
3270         (Fmake_coding_system): Add new property `composite'.
3271         (struct decoding_stream): Add `combined_char_count',
3272         `combined_chars' and `combining_table' in UTF-2000.
3273         (COMPOSE_FLUSH_CHARS): New macro.
3274         (COMPOSE_ADD_CHAR): New macro.
3275         (reset_decoding_stream): Reset `str->combined_char_count' and
3276         `str->combining_table' in UTF-2000.
3277         (decode_coding_iso2022): Modify for character-decomposition.
3278         (syms_of_file_coding): Add new symbol `composite'.
3279
3280 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3281
3282         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3283         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3284         of `Vcharacter_composition_table' if `->decomposition' property
3285         has only 1 element.
3286         (Qlatin_tcvn5712): New variable.
3287         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3288         (complex_vars_of_mule_charset): Add new coded-charset
3289         `latin-tcvn5712'.
3290
3291         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3292
3293 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3294
3295         * file-coding.h (struct Lisp_Coding_System): Add
3296         `enable_composition'.
3297         (CODING_SYSTEM_COMPOSITE): New macro.
3298         (XCODING_SYSTEM_COMPOSITE): New macro.
3299
3300 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3301
3302         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3303
3304 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3305
3306         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3307         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3308
3309 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3310
3311         * mule-charset.c (Vcharset_mojikyo): New variable.
3312         (Fdefine_char): Don't use coded-charset which does not have
3313         non-builtin character range to allocate character-id.
3314         (Qmojikyo): New variable.
3315         (syms_of_mule_charset): Add new symbol `mojikyo'.
3316         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3317
3318         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3319         (LEADING_BYTE_MOJIKYO): New macro.
3320         (MIN_CHAR_MOJIKYO): New macro.
3321         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3322         (MAX_CHAR_MOJIKYO): New macro.
3323
3324 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3325
3326         * mule-charset.c (remove_char_attribute): Fixed.
3327
3328 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3329
3330         * mule-charset.c (remove_char_attribute): New function.
3331         (Fremove_char_attribute): New function.
3332         (encode_builtin_char_1): Comment out builtin-support for
3333         greek-iso8859-7 and cyrillic-iso8859-5.
3334         (Fdecode_char): Check `code' is an integer.
3335         (syms_of_mule_charset): Add `remove-char-attribute'.
3336         (MIN_CHAR_GREEK): Deleted.
3337         (MAX_CHAR_GREEK): Likewise.
3338         (MIN_CHAR_CYRILLIC): Likewise.
3339         (MAX_CHAR_CYRILLIC): Likewise.
3340         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3341         MAX_CHAR_GREEK for `greek-iso8859-7'.
3342
3343         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3344         (MAX_CHAR_GREEK): Likewise.
3345         (MIN_CHAR_CYRILLIC): Likewise.
3346         (MAX_CHAR_CYRILLIC): Likewise.
3347
3348 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3349
3350         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3351         format is used without `ucs' property.
3352         (Fdecode_char): Fix problem with GR representation.
3353         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3354         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3355
3356 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3357
3358         * mule-charset.c (make_builtin_char): New function.
3359         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3360         (Fset_charset_mapping_table): Modify for new representation of
3361         code-point.
3362         (Fdecode_char): New function.
3363         (syms_of_mule_charset): Add new builtin function `decode-char' in
3364         UTF-2000.
3365
3366         * char-ucs.h (make_builtin_char): New prototype.
3367         (DECODE_CHAR): New inline function.
3368         (MAKE_CHAR): Use `DECODE_CHAR'.
3369
3370 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3371
3372         * text-coding.c (parse_charset_conversion_specs): Use
3373         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3374         `XCHARSET_TYPE'.
3375         (iso2022_designate): Likewise.
3376
3377         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3378         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3379
3380         * mule-charset.c (Vcharset_ucs): New variable.
3381         (print_charset): Change design; use `CHARSET_CHARS' and
3382         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3383         (make_charset): Change signature to specify `chars' and
3384         `dimension' instead of `type'.
3385         (range_charset_code_point): Modify for 256^n-set.
3386         (encode_builtin_char_1): Encode as `ucs' in default.
3387         (Fmake_charset): Modify for `make_charset'.
3388         (Fmake_reverse_direction_charset): Likewise.
3389         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3390         UTF-2000.
3391         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3392         for `make_charset'.
3393
3394         * char-ucs.h (Vcharset_ucs): New variable.
3395         (LEADING_BYTE_UCS): New macro.
3396         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3397         and `chars' to `unsigned short' from `unsigned int'.
3398         (CHARSET_TYPE): Deleted.
3399         (XCHARSET_TYPE): Deleted.
3400
3401 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3402
3403         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3404
3405         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3406         (ENCODE_CHAR): New macro.
3407
3408 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3409
3410         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3411         to 0.14 (Kawachi-Katakami).
3412
3413 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3414
3415         * text-coding.c (char_encode_shift_jis): Modify for
3416         `charset_code_point'.
3417         (char_encode_iso2022): Likewise.
3418
3419         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3420         (integer) instead of list of <Lisp_Object>s (integers) as the
3421         format of code-point of a coded-charset.
3422         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3423         (encode_builtin_char_1): New function; delete
3424         `split_builtin_char'.
3425         (charset_code_point): Return <int> instead of <Lisp_Object>.
3426         (Fsplit_char): Don't use `SPLIT_CHAR'.
3427
3428         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3429         prototype for `split_builtin_char'.
3430         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3431         (charset_code_point): Likewise.
3432         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3433         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3434
3435 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3436
3437         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3438         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3439
3440 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3441
3442         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3443
3444         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3445         (MAX_CHAR_OBS_94x94): Deleted.
3446
3447 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3448
3449         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3450
3451         * char-ucs.h (MAX_CHAR_BMP): New macro.
3452
3453 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3454
3455         * text-coding.c: Sync with r21-2-24.
3456
3457 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3458
3459         * file-coding.c: Modify for UTF-2000.
3460
3461 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3462
3463         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3464         to 0.13 (Takaida).
3465
3466 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3467
3468         * mule-charset.c (split_builtin_char): Delete builtin support for
3469         `katakana-jisx0201'.
3470         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3471         BMP area in builtin representation.
3472
3473         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3474         `Vcharset_katakana_jisx0201'.
3475
3476 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3477
3478         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3479         (Qisolated): New variable.
3480         (Qinitial): New variable.
3481         (Qmedial): New variable.
3482         (Qfinal): New variable.
3483         (Qvertical): New variable.
3484         (Qsmall): New variable.
3485         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3486         `Qvertical' and `Qsmall'.
3487         (Qmojikyo_pj_[1 .. 21]): New variable.
3488         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3489         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3490         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3491         .. 21]'.
3492
3493 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3494
3495         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3496         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3497         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3498
3499 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3500
3501         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3502         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3503         BMP.
3504         (Qjapanese_jisx0208_1990): New variable.
3505         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3506         (complex_vars_of_mule_charset): Add new coded-charset
3507         `japanese-jisx0208-1990'.
3508
3509         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3510         (MIN_CHAR_JIS_X0208_1990): New macro.
3511         (MAX_CHAR_JIS_X0208_1990): New macro.
3512
3513 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3514
3515         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3516         coded-charset is not found.
3517
3518 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3519
3520         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3521         (Fdefine_char): Use `Fmake_char'.
3522
3523 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3524
3525         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3526         (Vcharset_hiragana_jisx0208): Deleted.
3527         (Vcharset_katakana_jisx0208): Deleted.
3528         (Qideograph_daikanwa): New variable.
3529         (Qhiragana_jisx0208): Deleted.
3530         (Qkatakana_jisx0208): Deleted.
3531         (split_builtin_char): Split `ideograph-daikanwa'.
3532         (Fsplit_char): New implementation for UTF-2000.
3533         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3534         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3535         (complex_vars_of_mule_charset): Add new coded-charset
3536         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3537         `katakana-jisx0208'.
3538
3539         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3540         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3541         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3542         (MIN_CHAR_DAIKANWA): New macro.
3543         (MAX_CHAR_DAIKANWA): New macro.
3544
3545 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3546
3547         * data.c (Fstring_to_number): Don't recognize floating point if
3548         base is not 10.
3549
3550 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3551
3552         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3553
3554 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3555
3556         * mule-charset.c (Qsquare): New variable.
3557         (to_char_code): Add `Qsquare'.
3558         (syms_of_mule_charset): Add new symbol `square'.
3559
3560 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3561
3562         * mule-charset.c (Qcircle): New variable.
3563         (to_char_code): Add `Qcircle'.
3564         (syms_of_mule_charset): Add new symbol `circle'.
3565
3566 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3567
3568         * mule-charset.c (Qfont): New variable.
3569         (to_char_code): Add `Qfont'.
3570         (syms_of_mule_charset): Add new symbol `font'.
3571
3572 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3573
3574         * mule-charset.c (Qsub): New variable.
3575         (to_char_code): Add `Qsub'.
3576         (syms_of_mule_charset): Add new symbol `sub'.
3577
3578 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3579
3580         * mule-charset.c (Fput_char_attribute): Convert each element of
3581         VALUE to GL position if ATTRIBUTE is a GR-set,
3582
3583 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3584
3585         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3586         coded-charset is a GR-set.
3587
3588 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3589
3590         * mule-charset.c (Fput_char_attribute): Check each element of
3591         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3592
3593 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3594
3595         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3596         UTF-2000.
3597         (Qethiopic_ucs): New variable in UTF-2000.
3598         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3599         (complex_vars_of_mule_charset): Add new coded-charset
3600         `ethiopic-ucs' in UTF-2000.
3601
3602         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3603         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3604         9)'.
3605         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3606         10)'.
3607         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3608
3609 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3610
3611         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3612         `ascii'.
3613
3614 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3615
3616         * mule-charset.c (Vcharacter_variant_table): New variable.
3617         (Q_ucs): New variable.
3618         (Fchar_variants): New function.
3619         (Fput_char_attribute): Register `->ucs' value to
3620         `Vcharacter_variant_table'.
3621         (syms_of_mule_charset): Add new function `char-variants' and new
3622         symbol `->ucs'.
3623         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3624
3625 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3626
3627         * mule-charset.c (get_char_code_table): Allow negative character
3628         code.
3629         (put_char_code_table): Likewise.
3630         (Vcharacter_composition_table): New variable.
3631         (Q_decomposition): New variable.
3632         (Qwide): New variable.
3633         (Qnarrow): New variable.
3634         (Qcompat): New variable.
3635         (QnoBreak): New variable.
3636         (Qsuper): New variable.
3637         (Qfraction): New variable.
3638         (to_char_code): New function.
3639         (Fget_composite_char): New function.
3640         (Fput_char_attribute): Register `->decomposition' value to
3641         `Vcharacter_composition_table'.
3642         (syms_of_mule_charset): Add new function `get-composite-char', new
3643         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3644         `super' and `fraction'.
3645         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3646
3647 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3648
3649         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3650         character; copy the return value.
3651
3652 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3653
3654         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3655
3656         * mule-charset.c (range_charset_code_point): Must use make_int.
3657         (split_builtin_char): New function.
3658
3659 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3660
3661         * mule-charset.c (char_byte_table): Change name from
3662         "char-code-table" to "char-byte-table".
3663         (mark_char_code_table): New function.
3664         (char_code_table_equal): New function.
3665         (char_code_table_hash): New function.
3666         (char_code_table_description): New constant.
3667         (char_code_table): New type.
3668         (make_char_code_table): New function.
3669         (copy_char_code_table): New function.
3670         (get_char_code_table): Modify for `char_code_table' type.
3671         (put_char_code_table): Likewise.
3672         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3673         (Kashiwara).
3674
3675         * char-ucs.h (char_code_table): New type.
3676         (XCHAR_CODE_TABLE): New macro.
3677         (XSETCHAR_CODE_TABLE): New macro.
3678         (CHAR_CODE_TABLE_P): New macro.
3679         (GC_CHAR_CODE_TABLE_P): New macro.
3680         (struct Lisp_Char_Code_Table): New structure.
3681
3682 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3683
3684         * mule-charset.c (Fmake_charset): Setup byte_offset for
3685         {94|96}^n-set.
3686
3687 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3688
3689         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3690         character.
3691
3692 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3693
3694         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3695         is found.
3696
3697 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3698
3699         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3700         charset, it is regarded as a charset.
3701         (put_char_attribute): New function in UTF-2000.
3702         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3703         charset, mapping-table of the charset is modified.
3704         (Fdefine_char): New function in UTF-2000.
3705         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3706         `Fput_char_attribute'.
3707         (syms_of_mule_charset): Add new function `define-char' and new
3708         symbol `ucs' in UTF-2000.
3709         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3710
3711 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3712
3713         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3714         non-UTF-2000 configuration.
3715
3716 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3717
3718         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3719         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3720
3721         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3722         deleted.
3723         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3724         (Fset_charset_mapping_table): Likewise.
3725
3726         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3727         (CHARSET_ENCODING_TABLE): Delete.
3728         (XCHARSET_ENCODING_TABLE): Delete.
3729         (charset_code_point): New interface.
3730
3731 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3732
3733         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3734         instead of `charset_get_byte1' and `charset_get_byte2'.
3735
3736         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3737         (charset_get_byte2): Deleted.
3738
3739 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3740
3741         * char-ucs.h (SPLIT_CHAR): New inline function.
3742         (breakup_char_1): Use `SPLIT_CHAR'.
3743
3744         * mule-charset.c (range_charset_code_point): New function.
3745         (charset_code_point): New function.
3746
3747         * char-ucs.h (range_charset_code_point): New interface.
3748         (breakup_char_1): Use `range_charset_code_point'.
3749
3750 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3751
3752         * mule-charset.c (Fmake_charset): Delete unused local variable
3753         `code_offset'.
3754
3755         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3756         (breakup_char_1): Find a charset and code-point in
3757         `Vcharacter_attribute_table'.
3758
3759 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3760
3761         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3762         to 0.10 (Yao).
3763
3764 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3765
3766         * mule-charset.c (Vcharacter_attribute_table): New variable.
3767         (Fchar_attribute_alist): New function.
3768         (Fget_char_attribute): New function.
3769         (Fput_char_attribute): New function.
3770         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3771         too.
3772         (syms_of_mule_charset): Add new function `char-attribute-alist',
3773         `get-char-attribute' and `put-char-attribute'.
3774         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3775
3776 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3777
3778         * mule-charset.c (Fmake_charset): Just use
3779         `get_unallocated_leading_byte'.
3780
3781         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3782         sets; don't use final-byte based number for private sets.
3783
3784 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3785
3786         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3787         integer.
3788
3789 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3790
3791         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3792         to 0.9.
3793
3794 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3795
3796         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3797         of `CHAR_LEADING_BYTE' in UTF-2000.
3798
3799         * insdel.c (find_charsets_in_bufbyte_string): Use
3800         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3801         (find_charsets_in_emchar_string): Likewise.
3802
3803         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3804         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3805
3806         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3807         (CHAR_CHARSET_ID): New macro.
3808
3809 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3810
3811         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3812         charset-id - MIN_LEADING_BYTE.
3813         (put_char_table): Likewise.
3814
3815 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3816
3817         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3818         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3819         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3820         (CHARSET_ID_OFFSET): New macro.
3821         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3822         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3823         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3824         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3825         4).
3826         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3827         5).
3828         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3829         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3830         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3831         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3832         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3833
3834 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3835
3836         * mule-charset.c (next_allocated_leading_byte): New variable in
3837         UTF-2000.
3838         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3839         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3840         (get_unallocated_leading_byte): Simply use
3841         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3842         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3843         UTF-2000.
3844
3845         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3846         (MAX_LEADING_BYTE_PRIVATE): New macro.
3847         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3848         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3849
3850 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3851
3852         * mule-charset.c (Fmake_charset): Allocate final-byte based
3853         charset-id for 94-set, 96-set and 94x94-set.
3854
3855 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3856
3857         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3858         ambiguous `else'.
3859         (Fmake_charset): Likewise.
3860         (complex_vars_of_mule_charset): Modify the font registry of
3861         `ucs-bmp' not to match `Ethiopic-Unicode'.
3862
3863 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3864
3865         * mule-charset.c (complex_vars_of_mule_charset): Add font
3866         registory of `ucs-bmp'.
3867
3868 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3869
3870         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3871         coded-charsets in `default-coded-charset-priority-list' when
3872         breaking up a character.
3873
3874         * mule-charset.c (Vcharset_latin_viscii): New variable.
3875         (Qlatin_viscii): New variable.
3876         (make_charset): Don't use `decoding_table'.
3877         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3878         byte_offset.
3879         (Fset_charset_mapping_table): New implementation.
3880         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3881         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3882         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3883         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3884         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3885         charset `latin_viscii'.
3886
3887         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3888         (CHARSET_TYPE_94X94): Change to 1 from 2.
3889         (CHARSET_TYPE_96): Change to 2 from 1.
3890         (CHARSET_TYPE_128): New macro.
3891         (CHARSET_TYPE_128X128): Change to 5 from 4.
3892         (CHARSET_TYPE_256): New macro.
3893         (CHARSET_TYPE_256X256): Change to 7 from 5.
3894         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3895
3896 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3897
3898         * text-coding.c (char_encode_shift_jis): Refer
3899         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3900         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3901
3902         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3903         (char_byte_table_equal): New function in UTF-2000.
3904         (char_byte_table_hash): New function in UTF-2000.
3905         (char_byte_table_description): New constant in UTF-2000.
3906         (char_byte_table): New type in UTF-2000.
3907         (make_char_byte_table): New function in UTF-2000.
3908         (copy_char_byte_table): New function in UTF-2000.
3909         (make_char_code_table): New macro in UTF-2000.
3910         (get_char_code_table): New function in UTF-2000.
3911         (put_char_code_table): New function in UTF-2000.
3912         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3913         (charset_description): Add setting in UTF-2000.
3914         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3915         `CHARSET_TO_BYTE1_TABLE(cs)'.
3916         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3917         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3918         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3919         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3920         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3921         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3922         `CHARSET_TO_BYTE2_TABLE(cs)'.
3923
3924         * char-ucs.h (char_byte_table): New type.
3925         (XCHAR_BYTE_TABLE): New macro.
3926         (XSETCHAR_BYTE_TABLE): New macro.
3927         (CHAR_BYTE_TABLE_P): New macro.
3928         (GC_CHAR_BYTE_TABLE_P): New macro.
3929         (struct Lisp_Char_Byte_Table): New structure.
3930         (get_char_code_table): New interface.
3931         (Emchar_to_byte_table): Deleted.
3932         (get_byte_from_character_table): Deleted.
3933         (struct Lisp_Charset): Add `encoding_table'; delete
3934         `to_byte1_table' and `to_byte2_table'.
3935         (CHARSET_ENCODING_TABLE): New macro.
3936         (CHARSET_TO_BYTE1_TABLE): Deleted.
3937         (CHARSET_TO_BYTE2_TABLE): Deleted.
3938         (XCHARSET_ENCODING_TABLE): New macro.
3939         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3940         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3941
3942 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3943
3944         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3945         `vietnamese-viscii-*'.
3946
3947 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3948
3949         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3950         (Qvietnamese_viscii_upper): New variable.
3951         (Fdefine_charset_alias): New function.
3952         (syms_of_mule_charset): Add new function `define-charset-alias'.
3953         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3954         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3955         `latin-viscii-*'.
3956
3957 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3958
3959         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3960         (MAX_CHAR_OBS_94x94): New macro.
3961         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3962         for 94x94 sets.
3963
3964         * mule-charset.c (put_byte_from_character_table): Change unit size
3965         from 128 to 256.
3966         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3967         not defined.
3968         (Fmake_reverse_direction_charset): Modify dummy argument of
3969         `make_charset' for non-UTF-2000 environment.
3970
3971 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3972
3973         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3974
3975         * mule-charset.c (destroy_byte_from_character_table): New macro.
3976         (latin_jisx0201_to_ucs): Deleted.
3977         (latin_iso8859_2_to_ucs): Deleted.
3978         (latin_iso8859_3_to_ucs): Deleted.
3979         (latin_iso8859_4_to_ucs): Deleted.
3980         (latin_iso8859_9_to_ucs): Deleted.
3981         (latin_viscii_lower_to_ucs): Deleted.
3982         (latin_viscii_upper_to_ucs): Deleted.
3983         (mark_charset): Mark `cs->decoding_table'.
3984         (Fcharset_mapping_table): Fix DOC-string.
3985         (Fset_charset_mapping_table): New function.
3986         (syms_of_mule_charset): Add nwe function
3987         `set-charset-mapping-table'.
3988         (complex_vars_of_mule_charset): Don't setup and use
3989         `latin_*_to_ucs'.
3990
3991 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3992
3993         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3994         charset.
3995
3996 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3997
3998         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3999         (Vcharset_katakana_jisx0208): New variable.
4000         (Qhiragana_jisx0208): New variable.
4001         (Qkatakana_jisx0208): New variable.
4002         (make_charset): Add new argument `byte_offset'.
4003         (charset_get_byte1): Modify for new coded-charset definition; use
4004         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4005         `XCHARSET_BYTE_OFFSET'.
4006         (Fmake_charset): Modify for `make_charset'.
4007         (Fmake_reverse_direction_charset): Likewise.
4008         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4009         `katakana-jisx0208'.
4010         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4011         `.'  in font registry of charset `katakana-jisx0201',
4012         `latin-jisx0201', `vietnamese-viscii-lower' and
4013         `vietnamese-viscii-upper'; modify DOC-string of charset
4014         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4015         registry of charset `japanese-jisx0208' not to use font for JIS
4016         X0208:1990; add new charset `hiragana-jisx0208' and
4017         `katakana-jisx0208'.
4018
4019         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4020         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4021         (struct Lisp_Charset): Add `byte_offset'.
4022         (CHARSET_BYTE_OFFSET): New macro.
4023         (XCHARSET_UCS_MIN): New macro.
4024         (XCHARSET_UCS_MAX): New macro.
4025         (XCHARSET_CODE_OFFSET): New macro.
4026         (XCHARSET_BYTE_OFFSET): New macro.
4027         (MIN_CHAR_HIRAGANA): New macro.
4028         (MAX_CHAR_HIRAGANA): New macro.
4029         (MIN_CHAR_KATAKANA): New macro.
4030         (MAX_CHAR_KATAKANA): New macro.
4031         (MAKE_CHAR): Modify for new coded-charset definition; use
4032         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4033         `XCHARSET_BYTE_OFFSET'.
4034
4035 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4036
4037         * mule-charset.c (CHAR96): Deleted.
4038         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4039         <Lisp_Object>.
4040         (latin_iso8859_2_to_ucs): Likewise.
4041         (latin_iso8859_3_to_ucs): Likewise.
4042         (latin_iso8859_4_to_ucs): Likewise.
4043         (latin_iso8859_9_to_ucs): Likewise.
4044         (latin_viscii_lower_to_ucs): Likewise.
4045         (latin_viscii_upper_to_ucs): Likewise.
4046         (latin_tcvn5712_to_ucs): Commented out.
4047         (make_charset): Change type of argument `decoding_table' from
4048         <Emchar*> to <Lisp_Object> [vector of characters].
4049         (Fmake_charset): Modify for `make_charset'.
4050         (Fmake_reverse_direction_charset): Likewise.
4051         (Fcharset_mapping_table): New function in UTF-2000.
4052         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4053         UTF-2000.
4054         (complex_vars_of_mule_charset): Modify for type change of
4055         `*_to_ucs'; modify for `make_charset'.
4056
4057         * char-ucs.h (struct Lisp_Charset): Change type of
4058         `decoding_table' from <Emchar*> to <Lisp_Object>.
4059         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4060
4061 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4062
4063         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4064         error with non-UTF-2000-Mule.
4065
4066 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4067
4068         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4069         in lisp again].
4070         (Vcharset_chinese_cns11643_4): Likewise.
4071         (Vcharset_chinese_cns11643_5): Likewise.
4072         (Vcharset_chinese_cns11643_6): Likewise.
4073         (Vcharset_chinese_cns11643_7): Likewise.
4074         (Qchinese_cns11643_3): Likewise.
4075         (Qchinese_cns11643_4): Likewise.
4076         (Qchinese_cns11643_5): Likewise.
4077         (Qchinese_cns11643_6): Likewise.
4078         (Qchinese_cns11643_7): Likewise.
4079         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4080         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4081         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4082         (complex_vars_of_mule_charset): Likewise.
4083
4084 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4085
4086         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4087         96-set.
4088         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4089         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4090
4091 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4092
4093         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4094         0xFF60.
4095         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4096         (breakup_char_1): Likewise.
4097
4098         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4099         one of them includes the specified character.
4100
4101 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4102
4103         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4104
4105 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4106
4107         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4108
4109 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4110
4111         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4112         definition for non-UTF-2000 Mule.
4113         (latin_iso8859_3_to_ucs): Likewise.
4114         (latin_iso8859_4_to_ucs): Likewise.
4115         (latin_iso8859_9_to_ucs): Likewise.
4116         (latin_jisx0201_to_ucs): Likewise.
4117         (MIN_CHAR_THAI): Likewise.
4118         (MAX_CHAR_THAI): Likewise.
4119         (MIN_CHAR_GREEK): Likewise.
4120         (MAX_CHAR_GREEK): Likewise.
4121         (MIN_CHAR_HEBREW): Likewise.
4122         (MAX_CHAR_HEBREW): Likewise.
4123         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4124         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4125         (MIN_CHAR_CYRILLIC): Likewise.
4126         (MAX_CHAR_CYRILLIC): Likewise.
4127
4128 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4129
4130         * char-ucs.h (breakup_char_1): Use
4131         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4132         thai-tis620 and katakana-jisx0201 area.
4133
4134 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4135
4136         * char-ucs.h (breakup_char_1): Use
4137         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4138         area.
4139
4140         * text-coding.c (reset_encoding_stream): Fixed.
4141         (char_encode_ucs4): Delete `& 255'.
4142
4143         * char-ucs.h (breakup_char_1): Use
4144         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4145
4146 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4147
4148         * file-coding.c (Fmake_coding_system): Don't set up
4149         `codesys->fixed.size'.
4150         (encode_coding_no_conversion): Don't refer
4151         `str->codesys->fixed.size'.
4152
4153 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4154
4155         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4156         (latin_a_char_to_byte1): Deleted.
4157         (latin_a_char_to_byte2): Deleted.
4158
4159 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4160
4161         * mule-charset.c (make_charset): Add new argument `ucs_min',
4162         `ucs_max' and `code_offset'.
4163         (charset_get_byte1): New implementation [delete specific charset
4164         depended implementations].
4165         (Fmake_charset): Modify for `make_charset'.
4166         (Fmake_reverse_direction_charset): Likewise.
4167         (complex_vars_of_mule_charset): Likewise.
4168
4169         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4170         `code_offset'.
4171         (CHARSET_UCS_MIN): New macro.
4172         (CHARSET_UCS_MAX): New macro.
4173         (CHARSET_CODE_OFFSET): New macro.
4174         (MAKE_CHAR): Delete charset depended definitions [except
4175         katakana-jisx0201].
4176
4177 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4178
4179         * char-ucs.h (breakup_char_1): Use
4180         `Vdefault_coded_charset_priority_list' for C0-Controls,
4181         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4182
4183 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4184
4185         * char-ucs.h (charset_get_byte1): New function.
4186         (XCHARSET_GET_BYTE1): Deleted.
4187         (charset_get_byte2): New function.
4188         (XCHARSET_GET_BYTE2): Deleted.
4189         (Vdefault_coded_charset_priority_list): New external variable.
4190         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4191         `Vdefault_preferred_coded_charset_list'.
4192
4193         * mule-charset.c (charset_get_byte1): New function.
4194         (charset_get_byte2): New function.
4195         (Vdefault_coded_charset_priority_list): New variable.
4196         (vars_of_mule_charset): Add new variable
4197         `default-coded-charset-priority-list'.
4198
4199 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4200
4201         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4202         (XCHARSET_GET_BYTE2): New inline function.
4203         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4204         `XCHARSET_GET_BYTE2'.
4205
4206 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4207
4208         * mule-charset.c (make_charset): Initialize
4209         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4210         NULL if table is not defined.
4211
4212 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4213
4214         * text-coding.c (char_encode_shift_jis): Use
4215         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4216         `ucs_to_latin_jisx0201'.
4217
4218         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4219         (ucs_to_latin_iso8859_2): Deleted.
4220         (ucs_to_latin_iso8859_3): Deleted.
4221         (ucs_to_latin_iso8859_4): Deleted.
4222         (ucs_to_latin_iso8859_9): Deleted.
4223         (ucs_to_latin_viscii_lower): Deleted.
4224         (ucs_to_latin_viscii_upper): Deleted.
4225         (ucs_to_latin_tcvn5712): Deleted.
4226         (make_charset): Add new argument `decoding_table'; set up
4227         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4228         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4229         `decoding_table' is defined in UTF-2000.
4230         (Fmake_charset): Modify for `make_charset'.
4231         (Fmake_reverse_direction_charset): Likewise.
4232         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4233         and `GENERATE_96_SET'.
4234
4235         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4236         (ucs_to_latin_jisx0201): Deleted.
4237         (latin_iso8859_2_to_ucs): Deleted.
4238         (ucs_to_latin_iso8859_2): Deleted.
4239         (latin_iso8859_3_to_ucs): Deleted.
4240         (ucs_to_latin_iso8859_3): Deleted.
4241         (latin_iso8859_4_to_ucs): Deleted.
4242         (ucs_to_latin_iso8859_4): Deleted.
4243         (latin_iso8859_9_to_ucs): Deleted.
4244         (ucs_to_latin_iso8859_9): Deleted.
4245         (latin_viscii_lower_to_ucs): Deleted.
4246         (ucs_to_latin_viscii_lower): Deleted.
4247         (latin_viscii_upper_to_ucs): Deleted.
4248         (ucs_to_latin_viscii_upper): Deleted.
4249         (struct Lisp_Charset): Renamed `encoding_table' to
4250         `to_byte1_table'; add `to_byte2_table'.
4251         (CHARSET_DECODING_TABLE): New macro.
4252         (CHARSET_TO_BYTE1_TABLE): New macro.
4253         (CHARSET_TO_BYTE2_TABLE): New macro.
4254         (XCHARSET_DECODING_TABLE): New macro.
4255         (XCHARSET_TO_BYTE1_TABLE): New macro.
4256         (XCHARSET_TO_BYTE2_TABLE): New macro.
4257         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4258         tables.
4259         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4260         don't use `ucs_to_*' tables.
4261
4262 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4263
4264         * text-coding.c (Fmake_coding_system): Don't set up
4265         `codesys->fixed.size'.
4266         (encode_coding_no_conversion): Use `if' instead of `switch'.
4267
4268         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4269
4270 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4271
4272         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4273         (Fmake_charset): Modify for `make_charset'.
4274         (Fmake_reverse_direction_charset): Likewise.
4275         (complex_vars_of_mule_charset): Likewise.
4276
4277 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4278
4279         * text-coding.c (char_encode_shift_jis): Use table
4280         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4281
4282 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4283
4284         * text-coding.c (text_encode_generic): Use `if' instead of
4285         `switch'.
4286         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4287         decode JIS-Latin.
4288
4289 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4290
4291         * text-coding.c (encode_coding_sjis): Deleted.
4292         (char_encode_shift_jis): New function.
4293         (char_finish_shift_jis): New function.
4294         (reset_encoding_stream): Set up `encode_char' and `finish' for
4295         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4296         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4297         (char_encode_utf8): Treat `eol_type'.
4298
4299 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4300
4301         * file-coding.c (decode_coding_iso2022): Use
4302         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4303
4304 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4305
4306         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4307         to 0.7 (Hirano).
4308
4309 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4310
4311         * char-lb.h (CHAR_COLUMNS): New macro.
4312
4313 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4314
4315         * text-coding.c (char_encode_ucs4): New function.
4316         (char_finish_ucs4): New function.
4317         (encode_coding_ucs4): Deleted.
4318         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4319         (text_encode_generic): Delete local variable `charset' and `half'.
4320         (ucs_to_mule_table): Deleted.
4321         (mule_to_ucs_table): Deleted.
4322         (Fset_ucs_char): Deleted.
4323         (ucs_to_char): Deleted.
4324         (Fucs_char): Deleted.
4325         (Fset_char_ucs): Deleted.
4326         (Fchar_ucs): Deleted.
4327         (decode_ucs4): Deleted.
4328         (mule_char_to_ucs4): Deleted.
4329         (encode_ucs4): Deleted.
4330         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4331         (decode_coding_utf8): Likewise.
4332         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4333         (char_encode_iso2022): Fixed.
4334         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4335         `Fset_char_ucs' and `Fchar_ucs'.
4336         (complex_vars_of_file_coding): Don't initialize
4337         `ucs_to_mule_table'.
4338
4339         * objects-tty.c (tty_initialize_font_instance): Don't use
4340         `XCHARSET_COLUMNS'.
4341
4342         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4343         UTF-2000.
4344
4345         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4346         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4347
4348         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4349         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4350         (emchar_string_displayed_columns): Likewise.
4351
4352         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4353         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4354         (string_column_at_point): Likewise.
4355         (Fmove_to_column): Likewise.
4356
4357         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4358         `encoding_table' and `decoding_table'.
4359         (CHARSET_REP_BYTES): Deleted.
4360         (XCHARSET_REP_BYTES): Deleted.
4361         (XCHARSET_COLUMNS): Deleted.
4362         (CHAR_COLUMNS): New macro.
4363         (lookup_composite_char): Deleted unconditionally.
4364         (composite_char_string): Likewise.
4365
4366 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4367
4368         * char-ucs.h (Emchar_to_byte_table): New type.
4369         (get_byte_from_character_table): New function interface.
4370         (Vcharset_latin_jisx0201): New variable.
4371         (latin_jisx0201_to_ucs): New variable.
4372         (ucs_to_latin_jisx0201): New variable.
4373         (Vcharset_latin_iso8859_2): New variable.
4374         (latin_iso8859_2_to_ucs): New variable.
4375         (ucs_to_latin_iso8859_2): New variable.
4376         (Vcharset_latin_iso8859_3): New variable.
4377         (latin_iso8859_3_to_ucs): New variable.
4378         (ucs_to_latin_iso8859_3): New variable.
4379         (Vcharset_latin_iso8859_4): New variable.
4380         (latin_iso8859_4_to_ucs): New variable.
4381         (ucs_to_latin_iso8859_4): New variable.
4382         (Vcharset_latin_iso8859_9): New variable.
4383         (latin_iso8859_9_to_ucs): New variable.
4384         (ucs_to_latin_iso8859_9): New variable.
4385         (Vcharset_latin_viscii_lower): New variable.
4386         (latin_viscii_lower_to_ucs): New variable.
4387         (ucs_to_latin_viscii_lower): New variable.
4388         (Vcharset_latin_viscii_upper): New variable.
4389         (latin_viscii_upper_to_ucs): New variable.
4390         (ucs_to_latin_viscii_upper): New variable.
4391         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4392         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4393         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4394         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4395         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4396         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4397         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4398         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4399         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4400         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4401
4402         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4403         (Vcharset_latin_viscii_upper): New variable.
4404         (make_byte_from_character_table): New function.
4405         (put_byte_from_character_table): New function.
4406         (get_byte_from_character_table): New function.
4407         (CHAR96): New macro.
4408         (ucs_to_latin_jisx0201): New variable.
4409         (latin_jisx0201_to_ucs): New variable.
4410         (ucs_to_latin_iso8859_2): New variable.
4411         (latin_iso8859_2_to_ucs): New variable.
4412         (ucs_to_latin_iso8859_3): New variable.
4413         (latin_iso8859_3_to_ucs): New variable.
4414         (ucs_to_latin_iso8859_4): New variable.
4415         (latin_iso8859_4_to_ucs): New variable.
4416         (ucs_to_latin_iso8859_9): New variable.
4417         (latin_iso8859_9_to_ucs): New variable.
4418         (ucs_to_latin_viscii_lower): New variable.
4419         (latin_viscii_lower_to_ucs): New variable.
4420         (ucs_to_latin_viscii_upper): New variable.
4421         (latin_viscii_upper_to_ucs): New variable.
4422         (ucs_to_latin_tcvn5712): New variable.
4423         (latin_tcvn5712_to_ucs): New variable.
4424         (Qlatin_viscii_lower): New variable.
4425         (Qlatin_viscii_upper): New variable.
4426         (syms_of_mule_charset): Set up new symbol
4427         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4428         (complex_vars_of_mule_charset): Set up new charset
4429         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4430         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4431         `ucs_to_<CHARSET>' tables.
4432
4433 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4434
4435         * text-coding.c: New file.
4436
4437 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4438
4439         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4440
4441         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4442         (MAKE_CHAR): Modify for `ucs-bmp'.
4443         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4444         non-MULE characters of BMP.
4445
4446 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4447
4448         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4449         to 0.6.
4450
4451 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4452
4453         * lstream.h:
4454         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4455         - Include character.h for `CHAR_ASCII_P'.
4456
4457         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4458
4459         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4460         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4461
4462         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4463         (BYTE_C0_P): Likewise.
4464         (BYTE_C1_P): Likewise.
4465         (Lstream_get_emchar_1): Likewise.
4466         (Lstream_fput_emchar): Likewise.
4467         (Lstream_funget_emchar): Likewise.
4468         (copy_internal_to_external): Likewise.
4469         (copy_external_to_internal): Likewise.
4470
4471         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4472         (BYTE_C0_P): Likewise.
4473         (BYTE_C1_P): Likewise.
4474         (Lstream_get_emchar_1): Likewise.
4475         (Lstream_fput_emchar): Likewise.
4476         (Lstream_funget_emchar): Likewise.
4477         (copy_internal_to_external): Likewise.
4478         (copy_external_to_internal): Likewise.
4479
4480         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4481         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4482
4483         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4484         (BYTE_ASCII_P): Moved to mb-1byte.h.
4485
4486 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4487
4488         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4489
4490         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4491         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4492         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4493         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4494         (VALIDATE_CHARPTR_FORWARD): Likewise.
4495         (simple_charptr_emchar): Moved to mb-multibyte.h.
4496         (simple_set_charptr_emchar): Likewise.
4497         (simple_charptr_copy_char): Likewise.
4498         (non_ascii_charptr_emchar): Likewise.
4499         (non_ascii_set_charptr_emchar): Likewise.
4500         (non_ascii_charptr_copy_char): Likewise.
4501         (charptr_emchar): Moved to mb-*byte.h.
4502         (set_charptr_emchar): Likewise.
4503         (charptr_copy_char): Likewise.
4504
4505         * mb-1byte.h, mb-multibyte.h: New files.
4506
4507 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4508
4509         * mb-utf-8.h (MULTIBYTE): New macro.
4510         (MAX_EMCHAR_LEN): Moved from buffer.h.
4511         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4512
4513         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4514
4515         * mb-lb.h, multibyte.h: New files.
4516
4517         * char-1byte.h (Charset_ID): Moved from buffer.h.
4518         (MIN_LEADING_BYTE): Likewise.
4519         (LEADING_BYTE_ASCII): Likewise.
4520         (NUM_LEADING_BYTES): Likewise.
4521         (CHARSETP): Likewise.
4522         (CHARSET_BY_LEADING_BYTE): Likewise.
4523         (XCHARSET_LEADING_BYTE): Likewise.
4524         (XCHARSET_GRAPHIC): Likewise.
4525         (XCHARSET_COLUMNS): Likewise.
4526         (XCHARSET_DIMENSION): Likewise.
4527         (CHAR_CHARSET): Likewise.
4528         (CHAR_LEADING_BYTE): Likewise.
4529         (BREAKUP_CHAR): Likewise.
4530         (Vcharset_ascii): Likewise.
4531
4532         * buffer.h: Include multibyte.h unconditionally.
4533         (VALID_CHARPTR_P): Moved to multibyte.h.
4534         (ASSERT_VALID_CHARPTR): Likewise.
4535         (REAL_INC_CHARPTR): Likewise.
4536         (REAL_INC_CHARBYTIND): Likewise.
4537         (REAL_DEC_CHARPTR): Likewise.
4538         (INC_CHARPTR): Likewise.
4539         (INC_CHARBYTIND): Likewise.
4540         (DEC_CHARPTR): Likewise.
4541         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4542         (VALIDATE_CHARPTR_FORWARD): Likewise.
4543         (charptr_n_addr): Likewise.
4544         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4545         (simple_charptr_emchar): Moved to multibyte.h.
4546         (simple_set_charptr_emchar): Likewise.
4547         (simple_charptr_copy_char): Likewise.
4548         (non_ascii_charptr_emchar): Likewise.
4549         (non_ascii_set_charptr_emchar): Likewise.
4550         (non_ascii_charptr_copy_char): Likewise.
4551         (charptr_emchar): Likewise.
4552         (set_charptr_emchar): Likewise.
4553         (charptr_copy_char): Likewise.
4554         (charptr_emchar_n): Likewise.
4555         (Charset_ID): Moved to char-1byte.h.
4556         (Vcharset_ascii): Likewise.
4557         (CHAR_CHARSET): Likewise.
4558         (CHAR_LEADING_BYTE): Likewise.
4559         (LEADING_BYTE_ASCII): Likewise.
4560         (NUM_LEADING_BYTES): Likewise.
4561         (MIN_LEADING_BYTE): Likewise.
4562         (CHARSETP): Likewise.
4563         (CHARSET_BY_LEADING_BYTE): Likewise.
4564         (XCHARSET_LEADING_BYTE): Likewise.
4565         (XCHARSET_GRAPHIC): Likewise.
4566         (XCHARSET_COLUMNS): Likewise.
4567         (XCHARSET_DIMENSION): Likewise.
4568         (BREAKUP_CHAR): Likewise.
4569
4570 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4571
4572         * character.h: Add document about interface for characters.
4573
4574         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4575         (MAKE_CHAR): Delete comment about
4576         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4577         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4578         (BREAKUP_CHAR): Modify name of arguments.
4579         (CHAR_CHARSET): Modify name of argument.
4580
4581         * buffer.h: Delete document about Emchar accessors.
4582
4583 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4584
4585         * character.h (CHAR_INTP): Moved from buffer.h
4586         (CHAR_OR_CHAR_INTP): Likewise.
4587         (XCHAR_OR_CHAR_INT): Likewise.
4588         (CHECK_CHAR_COERCE_INT): Likewise.
4589
4590         * buffer.h (CHAR_INTP): Moved to character.h
4591         (CHAR_OR_CHAR_INTP): Likewise.
4592         (XCHAR_OR_CHAR_INT): Likewise.
4593         (CHECK_CHAR_COERCE_INT): Likewise.
4594
4595 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4596
4597         * character.h:
4598         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4599         - Include char-1byte.h, char-lb.h or char-ucs.h.
4600
4601         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4602
4603         * buffer.h: Include character unconditionally.
4604         (valid_char_p): Moved to char-*.h.
4605         (non_ascii_valid_char_p): Moved to char-lb.h.
4606
4607         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4608
4609 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4610
4611         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4612         in UTF-2000 because it is not ported yet and not to use
4613         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4614         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4615         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4616
4617         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4618         (CHAR_ASCII_P): Moved from character.h.
4619
4620         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4621         (CHAR_ASCII_P): Likewise.
4622         (CHAR_FIELD1_MASK): Deleted.
4623         (CHAR_FIELD2_MASK): Deleted.
4624         (CHAR_FIELD3_MASK): Deleted.
4625         (MAX_CHAR_BASIC_LATIN): New macro.
4626         (CHAR_FIELD1): Deleted.
4627         (CHAR_FIELD2_INTERNAL): Deleted.
4628         (CHAR_FIELD3_INTERNAL): Deleted.
4629         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4630         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4631         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4632         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4633         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4634         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4635         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4636         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4637         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4638         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4639         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4640         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4641         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4642         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4643         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4644         (MIN_CHAR_COMPOSITION): Deleted.
4645         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4646         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4647
4648 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4649
4650         * buffer.h: Include mb-utf-8.h in UTF-2000.
4651
4652         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4653
4654         * mb-utf-8.h: New file.
4655
4656 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4657
4658         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4659         instead of `int'.
4660
4661         * mule-charset.h, buffer.h (Charset_ID): New type.
4662
4663 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4664
4665         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4666         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4667         instead of `MULE_CHAR_PRIVATE_OFFSET',
4668         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4669         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4670         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4671
4672         * character.h (Vcharset_japanese_jisx0212): New variable
4673         definition.
4674
4675 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4676
4677         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4678         (charset_by_attributes): Delete array about direction.
4679         (latin_a_char_to_charset): New variable in UTF-2000.
4680         (latin_a_char_to_byte1): New variable in UTF-2000.
4681         (latin_a_char_to_byte2): New variable in UTF-2000.
4682         (Qucs_bmp): New variable.
4683         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4684         `Bufbyte'.
4685         (next_allocated_2_byte_leading_byte): Likewise.
4686         (non_ascii_set_charptr_emchar): Likewise.
4687         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4688         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4689         `charset_by_attributes'.
4690         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4691         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4692         and `CHARSET_BY_LEADING_BYTE'.
4693         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4694         `utf-2000-version' to `vars_of_mule_charset'.
4695         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4696         define `leading-code-private-11' in UTF-2000; move setting of
4697         `utf-2000-version' from `syms_of_mule_charset'.
4698         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4699         UTF-2000.
4700
4701         * character.h (Charset_ID): New type.
4702         (LEADING_BYTE_UCS_BMP): New macro.
4703         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4704         (CHARSET_ID_OFFSET_94): New macro.
4705         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4706         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4707         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4708         final-byte.
4709         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4710         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4711         (CHARSET_ID_OFFSET_96): New macro.
4712         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4713         CHARSET_ID_OFFSET_96 and final-byte.
4714         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4715         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4716         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4717         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4718         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4719         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4720         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4721         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4722         (LEADING_BYTE_THAI_TIS620): Likewise.
4723         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4724         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4725         (CHARSET_ID_OFFSET_94x94): New macro.
4726         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4727         CHARSET_ID_OFFSET_94x94 and final-byte.
4728         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4729         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4730         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4731         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4732         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4733         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4734         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4735         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4736         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4737         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4738         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4739         (CHARSET_TYPE_128X128): New macro.
4740         (CHARSET_TYPE_256X256): New macro.
4741         (XCHARSET_PRIVATE_P): Delete unconditionally.
4742         (charset_by_attributes): Delete array about direction.
4743         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4744         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4745         (MIN_CHAR_94): New macro.
4746         (MAX_CHAR_94): New macro.
4747         (MIN_CHAR_96): New macro.
4748         (MAX_CHAR_96): New macro.
4749         (MIN_CHAR_94x94): New macro.
4750         (MAX_CHAR_94x94): New macro.
4751         (MIN_CHAR_96x96): New macro.
4752         (MAX_CHAR_96x96): New macro.
4753         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4754         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4755         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4756         - 32)'.
4757         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4758         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4759         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4760         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4761         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4762         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4763         `XCHARSET_LEADING_BYTE' to make code-point.
4764         (latin_a_char_to_charset): New variable.
4765         (latin_a_char_to_byte1): New variable.
4766         (latin_a_char_to_byte2): New variable.
4767         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4768         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4769         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4770
4771         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4772         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4773         (find_charsets_in_emchar_string): Likewise.
4774         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4775
4776         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4777         `int'.
4778         (decode_coding_iso2022): Likewise.
4779
4780         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4781         of `unsigned char'.
4782
4783         * redisplay.c (redisplay_text_width_emchar_string): Use
4784         `Charset_ID' instead of `unsigned char'.
4785         (redisplay_frame_text_width_string): Likewise.
4786
4787         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4788         `unsigned char'.
4789
4790         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4791         instead of `unsigned char'.
4792         (face_cachel_charset_font_metric_info): Likewise.
4793
4794         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4795         (get_non_ascii_char_table_value): Likewise.
4796         (get_char_table): Likewise.
4797         (put_char_table): Likewise.
4798         (map_over_other_charset): Likewise.
4799         (map_char_table): Likewise.
4800
4801         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4802         instead of `unsigned char'.
4803
4804 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4805
4806         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4807         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4808
4809         * mule-charset.c (leading_code_private_11): Don't define in
4810         UTF-2000.
4811
4812         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4813         in UTF-2000 because it is not ported yet and not to use
4814         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4815
4816 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4817
4818         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4819
4820 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4821
4822         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4823         in UTF-2000.
4824
4825         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4826         of unsigned char to store leading-byte.
4827
4828         * chartab.c (get_non_ascii_char_table_value): Don't use
4829         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4830
4831         * file-coding.c (encode_coding_big5): Delete bogus implementation
4832         in UTF2000.
4833
4834         * character.h (LEADING_BYTE_*): Delete definition for
4835         non-UTF-2000.
4836         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4837         (LEADING_BYTE_PREFIX_P): Deleted.
4838         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4839         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4840         (BUFBYTE_LEADING_BYTE_P): Deleted.
4841         (CHARSET_PRIVATE_P): Deleted unconditionally.
4842         (rep_bytes_by_first_byte): Deleted unconditionally.
4843         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4844         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4845         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4846         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4847         (CHAR_FIELD2): Deleted.
4848         (CHAR_FIELD3): Deleted.
4849         (MAKE_CHAR): Delete definition for non-UTF-2000.
4850         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4851         (breakup_char_1): New implementation.
4852         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4853         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4854
4855 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4856
4857         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4858         condition.
4859
4860 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4861
4862         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4863         (CHARSET_PRIVATE_P): Likewise.
4864         (XCHARSET_PRIVATE_P): Likewise.
4865         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4866
4867         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4868         UTF2000.
4869         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4870
4871 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4872
4873         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4874         (NUM_LEADING_BYTES): Changed from 128 to 256.
4875         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4876         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4877         UTF2000.
4878         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4879
4880         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4881         UTF2000.
4882         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4883         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4884         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4885         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4886         (Qchinese_cns11643_3): New variable in UTF2000.
4887         (Qchinese_cns11643_4): New variable in UTF2000.
4888         (Qchinese_cns11643_5): New variable in UTF2000.
4889         (Qchinese_cns11643_6): New variable in UTF2000.
4890         (Qchinese_cns11643_7): New variable in UTF2000.
4891         (syms_of_mule_charset): Define `chinese-cns11643-3',
4892         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4893         and `chinese-cns11643-7' in UTF2000.
4894         (vars_of_mule_charset): Initialize
4895         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4896         + 1 in UTF2000.
4897         (complex_vars_of_mule_charset): Setup charset
4898         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4899         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4900
4901 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4902
4903         * mule-charset.c: Move setting for `leading-code-private-11' from
4904         `syms_of_mule_charset' to `vars_of_mule_charset'.
4905
4906 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4907
4908         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4909         and `NUM_LEADING_BYTES' in assert.
4910
4911 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4912
4913         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4914         instead of 128.
4915         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4916         `NUM_LEADING_BYTES' instead of 128.
4917
4918 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4919
4920         * mule-charset.h (charset_by_leading_byte): Use
4921         `NUM_LEADING_BYTES' instead of 128.
4922         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4923
4924         * mule-charset.c (charset_by_leading_byte): Use
4925         `NUM_LEADING_BYTES' instead of 128.
4926         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4927
4928         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4929         128.
4930
4931 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4932
4933         * mule-charset.c (syms_of_mule_charset): Update to
4934         0.4 (Shin-Imamiya).
4935
4936 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4937
4938         * file-coding.c (encode_coding_sjis): New implementation for
4939         UTF2000.  (decode_coding_sjis): Ditto.
4940
4941 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4942
4943         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4944         Don't define in UTF2000.
4945
4946         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4947         defined.
4948
4949         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4950         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4951         MULE.
4952
4953 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4954
4955         * config.h.in (CHAR_IS_UCS4): New macro.
4956
4957         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4958         conventional MULE representation.
4959         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4960
4961         * mule-charset.h: Reverted to original.
4962
4963         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4964         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4965         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4966
4967         * character.h: New file.
4968
4969         * file-coding.c (Fmake_coding_system): Set 1 to
4970         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4971         defined.
4972         (encode_coding_no_conversion): New implementation for UTF2000.
4973
4974         * file-coding.h (struct Lisp_Coding_System): Add new member
4975         `fixed.size'.
4976
4977 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4978
4979         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4980         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4981         (encode_coding_iso2022): New implementation for UTF2000.
4982
4983 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4984
4985         * mule-canna.c (c2mu): New implementation for UTF2000.
4986         (m2c): Likewise.
4987
4988 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4989
4990         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4991
4992 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4993
4994         * file-coding.c (reset_encoding_stream): Set 0 to
4995         `str->iso2022.current_char_boundary' in UTF2000.
4996         (encode_utf8): Don't define in UTF2000.
4997         (encode_coding_utf8): New implementation for UTF-8 representation
4998         of UTF2000.
4999         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5000
5001 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5002
5003         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5004
5005         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5006         UTF2000.
5007         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5008
5009         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5010
5011         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5012         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5013         as UTF-8 in UTF2000.
5014         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5015         (non_ascii_valid_char_p): Don't define in UTF2000.
5016         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5017         (Lstream_get_emchar_1): Likewise.
5018         (utf-2000-version): New variable in UTF2000.
5019
5020         * lread.c (read_escape): Add new reader `u'.
5021
5022         * insdel.c (three_to_one_table): Don't define in UTF2000.
5023         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5024         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5025         UTF2000.
5026         (bytind_to_bufpos_func): Likewise.
5027         (buffer_mule_signal_inserted_region): Likewise.
5028         (vars_of_insdel): Don't initialize `three_to_one_table'.
5029         (init_buffer_text): Use `buf->text->mule_size' instead of
5030         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5031         UTF2000.
5032
5033         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5034         UTF-8 representation in UTF2000.
5035         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5036         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5037         (decode_coding_iso2022): Don't define local variable `lb' in
5038         UTF2000; don't use LEADING_BYTE in UTF2000; use
5039         `DECODE_ADD_UCS_CHAR' in UTF2000.
5040         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5041
5042         * config.h.in (UTF2000): New macro.
5043
5044         * buffer.h (struct buffer_text): Add new member `mule_size' and
5045         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5046         (valid_char_p): Return always 1 in UTF2000.
5047         (MAX_EMCHAR_LEN): 6 in UTF2000.
5048         (three_to_one_table): Don't define in UTF2000.
5049         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5050         UTF2000.
5051         (real_bytind_to_bufpos): Likewise.
5052
5053         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5054
5055 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5056
5057         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5058         representation change.
5059         (Vutf_2000_version): New variable.
5060         (leading_code_private_11): New variable.
5061         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5062         `leading-code-private-11'.
5063
5064         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5065         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5066         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5067         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5068         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5069         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5070         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5071         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5072         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5073         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5074         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5075         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5076         (MIN_CHAR_GREEK): New macro.
5077         (MAX_CHAR_GREEK): New macro.
5078         (MIN_CHAR_CYRILLIC): New macro.
5079         (MAX_CHAR_CYRILLIC): New macro.
5080         (MIN_CHAR_HEBREW): New macro.
5081         (MAX_CHAR_HEBREW): New macro.
5082         (MIN_CHAR_THAI): New macro.
5083         (MAX_CHAR_THAI): New macro.
5084         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5085         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5086         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5087         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5088         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5089         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5090         (CHAR_FIELD2): New inline function.
5091         (CHAR_FIELD3): New inline function.
5092         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5093         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5094         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5095         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5096         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5097         (MIN_CHAR_COMPOSITION): Likewise.
5098         (CHAR_LEADING_BYTE): Modified for character representation change.
5099         (MAKE_CHAR): Likewise.
5100
5101         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5102         (Vcharset_greek_iso8859_7): Likewise.
5103         (Vcharset_cyrillic_iso8859_5): Likewise.
5104         (Vcharset_hebrew_iso8859_8): Likewise.
5105         (Vcharset_thai_tis620): Likewise.
5106         (Vcharset_katakana_jisx0201): Likewise.
5107
5108 2003-09-03  Vin Shelton <acs@xemacs.org>
5109
5110         * XEmacs 21.4.14 is released
5111
5112 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5113
5114         * config.h.in (REGEX_MALLOC): Make it configure'able.
5115
5116 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5117
5118         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5119         linking.
5120         * sysdll.c (dll_init):
5121         * sysdll.c (dll_open):
5122         * sysdll.c (dll_close):
5123         * sysdll.c (dll_function):
5124         * sysdll.c (dll_variable):
5125         * sysdll.c (dll_error):
5126         Add support for loading bundles using Darwin/MacOSX
5127         native API.
5128
5129 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5130
5131         * process.c (start-process-internal): Document coding systems.
5132
5133 2003-07-30  Jerry James  <james@xemacs.org>
5134
5135         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5136
5137 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5138
5139         * event-msw.c (mswindows_enqueue_mouse_button_event):
5140         * event-msw.c (mswindows_wnd_proc):
5141           enqueue button event when scrollwheel event isn't handled by 
5142           mswindows_handle_mousewheel_event, such as when the scrollbars
5143           are not showing.
5144
5145 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5146
5147         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5148
5149 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5150
5151         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5152
5153 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5154
5155         * regex.c (re_match_2_internal): Fix matching degenerate word
5156         boundaries.
5157
5158 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5159
5160         * XEmacs 21.4.13 is released
5161
5162 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5163
5164         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5165         * lisp.h (<inttypes.h>):
5166         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5167         the definition.
5168
5169 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5170
5171         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5172         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5173         Result: "temacs can only be run in -batch mode."
5174         Fix: Check xemacs executable candidate for directory-ness.
5175
5176 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5177
5178         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5179           they conflict with <sys/types.h>.
5180
5181 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5182
5183         * database.c: Berkeley DB wants __STDC__ to be defined.
5184
5185 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5186
5187         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5188
5189 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5190
5191         * process-unix.c (unix_send_process): Fix C++ compile error.
5192
5193 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5194
5195         * Added .dylib as an acceptable shared library file extension
5196         * to support MacOSX.
5197
5198 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5199
5200         * EmacsFrameP.h (EmacsFramePart):
5201         Kludge to allow compiling with Motif1, but linking with Motif2.
5202
5203 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5204
5205         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5206
5207
5208 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5209
5210         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5211
5212 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5213
5214         * sysdll.c: Included lisp.h to define needed alloca_array.
5215
5216 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5217
5218         Make XEmacs redisplay 10 times faster.
5219         If, that is, you're using a slow X connection and MoveOpaque.
5220         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5221         Use compress_motion = TRUE.
5222         * EmacsFrame.c (emacsFrameClassRec): 
5223         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5224         * EmacsManager.c (emacsManagerClassRec):
5225         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5226
5227 2003-01-30  Vin Shelton  <acs@xemacs.org>
5228
5229         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5230
5231 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5232
5233         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5234         Patch by Martin Buchholz.
5235
5236 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5237
5238         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5239         Thanks to icc for warning and Martin Buchholz for reporting.
5240
5241 2003-01-29  Vin Shelton <acs@xemacs.org>
5242
5243         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5244
5245         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5246         remember to multiply by the element size.
5247
5248 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5249
5250         * XEmacs 21.4.12 "Portable Code" is released.
5251
5252 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5253
5254         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5255         * s/cygwin.sc: new linker file.
5256
5257 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5258
5259         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5260
5261         * redisplay-x.c (x_output_string): Use X11-specified types.
5262         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5263         * emacs.c (__free_hook): Use typeof with Intel compiler.
5264         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5265
5266 2003-01-08  Andy Piper  <andy@xemacs.org>
5267
5268         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5269         reserve size during unexec().
5270
5271 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5272
5273         * process-unix.c (unix_create_process): Don't let outchannel block.
5274
5275 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5276
5277         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5278         Needed for IsBadReadPtr().
5279
5280 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5281
5282         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5283
5284 2002-12-14  Ben Wing  <ben@xemacs.org>
5285
5286         * callint.c: Declaration error.
5287         * dumper.c (pdump):
5288         * dumper.c (pdump_load): Warning fix.
5289         * process.c: GCPRO error.
5290         * glyphs.c (unmap_subwindow):
5291         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5292         * event-stream.c (maybe_kbd_translate): Wrong argument to
5293         character_to_event().
5294
5295         * alloc.c (garbage_collect_1):
5296         * emacs.c:
5297         * emacs.c (debug_can_access_memory):
5298         * emacs.c (fatal_error_signal):
5299         * emacs.c (mswindows_handle_hardware_exceptions):
5300         * emacs.c (main_1):
5301         * emacs.c (main):
5302         * emacs.c (assert_failed):
5303         * emacs.c (syms_of_emacs):
5304         * lisp.h:
5305         * print.c:
5306         * print.c (std_handle_out_va):
5307         * print.c (write_string_to_stdio_stream):
5308         * print.c (write_fmt_string):
5309         * print.c (printing_badness):
5310         * print.c (printing_major_badness):
5311         * print.c (print_internal):
5312         * print.c (debug_print_no_newline):
5313         * print.c (debug_backtrace):
5314         Be more defensive in handling bad values when printing.  Add code
5315         from trunk involving inhibit_non_essential_printing_operations.
5316         When going down or in debug_print(), don't do external conversion
5317         and such and try really, really hard when printing to avoid core
5318         dumping.  Add force-debugging-signal, debug_break().
5319
5320 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5321
5322         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5323         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5324
5325 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5326
5327         * database.c: Fix open_database. Berkeley DB API has changed in
5328         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5329
5330 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5331
5332         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5333
5334 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5335
5336         * event-Xt.c (Xt_timeout):
5337         (Xt_timeout_callback):
5338         (emacs_Xt_add_timeout):
5339         (emacs_Xt_remove_timeout):
5340         (Xt_timeout_to_emacs_event):
5341         Turn completed_timeouts from a stack into a queue.  Fixes
5342         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5343
5344 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5345
5346         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5347         * emacs.c (main): Assert that mmap'd allocation is disabled.
5348
5349 2002-10-14  Andy Piper  <andy@xemacs.org>
5350
5351         * glyphs-widget.c (layout_query_geometry): add in fiddle
5352         factor. Include border text in width layout calculation.
5353         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5354
5355 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5356
5357         * XEmacs 21.4.10 "Military Intelligence" is released.
5358
5359 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5360
5361         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5362         using the NAS private array SoundFileInfo that no longer exists in
5363         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5364         and earlier.  This is broken for some versions between 1.5a and
5365         1.5f.
5366
5367 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5368
5369         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5370
5371         * emacs.c (shut_down_emacs): Improve crash message.
5372
5373 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5374
5375         * file-coding.c (determine_real_coding_system): Check for coding
5376         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5377         shebangs and Python PEP 263.
5378
5379 2002-10-08  Andy Piper  <andy@xemacs.org>
5380
5381         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5382         if static sizes haven't been set.
5383
5384 2002-08-30  Mike Alexander  <mta@arbortext.com>
5385
5386         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5387         to close a socket.
5388
5389 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5390
5391         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5392
5393 2002-09-20  Mike Sperber <mike@xemacs.org>
5394
5395         (This partially gets back my patch from 2002-07-20 without the
5396         bug.)
5397         * callproc.c (child_setup): Remove Ben's comment noting confusion
5398         over the file descriptors >= 3: close_process_descs() doesn't
5399         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5400         * process-unix.c (unix_create_process): Call
5401         begin_dont_check_for_quit to inhibit unwanted interaction (and
5402         thus breaking of X event synchronicity) in the child.
5403
5404 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5405
5406         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5407         widget.
5408
5409 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5410
5411         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5412         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5413         the xemacs process did not exit, but looped infinitely here.  This
5414         fixes that problem.
5415
5416 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5417
5418         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5419         (find_context): Improve comments.
5420
5421         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5422         (re_match_2): An XCHAR_TABLE operation was missing.
5423
5424         Many of the following changes were inspired by Andy Piper's (now
5425         obsolete) patch to make syntax-table text property lookup optional.
5426
5427         [Documentation]
5428
5429         * syntax.h (top level): Document semantics of syntax flags.
5430         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5431         * syntax.c, syntax.h (top level): Document syntax cache better in
5432         comments.
5433
5434         [Instrument syntax caching (temporary change)]
5435
5436         * syntax.h (enum syntax_cache_statistics_functions, struct
5437         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5438         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5439         * syntax.c (scan_words, Fforward_comment, scan_lists,
5440         Fbackward_prefix_characters):
5441         * font-lock.c (find_context):
5442         Use them to instrument syntax caching. 
5443         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5444         syntax_cache_statistics_function_names): New type and variables.
5445         * syntax.c (update_syntax_cache): Update and report statistics.
5446
5447         [Major syntax cache optimizations]
5448
5449         syntax.c (lookup_syntax_properties): Default off.
5450
5451         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5452         * syntax.c (update_syntax_cache):
5453         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5454
5455         [Minor syntax cache optimizations and code clarifications]
5456
5457         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5458         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5459         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5460         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5461         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5462         (Code clarification.)
5463
5464         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5465         scan_lists): Compute code from syncode, use Boolean macros instead
5466         of redundant masking operations.  (Code clarification; any decent
5467         compiler can do this optimization.)
5468
5469         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5470         for clarity.
5471
5472         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5473         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5474         use F*_single_property_change instead of F*_extent_change.
5475         Currently F*_single_property_change is _much_ less efficient.
5476
5477         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5478         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5479         syntax_cache.object properly, don't leave Qt or Qnil.
5480         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5481         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5482         tests for Qt or Qnil.
5483
5484 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5485
5486         * redisplay.c (point_in_line_start_cache): 
5487         * extents.c (print_extent_1):
5488         Fix warnings.
5489
5490         * extents.c (Fset_extent_property): Document `syntax-table' property.
5491
5492         * extents.h (Fnext_single_property_change): EXFUN it.
5493
5494 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5495
5496         * search.c (clear_unused_search_regs): New static function.
5497         (search_buffer): 
5498         (simple_search): 
5499         (boyer_moore):
5500         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5501         Minor clarifications in comments.
5502
5503         * regex.c (re_match_2_internal): Ensure no stale submatches.
5504
5505 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5506
5507         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5508
5509 2002-08-29  Jerry James  <james@xemacs.org>
5510
5511         * lisp.h: structrures -> structures.
5512
5513 2002-06-03  Andy Piper  <andy@xemacs.org>
5514
5515         * frame.c (frame_conversion_internal): add conversion appropriate
5516         for setting frame dimensions in pixels.
5517
5518         * console.h (struct console_methods): add device-specific widget
5519         layout functions.
5520
5521         * emacs.c (main_1): initialize glyph vars.
5522
5523         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5524         (handle_focus_event_2): new function. Allow focus to
5525         be set to a particular window and widget.
5526         (enqueue_focus_event): new function. Create a
5527         synthetic focus event.
5528         (emacs_Xt_handle_magic_event): call
5529         handle_focus_event_2.
5530
5531         * frame.c (Fset_frame_pixel_height): new function. Allow
5532         pixel-based sizing. Does the right thing on character-oriented
5533         displays.
5534         (Fset_frame_pixel_width): ditto.
5535         (Fset_frame_pixel_size): ditto.
5536         (syms_of_frame): declare.
5537
5538         * general-slots.h: add :vertically-justify and
5539         :horizontally-justify.
5540
5541         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5542         (mswindows_widget_border_width): new function.
5543         (mswindows_combo_box_instantiate): set border widths.
5544         (console_type_create_glyphs_mswindows): declare.
5545
5546         * glyphs-widget.c:
5547         (check_valid_justification): allow vertical and horizontal
5548         justification.
5549         (widget_border_width): new function. Call device methods.
5550         (widget_instance_border_width): ditto.
5551         (logical_unit_height): new function. Determine the height of a
5552         logical-unit. Logical units are intended to provide grid-like
5553         layout for subcontrols in a layout. If the layout is
5554         :vertically-justify top then subcontrols will be positioned on
5555         logical-unit boundaries, thus allowing adjacent subcontrols to
5556         line up.
5557         (widget_logical_unit_height): ditto for widgets.
5558         (redisplay_widget): misc cleanup.
5559         (widget_spacing): new function. Call device specific
5560         methods. Intended to be the default gap between adjacent widgets.
5561         (widget_query_geometry): use new spacing functions to determine
5562         appropriate geometry.
5563         (initialize_widget_image_instance): initialize horizontal and
5564         vertical justification.
5565         (widget_instantiate): use logica-units where appropriate for
5566         sizing large widgets.
5567         (button_query_geometry): use widget_instance_border_width.
5568         (tree_view_query_geometry): ditto.
5569         (tab_control_query_geometry): ditto.
5570         (edit_field_query_geometry): new function.
5571         (layout_update): pick up :justify, :horizontally-justify and
5572         :vertically-justify none of which worked previously. :justify is
5573         used as a fallback for both horizontal and vertical justification.
5574         (layout_query_geometry): use logical units to size appropriately.
5575         (layout_layout): ditto.
5576         (Fwidget_logical_to_character_width): new function. Allow users to
5577         convert from logical units to characters so that frame sizes can
5578         be set appropriately.
5579         (Fwidget_logical_to_character_height): ditto.
5580         (syms_of_glyphs_widget): declare.
5581         (image_instantiator_edit_fields): add edit_field_query_geometry.
5582         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5583         :horizontally-justify.
5584         (specifier_vars_of_glyphs_widget): new function. Declare
5585         Vwidget_border_width which is not yet used.
5586
5587         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5588         (x_widget_border_width): new function.
5589         (x_widget_instantiate): create a sensible name for widgets.
5590         (console_type_create_glyphs_x): declare x_widget_border_width.
5591
5592         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5593         (struct Lisp_Image_Instance): add :vertically-justify and
5594         :horizontally-justify.
5595         (LAYOUT_JUSTIFY_TOP): new.
5596         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5597         (ROUND_UP): new macro. Round argument up to next integral
5598         interval.
5599
5600         * redisplay-output.c (redisplay_output_layout): misc formatting.
5601
5602         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5603
5604 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5605
5606         * XEmacs 21.4.9 "Informed Management" is released.
5607
5608 2002-08-19  Andy Piper  <andy@xemacs.org>
5609
5610         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5611         win32 format.
5612
5613         * realpath.c (xrealpath): normalize drive spec also so that dir
5614         sep chars are not mixed on cygwin.
5615
5616 2002-08-06  Jerry James  <james@xemacs.org>
5617
5618         * window.c (Fsplit_window): Count only half of the divider width
5619         against the left window when splitting horizontally. 
5620
5621 2002-06-24  Andy Piper  <andy@xemacs.org>
5622
5623         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5624         toolbar was cleared.
5625
5626         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5627         function. Split out from mswindows_output_frame_toolbars.
5628         (mswindows_output_frame_toolbars): move clear pieces to
5629         mswindows_output_frame_toolbars.
5630
5631         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5632         out from gtk_output_frame_toolbars.
5633         (gtk_output_frame_toolbars): move clear pieces to
5634         gtk_clear_frame_toolbars.
5635
5636         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5637         the frame is cleared. How this ever worked before is a mystery.
5638         (x_output_frame_toolbars): Only output toolbars.
5639         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5640
5641         * gutter.c (update_gutter_geometry):
5642         Mark frame layout changed.
5643         (update_frame_gutter_geometry, update_frame_gutters):
5644         Respect frame_layout_changed.
5645
5646         * console.h (struct console_methods): add
5647         clear_frame_toolbars_method.
5648
5649         * redisplay.c (redisplay_frame): call
5650         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5651
5652         * toolbar.h: declare update_frame_toolbars_geometry.
5653
5654         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5655         out from update_frame_toolbars.  Call clear_frame_toolbars.
5656         (update_frame_toolbars): only output, do not change geometry.
5657
5658         * redisplay.c: add frame_layout_changed.
5659
5660         * redisplay.h: add frame_layout_changed.
5661         (CLASS_RESET_CHANGED_FLAGS): set it.
5662         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5663         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5664         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5665
5666         * device.h (struct device): add frame_layout_changed.
5667         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5668
5669         * frame.h (struct frame): add frame_layout_changed.
5670         (MARK_FRAME_LAYOUT_CHANGED): new.
5671
5672 2002-06-30  Mike Alexander  <mta@arbortext.com>
5673
5674         * event-msw.c (mswindows_need_event): Don't wait for a new message
5675         if the queue is not empty.  Suggested by Paul Moore.
5676
5677 2002-06-12  Andy Piper  <andy@xemacs.org>
5678
5679         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5680         for printing on accurately.
5681
5682 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5683
5684         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5685         WM_ACTIVATE message. Make sure that the frame is visible if the
5686         window is visible. This seemss to fix the problem where XEmacs
5687         appears to freeze after switching desktops with certain virtual
5688         window managers.
5689         (debug_output_mswin_message): Added code to output message
5690         parameters for WM_WINDOWPOSCHANGED, 
5691         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5692
5693 2002-05-25  Andy Piper  <andy@xemacs.org>
5694
5695         * select-x.c (vars_of_select_x): Fix docstring of
5696         x-selection-strict-motif-ownership
5697
5698 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5699
5700         * keymap.c (get_keymap):
5701         Add comment about do_autoload GCPROs own args.
5702
5703 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5704
5705         * bytecode.c (execute_optimized_program): check_opcode ifdef
5706         ERROR_CHECK_BYTE_CODE.
5707
5708 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5709
5710         Thanks to Ben Wing and Michael Sperber.
5711
5712         * eval.c (Fcommand_execute):
5713         (Feval):
5714         (Ffuncall):
5715         (Fmacroexpand_internal):
5716         (function_argcount):
5717         callint.c (Fcall_interactively):
5718         Add comment about do_autoload GCPROs own args.
5719
5720         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5721
5722         * eval.c (Ffuncall): Extra braces to placate GCC.
5723
5724 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5725
5726         * backtrace.h (grow_specpdl):
5727         (SPECPDL_RESERVE):
5728         * EmacsFrame.c (EmacsFrameSetValues):
5729         * eval.c (grow_specpdl):
5730         * ExternalShell.c (hack_event_masks_1):
5731         * glyphs-x.c (convert_EImage_to_XImage): 
5732         (x_finalize_image_instance):
5733         * ralloc.c (page_size):
5734         (r_alloc_sbrk):
5735         * xgccache.c (gc_cache_hash):
5736         Fix unsigned comparison warnings.
5737
5738 2002-07-29  Jerry James  <james@xemacs.org>
5739
5740         * lread.c (locate_file): Any nonnegative return value indicates
5741         success if MODE is nonnegative.
5742
5743 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5744
5745         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5746         argument. 
5747
5748 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5749
5750         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5751
5752         * dumper.c (pdump_get_indirect_count):
5753         (pdump_scan_by_alignment):
5754         (pdump_dump_root_struct_ptrs):
5755         (pdump_dump_rtables):
5756         (pdump_dump_root_objects):
5757         (pdump):
5758         * nas.c (WaveOpenDataForReading):
5759         * fns.c (print_bit_vector):
5760         * font-lock.c (SINGLE_SYNTAX_STYLE):
5761         * glyphs.c (check_for_ignored_expose):
5762         (find_matching_subwindow):
5763         * glyphs-eimage.c:
5764         * imgproc.c (get_histogram):
5765         * redisplay.c (point_in_line_start_cache):
5766         * redisplay-output.c (redisplay_unmap_subwindows):
5767         * symbols.c (defsymbol_massage_name_1):
5768         (defkeyword_massage_name):
5769         (deferror_massage_name_and_message):
5770         * redisplay-x.c (x_output_string): 
5771         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5772         * frame.h (struct frame):
5773         * filelock.c (current_lock_owner):
5774         * doprnt.c (emacs_doprnt_1):
5775         * lisp.h (struct Lisp_Bit_Vector):
5776         (DO_REALLOC):
5777         Fix warnings.
5778
5779 2002-02-13  Ben Wing  <ben@xemacs.org>
5780
5781         * event-stream.c (reset_key_echo):
5782         * event-stream.c (reset_this_command_keys):
5783         * event-stream.c (execute_command_event):
5784         If console is dead as a result of C-x 5 0, then post-command stuff
5785         needs to be careful and do only non-console-specific stuff.
5786
5787 2002-07-01  Mike Sperber <mike@xemacs.org>
5788
5789         * process-unix.c (unix_send_process): Mark coding_outstream as
5790         non-open upon SIGPIPE.
5791
5792         * event-stream.c (Fnext_event): Reorder switch cases to something
5793         that makes sense.
5794
5795 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5796
5797         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5798         Don't bogusly reinitialize ascii_character property.
5799
5800 2002-07-08  Mike Sperber <mike@xemacs.org>
5801
5802         * process.c (Fstart_process_internal): Do error checking before we
5803         fork off the child, so the child can't muck with the state of the
5804         parent.
5805
5806 2002-07-08  Mike Sperber <mike@xemacs.org>
5807
5808         * ralloc.c (init_ralloc): Allocate properly for pdump.
5809
5810 2002-06-12  Andy Piper  <andy@xemacs.org>
5811
5812         * glyphs.c (query_string_geometry): check the string.
5813
5814         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5815         widget names.
5816
5817 2002-06-17  Jerry James  <james@xemacs.org>
5818
5819         * sysdll.c: Remove RTLD_GLOBAL initialization.
5820         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5821
5822 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5823
5824         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5825
5826 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5827
5828         * sysdep.c (sys_rename): Make sys_rename work for the case where
5829         Windows rename sets errno to EACCES if target file exists.
5830
5831 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5832
5833         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5834         Fix detection of metric units to work on Win95
5835
5836 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5837
5838         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5839
5840 2002-04-25  Andy Piper  <andy@xemacs.org>
5841
5842         * redisplay.c (create_text_block): Remove extra comment trailer.
5843
5844 2002-04-24  Andy Piper  <andy@xemacs.org>
5845
5846         * redisplay.c (create_text_block): Don't actually add propagation
5847         data if the line ends after we have added a glyph.
5848
5849 2002-04-22  Andy Piper  <andy@xemacs.org>
5850
5851         * extents.c (extent_fragment_update): check for glyphs we have
5852         previously displayed.
5853         * extents.c (print_extent_1): warning removal.
5854         * extents.h: change prototype.
5855         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5856         widths correctly for wide glyphs.
5857         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
5858         * redisplay.c (prop_type): add PROP_GLYPH.
5859         * redisplay.c (struct prop_block): add glyph type
5860         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
5861         to the propagation data.
5862         * redisplay.c (create_text_block): if there is a glyph in the
5863         propagation data use it to salt extent_fragment_update.
5864         * redisplay.c (create_string_text_block): ditto.
5865
5866 2002-04-13  Nix  <nix@esperi.demon.co.uk>
5867
5868         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
5869         * redisplay-output.c (compare_runes): Compare them.
5870         * redisplay.c: Update copyright date.
5871         * redisplay.c (pos_data): Add need_baseline_computation field.
5872         * redisplay.c (add_glyph_rune): Update ascent, descent, and
5873         need_baseline_computation; zero yoffset. Set max_pixmap_height
5874         for all pixmaps, not just automatically positioned ones.
5875         * redisplay.c (calculate_yoffset): New, compute yoffset values.
5876         * redisplay.c (calculate_baseline): New, compute textual baseline.
5877         * redisplay.c (add_glyph_rune): Call them.
5878         * redisplay.c (create_text_block): Likewise.
5879         * redisplay.c (create_overlay_glyph_block): Likewise.
5880         * redisplay.c (add_margin_runes): Likewise.
5881         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
5882
5883         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
5884         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
5885         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
5886         * redisplay-msw.c (mswindows_output_string): Likewise.
5887         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
5888         * redisplay-gtk.c (gtk_output_display_block): Likewise.
5889         * redisplay-x.c (x_output_display_block): Likewise.
5890
5891 2002-03-28  Ben Wing  <ben@xemacs.org>
5892
5893         * redisplay.c: Fixed bug in redisplay
5894         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
5895         and down of the lines, since they're bigger than the line
5896         size. (It was seen most obviously when there's a horizontal scroll
5897         bar, e.g. do C-h a glyph or something like that.) The problem was
5898         that the glyph-contrib-p setting on glyphs was ignored even if it
5899         was set properly, which it wasn't until now.
5900
5901 2002-04-24  Andy Piper  <andy@xemacs.org>
5902
5903         * lisp.h (Dynarr_end): Fix definition.
5904
5905 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
5906
5907         * redisplay.c (mark_redisplay): Remove call to
5908         update_frame_window_mirror.
5909
5910 2001-11-15  Andy Piper  <andy@xemacs.org>
5911
5912         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
5913         cygwin (again).
5914
5915 2002-02-13  Andy Piper  <andy@xemacs.org>
5916
5917         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
5918         we did in fact enqueue the XM_MAPFRAME event.
5919
5920 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
5921
5922         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
5923         to fix problem switching between virtual desktops under virtuawin
5924         virtual window manager.
5925
5926 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
5927
5928         * event-msw.c: Typo fix.
5929         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
5930         magic XM_MAPFRAME event has been sent.
5931
5932 2001-11-23  Andy Piper  <andy@xemacs.org>
5933
5934         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
5935
5936 2001-11-21  Andy Piper  <andy@xemacs.org>
5937
5938         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
5939         mouse events outside the frame.
5940
5941 2002-03-20  Andy Piper  <andy@xemacs.org>
5942
5943         * menubar-msw.c (mswindows_popup_menu): warning removal.
5944         * dialog-msw.c (dialog_popped_down): ditto.
5945
5946 2001-12-11  Andy Piper  <andy@xemacs.org>
5947
5948         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
5949         * dialog-msw.c (mswindows_make_dialog_box_internal): set
5950         popup_up_p.
5951         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
5952         * menubar-msw.c (mswindows_handle_wm_command): ditto.
5953         * menubar-msw.c (mswindows_popup_menu): ditto.
5954
5955 2001-10-29  Andy Piper  <andy@xemacs.org>
5956
5957         * dialog-msw.c (handle_directory_dialog_box): quit if the user
5958         cancels.
5959
5960 2002-01-03  Andy Piper  <andy@xemacs.org>
5961
5962         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
5963         letters.
5964         (xrealpath): ditto.
5965
5966 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
5967
5968         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
5969         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
5970         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5971         Detect and handle case where machine is set up for metric units
5972
5973 2002-04-02  Andy Piper  <andy@xemacs.org>
5974
5975         * dired-msw.c (mswindows_get_files): 
5976         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
5977         completely handled by XEmacs. Suggested by Thomas Vogler
5978         <mail@thomas-vogler.de>.
5979
5980 2001-11-14  Andy Piper  <andy@xemacs.org>
5981
5982         * nt.c (REG_ROOT): change registry key to XEmacs.
5983
5984 2002-04-27  Andy Piper  <andy@xemacs.org>
5985
5986         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
5987
5988 2002-04-26  Andy Piper  <andy@xemacs.org>
5989
5990         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
5991         behavior.
5992
5993 2002-03-14  Mike Alexander  <mta@arbortext.com>
5994
5995         * event-msw.c (mswindows_unwait_process): New, remove process from
5996         wait list
5997         * process-nt.c (nt_finalize_process_data): Call
5998         mswindows_unwait_process
5999         * console-msw.h: Declare mswindows_unwait_process
6000
6001 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6002
6003         * editfns.c (Fdecode_time):
6004         (Fformat_time_string):
6005         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6006         (make_time): Warning elimination (change arg name).
6007
6008 2001-11-24  Andy Piper  <andy@xemacs.org>
6009
6010         * window.c (Fsplit_window): Doc return type.
6011
6012 2002-04-01  Andy Piper  <andy@xemacs.org>
6013
6014         * emacs.c (Fkill_emacs): Only output message box in interactive
6015         mode.
6016
6017 2002-04-26  Andy Piper  <andy@xemacs.org>
6018  
6019         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6020         cygwin.
6021
6022 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6023
6024         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6025         bit platform.
6026
6027 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6028
6029         * XEmacs 21.4.8 "Honest Recruiter" is released.
6030
6031 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6032
6033         Supersedes 2002-04-17 patch.
6034
6035         * process.h (PROCESS_LIVE_P): Use the process status as
6036         evidence of health, not the state of the input stream.
6037         (PROCESS_READABLE_P): Say if the process is readable
6038         from. (It may be dead nonetheless.)
6039         (CHECK_READABLE_PROCESS): Test for that condition.
6040
6041         * process.c (create_process): Use PROCESS_READABLE_P.
6042         (read_process_output, set_process_filter): Likewise.
6043
6044         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6045         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6046
6047         This code is #if 0'd, this is not the time to add new functions:
6048
6049         * process.c (Fprocess_readable_p): Report readability status.
6050         * process.c (Qprocess_readable_p): New, associated symbol...
6051         * process.c (syms_of_process): ... initialize it.
6052
6053 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6054
6055         * XEmacs 21.4.7 "Economic Science" is released.
6056
6057 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6058
6059         * process.h (PROCESS_LIVE_P): Use the process status as
6060         evidence of health, not the state of the input stream.
6061
6062 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6063
6064         * sysdep.c (sys_siglist): change "signum" to "signal"
6065
6066 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6067
6068         * s/darwin.h: New file.
6069         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6070         
6071 2002-04-23  Andreas Jaeger  <aj@suse.de>
6072
6073         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6074         which use lib64 for 64-bit libs.
6075         (START_FILES): Likewise.
6076
6077 2002-02-11  Mike Sperber  <mike@xemacs.org>
6078
6079         * device-x.c: 
6080         (x_IO_error_handler):
6081         (x_init_device): Temporarily keep device in static variable
6082         `device_being_initialized' so we can recover gracefully from
6083         internal XOpenDevice failure.  (XOpenDevice is documented to
6084         return NULL on failure, but sometimes calls the IO error handler
6085         instead.)
6086
6087 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6088
6089         * dired.c (Ffile_name_all_completions): Change documentation --
6090         remove reference to completion-ignored-extensions.
6091         * dired.c (vars_of_dired): Change documentation for
6092         completion-ignored-extensions -- remove reference to
6093         file-name-all-completions.
6094
6095 2002-03-06  Jerry James  <james@xemacs.org>
6096
6097         * emodules.c (emodules_load): Fix multiple loading of same module.
6098
6099 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6100         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6101         RTLD_LAZY to avoid incorrect symbol binding when using nested
6102         shared libraries on Solaris.
6103
6104 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6105
6106         * fileio.c (Ffind_file_name_handler): Improve docstring.
6107
6108 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6109
6110         * fns.c (Fmapconcat): Improve docstring.
6111
6112 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6113
6114         * device-gtk.c: Add prototype for
6115         emacs_gtk_selection_clear_event_handle.
6116         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6117         selection.  Setup signal handler for "selection_clear_event"
6118         (emacs_gtk_selection_clear_event_handle).
6119
6120         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6121         other applications owning the clipboard (based on
6122         x_handle_selection_clear).
6123
6124 2001-12-23  William M. Perry  <wmperry@gnu.org>
6125
6126         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6127         
6128 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6129
6130         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6131
6132 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6133
6134         * XEmacs 21.4.6 "Common Lisp" is released.
6135
6136 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6137
6138         * search.c (Freplace_match): Add missing sub-expression functionality.
6139
6140         * buffer.c (decode_buffer): Add a check for pointer type to
6141         decode_buffer, before gcc's CSE optimization reorders a
6142         dereference in front of the allow_string test.
6143
6144 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6145
6146         * window.c (window_loop): Fix bug that sometimes prevented
6147         window_loop() from iterating across multiple devices.  Also, at
6148         Ben's request, changed infloop-detecting code to abort() instead
6149         of silently terminating window_loop().
6150
6151 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6152
6153         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6154         * editfns.c (make_time): New function.
6155         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6156         * lisp.h (make_time): Prototype and comment it.
6157         * dired.c (wasteful_word_to_lisp): Deprecate.
6158         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6159
6160 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6161
6162         * fileio.c (auto_save_1): Use current coding system, not
6163         escape-quoted.
6164
6165 2001-11-13  Ben Wing  <ben@xemacs.org>
6166
6167         * window.c:
6168         * window.c (window_truncation_on):
6169         * window.c (syms_of_window):
6170         truncate-partial-width-windows should respect the buffer being
6171         displayed, like other redisplay vars.
6172
6173 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6174
6175         * event-stream.c (Fread_key_sequence): save current buffer.
6176
6177 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6178
6179         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6180
6181 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6182
6183         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6184
6185 2001-10-26  Mike Alexander  <mta@arbortext.com>
6186
6187         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6188
6189 2001-10-25  Andy Piper  <andy@xemacs.org>
6190
6191         * ChangeLog:
6192         * dialog-msw.c (handle_directory_proc): new function.
6193          (handle_directory_dialog_box): new fucntion.
6194          (handle_file_dialog_box): use new directory dialog support.
6195          (mswindows_make_dialog_box_internal): ditto.
6196         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6197         handling.
6198         (mswindows_find_frame): make global.
6199         * fileio.c (Fexpand_file_name): build fix.
6200         * general-slots.h: add Qdirectory.
6201         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6202         handling.
6203         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6204         cygwin not leaving win32 paths unchanged.
6205         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6206         cygwin runtime to do path conversion.
6207         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6208         (syms_of_win32): add new function.
6209         * window.c (window_loop): build fix.
6210
6211 2001-10-15  Andy Piper  <andy@xemacs.org>
6212
6213         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6214
6215 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6216
6217         * XEmacs 21.4.5 "Civil Service" is released.
6218
6219 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6220
6221         * glyphs-x.c: Force buffer-tab highlight update when moving the
6222         buffer, avoiding an ugly black border, used for keyboard focus
6223         indication, on a widget that can never have keyboard focus, the
6224         buffer tab.
6225
6226 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6227
6228         * process-unix.c (unix_open_multicast_group): Remove too much
6229         conversion between host and network byte order.
6230
6231 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6232
6233         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6234         before replacing them.
6235
6236         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6237         operation.
6238
6239         * src/window.c (undedicate_windows): Use it.
6240         * src/window.h: Add prototype.
6241
6242 2001-09-17  Ben Wing  <ben@xemacs.org>
6243
6244         * fileio.c (normalize_filename):
6245         * fileio.c (Fexpand_file_name):
6246         Fix various C++ compile errors in Andy's recent code.
6247         
6248         * callint.c (Fcall_interactively):
6249         * editfns.c (Ftemp_directory):
6250         * editfns.c (Fuser_full_name):
6251         * emacs.c (argmatch):
6252         * lread.c (locate_file_map_suffixes):
6253         * redisplay-x.c (x_ring_bell):
6254         Fix sign-compare warnings.
6255         
6256 2001-09-08  Andy Piper  <andy@xemacs.org>
6257
6258         * fileio.c (normalize_filename): copied from nt.c
6259         * (Ffile_name_directory): enable win32 paths under cygwin.
6260         * (Ffile_name_nondirectory): ditto.
6261         * (directory_file_name): ditto.
6262         * (Fexpand_file_name): ditto.
6263         * (Ffile_truename): ditto.
6264         * (Fsubstitute_in_file_name): ditto.
6265         * (Ffile_name_absolute_p): ditto.
6266         * (Ffile_readable_p): ditto.
6267
6268 2001-09-08  Andy Piper  <andy@xemacs.org>
6269
6270         * device-msw.c (mswindows_finish_init_device): remove dde
6271         initialization.
6272         * device-msw.c (mswindows_init_dde): factor out from
6273         mswindows_finish_init_device()
6274         * device-msw.c (init_mswindows_very_early): new function
6275         initialize but don't enable dde.
6276         * emacs.c (main_1): call init_mswindows_very_early.
6277         * event-msw.c:
6278         * event-msw.c (mswindows_dde_callback): only execute when we are
6279         ready.
6280         * symsinit.h: declare init_mswindows_very_early.
6281
6282 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6283
6284         [sjt: This has been in 21.5 for months with no complaints.]
6285
6286         * console.h (struct console_methods): Added flags member.
6287         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6288         (CONMETH_IMPL_FLAG):
6289         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6290         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6291
6292         * device.c (window_system_pixelated_geometry): Use the above macros.
6293
6294         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6295         implememntation flag.
6296         * device.h (DEVICE_DISPLAY_P): Use it.
6297
6298         * frame.c (delete_frame_internal): Use the above macro.
6299
6300         * redisplay.c (redisplay_device): Use it.
6301         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6302         (redisplay_frame): Ditto.
6303
6304         * device-msw.c (mswindows_device_implementation_flags): Removed.
6305         (msprinter_device_implementation_flags): Removed.
6306         (console_type_create_device_mswindows): Removed references to
6307         implementation_flags methods, set implementation flags here.
6308         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6309
6310         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6311         (console_type_create_device_gtk): Removed method declaration.
6312         Added commented out statement which semantically matches the
6313         commented out statement in the above removed method.
6314
6315 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6316
6317         The attached patch fixes a few warnings. 
6318
6319         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6320         * src/frame-gtk.c: guard against GNOME calls in GTK only
6321         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6322         * src/select-gtk.c: prototype lisp_to_time
6323
6324 2001-06-08  Ben Wing  <ben@xemacs.org>
6325
6326         ------ gc-in-window-procedure fixes ------
6327         
6328         * alloc.c:
6329         * alloc.c (struct post_gc_action):
6330         * alloc.c (register_post_gc_action):
6331         * alloc.c (run_post_gc_actions):
6332         * alloc.c (garbage_collect_1):
6333         Create "post-gc actions", to avoid those dreaded "GC during window
6334         procedure" problems.
6335
6336         * event-msw.c:
6337         Abort, clean and simple, when GC in window procedure.  We want
6338         to flush these puppies out.
6339
6340         * glyphs-msw.c:
6341         * glyphs-msw.c (finalize_destroy_window):
6342         * glyphs-msw.c (mswindows_finalize_image_instance):
6343         Use a post-gc action when destroying subwindows.
6344
6345         * lisp.h:
6346         Declare register_post_gc_action().
6347
6348         * scrollbar-msw.c:
6349         * scrollbar-msw.c (unshow_that_mofo):
6350         Use a post-gc action when unshowing scrollbar windows, if in gc.
6351
6352         * redisplay.c (mark_redisplay):
6353         Add comment about the utter evilness of what's going down here.
6354
6355         ------ cygwin setitimer fixes ------
6356         
6357         * Makefile.in.in (sheap_objs):
6358         * Makefile.in.in (profile_objs):
6359         * Makefile.in.in (objs):
6360         Compile profile.c only when HAVE_SETITIMER.
6361         
6362         * nt.c (mswindows_sigset):
6363         * nt.c (mswindows_sighold):
6364         * nt.c (mswindows_sigrelse):
6365         * nt.c (mswindows_sigpause):
6366         * nt.c (mswindows_raise):
6367         * nt.c (close_file_data):
6368         Style fixes.
6369         
6370         * nt.c:
6371         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6372         
6373         * profile.c:
6374         * profile.c (Fstart_profiling):
6375         * profile.c (Fstop_profiling):
6376         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6377         instead of just plain setitimer().
6378         
6379         * signal.c:
6380         * signal.c (set_one_shot_timer):
6381         * signal.c (alarm):
6382         Define qxe_setitimer() as an encapsulation around setitimer() --
6383         call setitimer() directly unless Cygwin or MS Win, in which case
6384         we use our simulated version in win32.c.
6385         
6386         * systime.h:
6387         * systime.h (struct itimerval):
6388         * systime.h (ITIMER_REAL):
6389         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6390         comment about "qxe" and the policy regarding encapsulation.
6391
6392         * win32.c:
6393         * win32.c (setitimer_helper_proc):
6394         * win32.c (setitimer_helper_period):
6395         * win32.c (setitimer_helper):
6396         * win32.c (mswindows_setitimer):
6397         Move setitimer() emulation here, so Cygwin can use it.
6398         Rename a couple of functions and variables to be longer and more
6399         descriptive.  In setitimer_helper_proc(), send the signal
6400         using either mswindows_raise() or (on Cygwin) kill().  If for
6401         some reason we are still getting lockups, we'll change the kill()
6402         to directly invoke the signal handlers.
6403
6404         ------ windows shell fixes ------
6405         
6406         * callproc.c:
6407         * ntproc.c:
6408         Comments about how these two files must die.
6409
6410         * callproc.c (init_callproc):
6411         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6412         not just COMSPEC. (more correct and closer to FSF.) Don't
6413         force a value for SHELL into the environment. (Comments added
6414         to explain why not.)
6415         
6416         * nt.c (init_user_info):
6417         Don't shove a fabricated SHELL into the environment.  See above.
6418
6419 2001-06-01  Ben Wing  <ben@xemacs.org>
6420
6421         * Makefile.in.in (ldflags):
6422         eliminate that pesky "defaulting to 00401000" warning.
6423         * nt.h:
6424         eliminate warnings.
6425
6426 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6427
6428         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6429         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6430
6431 2001-04-24  Jerry James <james@xemacs.org>
6432
6433         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6434         correct order.
6435
6436 2001-06-01  Ben Wing  <ben@xemacs.org>
6437
6438         * event-msw.c (debug_mswin_messages):
6439         conditionalize the messages that were causing compile errors.
6440         (if only macros could generate #ifdef statements ...)
6441
6442 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6443
6444         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6445
6446 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6447
6448         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6449
6450 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6451
6452         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6453         * process-unix.c (unix_canonicalize_host_name):
6454         sysdep.c (init_system_name):
6455         Use it to conditionally support IPv6 canonicalization.
6456
6457 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6458
6459         * event-msw.c:
6460         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6461
6462 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6463
6464         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6465         attempt is made to scroll when no scroll bar is available.
6466
6467 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6468
6469         * input-method-motif.c (XIM_delete_frame): New callback.
6470         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6471         got deleted from 21.4.3.)
6472
6473 2001-06-01  Ben Wing  <ben@xemacs.org>
6474
6475         * nt.c (mswindows_utime):
6476         * nt.c (close_file_data):
6477         fix off-by-one-indirection error.
6478
6479 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6480
6481         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6482         because set_file_times() now takes Lisp_Object path, instead of
6483         char*.
6484         * nt.c: Include buffer.h.
6485         * nt.c (convert_from_time_t): New.
6486         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6487         not set mtime correctly.
6488         * nt.h: Declare mswindows_utime().
6489         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6490         path, instead of char*.
6491         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6492
6493 2001-05-30  Ben Wing  <ben@xemacs.org>
6494
6495         For 21.4:
6496
6497         (Stephen, just take all event-msw.c patches.  This includes
6498         the "iconify" fix below.)
6499
6500         * event-msw.c:
6501         * event-msw.c (mswindows_dequeue_dispatch_event):
6502         * event-msw.c (assert):
6503         * event-msw.c (emacs_mswindows_quit_p):
6504         * event-msw.c (debug_mswin_messages):
6505         * event-msw.c (debug_output_mswin_message):
6506         * event-msw.c (vars_of_event_mswindows):
6507         Fix yet more problems with C-g handling.
6508         Implement debug-mswindows-events.
6509         
6510 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6511
6512         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6513         
6514 2001-05-23  Ben Wing  <ben@xemacs.org>
6515
6516         * event-msw.c (winsock_writer):
6517         * event-msw.c (winsock_closer):
6518         prior kludgy code was clobbering the buffer, thinking it was
6519         "unused" space to store an unneeded return value; instead, use
6520         the variable we've already got staring us in the face.
6521
6522 2001-05-17  Andy Piper  <andy@xemacs.org>
6523
6524         * sysfile.h: don't assume that file attributes are boolean
6525
6526 2001-05-23  Ben Wing  <ben@xemacs.org>
6527
6528         * device-msw.c (msprinter_init_device):
6529         signal an error rather than crash with an unavailable network
6530         printer (from Mike Alexander).
6531         
6532         * event-msw.c:
6533         * event-msw.c (struct winsock_stream):
6534         * event-msw.c (winsock_writer):
6535         * event-msw.c (winsock_closer):
6536         * event-msw.c (make_winsock_stream_1):
6537         cleanup headers.  fix (hopefully) an error with data corruption
6538         when sending to a network connection.
6539
6540         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6541         to handle the ~user prefix by (a) always assuming we're referencing
6542         ourselves and not even verifying the user -- hence any file with
6543         a tilde as its first char is invalid! (b) if there wasn't a slash
6544         following the filename, the pointer was set *past* the end of
6545         file and we started reading from uninitialized memory.  Now we
6546         simply treat these as files, always.
6547
6548         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6549         
6550 2001-05-19  Ben Wing  <ben@xemacs.org>
6551
6552         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6553
6554         * process-nt.c:
6555         * process-nt.c (vars_of_process_nt):
6556         remove unused mswindows-quote-process-args.  rec for 21.4.
6557         
6558 2001-05-12  Ben Wing  <ben@xemacs.org>
6559
6560         * event-msw.c (mswindows_dde_callback):
6561         * event-msw.c (mswindows_wnd_proc):
6562         eliminate cygwin warnings.
6563
6564 2001-05-06  Ben Wing  <ben@xemacs.org>
6565
6566         * console-msw.h:
6567         * device-msw.c:
6568         * device-msw.c (print_dialog_worker):
6569         * device-msw.c (mswindows_handle_print_dialog_box):
6570         * device-msw.c (syms_of_device_mswindows):
6571         * dialog-msw.c (mswindows_make_dialog_box_internal):
6572         * general-slots.h:
6573         implement printing the selection when it's selected.
6574
6575 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6576
6577         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6578
6579 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6580
6581         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6582         EMACS_INT is signed.
6583
6584 2001-04-15  Michael Lausch  <mla@1012surf.net>
6585
6586         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6587         gtk_widget_request_size() to give scrollbar >0 width for
6588         GTK >1.2.8.
6589
6590 2001-05-30  William M. Perry  <wmperry@gnu.org>
6591
6592         * event-gtk.c: Check for buttons as modifier keys.
6593
6594 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6595
6596         * s\mingw32.h:
6597         Properly find MinGW's <process.h> inside Cygwin's restructured
6598         include directories.  Don't try to include <cygwin/version.h>
6599         since we are dropping support for MinGW in versions of Cygwin
6600         earlier than b21.
6601         * nt.c:
6602         Drop support for MinGW in versions of Cygwin before b21.
6603         * sysdep.c:
6604         Properly find MinGW's <process.h> inside Cygwin's restructured
6605         include directories.
6606         * syswindows.h:
6607         Drop support for MinGW in versions of Cygwin before b21.
6608         * unexcw.c:
6609         Even though a.out.h is no longer detected by configure, allow
6610         MinGW to use it until we figure out how to do the job with Win32.
6611
6612 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6613
6614         * syntax.c (find_start_of_comment):
6615         Fix `unbalanced parentheses' bug when dealing with mixed comment
6616         styles in c++/java/etc. mode
6617
6618 2001-05-29  Mike Alexander  <mta@arbortext.com>
6619
6620         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6621         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6622
6623 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6624
6625         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6626
6627 2001-03-31  Mike Sperber <mike@xemacs.org>
6628
6629         * search.c (Freplace_match): Support FSF-style specification of
6630         match subexpression when applied to a buffer.
6631
6632 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6633
6634         * event-stream.c (is_scrollbar_event): add missing semicolon
6635
6636 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6637
6638         * Makefile.in.in: Use TAR macro instead of hardcoding
6639           tar.  Allows use of GNU tar instead of system tar
6640
6641 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6642
6643         * event-stream.c (is_scrollbar_event): add missing semicolon
6644
6645 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6646
6647         * XEmacs 21.4.3 "Academic Rigor" is released.
6648
6649 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6650
6651         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6652
6653 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6654
6655         * buffer.c (Vcase_fold_search): Remove obsolete
6656           comment about non ASCII case-fold-search.  This
6657           bug has been fixed by case-table changes.
6658
6659 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6660
6661         * event-msw.c: Restore include of events-mod.h.
6662
6663 2001-04-22   zhaoway  <zw@debian.org>
6664
6665         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6666         !HAVE_SCROLLBARS.
6667
6668 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6669
6670         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6671
6672 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6673
6674         * mule-charset.c (Fmake_charset): Add missing else.
6675
6676 2001-04-23  Ben Wing  <ben@xemacs.org>
6677
6678         * event-msw.c (FAKE_MOD_QUIT):
6679         * event-msw.c (mswindows_dequeue_dispatch_event):
6680         * event-msw.c (mswindows_wnd_proc):
6681         * event-msw.c (emacs_mswindows_quit_p):
6682         Get critical quit working.
6683
6684 2001-05-05  Ben Wing  <ben@xemacs.org>
6685
6686         * console-msw.h:
6687         * device-msw.c:
6688         * device-msw.c (mswindows_get_default_margin):
6689         * frame-msw.c (mswindows_size_frame_internal):
6690         * frame-msw.c (msprinter_init_frame_1):
6691         * frame-msw.c (vars_of_frame_mswindows):
6692         Change top/bottom margin defaults to 0.5 inches.
6693
6694 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6695
6696         Fix link error with gcc 3.0 on Linux.
6697         * terminfo.c (UP): Remove.
6698         * terminfo.c (BC): Remove.
6699         * terminfo.c (PC): Remove.
6700         They weren't used, and in any case, these symbols should be
6701         defined in the *library*.
6702
6703 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6704
6705         * s/aix4.h: Fix crash with xlc -O3.
6706         Improve comment explaining how -O3 works.
6707
6708 2001-04-15  Ben Wing  <ben@xemacs.org>
6709
6710         * event-stream.c:
6711         * event-stream.c (Fnext_event):
6712         * event-stream.c (is_scrollbar_event):
6713         * event-stream.c (execute_command_event):
6714         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6715         crash' problem.  His fix introduces other problems.  We filter
6716         out scrollbar events specifically, making them somewhat invisible
6717         to command-building, and not appearing in `this-command-keys'.
6718         More work is still needed (see comments in event-stream.c), but
6719         this fixes all the major problems.
6720
6721 2001-04-20  Ben Wing  <ben@xemacs.org>
6722
6723         * .cvsignore: Added stuff for Windows.
6724
6725 2001-04-28  Ben Wing  <ben@xemacs.org>
6726
6727         * buffer.c (Ferase_buffer):
6728         * editfns.c (buffer_insert1):
6729         * editfns.c (Finsert_before_markers):
6730         * editfns.c (Finsert_string):
6731         * editfns.c (Finsert_char):
6732         * editfns.c (Fdelete_region):
6733         * editfns.c (Fwiden):
6734         * editfns.c (Fnarrow_to_region):
6735         remove bogus lines setting zmacs_region_stays to 0.
6736         
6737 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6738
6739         * process-unix.c (unix_open_network_stream): If connect() fails
6740         invalidate file descriptor after closing it.
6741
6742 2001-03-08  Mike Alexander  <mta@arbortext.com>
6743
6744         * event-msw.c (mswindows_need_event_in_modal_loop):
6745         Don't dispatch a message if we didn't get one.
6746         (mswindows_need_event):
6747         Terminate the correct process when one exits instead of the first
6748         one on Vprocess_list and look for process termination when in
6749         mswindows_protect_modal_loop.
6750
6751 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6752
6753         * XEmacs 21.4.1 "Copyleft" is released.
6754
6755 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6756
6757         * input-method-motif.c (XIM_delete_frame): New callback.
6758         (XIM_init_frame): Register it.
6759
6760 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6761
6762         * XEmacs 21.4.0 "Solid Vapor" is released.
6763
6764 2001-04-15  Ben Wing  <ben@xemacs.org>
6765
6766         * cmdloop.c (call_command_loop):
6767         Fix braino in bit-rotting code.
6768         
6769 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6770
6771         * extents.c (Fset_extent_endpoints): Force creation of extent info
6772         in buffer_or_string.
6773
6774         * extents.c (process_extents_for_insertion_mapper): Correctly
6775         check for open-open zero-length extents.
6776
6777 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6778
6779         * lisp.h: New typedefs Memory_count, Element_count.
6780         * regex.c:
6781         * regex.h:
6782         Sign-compare warning elimination: several unsigned -> signed.
6783         Based on work by Ben Wing <ben@xemacs.org>.
6784
6785 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6786
6787         * XEmacs 21.2.47 "Zephir" is released.
6788
6789 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6790
6791         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6792
6793 2001-04-03  Mike Sperber <mike@xemacs.org>
6794
6795         * search.c: Revert previous patch due because of release.
6796
6797 2001-03-30  Ben Wing  <ben@xemacs.org>
6798
6799         * s\cygwin32.h:
6800         Add missing killpg prototype.
6801
6802         * elhash.c:
6803         Add a comment about fixing problems when a new entry is added
6804         while mapping.
6805
6806         * frame-msw.c (mswindows_init_frame_1):
6807         Fix compile warnings.
6808
6809         * menubar.c (vars_of_menubar):
6810         Provide `menu-accelerator-support' to indicate that we properly
6811         support %_ in menu specifications, so that package code can
6812         conditionalize on this (and remove %_ from menu specifications
6813         on older versions).
6814
6815         * event-msw.c:
6816         * scrollbar-msw.c:
6817         * scrollbar-msw.c (can_scroll):
6818         * scrollbar-msw.h:
6819         Fix handling of mouse wheel under Windows to follow standards --
6820         now scrolls window under pointer, not selected window.
6821
6822 2001-03-31  Mike Sperber <mike@xemacs.org>
6823
6824         * search.c (Freplace_match): Support FSF-style specification of
6825         match subexpression when applied to a buffer.
6826
6827 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6828
6829         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6830         function to modify KEYMAP, so map over a copy of the hash table.
6831
6832 2001-03-21  Martin Buchholz <martin@xemacs.org>
6833
6834         * XEmacs 21.2.46 "Urania" is released.
6835
6836 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6837
6838         * realpath.c (xrealpath): Make file-truename work with symlinks to
6839         /cygdrive paths on cygwin. Always lowercase drive-letters on
6840         native windows.
6841         (cygwin_readlink): Don't try to find canonical filename unless
6842         file exists.
6843
6844 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6845
6846         * ChangeLog: Log GTK merge.
6847
6848         * dumper.c:
6849         * select-x.c:
6850         * specifier.c:
6851         * symeval.h:
6852         Revert gratuitous whitespace changes from GTK merge.
6853
6854         * emacs.c: Document end of complex #ifdef @ l. 1495.
6855
6856
6857 2001-03-12  Andy Piper  <andy@xemacs.org>
6858
6859         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
6860         have to do likewise.
6861
6862 2001-03-12  Andy Piper  <andy@xemacs.org>
6863
6864         * sysdep.c: we only support mingw now.
6865
6866 2001-03-09  Andy Piper  <andy@xemacs.org>
6867
6868         * unexcw.c (copy_executable_and_dump_data_section): making approx
6869         overrun a warning only.
6870
6871 2001-03-10  William M. Perry  <wmperry@aventail.com>
6872
6873         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
6874         satisfy Stephen's identical-after-cpp plea.
6875
6876 2001-03-02  Ben Wing  <ben@xemacs.org>
6877
6878         * cmds.c:
6879         * cmds.c (Fforward_char):
6880         * syntax.c:
6881         * window.c:
6882
6883         Augment documentation of the most common motion commands to make
6884         note of the shifted-motion support.
6885         
6886 2001-03-02  Ben Wing  <ben@xemacs.org>
6887
6888         * nt.c (mswindows_fstat):
6889         * nt.c (mswindows_stat):
6890         * search.c (boyer_moore):
6891         Fix compile warnings under Windows.
6892         
6893         * sysdep.c (sys_readdir):
6894         Fix buggy filename-conversion code under Mule.
6895
6896 2001-03-09  William M. Perry  <wmperry@aventail.com>
6897
6898         * Makefile.in.in:
6899         * config.h.in:
6900         * console.c:
6901         * console.h:
6902         * device.c:
6903         * device.h:
6904         * dragdrop.c:
6905         * emacs.c:
6906         * event-stream.c:
6907         * events.c:
6908         * events.h:
6909         * faces.c:
6910         * frame.h:
6911         * general-slots.h:
6912         * glyphs.c:
6913         * gutter.c:
6914         * inline.c:
6915         * lisp.h:
6916         * lrecord.h:
6917         * make-src-depend:
6918         * redisplay-output.c:
6919         * redisplay.c:
6920         * symsinit.h:
6921         * sysfile.h:
6922         * toolbar.c:
6923         * window.c:
6924         The Great GTK Merge.
6925
6926         * ChangeLog.GTK:
6927         * console-gtk.c:
6928         * console-gtk.h:
6929         * device-gtk.c:
6930         * emacs-marshals.c:
6931         * emacs-widget-accessors.c:
6932         * event-gtk.c:
6933         * frame-gtk.c:
6934         * gccache-gtk.c:
6935         * gccache-gtk.h:
6936         * glade.c:
6937         * glyphs-gtk.c:
6938         * glyphs-gtk.h:
6939         * gtk-glue.c:
6940         * gtk-xemacs.c:
6941         * gtk-xemacs.h:
6942         * gui-gtk.c:
6943         * gui-gtk.h:
6944         * menubar-gtk.c:
6945         * native-gtk-toolbar.c:
6946         * objects-gtk.c:
6947         * objects-gtk.h:
6948         * redisplay-gtk.c:
6949         * scrollbar-gtk.c:
6950         * scrollbar-gtk.h:
6951         * select-gtk.c:
6952         * toolbar-gtk.c:
6953         * ui-byhand.c:
6954         * ui-gtk.c:
6955         * ui-gtk.h:
6956         The Great GTK Merge: new files.
6957
6958 2001-02-26  Ben Wing  <ben@xemacs.org>
6959
6960         Reapplied Lstream change.
6961
6962 2001-02-26  Ben Wing  <ben@xemacs.org>
6963
6964         Undid the last change, since it is more controversial than I
6965         thought.  It should be back in at some point soon.
6966         
6967 2001-02-25  Ben Wing  <ben@xemacs.org>
6968
6969         * buffer.c:
6970         * callproc.c (Fold_call_process_internal):
6971         * event-msw.c (ntpipe_slurp_reader):
6972         * event-msw.c (ntpipe_shove_writer):
6973         * event-msw.c (winsock_reader):
6974         * event-msw.c (winsock_writer):
6975         * file-coding.c:
6976         * file-coding.c (detect_eol_type):
6977         * file-coding.c (detect_coding_type):
6978         * file-coding.c (determine_real_coding_system):
6979         * file-coding.c (Fdetect_coding_region):
6980         * file-coding.c (decoding_reader):
6981         * file-coding.c (decoding_writer):
6982         * file-coding.c (mule_decode):
6983         * file-coding.c (Fdecode_coding_region):
6984         * file-coding.c (encoding_reader):
6985         * file-coding.c (encoding_writer):
6986         * file-coding.c (mule_encode):
6987         * file-coding.c (Fencode_coding_region):
6988         * file-coding.c (detect_coding_sjis):
6989         * file-coding.c (decode_coding_sjis):
6990         * file-coding.c (encode_coding_sjis):
6991         * file-coding.c (detect_coding_big5):
6992         * file-coding.c (decode_coding_big5):
6993         * file-coding.c (encode_coding_big5):
6994         * file-coding.c (detect_coding_ucs4):
6995         * file-coding.c (decode_coding_ucs4):
6996         * file-coding.c (encode_coding_ucs4):
6997         * file-coding.c (detect_coding_utf8):
6998         * file-coding.c (decode_coding_utf8):
6999         * file-coding.c (encode_coding_utf8):
7000         * file-coding.c (detect_coding_iso2022):
7001         * file-coding.c (decode_coding_iso2022):
7002         * file-coding.c (encode_coding_iso2022):
7003         * file-coding.c (decode_coding_no_conversion):
7004         * file-coding.c (encode_coding_no_conversion):
7005         * glyphs-x.c (write_lisp_string_to_temp_file):
7006         * gpmevent.c (tty_get_foreign_selection):
7007         * lisp.h:
7008         * lstream.c:
7009         * lstream.c (Lstream_flush_out):
7010         * lstream.c (Lstream_adding):
7011         * lstream.c (Lstream_write_1):
7012         * lstream.c (Lstream_write):
7013         * lstream.c (Lstream_raw_read):
7014         * lstream.c (Lstream_read_more):
7015         * lstream.c (Lstream_read):
7016         * lstream.c (Lstream_unread):
7017         * lstream.c (Lstream_fputc):
7018         * lstream.c (stdio_reader):
7019         * lstream.c (stdio_writer):
7020         * lstream.c (filedesc_reader):
7021         * lstream.c (filedesc_writer):
7022         * lstream.c (lisp_string_reader):
7023         * lstream.c (struct fixed_buffer_stream):
7024         * lstream.c (make_fixed_buffer_input_stream):
7025         * lstream.c (make_fixed_buffer_output_stream):
7026         * lstream.c (fixed_buffer_reader):
7027         * lstream.c (fixed_buffer_writer):
7028         * lstream.c (struct resizing_buffer_stream):
7029         * lstream.c (resizing_buffer_writer):
7030         * lstream.c (dynarr_writer):
7031         * lstream.c (lisp_buffer_reader):
7032         * lstream.c (lisp_buffer_writer):
7033         * lstream.h:
7034         * lstream.h (lstream_implementation):
7035         * lstream.h (struct lstream):
7036         * md5.c (Fmd5):
7037         * process-nt.c (nt_send_process):
7038         * process-unix.c (unix_send_process):
7039         
7040         Correct Lstream lossage due to mixing of signed and unsigned
7041         quantities.  All Lstream uses of size_t and ssize_t are now a
7042         single signed data type Lstream_data_count.  This fixes problems
7043         under Windows with sending large quantities of data to a process,
7044         and may well fix other subtle bugs.
7045
7046 2001-02-23  Martin Buchholz <martin@xemacs.org>
7047
7048         * XEmacs 21.2.45 "Thelxepeia" is released.
7049
7050 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7051
7052         * lisp-union.h (XSETINT): 
7053         (XSETCHAR):
7054         (XSETOBJ): 
7055         Reverse previous change of 2001-02-06.
7056
7057 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7058
7059         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7060         buffers.
7061         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7062         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7063         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7064         * regex.c (POS_AS_IN_BUFFER): removed
7065         * regex.c (re_search_2):
7066         * regex.c (re_match_2):
7067         Don't use an offset of 1 when calculating buffer positions, since
7068         `BI_BUF_BEGV' does it already.
7069
7070 2001-02-18  Wim Dumon  <wim@easics.be>
7071
7072         * insdel.c (prepare_to_modify_buffer): Also check for
7073         supersession when clash-detection is enabled. 
7074
7075 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7076
7077         * regex.c (re_match_2_internal):
7078         Convert temp characters from 'const unsigned char' to 're_char'.
7079         Fix crashing bug with extended characters under mule.
7080         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7081         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7082         font-lock, pdump, and new syntax-table code.
7083         * syntax.c (find_start_of_comment):
7084         (find_end_of_comment):
7085         (forward-comment):
7086         Fix crashing bugs involving moving beyond end of buffer.
7087         * syntax.c (find_start_of_comment):
7088         Fixed logic to allow proper detection of cases where the same
7089         character is used to end both a two-char comment start and a
7090         two-char comment end sequence. Fixes `(forward-comment -1)'.
7091         * syntax.c (find_start_of_comment):
7092         Return position just past last comment-end character for all cases
7093         (previously was only done for two-char comment-end sequences).
7094         * syntax.c (forward-comment):
7095         Take value returned from `find_end_of_comment', rather than
7096         incrementing it.
7097         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7098         Properly deal with BUFFERP (syntax_cache.object)
7099
7100 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7101
7102         * alloc.c (Fgarbage_collect): 
7103         * alloc.c (make_bit_vector_from_byte_vector):
7104         -Wsign-compare-correctness.
7105
7106 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7107
7108         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7109         (XSETCHAR): Likewise.
7110         (XSETOBJ): Likewise.
7111
7112 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7113
7114         * mule-canna.c (canna-func-delete_previous): 
7115         Rename to canna-func-delete-previous.
7116
7117 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7118
7119         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7120
7121 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7122
7123         * font-lock.c (find_context): Fix C++ compile errors introduced by
7124         recent patch
7125
7126 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7127
7128         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7129         pragma, but earlier ones barf on the same pragma.
7130
7131 2001-02-06  Mike Sperber <mike@xemacs.org>
7132
7133         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7134         `configure-mule-lisp-directory'.
7135
7136 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7137
7138         Make sure dump-id.c is compiled in the same way as other .c's.
7139         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7140         * dump-id.h: Remove.
7141         * emacs.c: Move dump-id.h into dumper.h.
7142         * dumper.h: Move dump-id.h into dumper.h.
7143         * Makefile.in.in:
7144         Use standard .c.o rule for building dump-id.o.
7145         Remove preprocessor flags from link command.
7146         Add dump-id.o to ${otherobjs} if PDUMP.
7147
7148 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7149
7150         Port FSF 20.7 syntax table improvements.
7151         * syntax.c.
7152         * syntax.h.
7153
7154         Fixups for new syntax table stuff.
7155         * dired.c: Include syntax.c.
7156         (Fdirectory_files): Initialize regex_match_object and
7157         regex_emacs_buffer.
7158         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7159         and Fget_char_property.
7160
7161         Use ported FSF 20.7 syntax table improvements.
7162         * font-lock.c.
7163         * regex.c.
7164         * search.c.
7165         
7166 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7167
7168         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7169         Unixware's enum boolean from sys/types.h.
7170
7171 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7172
7173         Fix support for building with latest Purify.
7174         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7175         (PURIFY_FLAGS): Likewise.
7176
7177 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7178
7179         * fileio.c (lisp_string_set_file_times): New.
7180         * fileio.c (Fcopy_file): Use it.
7181         Fixes bug:
7182         (copy-file filename non-ascii-filename t t)
7183         ==> No such file or directory, non-ascii-filename
7184
7185 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7186
7187         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7188         USHRT_MAX seems clearer than ~0 anyways.
7189
7190 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7191
7192         dumper improvements.  Inspired by Olivier.
7193         * dumper.c (pdump_max_align): New.
7194         * dumper.c (pdump_add_entry): Use pdump_max_align.
7195         * dumper.c (pdump_get_entry_list): Likewise.
7196         * dumper.c (pdump_scan_by_alignment): Likewise.
7197         Don't iterate through unnecessary alignments.
7198         * dumper.c (pdump_file_get): No need to align result of malloc().
7199         * dumper.c (pdump_mallocadr): Remove.  
7200         The result of malloc() is guaranteed to be maximally aligned.
7201         * dumper.c: s/elmt/elt/g;
7202         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7203         * dumper.c (pdump_alert_undump_object): Likewise.
7204         * dumper.c (pdump_align_table): 
7205         Don't support alignments > 64.
7206         Store ALIGNOF's, not shift counts, in table.
7207
7208 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7209
7210         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7211         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7212         * systime.h: Use HAVE_UTIME.
7213         * sysdep.c (struct utimbuf): Remove.
7214         * sysdep.c (set_file_times): Prefer utime() to utimes().
7215         * config.h.in (HAVE_UTIME): New.
7216         * config.h.in (HAVE_UTIME_H): Remove.
7217         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7218
7219 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7220
7221         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7222
7223 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7224
7225         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7226
7227 2001-02-08  Martin Buchholz <martin@xemacs.org>
7228
7229         * XEmacs 21.2.44 "Thalia" is released.
7230
7231 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7232
7233         Fixes crashes in kill-emacs on some systems.
7234         * process-unix.c (unix_kill_child_process):
7235         It's OK for kill() to fail with ESRCH.
7236
7237 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7238
7239         Contortions to make .gdbinit tricks work on most systems.
7240         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7241         * alloc.c (dbg_valmask): Make non-const.
7242         * alloc.c (dbg_typemask): Make non-const.
7243         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7244         * alloc.c (dbg_valbits): Make non-const.
7245         * alloc.c (dbg_gctypebits): Make non-const.
7246         * .gdbinit (decode_object): Make it work with AIX cc.
7247
7248 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7249
7250         * elhash.c (make_general_lisp_hash_table):
7251         Use simpler and more efficient calloc to clear entries.
7252
7253 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7254
7255         * window.c (window_scroll): Work around an AIX C compiler bug.
7256         Fixes 'scroll-up' does nothing problem with xlC.
7257
7258 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7259
7260         * .gdbinit: Remove obsolete comment.
7261
7262 2001-01-31  Mike Alexander  <mta@arbortext.com>
7263
7264         * select.c (Fown_selection_internal): Set owned_p for device
7265         method correctly.
7266
7267 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7268
7269         Port to g++ 2.97.
7270         "not" cannot be used as a macro name as it is an operator in C++
7271         * config.h.in: Stop #defining `not'.
7272         * chartab.c (check_category_char): not ==> not_p
7273         * chartab.h: Likewise.
7274         * regex.c (re_match_2_internal): Likewise.
7275
7276 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7277
7278         * lisp-disunion.h: Fix up comments.
7279
7280 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7281
7282         * keymap.c (define_key_check_and_coerce_keysym):
7283         (syms_of_keymap):
7284         Support mouse-6 and mouse-7 bindings in the obvious way.
7285
7286 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7287
7288         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7289
7290 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7291
7292         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7293         Previous patch missed DEFVAR_INT_MAGIC.
7294         Make sure future DEFVAR_foo use correct types.
7295         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7296         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7297         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7298         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7299         * (DEFVAR_INT): Likewise.
7300         * redisplay.c (vertical_clip): Should be of type Fixnum.
7301         * redisplay.c (horizontal_clip): Likewise.
7302         * lisp.h (dump_add_opaque_int): New.
7303         (dump_add_opaque_fixnum): New.
7304
7305 2001-01-29  Andy Piper  <andy@xemacs.org>
7306
7307         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7308         since they can be eval'ed
7309
7310 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7311
7312         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7313         Oops, XEmacs redefines `class'.  Use `typename' instead.
7314
7315 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7316
7317         * dumper.c: Fix C++ compile errors.
7318
7319 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7320
7321         * tparam.c: Use correct prototypes.
7322
7323 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7324
7325         * sysproc.h: #include util.h for NetBSD's openpty.
7326
7327 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7328
7329         More 64-bit correctness.
7330         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7331         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7332         Fix up comments.
7333         This finally finishes the 64-bit SGI port.
7334         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7335         * symbols.c: Fix up comments and type casts.
7336         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7337         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7338         * symeval.h (Fixnum): New type.
7339         * symeval.h (symbol_value_type): Fix up comment.
7340
7341         * commands.h:
7342         * nt.c:
7343         * emacs.c:
7344         * data.c:
7345         * redisplay.c:
7346         * abbrev.c:
7347         * dired-msw.c:
7348         * event-Xt.c:
7349         * eldap.c:
7350         * window.c:
7351         * sound.c:
7352         * event-stream.c:
7353         * eval.c:
7354         * buffer.c:
7355         * mule-canna.c: A million DEFVAR_INTs here...
7356         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7357         * extents.c:
7358         * cmdloop.c:
7359         * lisp.h:
7360         * select-x.c:
7361         * console-x.h:
7362         * event-msw.c:
7363         * mule-wnnfns.c:
7364         * hpplay.c:
7365         * ralloc.c:
7366         * alloc.c:
7367         * keymap.c:
7368         * profile.c:
7369         s/int/Fixnum/g in DEFVAR_INT declarations.
7370
7371 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7372
7373         Port pdump to SGI alignment-sensitive environment.
7374         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7375         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7376         properly aligned.
7377         Define and use aligned reading and writing macros.
7378         Use buffered stdio instead of posix i/o for faster dumping.
7379         Eliminate kludgy 256 byte space for header.
7380         Read and write from dump file using structs for alignment safety.
7381         * dumper.c (pdump_align_stream): New.
7382         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7383         * dumper.c (PDUMP_READ_ALIGNED): New.
7384         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7385         * dumper.c (pdump_static_Lisp_Object): New struct.
7386         * dumper.c (pdump_static_pointer): New struct.
7387         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7388         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7389         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7390         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7391
7392         * dumper.c (pdump_backtrace):
7393         * dumper.c (pdump_get_indirect_count):
7394         * dumper.c (pdump_register_object):
7395         * dumper.c (pdump_register_struct):
7396         * dumper.c (pdump_reloc_one):
7397         * dumper.c (pdump_scan_by_alignment):
7398         * dumper.c (pdump_dump_from_root_struct_ptrs):
7399         * dumper.c (pdump_dump_opaques):
7400         * dumper.c (pdump_dump_rtables):
7401         * dumper.c (pdump_dump_from_root_objects):
7402         * dumper.c (pdump):
7403         * dumper.c (pdump_load_finish):
7404         Use aligned reading and writing.
7405
7406         * dumper.c (pdump_free): Make static.
7407         * dumper.c (pdump_hFile): Likewise.
7408         * dumper.c (pdump_hMap): Likewise.
7409
7410 2001-01-26  Martin Buchholz <martin@xemacs.org>
7411
7412         * XEmacs 21.2.43 "Terspichore" is released.
7413
7414 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7415
7416         Type fiddling for window_config.saved_windows_count
7417         * window.c (struct window_config): 
7418         Make saved_windows_count member unsigned.
7419         * window.c (sizeof_window_config_for_n_windows): 
7420         Make parameter unsigned.
7421         * window.c (mark_window_config):
7422         * window.c (window_config_equal):
7423         * window.c (free_window_configuration):
7424         * window.c (Fset_window_configuration):
7425         * window.c (count_windows):
7426         * window.c (Fcurrent_window_configuration):
7427         * window.c (reinit_vars_of_window):
7428         Update all callers and users.
7429
7430 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7431
7432         Alignment correctness for flexible arrays.
7433         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7434         Make alignment-correct. Add interesting comments.
7435         * alloc.c (size_vector):
7436         * alloc.c (make_vector_internal):
7437         * alloc.c (make_bit_vector_internal):
7438         * alloc.c (sweep_bit_vectors_1):
7439         * fns.c (size_bit_vector):
7440         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7441         * window.c (sizeof_window_config_for_n_windows): 
7442         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7443
7444 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7445
7446         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7447
7448 2001-01-23  Andy Piper  <andy@xemacs.org>
7449
7450         * select.c (Fown_selection_internal): pass owned_p
7451
7452         * select-msw.c (mswindows_own_selection): New Signature.
7453
7454         * console.h (struct console_methods): add owned_p to
7455         _own_selection.
7456
7457         * select-x.c (x_own_selection): pass owned_p
7458         (hack_motif_clipboard_selection): use owned_p
7459         (vars_of_select_x): new variable -
7460         x_selection_strict_motif_ownership.
7461
7462 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7463
7464         * specifier.h (specifier_data_offset): Remove pointless parens.
7465         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7466
7467 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7468
7469         Make Lisp_Object sizeof methods be alignment-correct.
7470         pdump must restore objects to the same alignment as the C compiler
7471         assumes.  It really matters on SGIs.
7472         * lstream.c (aligned_sizeof_lstream): New.
7473         (sizeof_lstream): Use aligned_sizeof_lstream.
7474         (Lstream_new): Likewise.
7475         * opaque.c (aligned_sizeof_opaque): New.
7476         (sizeof_opaque): Use aligned_sizeof_opaque.
7477         (make_opaque): Likewise.
7478         * specifier.c (aligned_sizeof_specifier): New.
7479         (sizeof_specifier): Use aligned_sizeof_specifier.
7480         (make_specifier_internal): Likewise.
7481
7482 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7483
7484         * lstream.h (struct lstream): Use max_align_t for trailing data.
7485         * specifier.h (struct Lisp_Specifier): Likewise.
7486
7487 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7488
7489         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7490         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7491         (CCL_SUSPEND): Likewise.
7492         (CCL_INVALID_CMD): Likewise.
7493         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7494         (ccl_driver): Likewise.
7495         (CCL_WRITE_CHAR): Macro hygiene.
7496         (CCL_WRITE_STRING): Macro hygiene.
7497
7498 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7499
7500         Port "portable" dumper to SunOS 4 and HP-UX.
7501         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7502         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7503         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7504
7505 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7506
7507         * lisp.h (ALIGNOF): A better definition for C++.
7508
7509 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7510
7511         Macro hygiene.
7512         Fix printf warnings: int format, long int arg.
7513         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7514         (PUSH_FAILURE_POINT): Use correct printf formats.
7515         (POP_FAILURE_POINT): Use correct printf formats.  
7516         Use do {...} while (0)
7517
7518 2001-01-20  Martin Buchholz <martin@xemacs.org>
7519
7520         * XEmacs 21.2.42 "Poseidon" is released.
7521
7522 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7523
7524         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7525
7526 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7527
7528         De-kludgify FIXED_TYPE free list frobbing.
7529         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7530         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7531         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7532         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7533         * alloc.c (LRECORD_FREE_P): New.
7534         * alloc.c (MARK_LRECORD_AS_FREE): New.
7535         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7536         * alloc.c (STRUCT_FREE_P): Deleted.
7537         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7538         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7539         * alloc.c (STRING_CHARS_FREE_P): New.
7540         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7541         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7542         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7543         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7544         * alloc.c (resize_string): Use new definitions.
7545         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7546         * alloc.c (verify_string_chars_integrity): Use new definitions.
7547         * alloc.c (compact_string_chars): Use new definitions.
7548         * alloc.c: Update monster comments.
7549         * lrecord.h (lrecord_type): Add some new lrecord types for
7550         alloc.c's use.
7551
7552 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7553
7554         Improve alignment hackery.
7555         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7556         (max_align_t): Moved from opaque.h - general purpose.
7557         (ALIGN_PTR): Use size_t, not long.
7558         * opaque.h (max_align_t): Move to lisp.h.
7559
7560 2001-01-18  Norbert Koch  <nk@LF.net>
7561
7562         * gui.h: Fix and add prototypes to fix build problems.
7563
7564 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7565
7566         temacs is going away, so `dump-temacs' is now a bad name.
7567         * .dbxrc (dump-temacs): Rename to `dmp'.
7568         * .gdbinit (dump-temacs): Rename to `dmp'.
7569
7570 2001-01-17  Andy Piper  <andy@xemacs.org>
7571
7572         * glyphs.c (print_image_instance): comment to make martin happy.
7573
7574         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7575         change.
7576
7577         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7578         activation.
7579         (mswindows_tab_control_redisplay): warning suppression.
7580
7581         * glyphs-widget.c (widget_update): re-write to cope with updated
7582         items.
7583         (widget_instantiate): use new gui_item functions.
7584         (tab_control_update): deleted.
7585         (progress_gauge_update): deleted.
7586         (image_instantiator_progress_guage): take out update reference.
7587         (image_instantiator_tree_view): ditto.
7588         (image_instantiator_tab_control): ditto.
7589
7590         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7591         Right the new way.
7592         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7593         return whether anything was changed.
7594         (update_gui_item_keywords): as it sounds.
7595
7596         * gui.h: declare widget_gui_parse_item_keywords.
7597
7598         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7599         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7600
7601 2001-01-17  Martin Buchholz <martin@xemacs.org>
7602
7603         * XEmacs 21.2.41 "Polyhymnia" is released.
7604
7605 2001-01-16  Didier Verna  <didier@xemacs.org>
7606
7607         * glyphs.c (image_instantiate): don't use fallbacks when
7608         instantiating a face's background pixmap by inheritance.
7609
7610 2001-01-14  Mike Sperber <mike@xemacs.org>
7611
7612         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7613         Conditionalize accordingly.
7614
7615 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7616
7617         * dumper.c (pdump_file_get): Fix a compiler warning.
7618
7619 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7620
7621         Make Purify happy when pdumping.
7622         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7623         iniitalizing all bits of new lisp object memory.
7624         * symbols.c (Fmake_local_variable): Likewise.
7625         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7626         * symbols.c (Fdefvaralias): Likewise.
7627         * mule-charset.c (vars_of_mule_charset): Likewise.
7628
7629 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7630         Add the `-nd' flag when running pre-dump operations under the debugger.
7631         * .dbxrc (run-temacs): Add `-nd'.
7632         * .dbxrc (update-elc): Likewise.
7633         * .dbxrc (dump-temacs): Likewise.
7634         * .gdbinit (run-temacs): Likewise.
7635         * .gdbinit (check-temacs): Likewise.
7636         * .gdbinit (update-elc): Likewise.
7637         * .gdbinit (dump-temacs): Likewise.
7638
7639 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7640
7641         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7642         export OBJECT_MODE=64
7643         configure --pdump --use-union-type=no
7644         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7645         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7646
7647         * miscplay.c (sndcnv8U_2mono):
7648         Avoid two uses of `++' in the same expression.
7649         Suppresses a GCC warning.
7650
7651 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7652
7653         Make sure future compilers don't miscompile alloc.c.
7654         * alloc.c:
7655         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7656         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7657
7658 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7659
7660         * dumper.c: A little post-pdump-rename comment fixup.
7661
7662 2001-01-09  Jerry James  <james@eecs.ku.edu>
7663
7664         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7665
7666 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7667
7668         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7669         script:
7670         #!/bin/sh
7671         replace_symbol () {
7672           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7673         }
7674
7675         replace_symbol pdump_wire_lists pdump_weak_object_chains
7676         replace_symbol pdump_wire_list dump_add_weak_object_chain
7677
7678         replace_symbol pdump_wires pdump_root_objects
7679         replace_symbol pdump_wire dump_add_root_object
7680
7681         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7682         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7683
7684         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7685         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7686         replace_symbol dumpstructinfo pdump_root_struct_ptr
7687         replace_symbol dumpstruct dump_add_root_struct_ptr
7688
7689         replace_symbol dumpopaque dump_add_opaque
7690         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7691         replace_symbol dumpopaqueinfos pdump_opaques
7692         replace_symbol dumpopaqueinfo pdump_opaque
7693
7694         replace_symbol nb_structdump nb_root_struct_ptrs
7695         replace_symbol nb_opaquedump nb_opaques
7696
7697         replace_symbol align_table pdump_align_table
7698         replace_symbol dump_header pdump_header
7699
7700         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7701         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7702
7703
7704 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7705
7706         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7707         optimizing bytecount_to_charcount().
7708
7709 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7710
7711         * config.h.in:
7712         (HAVE_DLFCN_H): Removed.
7713         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7714
7715 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7716
7717         Portable dumper maintainability improvements.
7718         * alloc.c (staticpro):
7719         * alloc.c (staticpro_nodump):
7720         * alloc.c (garbage_collect_1):
7721         * alloc.c (reinit_alloc_once_early):
7722         * alloc.c (init_alloc_once_early):
7723         * alloc.c: Move dumper functions to alloc.c.
7724         * dumper.c (pdump_backtrace):
7725         * dumper.c (pdump_dump_structs):
7726         * dumper.c (pdump_dump_opaques):
7727         * dumper.c (pdump_dump_rtables):
7728         * dumper.c (pdump_dump_wired):
7729         * dumper.c (pdump):
7730         * dumper.c (pdump_load_check):
7731         * dumper.c (pdump_load_finish):
7732         * dumper.c (pdump_file_unmap):
7733         * dumper.c (pdump_file_get):
7734         * dumper.c (pdump_resource_free):
7735         * dumper.c (pdump_resource_get):
7736         * dumper.c (pdump_file_free):
7737         * dumper.c (pdump_file_try):
7738         * dumper.c (pdump_load):
7739         Remove fixed size limits on staticpro(), staticpro_nodump(),
7740         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7741         Remove custom code for dumping lrecord_implementations_table - use
7742         dumpopaque instead.
7743         Remove (most of the) custom code for dumping staticpros - dump it
7744         like any other dynarr.
7745
7746         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7747         * dumper.c: Moved functions from alloc.c.
7748         * alloc.c (dumpstruct): Moved to dumper.c.
7749         * alloc.c (dumpopaque): Likewise.
7750         * alloc.c (pdump_wire): Likewise.
7751         * alloc.c (pdump_wire_list): Likewise.
7752
7753         * lisp.h (Dynarr_sizeof): New.
7754         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7755         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7756         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7757
7758         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7759         * lisp.h (dumpopaque): ditto.
7760         * lisp.h (pdump_wire): ditto.
7761         * lisp.h (pdump_wire_list): ditto.
7762
7763 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7764
7765         * make-src-depend (PrintPatternDeps):
7766         Use `sort' to make output independent of perl version.
7767
7768 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7769
7770         Port to Netbsd 1.5.
7771         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7772         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7773
7774 2001-01-03  Didier Verna  <didier@xemacs.org>
7775
7776         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7777         that `focus_frame' is alive before thinking of calling
7778         `redisplay_redraw_cursor' on it.
7779
7780 2001-01-08  Martin Buchholz <martin@xemacs.org>
7781
7782         * XEmacs 21.2.40 is released.
7783
7784 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7785
7786         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7787
7788 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7789
7790         * alloc.c (dbg_valmask): Make const.
7791         * alloc.c (dbg_typemask): Make const.
7792         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7793         * alloc.c (dbg_valbits): Make const.
7794         * alloc.c (dbg_gctypebits): Make const.
7795
7796 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7797
7798         * redisplay-x.c (x_bevel_area):
7799         redisplay.h (struct rune):
7800         Typo fixes in comments.
7801
7802 2001-01-05  Andy Piper  <andy@xemacs.org>
7803
7804         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7805         adjustment.
7806
7807         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7808
7809 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7810
7811         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7812
7813         * mule-ccl.c (stack_idx_of_map_multiple):
7814         Non const global data must not be initialized!
7815         Found by MIYASHITA Hisashi.
7816
7817 2001-01-02  Andy Piper  <andy@xemacs.org>
7818
7819         * frame.c (change_frame_size): make sure frame size is always
7820         marked as changed.
7821
7822         * glyphs.c (image_instance_layout): minor code reuse.
7823
7824         * window.c (Fcurrent_window_configuration): revert previous
7825         change.
7826
7827 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7828
7829         * glyphs.h:
7830         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7831
7832 2000-12-31  Andy Piper  <andy@xemacs.org>
7833
7834         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7835         when widget gets unmapped.
7836
7837         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7838         function. Make sure widgets losing focus don't just drop it.
7839         (handle_focus_event_1): record the widget with focus.
7840
7841 2000-12-31  Andy Piper  <andy@xemacs.org>
7842
7843         * window.c (allocate_window): use
7844         make_image_instance_cache_hash_table.
7845         (make_dummy_parent): ditto.
7846         (Fset_window_configuration): ditto.
7847
7848         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7849
7850         * glyphs.c (process_image_string_instantiator): use
7851         INSTANTIATOR_TYPE.
7852         (get_image_instantiator_governing_domain): ditto.
7853         (normalize_image_instantiator): ditto.
7854         (instantiate_image_instantiator): ditto.
7855         (make_image_instance_1): ditto.
7856         (image_instantiate): ditto. Key on glyph *and* instantiator type.
7857         (instantiator_eq_equal): new function for use with instance hash
7858         tables.
7859         (instantiator_eq_hash): ditto.
7860         (make_image_instance_cache_hash_table): create a suitable hash
7861         table for storing image instances.
7862
7863         * elhash.h (hash_table_weakness): new internal weakness type
7864         HASH_TABLE_KEY_CAR_VALUE_WEAK.
7865         declare new functions.
7866
7867         * elhash.c (finish_marking_weak_hash_tables): introduce yet
7868         another weakness type for glyphs.
7869         (make_standard_lisp_hash_table): new function split out from
7870         make_general_lisp_hash_table.
7871         (make_lisp_hash_table): call make_standard_lisp_hash_table.
7872         (hash_table_instantiate): ditto.
7873         (Fmake_hash_table): ditto.
7874
7875 2000-12-31  Martin Buchholz <martin@xemacs.org>
7876
7877         * XEmacs 21.2.39 is released.
7878
7879 2000-12-29  Andy Piper  <andy@xemacs.org>
7880
7881         * menubar.c (menubar_visible_p_changed): signal the frame changed.
7882
7883         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
7884         the frame has changed so that we pick up geometry changes such as
7885         menubar visibility.
7886
7887 2000-12-28  Andy Piper  <andy@xemacs.org>
7888
7889         * lastfile.c (my_ebss): make a char array so we can pad the
7890         bss. Fixes cygwin unexec.
7891
7892         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
7893
7894 2000-12-26  Andy Piper  <andy@xemacs.org>
7895
7896         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
7897         comments and try and be more precise about a non-/SIGIO world.
7898         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
7899         SIGIO.
7900
7901         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
7902         we don't normalize to zero width or height.
7903
7904 2000-12-24  Andy Piper  <andy@xemacs.org>
7905
7906         * Makefile.in.in (ldflags): add -mwindows when appropriate.
7907
7908 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
7909
7910         * s/sco5.h: SCO 5 has pty support.
7911
7912 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
7913
7914         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
7915         input-method-xlib.c contains whole contents of input-method-xfs.c,
7916         so we can use input-method-xlib.c's code for USE_XFONTSET
7917         using #ifdefs.
7918         * input-method-xfs.c: removed.
7919
7920 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
7921
7922         * file-coding.h (enum coding_category_type): reorder enumerators to
7923         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
7924         (now one greater than largest real coding_category_type enumerator).
7925         * file-coding.c (coding_category_symbol, coding_category_by_priority,
7926         coding_category_system, fcd_descriptihon_1, decode_coding_category,
7927         Fcoding_category_list, Fset_coding_priority_list,
7928         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
7929         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
7930
7931 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7932
7933         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
7934         * redisplay-output.c (redisplay_output_window): Clear top of window
7935         when face is changed.
7936         * redisplay-x.c (x_redraw_exposed_window): Call
7937         redisplay_clear_top_of_window.
7938         * redisplay.h: Publish redisplay_clear_top_of_window.
7939
7940 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7941
7942         * buffer.c (Fkill_buffer): Map over all devices.
7943         * window.c (window_loop): Remove UNSHOW_BUFFER code.
7944         (list_windows): New function.
7945         (list_all_windows): Ditto.
7946         (Freplace_buffer_in_windows): Use them.
7947
7948 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
7949
7950         * database.c (berkdb_subtype): Recognize new subtype `queue'.
7951         (Fopen_database): Use `db_create' instead of `db_open'.
7952         (syms_of_database): Initialize Qqueue.
7953
7954 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7955
7956         * buffer.c (common_init_complex_vars_of_buffer): Initialize
7957         buffer_local_face_property.
7958         * buffer.h (struct buffer): New member buffer_local_face_property.
7959         * window.c (Fset_window_buffer):  Mark window's face as changed
7960         when buffer has buffer local face.
7961         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
7962         * objects.c (color_after_change): Set buffer_local_face_property
7963         when locale of face specifier is buffer.
7964         * objects.c (font_after_change): Ditto.
7965         * objects.c (face_boolean_after_change): Ditto.
7966         * glyphs.c (image_after_change): Ditto.
7967
7968 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7969
7970         * nt.c (mswindows_fstat): Report file permissions, volume serial
7971         number, etc. Code adapted from FSF Emacs 20.7.
7972
7973 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7974
7975         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
7976         of stat when we don't have symbolic links, to make sure
7977         mswindows_stat is called on mswindows.
7978
7979 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7980
7981         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
7982
7983 2000-12-12  Martin Buchholz  <martin@xemacs.org>
7984
7985         * doprnt.c (emacs_doprnt_1): More printing fixes.
7986         Make printing of numbers compatible with libc and FSF Emacs.
7987         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
7988         Use the system printf to do most of the hard work of formatting,
7989         instead of doprnt_1().
7990         Calculate memory to allocate for format string.
7991         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
7992         (doprnt_1): Cleaner code and documentation.
7993
7994 2000-12-01  Jerry James  <james@eecs.ukans.edu>
7995
7996         * Makefile.in.in: Use the loop variable to install headers.
7997
7998 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7999
8000         * window.c (Fsplit_window): Don't invalidate face cache.
8001
8002 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8003
8004         * minibuf.c (Fall_completions): Undo the previous change
8005         which removed checking elements start with space.
8006
8007 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8008
8009         * mule-canna.c: Didier suppression.
8010
8011 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8012
8013         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8014         (warning suppression).  Add English comment translations.
8015
8016 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8017
8018         * unexelfsgi.c (unexec): Better test for mmap failure.
8019
8020 2000-12-05  Martin Buchholz <martin@xemacs.org>
8021
8022         * XEmacs 21.2.38 is released.
8023
8024 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8025
8026         * redisplay.c (bar-cursor): Make a user variable.
8027
8028         * symsinit.h: Add init_postgresql_from_environment.
8029
8030 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8031
8032         * regex.c: Convert to clean C.
8033
8034 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8035
8036         * realpath.c:
8037         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8038         initialization.
8039         (sys_readlink): renamed to system_readlink to avoid conflict with
8040         the other sys_readlink.
8041
8042 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8043
8044         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8045
8046 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8047
8048         * postgresql.c (init_postgresql_from_environment): new function.
8049         (vars_of_postgresql): Move code initializing Lisp variables out and
8050         into init_postgresql_from_environment.
8051         emacs.c (main_1): Call init_postgresql_from_environment if and only
8052         if running a dumped XEmacs.
8053
8054 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8055
8056         * buffer.c: Make find-file-compare-truenames default to true on
8057         windows.
8058
8059         * realpath.c (win32_abs_start):
8060         (cygwin_readlink):
8061         (win32_readlink): New functions.
8062         (xrealpath): Return really real filenames on windows.
8063
8064         * fileio.c (Ffile_truename): Make file-truename work on windows.
8065
8066 2000-11-29  Didier Verna  <didier@xemacs.org>
8067
8068         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8069         * faces.c (update_face_cachel_data): use it.
8070         * faces.c (add_face_cachel): use it. Complete background pixmap
8071         frobbing in face cache if `update_face_cachel_data' has not done so.
8072
8073 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8074
8075         * search.c (string_match_1): Don't set last_thing_searched
8076         when search failed.
8077
8078 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8079
8080         * buffer.c: Include casetab.h
8081         (common_init_complex_vars_of_buffer): Use new case-table object.
8082         * buffer.h: Include casetab.h
8083         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8084         (DOWNCASE_TABLE_OF): Ditto.
8085         * bufslots.h: Remove char-tables and add case-table.
8086         * casetab.c: Include casetab.h
8087         (CASE_TABLE_P): Removed.
8088         (mark_case_table): New function.
8089         (allocate_case_table): New function.
8090         (Fcase_table_p): Use new case-table.
8091         (case_table_char): New function.
8092         (Fget_case_table): Ditto.
8093         (Fput_case_table): Ditto.
8094         (Fput_case_table_pair): Ditto.
8095         (Fcopy_case_table): Ditto.
8096         (Fcurrent_case_table): Return case-table.
8097         (Fstandard_case_table): Return case-table.
8098         (Fset_case_table): Fix doc-string.
8099         (set_case_table): Use case-table
8100         (syms_of_casetab): DEFSUBR new functions.
8101         (complex_vars_of_casetab): Set up standard case-table.
8102         * casetab.h: New file.
8103         * editfns.c: Include casetab.h
8104         (Fcompare_buffer_substrings): Use case-table.
8105         * inline.c: Include casetab.h
8106         * lisp.h: Remove bogus extern.
8107         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8108         * search.c: Include casetab.h
8109         (TRANSLATE_ASCII): Removed.
8110         (TRANSLATE): Unconditionally translate character.
8111         (looking_at_1): Use case-table.
8112         (string_match_1): Ditto.
8113         (fast_string_match): Ditto.
8114         (search_command): Ditto.
8115         (search_buffer): Separate boyer_moore.  Check whether
8116         boyer_moore is possible.
8117         (simple_search): New function.
8118         (boyer_moore): Separated from search_buffer. Translate char.
8119
8120 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8121
8122         * regex.c (RE_TR_ASCII): Removed.
8123         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8124         (PATFETCH): Call PATFETCH_RAW.
8125         (PATFETCH_RAW): Fetch Emchar.
8126         (PATUNFETCH): Decrement charptr.
8127         (GET_BUFFER_SPACE): Rename b to buf_end.
8128         (BUF_PUSH): Ditto.
8129         (BUF_PUSH_2): Ditto.
8130         (BUF_PUSH_3): Ditto.
8131         (EXTEND_BUFFER): Ditto.
8132         (SET_LIST_BIT): Ditto.
8133         (regex_compile): Ditto.  Translate non ASCII char.
8134         (compile_range): Ditto.
8135         (re_search_2): Ditto.
8136         (re_match_2_internal): Compare Emchar.
8137         (bcmp_translate): Ditto.
8138
8139 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8140
8141         * lisp.h (basic char/int typedefs):  comment improvement.
8142
8143 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8144
8145         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8146         unstomp inhibit_site_lisp.  Improve comments.
8147
8148 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8149
8150         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8151
8152 2000-11-28  Andy Piper  <andy@xemacs.org>
8153
8154         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8155         clipped display for windows in the gutter also.
8156         (redisplay_display_boxes_in_window_p): change semantics of return
8157         codes to be more intuitive.
8158
8159         * gutter.h: declare display_boxes_in_gutter_p.
8160
8161         * gutter.c (display_boxes_in_gutter_p): new function for
8162         redisplay.
8163
8164 2000-11-22  Andy Piper  <andy@xemacs.org>
8165
8166         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8167         autodetect domain.
8168
8169 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8170
8171         * callproc.c (Fold_call_process_internal):
8172         * gpm.c (Freceive_gpm_event):
8173         (tty_get_foreign_selection): Might be just warning supression.
8174         * fileio.c (Fwrite_region_internal):
8175         (Fset_visited_file_modtime):
8176         * keymap.c (event_matches_key_specifier_p):
8177         Initialize GCPROed variable.
8178
8179         * menubar-x.c (command_builder_find_menu_accelerator):
8180         Initialize before use.
8181
8182 2000-11-23  Andy Piper  <andy@xemacs.org>
8183
8184         * unexcw.c (unexec): make the resulting executable executable.
8185
8186 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8187
8188         * doc.c (get_doc_string):
8189         Use size_t, not int, for result of XSTRING_LENGTH.
8190
8191         * cmds.c (Fdelete_char):
8192         * cmds.c (Fpoint_at_eol):
8193         * cmds.c (Fself_insert_command):
8194         Use EMACS_INT, not int, for result of XINT.
8195         Someday, someone will want to insert more than 2**31 identical characters.
8196
8197         * cmds.c (Fdelete_char):
8198         * cmds.c (Fdelete_backward_char):
8199         * syntax.c (Fforward_word):
8200         * syntax.c (Fforward_comment):
8201         Make COUNT argument optional, for consistency with forward-char et al.
8202
8203 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8204
8205         * lisp.h:
8206         * print.c (long_to_string):
8207         Return a useful value: the pointer at end of data written.
8208
8209         * doprnt.c:
8210         Use `static const char * const' for constant strings.
8211         (union printf_arg): Delete `i', `ui' members.
8212         (get_doprnt_args):
8213         (emacs_doprnt_1):
8214         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8215         Do all printf-ing via the `l' specifier.
8216         Use EMACS_INT instead of int.
8217         Optimize.
8218
8219 2000-11-20  Didier Verna  <didier@xemacs.org>
8220
8221         * faces.c (update_face_cachel_data): don't frob the background
8222         pixmap when the window is being created. The face is needed but
8223         does not exist yet.
8224
8225 2000-11-20  Andy Piper  <andy@xemacs.org>
8226
8227         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8228         messing with a debug environment.
8229
8230 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8231
8232         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8233
8234 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8235
8236         * casetab.c (Fcase_table_p): Fix compile error and crash.
8237
8238 2000-11-18  Philip Aston  <philipa@mail.com>
8239
8240         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8241
8242 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8243
8244         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8245         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8246
8247 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8248
8249         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8250         * unexelf.c: Use HAVE_ELF_H.
8251         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8252         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8253         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8254         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8255         for testing.
8256         So this is an unexelfsgi.c from a different line of development.
8257
8258 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8259
8260         * regex.c (RE_TR_ASCII): New function.
8261         (RE_TRANSLATE): Call it.
8262
8263 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8264
8265         * buffer.h (TRT_TABLE_OF): Remove assert.
8266         (IN_TRT_TABLE_DOMAIN): Removed.
8267
8268 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8269
8270         * free-hook.c (log_gcpro):
8271         (show_gcprohist): Add support for GCPRO5.
8272
8273 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8274
8275         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8276
8277 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8278
8279         * symeval.h: Declare flush_all_buffer_local_cache.
8280
8281         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8282         (flush_buffer_local_cache): Added.
8283         (flush_all_buffer_local_cache): Added.
8284
8285         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8286
8287         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8288         (pdump_dump_data): Ditto.
8289         (pdump_reloc_one): Ditto.
8290         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8291         before dumping.
8292
8293
8294 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8295
8296         * buffer.c: Remove if 0'ed entry.
8297         * buffer.h: Rewrite TRT to use char-table.
8298         * bufslots.h: Remove mirror tables.
8299         * casetab.c: Remove mirror tables.
8300         (CASE_TABLE_P): New macro.
8301         (Fcase_table_p): Element of a case table is string or char-table.
8302         (make_mirror_trt_table): Removed.
8303         (set_case_table): Setup char-table from strings for backward
8304         compatibility.
8305         * dired.c (Fdirectory_files):
8306         * dired-msw.c: (mswindows_get_files):
8307         * lisp.h: Change prototype of re_pattern_buffer.
8308         * regex.c: (RE_TRANSLATE): New macro.
8309         (TRANSLATE_P): Ditto.
8310         Change translate to type RE_TRANSLATE_TYPE.
8311         * regex.h: Define RE_TRANSLATE_TYPE
8312         * search.c (TRANSLATE): New macro.
8313         (TRANSLATE_ASCII): New macro.
8314         Translate table is changed to Lisp_Object.
8315         (signal_failure): Inhibit return.
8316
8317 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8318
8319         * device-msw.c:
8320         * eldap.c:
8321         * event-Xt.c:
8322         * event-stream.c:
8323         * print.c:
8324         Do UNGCPRO before return.
8325
8326 2000-11-14  Martin Buchholz <martin@xemacs.org>
8327
8328         * XEmacs 21.2.37 is released.
8329
8330 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8331
8332         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8333         Add comments about discarded return value.
8334
8335 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8336
8337         * callint.c:
8338         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8339
8340 2000-10-27  Andy Piper  <andy@xemacs.org>
8341
8342         * gutter.c (Fset_default_gutter_position): default left and right
8343         gutters to visible.
8344         (calculate_gutter_size): calculate resonable heuristic for left
8345         and right gutter sizes.
8346         (specifier_vars_of_gutter): change left and right gutter sizes to
8347         autodetect.
8348         (calculate_gutter_size_from_display_lines): new function.
8349         (output_gutter): check for resizing on left and right gutters.
8350         (clear_gutter): don't special case top and left gutters.
8351         (specifier_vars_of_gutter): use new signature for
8352         set_specifier_caching.
8353
8354         * glyphs-x.c (x_redisplay_widget): spelling fix.
8355         * glyphs.c (specifier_vars_of_glyphs):
8356         * menubar.c (specifier_vars_of_menubar):
8357         * redisplay.c (specifier_vars_of_redisplay):
8358         * toolbar.c (specifier_vars_of_toolbar):
8359         * window.c (specifier_vars_of_window):
8360         * scrollbar.c (specifier_vars_of_scrollbar):
8361         (complex_vars_of_scrollbar): use new signature for
8362         set_specifier_caching.
8363
8364         * specifier.c (set_specifier_caching): include recompute flag.
8365         (recompute_one_cached_specifier_in_window): always recompute if
8366         flag set.
8367         (recompute_one_cached_specifier_in_frame): ditto.
8368
8369         * specifier.h (struct specifier_caching): add recompute flag.
8370
8371 2000-10-24  Andy Piper  <andy@xemacs.org>
8372
8373         * unexcw.c (copy_executable_and_dump_data_section): add new
8374         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8375         5.0 happy.
8376
8377 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8378
8379         * console-x.h (x_device): New member modifier_release_time.
8380         * event-Xt.c (x_handle_sticky_modifiers):
8381         Bound interval modifier keys are sticky.
8382         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8383         * events.h: extern it.
8384
8385 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8386
8387         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8388
8389 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8390
8391         * event-stream.c (execute_command_event): Preserve current_events
8392         and the like when event is misc-user-event.
8393         Inhibit quit during the call to maybe_echo_keys.
8394
8395 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8396
8397         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8398         symlink when buffer is killed.
8399         (inhibit_clash_detection): New variable.
8400
8401 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8402
8403         * console.c (Fset_input_method): Trigger redisplay on tty.
8404
8405 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8406
8407         * process.c (Fprocess_status): Revert to previous behavior:
8408         (process-status "nosuchprocess") ==> nil
8409
8410 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8411
8412         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8413         Work around another GCC 2.95.2 optimizer bug.
8414
8415 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8416
8417         * process.c (Fget_process): Use LIST_LOOP_2.
8418         (kill_buffer_processes): Use LIST_LOOP_2.
8419
8420         * minibuf.c (Fall_completions):
8421         Delete old non-functional code for FSF fourth argument.
8422
8423         * frame.c (frame_matches_frame_spec):
8424         Renamed from `frame_matches_frametype'.  Update all callers.
8425         (device_matches_device_spec):
8426         Renamed from 'device_matches_console_spec'.  Update all callers.
8427
8428         * doc.c (Fsubstitute_command_keys):
8429         Remove buffer overflow crash.  Small code cleanups.
8430
8431         * casetab.c (check_case_table): Simpler code.
8432
8433         * window.c (Freplace_buffer_in_windows):
8434         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8435         (and similar implementation) as Fdelete_windows_on.
8436         Update all callers.
8437
8438         * alloc.c (Fmake_list):
8439         * alloc.c (make_vector):
8440         * alloc.c (Fmake_vector):
8441         * alloc.c (make_bit_vector):
8442         * alloc.c (Fmake_bit_vector):
8443         * alloc.c (Fbit_vector):
8444         * alloc.c (Fmake_string):
8445         * alloc.c (Fpurecopy):
8446         * alloc.c (Fmemory_limit):
8447         * buffer.c:
8448         * buffer.c (Fget_buffer):
8449         * buffer.c (Fkill_buffer):
8450         * buffer.c (complex_vars_of_buffer):
8451         * bytecode.c (Fcompiled_function_stack_depth):
8452         * callint.c (Fprefix_numeric_value):
8453         * event-stream.c:
8454         * event-stream.c (Fread_key_sequence):
8455         * casetab.c:
8456         * casetab.c (Fcase_table_p):
8457         * casetab.c (check_case_table):
8458         * casetab.c (Fset_case_table):
8459         * casetab.c (Fset_standard_case_table):
8460         * chartab.c:
8461         * chartab.c (Fchar_table_type):
8462         * chartab.c (Freset_char_table):
8463         * chartab.c (Fget_char_table):
8464         * chartab.c (Fget_range_char_table):
8465         * chartab.c (Fput_char_table):
8466         * chartab.c (Fmap_char_table):
8467         * chartab.c (Fcategory_table_p):
8468         * chartab.c (Fcheck_category_at):
8469         * chartab.c (Fchar_in_category_p):
8470         * chartab.c (Fcategory_table):
8471         * chartab.c (Fcopy_category_table):
8472         * chartab.c (Fset_category_table):
8473         * chartab.c (Fcategory_designator_p):
8474         * chartab.c (Fcategory_table_value_p):
8475         * cmds.c (Fdelete_char):
8476         * cmds.c (Fdelete_backward_char):
8477         * cmds.c (Fself_insert_command):
8478         * cmds.c (Fself_insert_internal):
8479         * console.c (Fvalid_console_type_p):
8480         * console.c (Fcdfw_console):
8481         * console.c (Fconsole_type):
8482         * console.c (Fconsole_name):
8483         * console.c (Fconsole_device_list):
8484         * console.c (Fconsole_on_window_system_p):
8485         * data.c:
8486         * data.c (Feq):
8487         * data.c (Fold_eq):
8488         * data.c (Fsubr_interactive):
8489         * data.c (Fchar_to_int):
8490         * data.c (Fint_to_char):
8491         * data.c (Fsetcar):
8492         * data.c (Fsetcdr):
8493         * data.c (Fnumber_to_string):
8494         * data.c (Fstring_to_number):
8495         * data.c (Frem):
8496         * database.c (mark_database):
8497         * database.c (finalize_database):
8498         * database.c (Fdatabase_live_p):
8499         * database.c (Fdatabasep):
8500         * device-x.c (Fx_get_resource):
8501         * device.c (Fdfw_device):
8502         * dired.c:
8503         * dired.c (Ffile_name_completion):
8504         * dired.c (Ffile_name_all_completions):
8505         * dired.c (Fuser_name_completion):
8506         * dired.c (Fuser_name_completion_1):
8507         * dired.c (Fuser_name_all_completions):
8508         * doc.c (Fdocumentation):
8509         * doc.c (Fdocumentation_property):
8510         * doc.c (Fsubstitute_command_keys):
8511         * editfns.c:
8512         * editfns.c (Fchar_to_string):
8513         * editfns.c (Fstring_to_char):
8514         * editfns.c (Ftemp_directory):
8515         * editfns.c (Finsert_char):
8516         * editfns.c (Fbuffer_substring_no_properties):
8517         * editfns.c (Fnarrow_to_region):
8518         * editfns.c (Fchar_equal):
8519         * editfns.c (Fchar_Equal):
8520         * editfns.c (Ftranspose_regions):
8521         * emacs.c (Fdump_emacs):
8522         * eval.c (Fthrow):
8523         * eval.c (Fcommand_execute):
8524         * eval.c (Fautoload):
8525         * eval.c (Fbacktrace):
8526         * eval.c (Fbacktrace_frame):
8527         * events.c:
8528         * events.c (Fcopy_event):
8529         * events.c (Fcharacter_to_event):
8530         * events.c (Fevent_button):
8531         * events.c (Fevent_process):
8532         * extents.c:
8533         * extents.c (Fnext_extent_change):
8534         * extents.c (Fextent_property):
8535         * faces.c (Ffacep):
8536         * faces.c (Fmake_face):
8537         * file-coding.c:
8538         * file-coding.c (Fencode_shift_jis_char):
8539         * file-coding.c (Fencode_big5_char):
8540         * fileio.c (Ffile_name_directory):
8541         * fileio.c (Ffile_name_nondirectory):
8542         * fileio.c (Ffile_name_as_directory):
8543         * fileio.c (Fdirectory_file_name):
8544         * fileio.c (Ffile_truename):
8545         * fileio.c (Fsubstitute_in_file_name):
8546         * fileio.c (Ffile_modes):
8547         * fileio.c (Fset_file_modes):
8548         * fileio.c (Fset_default_file_modes):
8549         * fileio.c (Fverify_visited_file_modtime):
8550         * floatfns.c (Facos):
8551         * floatfns.c (Fasin):
8552         * floatfns.c (Fatan):
8553         * floatfns.c (Fcos):
8554         * floatfns.c (Fsin):
8555         * floatfns.c (Ftan):
8556         * floatfns.c (Fbessel_j0):
8557         * floatfns.c (Fbessel_j1):
8558         * floatfns.c (Fbessel_jn):
8559         * floatfns.c (Fbessel_y0):
8560         * floatfns.c (Fbessel_y1):
8561         * floatfns.c (Fbessel_yn):
8562         * floatfns.c (Ferf):
8563         * floatfns.c (Ferfc):
8564         * floatfns.c (Flog_gamma):
8565         * floatfns.c (Fexp):
8566         * floatfns.c (Fexpt):
8567         * floatfns.c (Flog):
8568         * floatfns.c (Flog10):
8569         * floatfns.c (Fsqrt):
8570         * floatfns.c (Fcube_root):
8571         * floatfns.c (Facosh):
8572         * floatfns.c (Fasinh):
8573         * floatfns.c (Fatanh):
8574         * floatfns.c (Fcosh):
8575         * floatfns.c (Fsinh):
8576         * floatfns.c (Ftanh):
8577         * floatfns.c (Fabs):
8578         * floatfns.c (Ffloat):
8579         * floatfns.c (Flogb):
8580         * floatfns.c (Fceiling):
8581         * floatfns.c (Ffloor):
8582         * floatfns.c (Fround):
8583         * floatfns.c (Ftruncate):
8584         * floatfns.c (Ffceiling):
8585         * floatfns.c (Fffloor):
8586         * floatfns.c (Ffround):
8587         * floatfns.c (Fftruncate):
8588         * fns.c (Fstring_equal):
8589         * fns.c (Fstring_lessp):
8590         * fns.c (concat2):
8591         * fns.c (concat3):
8592         * fns.c (vconcat2):
8593         * fns.c (vconcat3):
8594         * fns.c (Fsubstring):
8595         * fns.c (Fassoc):
8596         * fns.c (Fold_assoc):
8597         * fns.c (assoc_no_quit):
8598         * fns.c (Fassq):
8599         * fns.c (Fold_assq):
8600         * fns.c (assq_no_quit):
8601         * fns.c (Frassoc):
8602         * fns.c (Fold_rassoc):
8603         * fns.c (Frassq):
8604         * fns.c (Fold_rassq):
8605         * fns.c (rassq_no_quit):
8606         * fns.c (Fremassoc):
8607         * fns.c (remassoc_no_quit):
8608         * fns.c (Fremassq):
8609         * fns.c (remassq_no_quit):
8610         * fns.c (Fremrassoc):
8611         * fns.c (Fremrassq):
8612         * fns.c (remrassq_no_quit):
8613         * fns.c (Fsort):
8614         * fns.c (Fplist_get):
8615         * fns.c (Fplist_put):
8616         * fns.c (Fplist_remprop):
8617         * fns.c (Fplist_member):
8618         * fns.c (Flax_plist_get):
8619         * fns.c (Flax_plist_put):
8620         * fns.c (Flax_plist_remprop):
8621         * fns.c (Flax_plist_member):
8622         * fns.c (Fequal):
8623         * fns.c (Fold_equal):
8624         * fns.c (Frequire):
8625         * fns.c (Fbase64_encode_region):
8626         * fns.c (Fbase64_encode_string):
8627         * fns.c (Fbase64_decode_region):
8628         * frame.c:
8629         * frame.c (frame_matches_frame_spec):
8630         * frame.c (device_matches_device_spec):
8631         * frame.c (next_frame):
8632         * frame.c (previous_frame):
8633         * frame.c (Fnext_frame):
8634         * frame.c (Fprevious_frame):
8635         * frame.c (Fframe_property):
8636         * frame.c (Fset_frame_height):
8637         * frame.c (Fset_frame_size):
8638         * frame.h:
8639         * glyphs.c:
8640         * glyphs.c (if):
8641         * glyphs.c (decode_error_behavior_flag):
8642         * glyphs.c (Fmake_image_instance):
8643         * indent.c (Findent_to):
8644         * intl.c (Fignore_defer_gettext):
8645         * keymap.c (Fkeymapp):
8646         * keymap.c (Flookup_key):
8647         * lread.c:
8648         * lread.c (Fload_internal):
8649         * lread.c (Feval_buffer):
8650         * lread.c (Feval_region):
8651         * macros.c (Fexecute_kbd_macro):
8652         * marker.c (set_marker_internal):
8653         * marker.c (Fset_marker):
8654         * marker.c (set_marker_restricted):
8655         * marker.c (Fcopy_marker):
8656         * marker.c (noseeum_copy_marker):
8657         * menubar.c:
8658         * menubar.c (Fpopup_menu):
8659         * minibuf.c:
8660         * mule-charset.c (Fcharset_name):
8661         * mule-charset.c (Fchar_charset):
8662         * mule-charset.c (Fchar_octet):
8663         * mule-charset.c (Fsplit_char):
8664         * mule-wnnfns.c (Fwnn_open):
8665         * mule-wnnfns.c (Fwnn_dict_comment):
8666         * mule-wnnfns.c (Fwnn_quit_henkan):
8667         * mule-wnnfns.c (Fwnn_word_toroku):
8668         * mule-wnnfns.c (Fwnn_word_sakujo):
8669         * mule-wnnfns.c (Fwnn_word_use):
8670         * mule-wnnfns.c (Fwnn_hindo_set):
8671         * objects.c:
8672         * objects.c (Fmake_color_instance):
8673         * objects.c (Fmake_font_instance):
8674         * print.c (Fwrite_char):
8675         * process.c:
8676         * process.c (mark_process):
8677         * process.c (print_process):
8678         * process.c (get_process_from_usid):
8679         * process.c (Fprocessp):
8680         * process.c (Fprocess_live_p):
8681         * process.c (Fget_process):
8682         * process.c (Fget_buffer_process):
8683         * process.c (get_process):
8684         * process.c (Fprocess_id):
8685         * process.c (Fprocess_name):
8686         * process.c (Fprocess_command):
8687         * process.c (init_process_io_handles):
8688         * process.c (start_process_unwind):
8689         * process.c (Fstart_process_internal):
8690         * process.c (Fopen_multicast_group_internal):
8691         * process.c (Fset_process_window_size):
8692         * process.c (read_process_output):
8693         * process.c (send_process):
8694         * process.c (Fprocess_tty_name):
8695         * process.c (Fset_process_buffer):
8696         * process.c (Fprocess_buffer):
8697         * process.c (Fprocess_mark):
8698         * process.c (set_process_filter):
8699         * process.c (Fset_process_filter):
8700         * process.c (Fprocess_filter):
8701         * process.c (Fprocess_send_region):
8702         * process.c (Fprocess_send_string):
8703         * process.c (exec_sentinel):
8704         * process.c (Fset_process_sentinel):
8705         * process.c (Fprocess_sentinel):
8706         * process.c (status_notify):
8707         * process.c (Fprocess_status):
8708         * process.c (Fprocess_exit_status):
8709         * process.c (process_send_signal):
8710         * process.c (Fprocess_send_eof):
8711         * process.c (deactivate_process):
8712         * process.c (remove_process):
8713         * process.c (Fdelete_process):
8714         * process.c (kill_buffer_processes):
8715         * process.c (Fprocess_kill_without_query):
8716         * process.c (Fprocess_kill_without_query_p):
8717         * rangetab.c:
8718         * rangetab.c (Fget_range_table):
8719         * rangetab.c (Fput_range_table):
8720         * rangetab.c (Fremove_range_table):
8721         * rangetab.c (Fclear_range_table):
8722         * search.c:
8723         * search.c (Fskip_chars_forward):
8724         * search.c (Fskip_chars_backward):
8725         * search.c (Fskip_syntax_forward):
8726         * search.c (Fskip_syntax_backward):
8727         * search.c (search_command):
8728         * search.c (Freplace_match):
8729         * search.c (Fregexp_quote):
8730         * select.c (Fown_selection_internal):
8731         * select.c (Fselection_owner_p):
8732         * select.c (Fselection_exists_p):
8733         * select.c (Fget_selection_internal):
8734         * specifier.c:
8735         * symbols.c:
8736         * symbols.c (Fintern):
8737         * symbols.c (Fintern_soft):
8738         * symbols.c (Funintern):
8739         * symbols.c (Fapropos_internal):
8740         * symbols.c (Fset_default):
8741         * syntax.c:
8742         * syntax.c (Fsyntax_table_p):
8743         * syntax.c (Fcopy_syntax_table):
8744         * syntax.c (Fset_syntax_table):
8745         * syntax.c (Fchar_syntax):
8746         * syntax.c (syntax_match):
8747         * syntax.c (Fmatching_paren):
8748         * syntax.c (Fforward_word):
8749         * syntax.c (scan_lists):
8750         * syntax.c (Fscan_lists):
8751         * syntax.c (Fscan_sexps):
8752         * syntax.c (Fparse_partial_sexp):
8753         * toolbar.c (Fcheck_toolbar_button_syntax):
8754         * tooltalk.doc:
8755         * window.c:
8756         * window.c (Fwindowp):
8757         * window.c (Fwindow_live_p):
8758         * window.c (Fwindow_point):
8759         * window.c (Fdelete_window):
8760         * window.c (Fnext_window):
8761         * window.c (Fprevious_window):
8762         * window.c (Fother_window):
8763         * window.c (window_loop):
8764         * window.c (Fget_lru_window):
8765         * window.c (Fsplit_window):
8766         * window.c (Fenlarge_window):
8767         * window.c (Fenlarge_window_pixels):
8768         * window.c (Fshrink_window):
8769         * window.c (Fshrink_window_pixels):
8770         * window.c (change_window_height):
8771         * window.c (Fwindow_configuration_p):
8772         * window.c (Fcurrent_window_configuration):
8773         * window.h:
8774         * casefiddle.c (casify_object):
8775         * casefiddle.c (Fupcase):
8776         * casefiddle.c (Fdowncase):
8777         * casefiddle.c (Fcapitalize):
8778         * casefiddle.c (Fupcase_initials):
8779         * casefiddle.c (casify_region_internal):
8780         * casefiddle.c (casify_region):
8781         * casefiddle.c (Fupcase_region):
8782         * casefiddle.c (Fdowncase_region):
8783         * casefiddle.c (Fcapitalize_region):
8784         * casefiddle.c (Fupcase_initials_region):
8785         * casefiddle.c (Fupcase_word):
8786         * casefiddle.c (Fdowncase_word):
8787         * casefiddle.c (Fcapitalize_word):
8788         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8789         Replace 0 with '\0' when working with bytes.
8790         Replace initial "(" with "\(" in docstrings.
8791
8792 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8793
8794         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8795
8796         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8797
8798 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8799
8800         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8801
8802 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8803
8804         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8805         correctly.
8806
8807 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8808
8809         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8810         (inhibit_auto_save_session): New variable.
8811         (vars_of_fileio): Declare and initialize them.
8812         * fileio.c (Fdo_auto_save): Don't create session file if
8813         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8814
8815 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8816
8817         * sgiplay.c (play_internal): C++ compilability.
8818         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8819         * callproc.c (Fold_call_process_internal):
8820         Remove unused vars `env', `first'.
8821         * scrollbar.c (update_scrollbar_instance):
8822         #### unused var `current_window'.
8823         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8824         etc. within #ifdef NOT_YET.
8825         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8826         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8827         * specifier.c (specifier_instance):
8828         #### unused var `tag'.
8829         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8830
8831 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8832
8833         * fns.c (Fbutlast):
8834         * fns.c (list_sort):
8835         * fns.c (Ffillarray):
8836         * fns.c (bytecode_nconc2):
8837         * fns.c (Fnconc):
8838         * fns.c (mapcar1):
8839         * fns.c (Fmapconcat):
8840         Be pedantically 64-bit correct.  For the time when someone will
8841         want to have a list with length > 2**32.
8842
8843         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8844         Work around MIPSpro compiler bug.
8845
8846         * process-unix.c (unix_kill_child_process): Add snarky comment.
8847         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8848
8849         * config.h.in: Oops, _getpt ==> _getpty
8850
8851 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8852
8853         * config.h.in:
8854         * regex.c:
8855         Use void*, not char*, as return type of alloca().
8856
8857         * alloc.c (free_marker): Side effect inside assert expression!
8858
8859 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
8860
8861         * mule-charset.c (Fset_charset_ccl_program): To check
8862         if the given ccl program is valid, use setup_ccl_program()
8863         instead of CHECK_VECTOR().
8864         (Fmake_charset): Likewise.
8865
8866 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
8867
8868         * faces.c (get_extent_fragment_face_cache_index):
8869         Fix cachel.merged_faces memory leak.
8870
8871 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
8872
8873         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
8874         Reset MSB of octets obtained by DECODE_SJIS
8875         because of the incompatibility with Emacs.
8876         (ccl_driver)<CCL_ENCODE_SJIS>:
8877         Set MSB of octets before passing them to
8878         ENCODE_SJIS because of the incompatibility
8879         with Emacs.
8880
8881 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
8882
8883         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
8884         (DECLARE_LRECORD): Undo the last change.
8885         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
8886
8887 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
8888
8889         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
8890         the implementation to lrecord_implementations_table.
8891
8892 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
8893
8894         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
8895         initial value of `lrecord_type_##c_name' and
8896         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
8897         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
8898         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
8899         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
8900         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
8901
8902 2000-10-17  Martin Buchholz  <martin@xemacs.org>
8903
8904         * miscplay.c (sndcnv8S_2mono):
8905         (sndcnv2monounsigned):
8906         (sndcnvULaw_2linear):
8907         (sndcnv16swap):
8908         Remove implementation-defined behavior.
8909
8910 2000-10-12  Martin Buchholz  <martin@xemacs.org>
8911
8912         * input-method-xlib.c: Warning suppression.
8913
8914 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
8915
8916         * mule-ccl.c: Sync up with Emacs 21.0.90.
8917         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
8918         Do nothing.
8919         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
8920         Likewise.
8921         (ccl_driver[WriteMultibyteChar2]): Bug fix.
8922         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
8923         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
8924         leading char belongs to official 2-dimensional charset.
8925         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
8926         write the given character as is.  Otherwise,
8927         if it is a multibyte char, convert it by
8928         non_ascii_set_charptr_emchar, then write it.
8929         (CCL_WRITE_STRING): Likewise.
8930         (ccl_get_compiled_code): New function.
8931         (setup_ccl_program): When ccl_prog is invalid,
8932         return -1.
8933         (Fregister_code_conversion_map): New function.
8934         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
8935
8936         * mule-ccl.h: Sync up with Emacs 21.0.90.
8937         (Fregister_ccl_program): export it.
8938
8939         * redisplay-msw.c (separate_textual_runs):
8940         If ccl program is not valid, don't do ccl conversion.
8941
8942         * redisplay-x.c (separate_textual_runs): Ditto.
8943
8944         * file-coding.c (Fmake_coding_system):
8945         When type is ccl and value is vector, register it
8946         with a proper symbol.  And checks whether the
8947         given ccl program is valid.
8948         (mule_decode): When calling ccl_driver, if src indicates
8949         NULL pointer, set an empty string instead.
8950         (mule_encode): Likewise.
8951
8952 2000-10-11  Martin Buchholz  <martin@xemacs.org>
8953
8954         The following large batch of changes gets us back to a state of
8955         C++ compilability.  Extbyte is now a char, which means that
8956         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
8957
8958         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
8959
8960         * sound.c (Fplay_sound): Type correctness.
8961
8962         * select-x.c (hack_motif_clipboard_selection): Type correctness.
8963         (x_get_window_property): Type correctness.
8964         (receive_incremental_selection): unsigned char ==> Extbyte
8965         (selection_data_to_lisp_data): unsigned char ==> Extbyte
8966         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
8967         (Fx_store_cutbuffer_internal): Type correctness.
8968
8969         * process-unix.c (try_to_initialize_subtty): Type correctness.
8970
8971         * objects-x.c (x_print_color_instance): Type correctness.
8972         (x_print_font_instance): Type correctness.
8973         (x_list_fonts): SExtbyte ==> Extbyte.
8974         (valid_x_font_name_p): SExtbyte ==> Extbyte.
8975         (x_find_charset_font): SExtbyte ==> Extbyte.
8976         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
8977         (truename_via_XListFonts): SExtbyte ==> Extbyte.
8978         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
8979         Use bufbyte_strcmp.
8980
8981         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
8982         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
8983         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
8984         (BYTE_C0_P): Use bit ops for char-signedness safety.
8985         (BYTE_C1_P): Use bit ops for char-signedness safety.
8986         (CHARSET_BY_LEADING_BYTE):
8987         (CHARSET_BY_ATTRIBUTES):
8988         Always use inline function.
8989         Use type_checking_assert.
8990         Hide chlook.
8991
8992         * mule-charset.c (non_ascii_charptr_copy_char):
8993         Modify to work with both ASCII and non-ASCII characters.
8994         Improve docs and variable names.
8995         Replace over-clever fall-through switch with a simple loop.
8996         (Lstream_get_emchar_1):
8997         Replace over-clever fall-through switch with a simple loop.
8998
8999         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9000         Warning suppression.
9001
9002         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9003         the return value of Lstream_getc, which could be EOF as well.
9004
9005         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9006
9007         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9008         APIs can be used on Extbytes without casts.  Risky!
9009         (SExtbyte): Remove.
9010         (UExtbyte): Remove.
9011
9012         * input-method-xlib.c (XIM_init_device):
9013         Use Xlib.h instead of IntrinsicP.h.
9014         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9015         which will break in X11R7.
9016         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9017         to call XRegisterIMInstantiateCallback with correct types.
9018
9019         * gui-x.c (button_item_to_widget_value): Type correctness.
9020
9021         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9022
9023         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9024         (xbm_instantiate_1): Type correctness.
9025         (BUILD_GLYPH_INST):  Type correctness.
9026
9027         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9028
9029         * file-coding.c:
9030         (decode_coding_sjis):
9031         (decode_coding_big5):
9032         (decode_coding_ucs4):
9033         (decode_coding_utf8):
9034         (decode_coding_iso2022):
9035         (decode_coding_no_conversion):
9036         Make all decoding functions take an Extbyte * arg.
9037         (encode_coding_sjis):
9038         (encode_coding_big5):
9039         (encode_coding_ucs4):
9040         (encode_coding_utf8):
9041         (encode_coding_iso2022):
9042         (encode_coding_no_conversion):
9043         Make all encoding functions take a Bufbyte * arg.
9044         Use size_t instead of unsigned int for memory sizes.
9045         Only cast to unsigned char whenever dereferencing Extbyte *.
9046
9047         * doc.c (unparesseuxify_doc_string): Type correctness.
9048
9049         * console-x.c (split_up_display_spec):
9050         Rewrite without using details of internal string representation.
9051         (x_semi_canonicalize_device_connection): Type correctness.
9052
9053         * config.h.in:
9054         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9055         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9056         (HAVE_XFREE386): Removed.
9057
9058         * buffer.h (DEC_CHARPTR): `const' correctness.
9059         (bufbyte_strcmp): New.
9060         (bufbyte_memcmp): New.
9061
9062         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9063
9064         * buffer.h (XCHAR_OR_CHAR_INT):
9065         Always use inline function.
9066         Remove redundant type checking assert() - XINT will abort quite nicely.
9067
9068 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9069
9070         * search.c (Freplace_match): Set newtext to an empty string.
9071
9072 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9073
9074         * s/decosf1-3.h: Remove #include of stropts.h
9075         * s/ptx.h: Remove #include of stropts.h
9076         * s/usg5-4.h: Remove #include of stropts.h
9077         * sysproc.h:
9078         * config.h.in:
9079         Use stropts.h, not sys/stropts.h.
9080         Use strtio.h, not sys/strtio.h.
9081
9082 2000-10-04  Martin Buchholz <martin@xemacs.org>
9083
9084         * XEmacs 21.2.36 is released.
9085
9086 2000-09-21  Andy Piper  <andy@xemacs.org>
9087
9088         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9089         changes still involve copying the widget tree.
9090         (update_widget_face): make sure a change is register in the widget
9091         tree. Call update_tab_widget_face appropriately.
9092         (update_tab_widget_face): ditto.
9093         (x_tab_control_redisplay): make sure non-structural changes still
9094         involve copying the widget tree.
9095
9096 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9097
9098         * lread.c (locate_file): Check the path element is non-nil.
9099
9100 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9101
9102         * lisp.h: Warning suppression for SCO compilers.
9103
9104         * redisplay-tty.c (reset_tty_modes): Fix crash.
9105         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9106
9107 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9108
9109         Big signal/process handling overhaul.  Bugs fixed:
9110         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9111         M-x comint-kill-subjob should work for both values nil and t of
9112         process-connection-type. It was broken on most platforms.
9113         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9114         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9115         * process-unix.c: Signal/Process handling overhaul.
9116         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9117         (allocate_pty): Use all available modern methods of allocating
9118         ptys, falling back to old style BSD allocation as a last resort.
9119         Use allegedly more secure Unix98 pty allocation by default.
9120         (allocate_pty_the_old_fashioned_way): New. the last resort.
9121         (unix_create_process): Push ptem, ldterm, ttcompat where
9122         available.  Autoconfiscate.
9123         (try_to_initialize_subtty): New.
9124         (unix_kill_child_process): Proper signal handling for ptys on most
9125         platforms, using special knowledge of AIX, BSD, etc...
9126         (unix_create_process): Always disconnect_controlling_terminal() for
9127         subprocesses, whether using ptys or not.
9128         * process.h: Remove old getpt-dependent PTY code.
9129         * process.c (Fprocess_send_signal): New, obvious generic function.
9130         (decode_signal): New.
9131         (Finterrupt_process):
9132         (Fkill_process):
9133         (Fquit_process):
9134         (Fstop_process):
9135         (Fcontinue_process):
9136         (Fsignal_process): Use decode_signal.
9137         (process_send_signal):
9138         Many docstring corrections.
9139         Allow any signal to be sent to a process object.
9140         * config.h.in: Add symbols for big signal/process overhaul.
9141         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9142         * sysproc.h: Include process-related headers, where available:
9143         sys/stropts.h sys/strtio.h pty.h libutil.h
9144         * s/irix4-0.h:
9145         * s/irix5-0.h:
9146         * s/cygwin32.h:
9147         * s/gnu.h:
9148         * s/linux.h:
9149         * s/hpux.h:
9150         * s/aix3-1.h:
9151         Remove old S&M pty stuff.
9152         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9153         * systty.h: Simplify cpp hackery, improve comments.
9154         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9155
9156         * editfns.c (Fformat_time_string):
9157         Be a little more paranoid with the return value of ctime.
9158
9159         * fileio.c (check_executable):
9160         (check_writable):
9161         Use symbolic constants X_OK, W_OK.
9162
9163         * console-x.c (split_up_display_spec): Fix a warning.
9164
9165 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9166
9167         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9168         * ntproc.c (sys_spawnve): make_string ==> build_string
9169         Small clarity improvements.
9170
9171 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9172
9173         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9174
9175         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9176
9177         * config.h.in (HAVE_STRCASECMP): Remove.
9178
9179 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9180
9181         * redisplay-output.c (redisplay_output_pixmap):
9182         Cleaner and possibly more 64-bit correct code.
9183
9184 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9185
9186         * dumper.c (pdump_load_finish): move restoration of
9187         `noninteractive1' to emacs.c (main_1).
9188         * emacs.c (main_1): protect LISP-visible command-line flags
9189         from pdump_load().
9190
9191 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9192
9193         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9194         DUMP_TARGET instead of literal program names.
9195
9196 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9197
9198         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9199
9200 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9201
9202         * *: Spelling mega-patch
9203
9204 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9205
9206         * fns.c (bad_bad_turtle):
9207         Delete "Eek!" comment, since we fixed the bug to which it refers.
9208
9209 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9210
9211         * alloca.c: Replace REGISTER with register.
9212
9213 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9214
9215         * file-coding.c (ucs_to_char): Use countof.
9216
9217 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9218
9219         * file-coding.c: (ucs_to_char):
9220         (complex_vars_of_file_coding):
9221         Use countof instead of sizeof.
9222         Use CHECK_NATNUM instead of CHECK_INT.
9223
9224         * sysdep.c (strcasecmp): Remove.
9225         * device-x.c (ascii_strcasecmp): New.
9226         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9227         Avoid using non-standard non-portable strcasecmp.
9228
9229 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9230
9231         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9232         * font-lock.c: remove reference to emacsfns.h.
9233         * search.c: small doc improvement.
9234         * event-Xt.c: correct file names in comments.
9235         * console-x.h Correct file names in comments.
9236         * frame.c: Correct file names in comments.
9237         * event-stream.c: remove Energize from comments.
9238
9239 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9240
9241         * symeval.h (DEFERROR_STANDARD):
9242         (DEFERROR):
9243         (DEFSYMBOL):
9244         (DEFSYMBOL_NO_DUMP):
9245         (DEFSYMBOL_MULTIWORD_PREDICATE):
9246         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9247         (DEFKEYWORD):
9248         The construct &##name is not sensible C.
9249         Fixes compilation errors with Unixware native compiler.
9250
9251 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9252
9253         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9254         (next_frame_internal): Removed.  We now just have next_frame.
9255         (next_frame):
9256         Write a simpler and cleaner one-pass algorithm.
9257         Remove called_from_delete_device arg and #ifdefed-out code.
9258         (previous_frame):
9259         Renamed from prev_frame.  Update callers.
9260         Cleaned up to have an analogous implementation to next_frame.
9261         (other_visible_frames_internal): Remove the
9262         called_from_delete_device bogus arg, and hence, remove this
9263         function.  Just use other_visible_frames().
9264
9265         * window.c (Fnext_window):
9266         Prettify docstring.
9267         Since next_frame() is guaranteed to return a frame, remove check
9268         for nil inserted in previous patch.
9269         (Fprevious_window):
9270         Prettify docstring.
9271         Make code look more like Fnext_window.
9272         (window_loop):
9273         Respect the `console' arg when iterating through windows.
9274         Fixes bug: (get-buffer-window buffer t device) not respecting
9275         the `device' arg.
9276         This function needs more work, as others have pointed out.
9277
9278         * frame.h: Rename prev_frame to previous_frame.
9279         device_matches_console_spec no longer takes a `frame' arg.
9280
9281         * s/gnu.h:
9282         * s/linux.h:
9283         * s/hpux.h:
9284         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9285         From "Golubev I. N." <gin@mo.msk.ru>.
9286
9287         * make-src-depend: Fix typo.
9288
9289 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9290
9291         * window.c (Fnext_window):
9292         next_frame() might return nil, not a frame.
9293         Fixes this crash:
9294         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9295
9296         * frame.c (next_frame_internal):
9297         We've passed a frame if we've passed its device.
9298         Fixes this crash:
9299         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9300 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9301
9302 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9303
9304         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9305         Allow option to suppress accelerators in menu/dialog items.
9306         (populate_or_checksum_helper): Pass dialog title through above.
9307
9308 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9309
9310         * event-msw.c (mswindows_key_to_emacs_keysym):
9311         Add "pause" key, fix "menu" key.
9312
9313 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9314
9315         * eval.c (reinit_vars_of_eval):
9316         Increase max_lisp_eval_depth to 1000,
9317         required for thai-xtis.el to byte-compile under some circumstances.
9318
9319 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9320
9321         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9322         From Kenichi Handa.
9323
9324 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9325
9326         * make-src-depend: Make the generated Makefiles smaller.
9327
9328         * s/hpux.h (SETUP_SLAVE_PTY):
9329         Provide a %d in the format string for the errno argument.
9330
9331         * editfns.c (Ftemp_directory):
9332         Warning fix.
9333         Avoid buffer overrun on very long file name.
9334
9335         * input-method-xlib.c (XIM_init_device):
9336         6th parameter of XRegisterIMInstantiateCallback has different
9337         pointer types on different OSes, so simply cast to (void *).
9338
9339         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9340
9341         * sysdll.c (dll_open):
9342         shl_load will hang hard if passed a NULL filename.
9343         Simply return NULL for compatibility with dlopen.
9344         * sysdll.c: Conform to XEmacs coding standards.
9345
9346         * sysdep.c (get_pty_max_bytes):
9347         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9348
9349 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9350
9351         * tooltalk.c: Add #include <syssignal.h>
9352
9353 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9354
9355         * s/hpux.h: Don't use undefined function sigunblock().
9356
9357 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9358
9359         * config.h.in: Add HAVE_BALLOON_HELP.
9360         * emacs.c: Use HAVE_BALLOON_HELP.
9361         * Makefile.in.in (x_objs):
9362         Make Balloon Help conditional on finding shape.h.
9363
9364 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9365
9366         * syntax.c (regex_emacs_buffer_p): New variable.
9367         * syntax.h (regex_emacs_buffer_p): extern.
9368         * search.c (looking_at_1):
9369         (string_match_1):
9370         (fast_string_match):
9371         (search_buffer): Set regex_emacs_buffer_p.
9372         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9373         when before_dot, at_dot, after_dot.
9374
9375 2000-08-23  Andy Piper  <andy@xemacs.org>
9376
9377         * gui-x.c (popup_selection_callback): Only set action_occurred
9378         when we really have an image instance.
9379         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9380
9381 2000-08-23  Andy Piper  <andy@xemacs.org>
9382
9383         * gui-msw.c (mswindows_handle_gui_wm_command): set
9384         action_occurred.
9385         * gui-x.c (popup_selection_callback): ditto.
9386
9387         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9388         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9389         (struct Lisp_Image_Instance): add action_occurred flag.
9390
9391         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9392         (image_instance_changed): ditto.
9393         (reset_frame_subwindow_instance_cache): only unmap windows - do
9394         not remove them from the cache also.
9395
9396         * glyphs-widget.c (tab_control_update): better debug.
9397         (progress_gauge_update): ditto.
9398         (layout_update): ditto.
9399         (layout_instantiate): ditto.
9400         (tab_control_order_only_changed): cope with null pending items.
9401
9402         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9403         debug. Force selection of an item when an action occurred. Cope
9404         with null pending_items.
9405         (mswindows_progress_gauge_redisplay): better debug.
9406         * glyphs-x.c (x_tab_control_redisplay): ditto.
9407
9408         * redisplay.c (redisplay_frame): reset the frame cache if the
9409         frame is garbaged.
9410
9411         * window.c (Fset_window_configuration): potentially re-enable
9412         frame cache reset.
9413         (window_unmap_subwindows): need to finalize instances here since
9414         it is only used in mark_window_as_deleted.
9415
9416 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9417
9418         * nas.c (SndOpenDataForReading):
9419         nas.c (WaveOpenDataForReading):
9420         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9421         Somehow escaped from the 2000-08-14 patch.
9422
9423 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9424
9425         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9426         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9427
9428 2000-08-21  Andy Piper  <andy@xemacs.org>
9429
9430         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9431         window if it is not already displayed.
9432
9433         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9434         it is not already displayed.
9435
9436         * window.c (Fset_window_configuration): don't reset the frame
9437         cache.
9438
9439         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9440         instances from the frame cache if we are actually finalizing them.
9441         (reset_frame_subwindow_instance_cache): reset frame cache only
9442         after unmapping everything.
9443         (map_subwindow): set displayed flag after mapping.
9444
9445 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9446
9447         * data.c (indirect_function):
9448         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9449
9450         * eval.c (function_argcount):
9451         Use original function when signaling errors.
9452
9453 2000-08-18  Andy Piper  <andy@xemacs.org>
9454
9455         * frame.c (delete_frame_internal): use new
9456         free_frame_subwindow_instances name.
9457
9458         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9459         (add_tab_item): make return type correct.
9460         (mswindows_tab_control_instantiate): assert index of tab.
9461         (mswindows_tab_control_redisplay): Re-code to use
9462         gui_item_equal_sans_selected and gui_item_list_find_selected.
9463
9464         * glyphs-widget.c (tab_control_update): Correct comment.
9465
9466         * window.c (window_unmap_subwindows): use new
9467         unmap_subwindow_instance_cache_mapper.
9468         (window_unmap_subwindows_cache_mapper): deleted.
9469         (Fset_window_configuration): comparisons should now be with
9470         EQ. Preserve the subwindow instance cache across configuration
9471         changes.
9472         (allocate_window): ditto.
9473         (make_dummy_parent): ditto.
9474
9475         * glyphs.c (free_frame_subwindow_instances): rename from
9476         free_frame_subwindow_instance_cache. finalize all instances rather
9477         than just those in the display cache.
9478         (finalize_all_subwindow_instances): walk windows unmapping and
9479         finalizing subwindows.
9480         (unmap_subwindow_instance_cache_mapper): moved from
9481         window.c. Allow finalization as well as unmapping.
9482
9483         * gui.c (gui_item_list_find_selected): new function.
9484
9485         * gui.h (gui_item_list_find_selected): declare.
9486
9487         * glyphs-x.c (x_tab_control_redisplay): pick tab
9488         explicitly. Re-code to use gui_item_equal_sans_selected and
9489         gui_item_list_find_selected.
9490
9491         * glyphs-x.h: add lwlib-utils.h
9492
9493         * buffer.c (Frecord_buffer): undo previous change.
9494
9495 2000-08-09  Vin Shelton  <acs@xemacs.org>
9496
9497         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9498         possible.  Create temporary files more securely.  The patch was
9499         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9500         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9501         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9502         for details.
9503
9504 2000-08-07  Ben Wing  <ben@xemacs.org>
9505
9506         * getloadavg.c: remove duplicate (and windows-breaking)
9507         includes of fcntl.h and sys/file.h.
9508
9509         * nt.c: remove duplicate getloadavg() definition.
9510
9511         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9512         encodings.
9513
9514 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9515
9516         * eval.c (function_argcount): If function needs to be autoloaded
9517         actually use the loaded definition.
9518         GCPRO function.
9519
9520 2000-08-05  Ben Wing  <ben@xemacs.org>
9521
9522         * getloadavg.c: add prototype for getloadavg().  remove
9523         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9524         of the code).  remove duplicate header includes.
9525
9526         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9527
9528         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9529         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9530         useful load average.
9531
9532         * alloc.c (reinit_alloc_once_early): removed references to
9533         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9534         the lisp vars are the only things referencing the malloc_sbrk_*
9535         vars, and they were already if 0'd out.  these vars only exist
9536         in the older malloc.c, which is basically unused, and they're
9537         only for informational purposes.
9538
9539         * m\*.h: removed useless VIRT_ADDR_VARIES.
9540
9541         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9542
9543 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9544
9545         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9546         color if the image is a mono pixmap.
9547
9548 2000-07-30  Ben Wing  <ben@xemacs.org>
9549
9550         * Makefile.in.in (release):
9551         Remove stray @.
9552
9553         * buffer.c (directory_is_current_directory):
9554         * dired-msw.c (mswindows_get_files):
9555         * dired.c:
9556         * dired.c (Fdirectory_files):
9557         * dired.c (file_name_completion_stat):
9558         * dired.c (Ffile_attributes):
9559         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9560         preprocessor tricks, to avoid problems on some machines
9561         (e.g. SCO).
9562
9563         * callproc.c (egetenv): GC docs.
9564
9565         * console-msw.h:
9566         * console-msw.h (struct mswindows_dialog_id):
9567         * lrecord.h (lrecord_type):
9568         New object for use with MSW dialogs.
9569
9570         * console.h (struct console_methods):
9571         New enable/disable frame methods, for proper modal dialogs.
9572
9573         * device-msw.c (msprinter_default_printer): Fix to follow
9574         proper Mule conventions.
9575
9576         * device-msw.c:
9577         * device-msw.c (signal_open_printer_error):
9578         * device-msw.c (msprinter_init_device):
9579         * device-msw.c (ensure_not_printing):
9580         * device-msw.c (plist_get_margin):
9581         * device-msw.c (Fmsprinter_select_settings):
9582         * device-msw.c (finalize_devmode):
9583         * device-msw.c (Fmsprinter_settings_despecialize):
9584         * device-msw.c (signal_enum_priner_error):
9585         * extents.c (decode_extent):
9586         * extents.c (decode_map_extents_flags):
9587         * extents.c (decode_extent_at_flag):
9588         * extents.c (Fextent_at):
9589         * extents.c (Fextents_at):
9590         * extents.c (symbol_to_glyph_layout):
9591         [[[[2]]]] Use structured errors.
9592
9593         * dialog-msw.c:
9594         * dialog-msw.c (mswindows_is_dialog_msg):
9595         * dialog-msw.c (mark_mswindows_dialog_id):
9596         * dialog-msw.c (dialog_proc):
9597         * dialog-msw.c (handle_question_dialog_box):
9598         * dialog-msw.c (syms_of_dialog_mswindows):
9599         Define new object to clean up marking; use it as a dialog identifier.
9600         Call new delete-dialog-box-hook.
9601
9602         * dialog-x.c (dbox_selection_callback):
9603         * dialog-x.c (dbox_descriptor_to_widget_value):
9604         * dialog-x.c (x_make_dialog_box_internal):
9605         Call new delete-dialog-box-hook.
9606         Return an id.
9607
9608         * dialog.c:
9609         * dialog.c (syms_of_dialog):
9610         * dialog.c (vars_of_dialog):
9611         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9612
9613         * eval.c:
9614         * eval.c (signal_call_debugger):
9615         when noninteractive, output stack traces on the console instead
9616         of in a (never-seen) buffer.
9617
9618         * eval.c (signal_type_error):
9619         * eval.c (invalid_argument_2):
9620         * lisp.h:
9621         new funs for use w/structured errors.
9622
9623         * event-Xt.c:
9624         * event-Xt.c (x_to_emacs_keysym):
9625         * event-Xt.c (describe_event):
9626         * event-Xt.c (emacs_Xt_event_handler):
9627         * event-Xt.c (vars_of_event_Xt):
9628         * event-msw.c:
9629         * event-msw.c (mswindows_wnd_proc):
9630         * event-msw.c (vars_of_event_mswindows):
9631         rename {x,mswindows}-debug-events to debug-{}-events for
9632         consistency with other debug-foo variables.
9633
9634         * event-stream.c:
9635         document next-event more clearly.
9636
9637         * fileio.c (Ffile_name_directory):
9638         * fileio.c (Ffile_name_nondirectory):
9639         * fileio.c (Funhandled_file_name_directory):
9640         * fileio.c (file_name_as_directory):
9641         * fileio.c (Ffile_name_as_directory):
9642         * fileio.c (directory_file_name):
9643         * fileio.c (Fdirectory_file_name):
9644         * fileio.c (Fmake_temp_name):
9645         * fileio.c (Ffile_truename):
9646         * fileio.c (Fsubstitute_in_file_name):
9647         * fileio.c (expand_and_dir_to_file):
9648         * fileio.c (barf_or_query_if_file_exists):
9649         * fileio.c (check_executable):
9650         * fileio.c (Ffile_exists_p):
9651         * fileio.c (Ffile_writable_p):
9652         * fileio.c (Ffile_directory_p):
9653         * fileio.c (Ffile_regular_p):
9654         * fileio.c (Ffile_modes):
9655         * fileio.c (Ffile_newer_than_file_p):
9656         * fileio.c (Fverify_visited_file_modtime):
9657         * fileio.c (Fset_visited_file_modtime):
9658         * fileio.c (auto_save_1):
9659         (1). (2).
9660         fix up gcpro's.
9661
9662         * frame-msw.c:
9663         * frame-msw.c (mswindows_init_frame_1):
9664         * frame-msw.c (mswindows_enable_frame):
9665         * frame-msw.c (error_frame_unsizable):
9666         * frame-msw.c (msprinter_init_frame_1):
9667         * frame-msw.c (msprinter_init_frame_3):
9668         * frame-msw.c (console_type_create_frame_mswindows):
9669         (2).
9670         implement new enable/disable frame methods.
9671
9672         * frame-x.c:
9673         * frame-x.c (x_enable_frame):
9674         * frame-x.c (console_type_create_frame_x):
9675         implement new enable/disable frame methods.
9676
9677         * frame.c:
9678         * frame.c (Fdisable_frame):
9679         * frame.c (syms_of_frame):
9680         * frame.h (struct frame):
9681         implement new enable/disable frame methods/functions.
9682
9683         * general-slots.h:
9684         add initial-focus.
9685
9686         * glyphs-msw.c (mswindows_widget_instantiate):
9687         comment that initial-focus should be implemented.
9688
9689         * glyphs-widget.c:
9690         * glyphs-widget.c (check_valid_instantiator):
9691         * glyphs-widget.c (check_valid_orientation):
9692         * glyphs-widget.c (check_valid_tab_orientation):
9693         * glyphs-widget.c (check_valid_justification):
9694         * glyphs-widget.c (check_valid_border):
9695         * glyphs-widget.c (check_valid_callback):
9696         * glyphs-widget.c (check_valid_int_or_function):
9697         * glyphs-widget.c (check_valid_string_or_vector):
9698         * glyphs-widget.c (check_valid_item_list_1):
9699         * glyphs-widget.c (widget_validate):
9700         * glyphs-widget.c (combo_box_validate):
9701         * glyphs-widget.c (widget_instantiate):
9702         * glyphs-widget.c (syms_of_glyphs_widget):
9703         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9704         * glyphs-widget.c (image_instantiator_combo_box):
9705         * glyphs-widget.c (image_instantiator_scrollbar):
9706         * glyphs-widget.c (image_instantiator_tab_control):
9707         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9708         (2).
9709         support (unimplemented) keyword initial-focus.
9710         reindent long macros.
9711
9712         * glyphs-x.c (x_redisplay_widget):
9713         * glyphs-x.c (x_button_instantiate):
9714         * glyphs-x.c (x_button_redisplay):
9715         * glyphs-x.c (x_progress_gauge_instantiate):
9716         * glyphs-x.c (x_edit_field_instantiate):
9717         * glyphs-x.c (x_combo_box_instantiate):
9718         * glyphs-x.c (x_tab_control_instantiate):
9719         * glyphs-x.c (x_label_instantiate):
9720         * gui-x.c:
9721         * gui-x.c (button_item_to_widget_value):
9722         * gui-x.c (gui_items_to_widget_values_1):
9723         * gui-x.c (gui_item_children_to_widget_values):
9724         * gui-x.c (gui_items_to_widget_values):
9725         * gui-x.h:
9726         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9727         add new flag to gui-parsing routines to indicate whether
9728         accelerator specs should be supported.
9729
9730         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9731
9732         * glyphs.h (struct Lisp_Image_Instance):
9733         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9734         add initial-focus flag.
9735
9736         * gui.c:
9737         * gui.c (syms_of_gui):
9738         * gui.c (vars_of_gui):
9739         clean up menu-no-selection-hook.
9740
9741         * gui.h:
9742         support delete-dialog-box-hook.
9743
9744         * lread.c (Fload_internal):
9745         * lread.c (locate_file_in_directory_mapper):
9746         (1).
9747
9748         * lrecord.h:
9749         * lrecord.h (struct toolbar_button):
9750         * lrecord.h (syms_of_toolbar):
9751         document how to create a new object.
9752
9753         * menubar-msw.c (mswindows_char_is_accelerator):
9754         may be called on frames w/o menus.
9755
9756         * menubar.c (vars_of_menubar):
9757         clean up :filter docs.
9758
9759         * nt.c (readdir):
9760         * ntproc.c:
9761         (1).
9762
9763         * process-nt.c:
9764         * process-nt.c (validate_signal_number):
9765         * process-nt.c (signal_cannot_launch):
9766         * process-nt.c (nt_create_process):
9767         * process-nt.c (nt_send_process):
9768         * process-nt.c (nt_kill_child_process):
9769         * process-nt.c (nt_open_network_stream):
9770         * process-nt.c (syms_of_process_nt):
9771         (2).
9772         delete quote-handling.  call new lisp code that does it better.
9773
9774         * process-unix.c (connect_to_file_descriptor):
9775         * process-unix.c (allocate_pty):
9776         * process-unix.c (unix_send_process):
9777         * process-unix.c (unix_kill_child_process):
9778         * process-unix.c (unix_open_network_stream):
9779         * process-unix.c (unix_open_multicast_group):
9780         (1). (2).
9781
9782         * process.c:
9783         * process.c (Fstart_process_internal):
9784         (2).  need to canonicalize process path even if absolute.
9785
9786         * select-msw.c (symbol_to_ms_cf):
9787         * select-msw.c (ms_cf_to_symbol):
9788         * select-msw.c (cf_is_autofreed):
9789         * select-msw.c (mswindows_destroy_selection):
9790         * select.c:
9791         * select.c (syms_of_select):
9792         * select.h:
9793         support dibv5, fix bugs. (from Mike Alexander)
9794
9795         * select.c (Fget_selection_internal):
9796         * select.c (select_convert_out):
9797
9798         * sysdep.c:
9799         * sysdep.c (xemacs_stat):
9800         renamed.
9801
9802         * sysdep.c (mkdir):
9803         * sysdep.c (rmdir):
9804         but keep original stat() here because we provide encapsulation
9805         around these funs.
9806
9807         * sysfile.h:
9808         * sysfile.h (fstat):
9809         remove stat garbage.
9810
9811         * syswindows.h:
9812         fix X/MSW conflict.
9813         don't include tchar.h.  it's inappropriate because it makes
9814         compile-time distinctions when we want runtime distinctions.
9815         (we provide our own tchar replacements)
9816
9817         * toolbar.c:
9818         use default object printer for toolbar-button.
9819
9820         * unexcw.c:
9821         make sure we don't encapsulate.
9822
9823         * window.c (vars_of_window):
9824         emphasize that temp-buffer-show-hook is obsolete.
9825
9826 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9827
9828         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9829         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9830
9831         * events.c (Fevent_timestamp_lessp):
9832         Not 64-bit clean.  Use EMACS_INT, not int.
9833
9834 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9835
9836         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9837         unsigned int and changed the last enum to
9838         lrecord_type_last_built_in_type.
9839         (lrecord_implementations_table): changed prototype to know how
9840         long the array is supposed to be.
9841         (lrecord_type_count): new unsigned int to keep track of the
9842         current number of lisp lrecord types.
9843         (DEFINE_EXTERNAL_LRECORD):
9844         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9845         dynamic-modules to declare new lisp types. They are the same
9846         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9847         int for each new type, and increment lrecord_type_count by 1.
9848
9849         * alloc.c (lrecord_implementations_table): Changed to reference
9850         lrecord_type_last_built_in_type for the size of the array.
9851         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9852
9853 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9854
9855         * glyphs.h (check_valid_item_list): Renamed from
9856         check_valid_item_list_1.
9857
9858 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
9859
9860         * select.c (Qselect_coerce): New.
9861         * select.c (Vselection_coercion_alist): New.
9862         * select.c (syms_of_select): Declare.
9863         * select.c (get-selection-internal): Use it.
9864         Use the new select-coerce functionality.
9865
9866         * select.c (select_coerce): New.
9867         * select.h (select_coerce): Declare.
9868         New function to coerce one type of data into another.
9869
9870 2000-08-03  Martin Buchholz  <martin@xemacs.org>
9871
9872         * callproc.c (Fcall_process_internal):
9873         (Fcall_process_internal):
9874         * process-unix.c (unix_create_process):
9875         Save and restore the value of errno, so that error messages are accurate.
9876
9877 2000-08-01  Martin Buchholz  <martin@xemacs.org>
9878
9879         * elhash.c (print_hash_table):
9880         Fix printing of hash tables to also use `key-and-value' instead of `t'.
9881         Prettify docstrings and indentation.
9882
9883 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9884
9885         * window.c (Fwindow_pixel_edges): Subtract frame border and
9886         gutter size.
9887
9888 2000-07-31  Andy Piper  <andy@xemacs.org>
9889
9890         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
9891         will acknowledge the change.
9892
9893         * glyphs.h: declare tab_control_order_only_changed.
9894
9895         * glyphs-x.c (x_tab_control_redisplay): use
9896         tab_control_order_only_changed.
9897
9898         * glyphs-widget.c (tab_control_order_only_changed): new function.
9899
9900         * glyphs-msw.c (mswindows_tab_control_redisplay): use
9901         tab_control_order_only_changed.
9902
9903         * gui.c (gui_item_equal_sans_selected): new function.
9904         (gui_item_equal): use it.
9905
9906         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
9907         :properties in favor of :items..
9908
9909         * glyphs-widget.c (check_valid_item_list): rename from
9910         check_valid_item_list_1.
9911         (check_valid_item_list_1): renamed.
9912         (combo_box_validate): deprecate :properties in favor of :items.
9913         (widget_instantiate): ditto.
9914         (tab_control_update): ditto.
9915         (image_instantiator_combo_box): ditto.
9916         (image_instantiator_tree_view): ditto.
9917         (image_instantiator_tab_control): ditto.
9918         (layout_post_instantiate): remove dead code.
9919
9920         * print.c (debug_print_no_newline): only write to debugger if in
9921         WIN32_NATIVE.
9922
9923         * elhash.c (Fmake_hash_table): update doc string.
9924
9925         * event-msw.c (mswindows_wnd_proc): don't allow processing of
9926         messages whilst in GC. This at least stops XEmacs crashing but has
9927         the potential for wierd behaviour.
9928
9929 2000-07-31  Martin Buchholz  <martin@xemacs.org>
9930
9931         * config.h.in:
9932         Make existence of s&m files optional.
9933
9934         * s/bsd386.h: Remove HAVE_GETLOADAVG.
9935         * s/freebsd.h: Remove HAVE_GETLOADAVG.
9936         * s/gnu.h: Remove HAVE_GETLOADAVG.
9937         * s/netbsd.h: Remove HAVE_GETLOADAVG.
9938         * s/sol2.h: Remove HAVE_GETLOADAVG.
9939         * lisp.h: Remove getloadavg() declaration.
9940         * fns.c:
9941         Include <sys/loadavg.h> if available.
9942         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
9943         * config.h.in:  Group together getloadavg()-related macros.
9944         Use only configure-time tests to detect getloadavg().
9945
9946 2000-07-30  Martin Buchholz  <martin@xemacs.org>
9947
9948         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
9949
9950 2000-07-25  Andy Piper  <andy@xemacs.org>
9951
9952         * syswindows.h: add tchar.h for native builds.
9953
9954         * frame.c (syms_of_frame): remove set-glyph-image.
9955
9956         * general-slots.h: add Qset_glyph_image.
9957
9958         * glyphs-widget.c (layout_update): add domain arg to
9959         set-glyph-image.
9960         (syms_of_glyphs_widget): remove set-glyph-image.
9961
9962 2000-07-23  Ben Wing  <ben@xemacs.org>
9963
9964         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
9965         Vpopup_frame_list.
9966
9967 2000-07-22  Andy Piper  <andy@xemacs.org>
9968
9969         * symsinit.h: add syms_of_win32().
9970
9971         * gui-msw.c (syms_of_gui_mswindows): remove
9972         Fmswindows_shell_execute.
9973         (Fmswindows_shell_execute): moved to win32.c.
9974
9975         * emacs.c (main_1): add syms_of_win32 ().
9976
9977         * win32.c (init_potentially_nonexistent_functions): rewrite in
9978         compiler-friendly terms.
9979         (Fmswindows_shell_execute): move here from gui-msw.c.
9980         (syms_of_win32): new.
9981
9982         * device-msw.c (Fmswindows_printer_list): clean up args to
9983         EnumPrinters.
9984         Don't include tchar under cygwin or mingw.
9985         (msprinter_default_printer): make cygwin-friendly.
9986
9987 2000-07-21  Andy Piper  <andy@xemacs.org>
9988
9989         * glyphs-widget.c (image_instantiator_tree_view): use tab
9990         control's update function.
9991         (layout_property): new function. Retrieve items.
9992
9993         * glyphs-msw.c (mswindows_tree_view_redisplay): new
9994         function. Re-populate the tree view from the pending items.
9995
9996         * glyphs.c (instantiate_image_instantiator): Make sure the domain
9997         is designated the parent if the domain is an image instance. This
9998         is needed so that dirtiness can be cascade up the hierarchy and
9999         thus for layout children to be redisplayed correctly.
10000         (allocate_image_instance): rename glyph -> parent.
10001
10002         * redisplay.h: change redisplay_output_layout signature.
10003
10004         * redisplay-msw.c (mswindows_output_display_block): use domain
10005         arg.
10006
10007         * redisplay-x.c (x_output_display_block): use domain arg.
10008
10009 2000-07-10  Andy Piper  <andy@xemacs.org>
10010
10011         * window.c (Fset_window_configuration): add comment.
10012
10013         * redisplay-output.c (compare_runes):
10014         (redisplay_output_subwindow): redisplay rather than update subwindow.
10015         (redisplay_output_layout): ditto.
10016
10017         * redisplay-msw.c (mswindows_frame_output_end):
10018         (mswindows_frame_output_end): make defer window pos optional.
10019
10020         * lisp.h: add Flast.
10021
10022         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10023         normalize method. Change update method to be for changed
10024         instantiators. Add redisplay method. Change signature of layout
10025         method.
10026         (struct Lisp_Image_Instance): add instantiator.
10027         (IMAGE_INSTANCE_INSTANTIATOR): new.
10028         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10029         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10030         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10031
10032         * glyphs.c:
10033         (find_instantiator_differences): new function.
10034         (Fset_instantiator_property): new convenience function.
10035         (check_image_instance_structure): strictly check for vector
10036         instantiators.
10037         (normalize_image_instantiator): make non-static.
10038         (instantiate_image_instantiator): pass on dest_mask and use new
10039         signatures for image_instance_layout and friends.
10040         (mark_image_instance): mark the instantiator. Mark the subwindow
10041         face not the widget face.
10042         (image_instance_equal): add instantiator.
10043         (image_instance_hash): ditto.
10044         (allocate_image_instance): ditto.
10045         (Fset_image_instance_property): removed.
10046         (Fimage_instance_file_name): ditto.
10047         (Fcolorize_image_instance): ditto.
10048         (image_instance_layout): add offsets to be set.
10049         (update_image_instance): new function. update an image instance
10050         from its changed instantiator.
10051         (inherit_normalize): add dest_mask.
10052         (xbm_normalize): ditto.
10053         (xface_normalize): ditto.
10054         (xpm_normalize): ditto.
10055         (text_update): set_property -> update.
10056         (image_instantiate): use the glyph identity as a hash key, not the
10057         instantiator.
10058         (glyph_width): use new image_instance_layout signature.
10059         (glyph_ascent): ditto.
10060         (glyph_descent): ditto.
10061         (glyph_height): ditto.
10062         (glyph_query_geometry): ressurrect.
10063         (glyph_layout): ditto.
10064         (redisplay_subwindow): update -> redisplay.
10065         (syms_of_glyphs): add Fset_instantiator_property.
10066         (image_instantiator_format_create): set_property -> update.
10067
10068         * glyphs-x.c:
10069         (autodetect_normalize): add dest_maks to signature.
10070         (x_redisplay_subwindow): update -> redisplay.
10071         (x_redisplay_widget): ditto.
10072         (x_button_redisplay): ditto.
10073         (x_progress_gauge_redisplay): ditto.
10074         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10075         stacking order.
10076         (console_type_create_glyphs_x): update -> redisplay.
10077         (image_instantiator_format_create_glyphs_x): ditto.
10078
10079         * glyphs-widget.c:
10080         (check_valid_instantiator): disallow glyphs in the instantiator,
10081         they must now be vectors.
10082         (check_valid_instantiator_list): ditto.
10083         (glyph_instantiator_to_glyph): use internal symbol rather than
10084         intern.
10085         (widget_update): renamed from widget_set_property. Call cascaded
10086         update methods.
10087         (redisplay_widget): renamed from update_widget.
10088         (widget_layout): image_instance_layout now takes position as well
10089         as size.
10090         (widget_normalize): ditto.
10091         (widget_instantiate): ditto.
10092         (tab_control_query_geometry) ditto.:
10093         (tab_control_update): renamed from tab_control_set_property.
10094         (progress_gauge_update): set_property -> update.
10095         (layout_normalize): rewrite so that child instantiators are
10096         normalized also.
10097         (layout_update): new function. Create glyphs from the normalized
10098         children and cope with any other layout keywords. We do not
10099         instantiate children here that will be take care of by
10100         redisplay_output_layout.
10101         (layout_instantiate): call layout_update and not much else.
10102         (layout_post_instantiate): not sure whether this is needed
10103         anymore.
10104         (layout_query_geometry): query glyph geometry rather than
10105         image_instance geometry.
10106         (layout_layout): set offsets from pass in parameters. Use glyph
10107         geometry and layout functions rather than image instance ones.
10108         (native_layout_layout): ditto.
10109         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10110         (image_instantiator_widget): set_property -> update.
10111         (image_instantiator_buttons): ditto.
10112         (image_instantiator_progress_guage): ditto.
10113         (image_instantiator_tab_control): ditto.
10114         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10115         (image_instantiator_layout): add update method.
10116
10117         * glyphs-msw.c (bmp_normalize):
10118         (mswindows_resource_normalize): add dest_mask so that it can be
10119         proprogated by layout_normalize.
10120         (begin_defer_window_pos): make optional because it may not be the
10121         right thing to do and it introduces differences with X.
10122         (mswindows_unmap_subwindow): ditto.
10123         (mswindows_map_subwindow): ditto.
10124         (mswindows_redisplay_subwindow): renamed from
10125         mswindows_update_subwindow.
10126         (mswindows_redisplay_widget): ditto.
10127         (mswindows_button_redisplay): renamed from
10128         mswindows_button_update. Update is now what the instantiation
10129         function does for a changed instantiator.
10130         (mswindows_progress_gauge_instantiate): set the progress value
10131         here if appropriate.
10132         (mswindows_tab_control_redisplay): cope with re-ordering of the
10133         members of the tab widget by simply selecting the new top
10134         widget. This makes things appear ok if you click on a tab.
10135         (mswindows_combo_box_instantiate): image_instance_layout now takes
10136         position as well as size.
10137         (mswindows_progress_gauge_redisplay): renamed from
10138         mswindows_progress_gauge_update.
10139         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10140         (image_instantiator_format_create_glyphs_mswindows): ditto.
10141
10142         * glyphs-eimage.c (jpeg_normalize):
10143         (gif_normalize):
10144         (png_normalize):
10145         (tiff_normalize): add dest_mask so that it can be proprogated by
10146         layout_normalize.
10147
10148         * elhash.c:
10149         (print_hash_table):
10150         (hash_table_weakness_validate):
10151         (decode_hash_table_weakness):
10152         (Fhash_table_weakness):
10153         (Fhash_table_type):
10154         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10155
10156         * console.h (struct console_methods): move update_* to
10157         redisplay_*.
10158
10159 2000-07-20  Ben Wing  <ben@xemacs.org>
10160
10161         * *.[ch] (XSETOBJ): remove unused middle argument.
10162         lisp-disunion.h: correct wrap_object() to one argument.
10163
10164 2000-07-15  Ben Wing  <ben@xemacs.org>
10165
10166         * s/cygwin32.h:
10167         * s/cygwin32.h (CYGWIN_CONV_PATH):
10168         Add missing logb prototype for v1.1.
10169         Use post-b20 names and alias to pre-b20 names when pre-b20.
10170
10171         * s/windowsnt.h: [5].
10172
10173 2000-07-15  Ben Wing  <ben@xemacs.org>
10174
10175         * Makefile.in.in (x_objs):
10176         * Makefile.in.in (sheap_objs):
10177         * Makefile.in.in (objs):
10178         added win32.o, cosmetic cleanups.
10179
10180         * alloc.c (Fmake_byte_code):
10181         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10182         etc. macros which declare their own args now.
10183
10184         * alloc.c (syms_of_alloc):
10185         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10186
10187         * buffer.c:
10188         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10189
10190         * buffer.c (Fget_file_buffer):
10191         Fixed GCPRO problem.
10192
10193         * buffer.c (get_truename_buffer):
10194         Fixed comment about GC checking.
10195
10196         * buffer.c (syms_of_buffer):
10197         Undeclared those dedicated frame funs.
10198         [2].
10199
10200         * buffer.h:
10201         Define convenience macros for internal/external conversions.
10202         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10203         and Qenvironment_variable_encoding for cleaner code.
10204
10205         * bufslots.h:
10206         Remove dedicated-frame; in lisp.
10207
10208         * bytecode.c (funcall_compiled_function):
10209         [1].
10210
10211         * bytecode.c (syms_of_bytecode):
10212         [2].
10213
10214         * console-msw.c:
10215         * console-msw.c (mswindows_show_console): Rewrote.
10216
10217         * console-msw.c (Fmswindows_debugging_output): New.
10218         Sends to OutputDebugString (special MSWin debugger interface).
10219
10220         * console-msw.c (Fmswindows_message_box):
10221         Fixed stupid bugs so it works when called from kill-emacs.
10222
10223         * console-msw.c (syms_of_console_mswindows):
10224         Declare Fmswindows_debugging_output.
10225
10226         * console-msw.h:
10227         New MSWin prototypes.
10228
10229         * console-msw.h (struct mswindows_frame):
10230         New entry last-click-mods for improved button-modifier support.
10231
10232         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10233         New struct entry `popup' with corresponding accessor.
10234
10235         * console-x.c:
10236         * console-x.c (split_up_display_spec):
10237         * console-x.c (get_display_arg_connection):
10238         * console-x.c (x_semi_canonicalize_console_connection):
10239         * console-x.c (x_canonicalize_device_connection):
10240         [[[6]]]: Change char to more specific type.
10241         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10242
10243         * console-x.c (x_semi_canonicalize_console_connection):
10244         * console-x.c (x_canonicalize_device_connection):
10245         [[[9]]]: Fix up error signalling to use new structured error system.
10246
10247         * console-x.h:
10248         [[[4]]]: Define codesys aliases:
10249         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10250         Qx_color_name_encoding, Qx_display_name_encoding.
10251
10252         * console.h (struct console_methods):
10253         New method make_dialog_box_internal supersedes older
10254         popup_dialog_box method.
10255
10256         * data.c:
10257         Define many new errors, part of new structured errors.
10258
10259         * data.c (init_errors_once_early):
10260         * data.c (syms_of_data):
10261         [2].
10262
10263         * device-msw.c (mswindows_init_device):
10264         [[[5]]]: Cleanup to support NT 3.51.
10265
10266         * device-msw.c (decode_devmode): Cleanup.
10267
10268         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10269         * device-msw.c (mswindows_handle_print_dialog_box):
10270         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10271         * device-msw.c (syms_of_device_mswindows):
10272         Delete the dialog box primitives recently introduced by Kirill and
10273         instead interface to general dialog box interface.
10274
10275         * device-x.c:
10276         * device-x.c (compute_x_app_name):
10277         * device-x.c (x_init_device):
10278         * device-x.c (Fx_valid_keysym_name_p):
10279         * device-x.c (Fx_set_font_path):
10280         [6].
10281         [7].
10282
10283         * device.h (wrap_device): New.
10284         First of its kind; meant to replace XSETDEVICE.
10285
10286         * dialog-msw.c: Many file-dialog symbols.
10287
10288         * dialog-msw.c (mswindows_register_popup_frame): New.
10289         * dialog-msw.c (mswindows_is_dialog_msg): New.
10290         For supporting kbd traversal in dialog boxes.
10291
10292         * dialog-msw.c (dialog_proc):
10293         Support hitting ESC in dialogs.
10294
10295         * dialog-msw.c (struct):
10296         Common dialog box errors.
10297
10298         * dialog-msw.c (handle_file_dialog_box): New.
10299         Add file dialog code.
10300
10301         * dialog-msw.c (handle_question_dialog_box):
10302         Redo existing code to support new question dialog syntax.
10303
10304         * dialog-msw.c (console_type_create_dialog_mswindows):
10305         We support new dialog console method.
10306
10307         * dialog-msw.c (syms_of_dialog_mswindows):
10308         * dialog-msw.c (vars_of_dialog_mswindows):
10309         New file dialog symbols, vars.
10310
10311         * dialog-x.c:
10312         * dialog-x.c (maybe_run_dbox_text_callback):
10313         * dialog-x.c (dbox_descriptor_to_widget_value):
10314         * dialog-x.c (x_make_dialog_box_internal):
10315         * dialog-x.c (console_type_create_dialog_x):
10316         Mule-ize entire file.
10317         Redo to support question dialog syntax.
10318         [6].
10319
10320         * dialog.c:
10321         * dialog.c (Fmake_dialog_box_internal):
10322         * dialog.c (syms_of_dialog):
10323         Kill old popup-dialog-box, replace with new primitive.
10324         Just call device method or signal error.
10325
10326         * eldap.c (Fldap_open):
10327         * eldap.c (Fldap_search_basic):
10328         * eldap.c (Fldap_add):
10329         * eldap.c (Fldap_modify):
10330         [1].
10331         [7].
10332
10333         * emacs.c:
10334         * emacs.c (make_arg_list_1):
10335         * emacs.c (make_arg_list):
10336         Mule-ize call to dll_init().
10337         [6].
10338         [8].
10339
10340         * emacs.c (make_argc_argv):
10341         * emacs.c (free_argc_argv):
10342         * emacs.c (init_cmdargs):
10343         * emacs.c (main_1):
10344         * emacs.c (Fkill_emacs):
10345         * emacs.c (Fdump_emacs):
10346         Update comments about what can be used in syms_* etc.
10347         Call init_win32() when necessary.
10348         Fix up MS Win dialog box in kill-buffer to actually work right.
10349         [7].
10350
10351         * eval.c:
10352         * eval.c (For):
10353         * eval.c (Fand):
10354         * eval.c (Fprogn):
10355         * eval.c (Fprog1):
10356         * eval.c (Fprog2):
10357         * eval.c (FletX):
10358         * eval.c (Flet):
10359         * eval.c (condition_case_3):
10360         * eval.c (Feval):
10361         * eval.c (function_argcount):
10362         * eval.c (funcall_lambda):
10363         [1].
10364
10365         * eval.c (type_error): New.
10366         * eval.c (maybe_type_error): New.
10367         * eval.c (continuable_type_error): New.
10368         * eval.c (maybe_continuable_type_error): New.
10369         * eval.c (type_error_with_frob): New.
10370         * eval.c (maybe_type_error_with_frob): New.
10371         * eval.c (continuable_type_error_with_frob): New.
10372         * eval.c (maybe_continuable_type_error_with_frob): New.
10373         New functions for use with structured errors.
10374
10375         * event-Xt.c:
10376         * event-Xt.c (x_event_to_emacs_event):
10377         Buttons are now modifiers too.
10378
10379         * event-Xt.c (emacs_Xt_current_event_timestamp):
10380         Implement new event method.
10381         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10382
10383         * event-msw.c:
10384         * event-msw.c (ntpipe_shove_writer): [5].
10385         * event-msw.c (mswindows_enqueue_mouse_button_event):
10386         * event-msw.c (mswindows_drain_windows_queue):
10387         * event-msw.c (mswindows_wnd_proc): [7].
10388         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10389         * event-msw.c (mswindows_modifier_state):
10390         Throughout: support new button modifiers.
10391
10392         * event-msw.c (emacs_mswindows_current_event_timestamp):
10393         Implement new event method.
10394         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10395
10396         * event-stream.c:
10397         * event-stream.c (event_stream_current_event_timestamp): New.
10398         * event-stream.c (maybe_kbd_translate): New functionality.
10399         * event-stream.c (vars_of_event_stream):
10400         Document new kbd-translate-table functionality.
10401
10402         * event-stream.c (Fcurrent_event_timestamp): New.
10403         New primitive for use in fabricated events.
10404         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10405
10406         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10407
10408         * events.c:
10409         * events.c (Fmake_event):
10410         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10411         [1].
10412         [9].
10413
10414         * events.c (format_event_object): fix gcc warnings.
10415
10416         * events.c (Fevent_timestamp): Document new primitives.
10417
10418         * events.c (TIMESTAMP_HALFSPACE): New.
10419
10420         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10421         comparing timestamps correctly (half-space algorithm).
10422
10423         * events.c (Fevent_modifier_bits): Doc fix.
10424
10425         * events.c (Fevent_modifiers): Major doc addition.
10426         * events.c (event_x_y_pixel_internal): Typo fix.
10427         * events.c (syms_of_events): Declare new primitives.
10428
10429         * events.h:
10430         Update long comment for button modifiers, timestamps.
10431
10432         * events.h (struct event_stream):
10433         New current_event_timestamp method.
10434
10435         * extents.c:
10436         * extents.c (extent_in_region_p):
10437         * extents.c (decode_extent):
10438         * extents.c (Fset_extent_parent):
10439         * extents.c (decode_map_extents_flags):
10440         Fix gcc warnings.
10441         [9].
10442
10443         * extents.c (struct extent_at_arg):
10444         * extents.c (decode_extent_at_flag):
10445         * extents.c (extent_at_mapper):
10446         * extents.c (extent_at_bytind):
10447         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10448         * extents.c (Fextents_at): New primitive. [9].
10449         * extents.c (symbol_to_glyph_layout): [9].
10450         Support new primitive `extents-at'.
10451
10452
10453         * extents.c (get_text_property_bytind):
10454         extent_at_bytind has another arg.
10455         [9].
10456
10457         * extents.c (syms_of_extents): New primitive.
10458
10459         * file-coding.c (Fmake_coding_system): [1].
10460         * file-coding.c (subsidiary_coding_system): fix gcc warning
10461         * file-coding.c (syms_of_file_coding): [2].
10462
10463         * fileio.c (Fexpand_file_name):
10464         * fileio.c (Fsysnetunam):
10465         * fileio.c (Ffile_exists_p):
10466         * fileio.c (Ffile_executable_p):
10467         * fileio.c (Fverify_visited_file_modtime):
10468         Clean up GCPROing.
10469
10470         * fileio.c (syms_of_fileio): [2].
10471
10472         * filelock.c (lock_file_1):
10473         * filelock.c (current_lock_owner):
10474         * filelock.c (lock_if_free):
10475         * filelock.c (lock_file):
10476         * filelock.c (unlock_file):
10477         Clean up GCPROing.
10478
10479         * fns.c (concat): Fix gcc warning.
10480
10481         * fns.c (Fmember):
10482         * fns.c (Fold_member):
10483         * fns.c (Fmemq):
10484         * fns.c (Fold_memq):
10485         * fns.c (memq_no_quit):
10486         * fns.c (Fassoc):
10487         * fns.c (Fold_assoc):
10488         * fns.c (Fassq):
10489         * fns.c (Fold_assq):
10490         * fns.c (assq_no_quit):
10491         * fns.c (Frassoc):
10492         * fns.c (Fold_rassoc):
10493         * fns.c (Frassq):
10494         * fns.c (Fold_rassq):
10495         * fns.c (rassq_no_quit):
10496         * fns.c (Fdelete):
10497         * fns.c (Fold_delete):
10498         * fns.c (Fdelq):
10499         * fns.c (Fold_delq):
10500         * fns.c (delq_no_quit):
10501         * fns.c (Fremassoc):
10502         * fns.c (Fremassq):
10503         * fns.c (remassq_no_quit):
10504         * fns.c (Fremrassoc):
10505         * fns.c (Fremrassq):
10506         * fns.c (remrassq_no_quit):
10507         * fns.c (Freverse):
10508         * fns.c (mapcar1):
10509         [1].
10510
10511         * frame-msw.c (mswindows_init_frame_1):
10512         * frame-msw.c (mswindows_delete_frame):
10513         Register popups with dialog code so keyboard traversing works.
10514
10515         * frame-tty.c (tty_raise_frame_no_select): [1].
10516
10517         * frame-x.c:
10518         * frame-x.c (x_set_frame_text_value):
10519         * frame-x.c (x_set_frame_properties):
10520         * frame-x.c (x_create_widgets):
10521         [7].
10522
10523         * frame.c:
10524         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10525
10526         * frame.h (wrap_frame): New.
10527         Macro like wrap_device.
10528
10529         * general.c:
10530         * general.c (SYMBOL):
10531         * general.c (syms_of_general):
10532         Major reorg.  This is now just a wrapper and symbols themselves
10533         are listed in general-slots.h.
10534
10535         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10536         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10537
10538         * glyphs-msw.c (mswindows_native_layout_instantiate):
10539         Add DS_CONTROL so keyboard traversal will work.
10540
10541         * glyphs-widget.c:
10542         * glyphs-widget.c (syms_of_glyphs_widget):
10543         Move some symbols to general-slots.h.
10544
10545         * glyphs-x.c:
10546         * glyphs-x.c (xbm_instantiate_1):
10547         * glyphs-x.c (x_xbm_instantiate):
10548         * glyphs-x.c (x_xface_instantiate):
10549         * glyphs-x.c (autodetect_instantiate):
10550         * glyphs-x.c (cursor_font_instantiate):
10551         * glyphs-x.c (x_update_widget):
10552         * glyphs-x.c (x_widget_instantiate):
10553         * glyphs.c (bitmap_to_lisp_data):
10554         * glyphs.c (pixmap_to_lisp_data):
10555         [7].
10556
10557         * glyphs.c (syms_of_glyphs):
10558         [2].
10559
10560         * gui-x.c:
10561         * gui-x.c (print_widget_value):
10562         * gui-x.c (menu_separator_style_and_to_external):
10563         * gui-x.c (add_accel_and_to_external):
10564         * gui-x.c (button_item_to_widget_value):
10565         * gui-x.c (gui_items_to_widget_values_1):
10566         * gui-x.c (gui_items_to_widget_values):
10567         * gui-x.c (syms_of_gui_x):
10568         * gui-x.c (vars_of_gui_x):
10569         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10570         [9].
10571
10572         * gui-x.h:
10573         Muleize, prototype changes matching gui-x.c.
10574
10575         * gui.c:
10576         * gui.c (separator_string_p):
10577         * gui.c (gui_item_add_keyval_pair):
10578         * gui.c (make_gui_item_from_keywords_internal):
10579         * gui.c (signal_too_long_error):
10580         * gui.c (parse_gui_item_tree_item):
10581         * gui.c (syms_of_gui):
10582         * gui.c (vars_of_gui):
10583         * gui.h:
10584         menu-no-selection-hook moved here (used by MSWin).
10585         Move some symbols to general-slots.h.
10586         [6].
10587         [9].
10588
10589         * insdel.c (get_buffer_pos_char):
10590         * insdel.c (get_buffer_range_char):
10591         Add GC comments.
10592
10593         * keymap.c (keymap_lookup_directly):
10594         * keymap.c (keymap_store):
10595         * keymap.c (ensure_meta_prefix_char_keymapp):
10596         * keymap.c (describe_map):
10597         * keymap.h:
10598         Support new button modifiers.
10599
10600         * lisp-disunion.h (wrap_object):
10601         * lisp-disunion.h (XSETOBJ):
10602         Rename make_obj to wrap_object.
10603
10604         * lisp-union.h:
10605         * lisp-union.h (make_int):
10606         * lisp-union.h (make_char):
10607         Support wrap_object.
10608
10609         * lisp.h:
10610         * lisp.h (LIST_LOOP):
10611         * lisp.h (EXTERNAL_LIST_LOOP):
10612         * lisp.h (LIST_LOOP_2):
10613         * lisp.h (EXTERNAL_LIST_LOOP_1):
10614         * lisp.h (EXTERNAL_LIST_LOOP_2):
10615         * lisp.h (EXTERNAL_LIST_LOOP_3):
10616         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10617         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10618         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10619         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10620         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10621         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10622         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10623         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10624         * lisp.h (struct Lisp_Symbol):
10625         * lisp.h (maybe_continuable_error_with_frob):
10626         Fix up section comments.
10627         Add new types for char to indicate usage.
10628         Delete symbols auto-generated from general-slots.h.
10629         Add prototypes for structured error functions.
10630         Add long comments describing looping macros and change interface
10631         so that lvalues are automatically declared.
10632         Add NO_DECLARE macro in case callers want to declare lvalues
10633         themselves.
10634
10635         * lread.c (read_syntax_error):
10636         * lread.c (continuable_read_syntax_error):
10637         * lread.c (read_structure):
10638         * lread.c (sequence_reader):
10639         * lread.c (read_list_conser):
10640         * lread.c (read_compiled_function):
10641         Rename syntax_error and continuable_syntax_error to avoid clash
10642         with same-named structured error functions.
10643
10644         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10645         * menubar-msw.c (populate_menu_add_item):
10646         * menubar-msw.c (populate_or_checksum_helper):
10647         [5].
10648         [9].
10649
10650         * menubar-x.c:
10651         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10652         Mule-ize whole file.
10653
10654         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10655
10656         * mule-charset.c (Fmake_charset):
10657         * mule-wnnfns.c (Fwnn_set_param):
10658         [1].
10659
10660         * ntproc.c (create_child):
10661         * ntproc.c (Fwin32_set_current_locale):
10662         Add comments portending doom.
10663
10664         * objects-msw.c:
10665         * objects-msw.c (old_font_enum_callback_2):
10666         * objects-msw.c (font_enum_callback_1):
10667         * objects-msw.c (mswindows_enumerate_fonts):
10668         [5].
10669
10670         * objects-x.c:
10671         * objects-x.c (allocate_nearest_color):
10672         * objects-x.c (x_parse_nearest_color):
10673         * objects-x.c (x_initialize_color_instance):
10674         * objects-x.c (x_print_color_instance):
10675         * objects-x.c (x_finalize_color_instance):
10676         * objects-x.c (x_valid_color_name_p):
10677         * objects-x.c (x_initialize_font_instance):
10678         * objects-x.c (x_print_font_instance):
10679         * objects-x.c (valid_x_font_name_p):
10680         * objects-x.c (truename_via_FONT_prop):
10681         * objects-x.c (truename_via_random_props):
10682         * objects-x.c (truename_via_XListFonts):
10683         * objects-x.c (x_font_truename):
10684         * objects-x.c (x_font_instance_truename):
10685         * objects-x.c (x_font_instance_properties):
10686         * objects-x.c (x_list_fonts):
10687         * objects-x.c (x_find_charset_font):
10688         Mule-ize entire file.
10689         [7].
10690
10691         * objects-x.h:
10692         Mule-verify.
10693
10694         * print.c:
10695         * print.c (std_handle_out_external):
10696         * print.c (debug_print_no_newline):
10697         * print.c (syms_of_print):
10698         Output to all debugger kinds in debug-print.
10699         Fix console-output code under MSWin to actually work.
10700
10701         * process-nt.c (send_signal):
10702         * process-nt.c (nt_create_process):
10703         Use newer Unicode macros.
10704
10705         * process-unix.c (unix_create_process):
10706         * process-unix.c (unix_canonicalize_host_name):
10707         * process-unix.c (unix_open_network_stream):
10708         [7].
10709
10710         * scrollbar-x.c:
10711         Mule-verify.
10712
10713         * search.c (syms_of_search):
10714         [2].
10715
10716         * select-msw.c (mswindows_destroy_selection):
10717         Use LIST_LOOP_2.
10718
10719         * select-x.c (symbol_to_x_atom):
10720         [7].
10721
10722         * select.c (syms_of_select):
10723         [2].
10724
10725         * sound.c (Fplay_sound_file):
10726         [7].
10727
10728         * specifier.c:
10729         * specifier.c (decode_specifier_type):
10730         * specifier.c (Fvalid_specifier_locale_type_p):
10731         * specifier.c (check_valid_locale_or_locale_type):
10732         * specifier.c (decode_locale):
10733         * specifier.c (decode_locale_type):
10734         * specifier.c (decode_locale_list):
10735         * specifier.c (check_valid_domain):
10736         * specifier.c (decode_specifier_tag_set):
10737         * specifier.c (Fcanonicalize_tag_set):
10738         * specifier.c (Fdefine_specifier_tag):
10739         * specifier.c (Fspecifier_tag_predicate):
10740         * specifier.c (check_valid_inst_list):
10741         * specifier.c (check_valid_spec_list):
10742         * specifier.c (decode_how_to_add_specification):
10743         * specifier.c (check_modifiable_specifier):
10744         * specifier.c (specifier_add_spec):
10745         * specifier.c (boolean_validate):
10746         * specifier.c (display_table_validate):
10747         [9].
10748
10749         * specifier.c (syms_of_specifier):
10750         Move some symbols to general-slots.h.
10751         [2].
10752
10753         * symbols.c:
10754         * symbols.c (Fmapatoms):
10755         * symbols.c (Fapropos_internal):
10756         Add GCPROs.
10757
10758         * symbols.c (set_default_buffer_slot_variable):
10759         * symbols.c (set_default_console_slot_variable):
10760         [1].
10761
10762         * symbols.c (defsymbol_massage_name_1):
10763         * symbols.c (defkeyword_massage_name):
10764         * symbols.c (deferror_1):
10765         * symbols.c (deferror):
10766         * symbols.c (deferror_massage_name_and_message):
10767         * symeval.h:
10768         * symeval.h (DEFSYMBOL):
10769         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10770
10771         * symbols.c (syms_of_symbols):
10772         [2].
10773
10774         * symsinit.h:
10775         * symsinit.h (init_win32): New.
10776         Also new is syms_of_dialog_mswindows.
10777
10778         * syswindows.h:
10779         Add new Unicode macros, missing Cygwin wide-char functions,
10780         convenience conversion macros for Qmswindows_tstr, macros for
10781         encapsulating required MSWin <-> Cygwin filename conversions,
10782         prototype for dynamically-extracted (not in NT 3.51) functions.
10783
10784         * toolbar-x.c:
10785         Mule-verify.
10786
10787         * tooltalk.c (Fadd_tooltalk_message_arg):
10788         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10789         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10790         [7].
10791
10792         * tooltalk.c (syms_of_tooltalk):
10793         [2].
10794
10795         * unexnt.c:
10796         * unexnt.c (unexec):
10797         Fix up headers, declaration of unexec() to be more standard.
10798
10799 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10800
10801         * offix.h: Revert change to guard macros - they're used in offix.c!
10802
10803 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10804
10805         * lisp.h: Defsubred Fdelete.
10806
10807         * console-msw.h:  (msprinter_default_printer): Added.
10808
10809         * console-msw.c (msprinter_canonicalize_console_connection):
10810         (msprinter_canonicalize_device_connection): Added.
10811
10812         * device-msw.c (msprinter_default_printer):
10813         (Fmswingows_get_default_printer):
10814         (signal_enum_priner_error):
10815         (Fmswingows_printer_list): Added.
10816
10817 2000-07-19  Martin Buchholz <martin@xemacs.org>
10818
10819         * XEmacs 21.2.35 is released.
10820
10821 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10822
10823         * select-x.c (x_handle_selection_request):
10824         Text selected in xemacs and pasted into xterm failed to appear.
10825         Spelling fixes and cosmetic changes.
10826
10827 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10828
10829         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10830         XEmacs frame (fix for doubling chars in dialog boxes).
10831
10832 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10833
10834         * select.c (select_convert_in, select_convert_out):
10835         Don't call intern() every time.
10836
10837         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10838         * select.c (vars_of_select): Initialise them.
10839
10840 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10841
10842         * select.c (selection-coercible-types): New.
10843
10844         * select.c (own-selection-internal):
10845         * select.c (get-selection-internal):
10846         MULE bug fix - these should default to COMPOUND_TEXT and not
10847         STRING for MULE. I think.
10848
10849         * select.c (select_convert_out): Use selection-coercible-types
10850         to find types that we can attempt to perform coercions on.
10851
10852 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10853
10854         * mule-wnnfns.c:
10855         * mule-canna.c:
10856         Add coding: cookie to identify encoding.
10857
10858         * mule-canna.c (CANNA_mode_keys): make static.
10859         Use proper prototypes, even for functions of no arguments.
10860         Remove external prototype for Fding().
10861
10862         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
10863
10864         * select.c (syms_of_select): Add missing DEFSUBR.
10865
10866 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10867
10868         * select.c (get_selection_internal, own_selection_internal):
10869         Make the type default to STRING, rather than placing a nil type
10870         into Vselection_alist.
10871
10872 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10873
10874         * gpmevent.c (tty_selection_exists_p):
10875         * gpmevent.c (tty_own_selection):
10876         Updated parameter lists.
10877
10878 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
10879
10880         * select.h (selection-alist): Removed declaration.
10881
10882         * select.h (get_local_selection):
10883         * select.c (get_local_selection):
10884         Made static.
10885
10886         * select.h (convert_selection): Removed declaration.
10887         * select.c (convert_selection): Removed.
10888         This function belongs in Lisp.
10889
10890         * select.h (select_convert_in): Declare.
10891         * select.h (select_convert_out): Declare.
10892         * select.c (select_convert_in): New.
10893         * select.c (select_convert_out): New.
10894         New conversion functions for other files to call.
10895
10896         * select.h (select_notify_buffer_kill): Declare.
10897         * select.c (select_notify_buffer_kill): New.
10898         New functions that get called from kill-buffer.
10899
10900         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
10901         X-specific lisp code.
10902
10903         * select.h: Declare some of the lisp-visible functions for
10904         external use.
10905
10906         * select.c (clean_local_selection_data): Removed. This was
10907         a disgusting function, and previously should have been in
10908         select-x.c in any case. The functionality is now provided
10909         in select-convert-from-integer (select.el).
10910
10911         * select.c (available-selection-types): Fixed stupidity where
10912         INTEGER and ATOM got added twice. Also add STRING when we see an
10913         extent.
10914
10915         * select.c (get-selection-internal): Removed symbol stripping. No
10916         longer causes conversion when data comes from the internal cache.
10917
10918         * select.c (syms_of_select): Added new functions.
10919
10920         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
10921         error checking - previously this called abort!
10922
10923         * select-x.c (x_own_selection): Changed comment.
10924
10925         * select-x.c (x_handle_selection_request): Use select_convert_out.
10926         Don't mess with selection-alist; it's an internal variable of select.c.
10927
10928         * select-x.c (x_get_foreign_selection): Use select_convert_in.
10929
10930         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
10931         rather than messing with selection-alist.
10932
10933         * select-msw.c (mswindows_get_foreign_selection):
10934         Use TO_INTERNAL_FORMAT rather than hacking.
10935
10936 2000-07-14  Martin Buchholz  <martin@xemacs.org>
10937
10938         * process-unix.c (unix_open_multicast_group):
10939         (unix_open_multicast_group): Remove useless casts.
10940
10941 2000-07-13  Martin Buchholz  <martin@xemacs.org>
10942
10943         * sound.c (Fplay_sound): Fix `unused variable' warning.
10944
10945         * emacs.c (main): Use correct type for _environ on SCO5.
10946
10947 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
10948
10949         * console.h (own_selection_method):
10950         * console.h (selection_exists_p_method):
10951         * console.h (available_selection_types_method): New.
10952         * console.h (register_selection_data_type_method): New.
10953         * console.h (selection_data_type_name): New.
10954
10955         * console-msw.h (mswindows_destroy_selection): Declare it.  New
10956         function & alist to track GlobalAlloc()'d handles that need
10957         releasing when the clipboard data gets replaced or emptied.
10958
10959         * event-msw.c (mswindows_wnd_proc): Call it.
10960
10961         * lisp.h, general.c (Qappend): New symbol representing a
10962         `how-to-add' mode.
10963
10964         * select.c (own-selection-internal):
10965         * select.c (selection-exists-p):
10966         * select.c (available-selection-types): New.
10967         * select.c (register-selection-data-type): New.
10968         * select.c (selection-data-type-name): New.  New functions to deal
10969         with device-specific selection data formats.
10970         * select.c (selection-converter-out-alist): Renamed.
10971         * select.c (selection-converter-in-alist): New.
10972         * select.c (selection-appender-alist): New.  Added new alists.
10973         * select.c (syms_of_select, vars_of_select): Added new symbols &
10974         variables.
10975         * select.c (get_local_selection): Split.
10976         * select.c: Removed spurious type checking - selections may now be
10977         of any type, not just strings.
10978         * select.c (own-selection-internal):
10979
10980         * select.h, select.c (convert_selection): New. Created
10981         convert_selection() function based on get_local_selection().
10982         * select.h, select.c (QCF_*): New symbols representing mswindows
10983         clipboard formats.
10984         * select.h, select.c (Qreplace_all, Qreplace_existing): New
10985         symbols representing `how-to-add' modes.
10986
10987         * select-msw.c (x_sym_p): New.
10988         * select-msw.c (symbol_to_ms_cf): New.
10989         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
10990         symbols & clipboard formats. Can also handle string names.
10991         * select-msw.c (mswindows_own_selection):
10992         * select-msw.c (mswindows_selection_exists_p):
10993         Added `data-type' parameter. Use it.
10994         * select-msw.c (mswindows_available_selection_types): New.
10995         * select-msw.c (mswindows_register_selection_data_type): New.
10996         * select-msw.c (mswindows_selection_data_type_name): New.
10997         * select-msw.c (mswindows_own_selection):
10998         * select-msw.c (mswindows_get_foreign_selection):
10999         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11000         * select-msw.c (console_create_select_mswindows): Added new methods.
11001         * select-msw.c (mswindows_destroy_selection): New.
11002         * select-msw.c (Vhandle_alist): New list.
11003         * select-msw.c (mswindows_own_selection):
11004
11005         * select-x.c (x_own_selection):
11006         * select-x.c (x_selection_exists_p):
11007         * select-x.c: Added some comments about maybe using new
11008         functionality.
11009         * select-x.c (x_own_selection):
11010
11011         * specifier.c: Remove definition of Qappend (now in general.c)
11012         * specifier.c (syms_of_specifier): Remove Qappend.
11013
11014 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11015
11016         * config.h.in: Add socklen_t.
11017
11018         * s/decosf4-0.h: No special compiler flags needed or desired.
11019         In particular, undefine _BSD for DEC OSF 4.0.
11020
11021 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11022
11023         * redisplay-msw.c (msprinter_frame_output_end): Added.
11024         (console_type_create_redisplay_mswindows): Referred the above.
11025
11026         * frame.c (setup_frame_without_minibuffer): Do not create a
11027         default minibuffer frame on a printer device.
11028
11029         * frame-msw.c (apply_dc_geometry): Added.
11030         (msprinter_start_page):
11031         (msprinter_init_frame_3):
11032         (msprinter_eject_page): Use it.
11033
11034         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11035         and removed residual duplex and orientation properties.
11036
11037 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11038
11039         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11040
11041         * unexalpha.c: Remove system prototypes from C sources!
11042
11043 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11044
11045         * eval.c: Remove references to M-x edit-options in DEFUNs for
11046         `defvar' and `defconst'.
11047
11048 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11049
11050         * config.h.in: Remove SMART_INCLUDE hackery.
11051
11052         PostgreSQL hacking:
11053         * config.h.in: Don't use SMART_INCLUDE.
11054
11055         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11056         * inline.c: Simply #include "postgresql.h"
11057         * postgresql.c:
11058         - Don't use SMART_INCLUDE
11059         - Use simply "const".
11060         - Use standard doc string conventions.
11061         - Use correct type for result of PQstatus.
11062
11063 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11064
11065         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11066
11067         C++ compilation changes.
11068         * config.h.in (EXTERN_C): Define.
11069         * config.h.in (not): This is also a C++ keyword.
11070         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11071         * cm.c: Use EXTERN_C.
11072         * redisplay-tty.c: Use EXTERN_C.
11073         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11074
11075 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11076
11077         * general.c: Remove duplicate definition for Qfunction.
11078
11079 2000-07-08  Ben Wing  <ben@xemacs.org>
11080
11081         * device-msw.c (msprinter_init_device):
11082         * device-msw.c (sync_printer_with_devmode):
11083         * device-msw.c (handle_devmode_changes):
11084         * device-msw.c (print_dialog_worker):
11085         * device-msw.c (Fmsprinter_apply_settings):
11086         * device-msw.c (hash_devmode):
11087         * device-msw.c (Fmsprinter_settings_despecialize):
11088         use Qmswindows_tstr, not Qctext.
11089
11090         * vm-limit.c (check_memory_limits):
11091         avoid infinite loop printing warning messages.
11092
11093 2000-07-05  Craig Lanning  <lanning@scra.org>
11094
11095         * Makefile.in.in: Add support for including the Windows resources
11096         when building with the cygwin and mingw targets.
11097
11098         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11099         not set or not correct.
11100         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11101         (init_initial_directory): Don't try to use $PWD on the
11102         WIN32_NATIVE target.
11103
11104         * s\cygwin32.h:
11105         [[Add -mwindows to eliminate console window.]] not required --ben
11106         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11107         (MAIL_USE_POP): removed; now handled by configure.
11108
11109         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11110         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11111         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11112         (MAIL_USE_POP): removed; now handled by configure.
11113         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11114         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11115         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11116         constant string.
11117         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11118         up from <winsock.h> via systime.h.
11119         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11120         (getpagesize): from Dan Holmsand, added.
11121         Added #endif which was left dangling by Ben's mega patch; added
11122         comment to help prevent this in the future.
11123
11124         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11125
11126 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11127
11128         * console-msw.h (struct mswindows_device): Removed unnecessary
11129         cached device geometry values.
11130         Added update_tick and an accessor macro.
11131         (Lisp_Devmode): Added lrecord declaration.
11132         (struct msprinter_device): Contain devmode as a Lisp object.
11133         Added mswindows_get_selected_frame_hwnd();
11134
11135         * console.h (struct console_methods): Indentation nitpicking.
11136
11137         * device-msw.c (mswindows_init_device): Do not initialize geometry
11138         cache. Initialize update tick.
11139         (mswindows_device_system_metrics): Ask the device for its geometry.
11140         (global_free_2_maybe):
11141         (devmode_to_hglobal):
11142         (handle_printer_changes):
11143         (ensure_not_printing):
11144         (print_dialog_worker):
11145         (Fmsprinter_print_setup_dialog):
11146         (Fmsprinter_print_dialog):
11147         (plist_get_margin):
11148         (plist_set_margin):
11149         (Fmsprinter_page_setup_dialog): Added functions.
11150         (sync_printer_with_devmode):
11151         (handle_devmode_changes):
11152         (Fmsprinter_get_settings):
11153         (Fmsprinter_select_settings):
11154         (Fmsprinter_apply_settings):
11155         (allocate_devmode):
11156         (Fmsprinter_settings_copy):
11157         (Fmsprinter_settings_despecialize):
11158         (print_devmode):
11159         (finalize_devmode):
11160         (equal_devmode):
11161         (hash_devmode): Added functions
11162         (syms_of_device_mswindows): Init devmode lrecord class.
11163
11164         * device.h: Added an exfun for find-device.
11165
11166         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11167         geometry; although, recreate the device compatible DC.
11168
11169         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11170         (msprinter_init_frame_3):
11171         (msprinter_frame_property):
11172         (msprinter_internal_frame_property_p):
11173         (msprinter_frame_properties):
11174         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11175         print job properties (will move to device settings).
11176
11177         * lisp.h: Added symbols.
11178
11179         * general.c (syms_of_general): Declared them.
11180
11181         * hash.c (string_hash): Added.
11182
11183         * lrecord.h (lrecord_type): Added devmode lrecord type.
11184
11185 2000-07-02  Mike Sperber <mike@xemacs.org>
11186
11187         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11188         FreeBSD 4.0.
11189
11190 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11191
11192         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11193         integer.
11194
11195 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11196
11197         * data.c (Fstring_to_number): Don't recognize floating point if
11198         base is not 10.
11199
11200 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11201
11202         * glyphs-widget.c (tab_control_query_geometry):
11203         (widget_query_geometry):
11204         (button_query_geometry):
11205         * glyphs.c (text_query_geometry):
11206         Enforce type correctness.
11207
11208 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11209
11210         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11211         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11212
11213 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11214
11215         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11216         conflicts with gcc's fixincluded version of FOO.h.
11217
11218         * glyphs.h (image_instance_geometry): Remove trailing `,'
11219
11220 2000-06-08  Mike Alexander  <mta@arbortext.com>
11221
11222         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11223         (shove_thread): Don't write the same output twice
11224         (make_ntpipe_output_stream): Increase priority of shove thread
11225         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11226         chance to run
11227         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11228         it.
11229
11230 2000-06-12  Ben Wing  <ben@xemacs.org>
11231
11232         * s\mingw32.h (sigset):
11233         * s\windowsnt.h (sigset):
11234         rename msw_ to mswindows_ for consistency with general convention.
11235
11236 2000-06-12  Ben Wing  <ben@xemacs.org>
11237
11238         * console-msw.c:
11239         * console-msw.c (mswindows_get_console_hwnd):
11240         * console-msw.c (mswindows_ensure_console_allocated):
11241         * console-msw.c (mswindows_hide_console):
11242         * console-msw.c (mswindows_show_console):
11243         * console-msw.c (mswindows_ensure_console_buffered):
11244         * console-msw.c (mswindows_output_console_string):
11245         * console-msw.c (mswindows_windows9x_p):
11246         * console-msw.h:
11247         * device-msw.c (mswindows_get_workspace_coords):
11248         * device-msw.c (mswindows_device_system_metrics):
11249         * dialog-msw.c (mswindows_popup_dialog_box):
11250         * event-msw.c (mswindows_wnd_proc):
11251         * frame-msw.c (mswindows_size_frame_internal):
11252         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11253         * menubar-msw.c (displayable_menu_item):
11254         * menubar-msw.c (mswindows_char_is_accelerator):
11255         * nt.c:
11256         * nt.c (mswindows_sigset):
11257         * nt.c (mswindows_sigrelse):
11258         * nt.c (mswindows_sigpause):
11259         * nt.c (mswindows_raise):
11260         * nt.c (timer_proc):
11261         * ntproc.c:
11262         * ntproc.c (find_child_console):
11263         * ntproc.c (sys_kill):
11264         * print.c:
11265         * print.c (std_handle_out_external):
11266         * process-nt.c (find_child_console):
11267         * process-nt.c (send_signal_the_95_way):
11268         * process-nt.c (ensure_console_window_exists):
11269         * process-nt.c (nt_create_process):
11270         * syssignal.h:
11271         rename msw_ to mswindows_ for consistency with general convention.
11272
11273         * emacs.c:
11274         * dumper.c:
11275         include nt.h, not syswindows.h.
11276
11277         * nt.c (mswindows_fstat):
11278         * nt.c (mswindows_stat):
11279         prefix mswindows_ instead of attempting to directly override the
11280         library functions.  fix declarations.
11281
11282         * nt.h:
11283         include syswindows.h.  move some sysdep.h stuff here.
11284
11285         * ntheap.h:
11286         include syswindows.h, not <windows.h>.
11287
11288         * ntplay.c:
11289         clean up headers.
11290
11291         * sysdep.c:
11292         clean up headers.
11293
11294         * sysdep.c (sys_fstat):
11295         * sysdep.c (sys_stat):
11296         call mswindows versions when appropriate.
11297
11298         * sysdep.h:
11299         move mswin decls to nt.h.
11300
11301         * syswindows.h:
11302         add long comment describing appropriate use of the various windows
11303         headers.
11304
11305 2000-06-11  Ben Wing  <ben@xemacs.org>
11306
11307         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11308
11309 2000-06-10  Ben Wing  <ben@xemacs.org>
11310
11311         * Makefile.in.in (release):
11312         Correction to make sure xemacs.exe always dumped when correct.
11313
11314         * alloca.c:
11315         * balloon_help.c:
11316         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11317
11318         * buffer.c (set_buffer_internal):
11319         [[[[2]]]]: Remove HAVE_FEP code.
11320
11321         * buffer.c (init_initial_directory):
11322         [3].
11323
11324         * bytecode.c:
11325         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11326         individual files.
11327
11328         * callproc.c:
11329         * callproc.c (call_process_cleanup):
11330         * callproc.c (Fold_call_process_internal):
11331         * callproc.c (child_setup):
11332         * callproc.c (getenv_internal):
11333         * callproc.c (init_callproc):
11334         * callproc.c (vars_of_callproc):
11335         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11336         __CYGWIN32__ -> CYGWIN.
11337         DOS_NT -> WIN32_NATIVE.
11338         Remove MSDOS support/references, converting to WIN32_NATIVE
11339           where correct.
11340         __MINGW32__ -> MINGW.
11341         Fix windows.h includes.
11342         Remove bogus HAVE_NTGUI.
11343
11344         * config.h.in:
11345         [2].
11346
11347         * console-msw.c:
11348         mswindows_message_outputted added for use in allowing startup
11349         errors on the console to be seen.
11350
11351         * console-msw.c (msw_ensure_console_allocated):
11352         * console-msw.c (msw_output_console_string):
11353         * console-msw.c (DHEADER):
11354         * console-msw.c (DOPAQUE_DATA):
11355         * console-msw.c (DEVENT):
11356         * console-msw.c (DCONS):
11357         * console-msw.c (DCONSCDR):
11358         * console-msw.c (DSTRING):
11359         * console-msw.c (DVECTOR):
11360         * console-msw.c (DSYMBOL):
11361         * console-msw.c (DSYMNAME):
11362         Fix warnings.
11363
11364         * console-stream.c (stream_init_console):
11365         Fix text/binary problems.
11366
11367         * device-msw.c:
11368         * device-msw.c (mswindows_finish_init_device):
11369         * device-msw.c (mswindows_delete_device):
11370         [1].
11371
11372         * device.c (handle_asynch_device_change):
11373         [3].
11374
11375         * dgif_lib.c:
11376         * dgif_lib.c (DGifOpenFileName):
11377         * dgif_lib.c (DGifOpenFileHandle):
11378         * dgif_lib.c (DGifGetLine):
11379         * dgif_lib.c (DGifGetPixel):
11380         Added config.h/lisp.h, fix up includes.
11381         [1].
11382
11383         * dired-msw.c:
11384         [4].
11385
11386         * dired.c:
11387         * dired.c (file_name_completion):
11388         * dired.c (Ffile_attributes):
11389         * dired.c (syms_of_dired):
11390         [1].
11391
11392         * dumper.c:
11393         * dumper.c (pdump_file_unmap):
11394         * dumper.c (pdump_load):
11395         [1].
11396
11397         * editfns.c:
11398         * editfns.c (Ftemp_directory):
11399         * editfns.c (user_login_name):
11400         * editfns.c (Fuser_real_login_name):
11401         * editfns.c (get_home_directory):
11402         [1].
11403
11404         * elhash.c (finish_marking_weak_hash_tables):
11405         [[[[5]]]]: Fix GCC warnings.
11406
11407         * emacs.c:
11408         * emacs.c (mswindows_handle_hardware_exceptions):
11409         * emacs.c (make_arg_list_1):
11410         * emacs.c (main_1):
11411         * emacs.c (Fkill_emacs):
11412         * emacs.c (Fdump_emacs):
11413         [1].
11414         Fix problems with nested crashes, add long comment.
11415
11416         * event-Xt.c (init_event_Xt_late):
11417         [1].
11418
11419         * event-msw.c:
11420         * event-msw.c (mswindows_dde_callback):
11421         * event-msw.c (mswindows_handle_sticky_modifiers):
11422         * event-msw.c (mswindows_wnd_proc):
11423         [1].
11424         [5].
11425
11426         * events.c (character_to_event):
11427         [1].
11428
11429         * fileio.c:
11430         * fileio.c (Ffile_name_directory):
11431         * fileio.c (Ffile_name_nondirectory):
11432         * fileio.c (directory_file_name):
11433         * fileio.c (Fexpand_file_name):
11434         * fileio.c (Fsubstitute_in_file_name):
11435         * fileio.c (Ffile_name_absolute_p):
11436         * fileio.c (check_executable):
11437         * fileio.c (Ffile_readable_p):
11438         * fileio.c (Ffile_accessible_directory_p):
11439         * fileio.c (Ffile_modes):
11440         * fileio.c (Funix_sync):
11441         * fileio.c (vars_of_fileio):
11442         [1]. [4].
11443
11444         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11445
11446         Expand getdefdir defn.
11447         Fix bogus rename() comment.
11448
11449         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11450         to use standard XEmacs include files, e.g. sysfile.h, rather
11451         than system-specific includes.
11452
11453         * fns.c:
11454         * fns.c (Fsubseq):
11455         [5]. [6].
11456
11457         * frame.c (vars_of_frame):
11458         [1].
11459
11460         * getloadavg.c:
11461         * getloadavg.c (getloadavg):
11462         [1]. [6].
11463         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11464         (We don't use it elsewhere in the code; just add a comment.)
11465
11466         * gif_io.c:
11467         [6].
11468         Add config.h.
11469
11470         * glyphs-msw.c:
11471         * glyphs-msw.c (mswindows_resource_instantiate):
11472         [1].
11473
11474         * glyphs-x.c (x_native_layout_instantiate):
11475         [5].
11476
11477         * gui-msw.c (Fmswindows_shell_execute):
11478         [1].
11479
11480         * insdel.c:
11481         [4].
11482
11483         * lisp.h:
11484         [4]. [5].
11485
11486         * lread.c (locate_file_in_directory_mapper):
11487         [1].
11488
11489         * lstream.c:
11490         [4].
11491
11492         * mem-limits.h:
11493         * mem-limits.h (get_lim_data):
11494         [1].
11495
11496         * menubar-msw.c:
11497         [4].
11498
11499         * ndir.h:
11500         [1].
11501
11502         * nt.c:
11503         * nt.c (getwd):
11504         * nt.c (closedir):
11505         * nt.c (rva_to_section):
11506         * nt.c (mswindows_executable_type):
11507         [1]. [6].
11508         Fix closedir() defn.
11509
11510         * nt.h:
11511         [[[[8]]]]: *_OK defs moved to sysfile.h.
11512
11513         * ntproc.c:
11514         [6]. [7].
11515
11516         * objects-x.c:
11517         [4].
11518
11519         * print.c:
11520         * print.c (std_handle_out_external):
11521         [1]. [4].
11522
11523         * process-nt.c:
11524         * process-nt.c (nt_create_process):
11525         [6].
11526         try to fix process quoting somewhat.
11527
11528         * process-unix.c (unix_create_process):
11529         [1].
11530
11531         * process.c:
11532         * process.c (vars_of_process):
11533         Add Vnull_device.
11534
11535         * process.h:
11536         [1].
11537
11538         * realpath.c:
11539         * realpath.c (xrealpath):
11540         [1].
11541
11542         * redisplay-tty.c (init_tty_for_redisplay):
11543         [3].
11544
11545         * redisplay.c:
11546         [4]. [6].
11547
11548         * scrollbar-msw.c:
11549         [4].
11550
11551         * sheap.c:
11552         * sheap.c (more_static_core):
11553         * sheap.c (report_sheap_usage):
11554         [5]. [6].
11555
11556         * signal.c:
11557         * signal.c (alarm_signal):
11558         [1]. [6].
11559
11560         * sound.c:
11561         [6].
11562
11563         * strftime.c:
11564         * strftime.c (zone_name):
11565         [1]. [5].
11566
11567         * symsinit.h (init_sunpro):
11568         [1].
11569
11570         * syscommctrl.h:
11571         commctrl.h not in Cygwin b20.1.
11572
11573         * sysdep.c:
11574         * sysdep.c (endif):
11575         * sysdep.c (sys_subshell):
11576         * sysdep.c (init_baud_rate):
11577         * sysdep.c (emacs_get_tty):
11578         * sysdep.c (emacs_set_tty):
11579         * sysdep.c (tty_init_sys_modes_on_device):
11580         * sysdep.c (init_system_name):
11581         * sysdep.c (sys_open):
11582         * sysdep.c (interruptible_open):
11583         * sysdep.c (sys_fopen):
11584         * sysdep.c (sys_mkdir):
11585         * sysdep.c (sys_rename):
11586         * sysdep.c (get_process_times_1):
11587         [1]. [6].
11588
11589         * sysdep.h:
11590         [1].
11591
11592         * sysdir.h:
11593         * sysdir.h (DIRENTRY_NONEMPTY):
11594         [1]. [6].
11595
11596         * sysdll.c (dll_init):
11597         * sysdll.h:
11598         [1].
11599
11600         * sysfile.h:
11601         [1]. [6]. [8].
11602         added text/binary defs.
11603
11604         * sysfloat.h:
11605         [1].
11606
11607         * sysproc.h:
11608         * sysproc.h (EDESTADDRREQ):
11609         * sysproc.h (poll_fds_for_input):
11610         [1]. [6].
11611
11612         * syspwd.h:
11613         [6].
11614
11615         * syssignal.h:
11616         [1].
11617
11618         * systime.h:
11619         [1]. [6].
11620
11621         * systty.h:
11622         [1].
11623
11624         * syswindows.h:
11625         [1].
11626         Always define WIN32_LEAN_AND_MEAN.
11627
11628         * unexcw.c (unexec):
11629         [5].
11630
11631         * unexec.c:
11632         * unexec.c (copy_text_and_data):
11633         * unexec.c (adjust_lnnoptrs):
11634         [1].
11635
11636         * unexnt.c:
11637         * unexnt.c (_start):
11638         [1].
11639
11640 2000-06-07  Ben Wing  <ben@xemacs.org>
11641
11642         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11643         was used only as a model.  We've long since extracted any useful
11644         logic or code out of this. (I just did an exhaustive search.)
11645
11646         * s\msdos.h: Removed.
11647
11648         * s\windows95.h: Removed.
11649
11650 2000-06-10  Ben Wing  <ben@xemacs.org>
11651
11652         * s\cygwin32.h:
11653         [1]. [5].
11654         Don't use extern with fun defs.
11655
11656         * s\mingw32.h:
11657         [1]. [7].
11658         Remove nt\inc include.
11659         Remove getdisk, getdefdir. (The former is unused, the latter
11660         expanded in fileio.h.)
11661
11662         * s\windowsnt.h:
11663         * s\windowsnt.h (WIN32_NATIVE):
11664         * s\windowsnt.h (HAVE_STRCASECMP):
11665         [1]. [7].
11666         Add long comment about preprocessor changes.
11667         Remove getdisk, getdefdir. (The former is unused, the latter
11668         expanded in fileio.h.)
11669
11670 2000-06-10  Ben Wing  <ben@xemacs.org>
11671
11672         * m\arm.h:
11673         * m\delta.h:
11674         * m\intel386.h:
11675         * m\sequent.h:
11676         * m\template.h:
11677         * m\windowsnt.h:
11678         [1].
11679         Remove bogus/unused NO_SOCK_SIGIO.
11680
11681 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11682
11683         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11684         not an Emchar.
11685
11686 2000-06-04  Mike Sperber <mike@xemacs.org>
11687
11688         * casetab.c (set_case_table): For `set-standard-case-table',
11689         actually deposit the new case tables where the rest of XEmacs can
11690         see them.
11691
11692 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11693
11694         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11695
11696 2000-06-05  Ben Wing  <ben@xemacs.org>
11697
11698         * callproc.c (child_setup): Don't do close_load_descs() under
11699         MS Windows.  Put in a comment explaining why.
11700
11701 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11702
11703         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11704         Toolkit shell" which breaks `kill-compilation' on Windows NT
11705         native, retaining STDERR handling improvements.
11706
11707 2000-06-01  Andreas Jaeger  <aj@suse.de>
11708
11709         * s/s390.h: Support for S390, based on a patch by Martin
11710         Schwidefsky <schwidefsky@de.ibm.com>.
11711
11712 2000-05-30  Andy Piper  <andy@xemacs.org>
11713
11714         * window.c (allocate_window):
11715         (make_dummy_parent):
11716         (Fset_window_configuration): use new hashtable type.
11717
11718         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11719         (struct image_instantiator_methods):
11720         (struct Lisp_Image_Instance): make instance geometry signed.
11721
11722         * glyphs.c (instantiate_image_instantiator):
11723         (image_instance_query_geometry):
11724         (image_instance_layout):
11725         (image_instance_layout):
11726         (query_string_geometry):
11727         (text_query_geometry):
11728         (image_instantiate):
11729         (image_instantiate):
11730         (cache_subwindow_instance_in_frame_maybe):
11731         (subwindow_query_geometry): make instance geometry signed.
11732
11733         * glyphs-widget.c (widget_query_geometry):
11734         (widget_layout):
11735         (button_query_geometry):
11736         (tree_view_query_geometry):
11737         (tab_control_query_geometry):
11738         (layout_query_geometry):
11739         (layout_layout):
11740         (native_layout_layout): make instance geometry signed.
11741
11742 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11743
11744         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11745         constant.
11746
11747         * general.c (syms_of_general): Add Qfull_assoc symbol.
11748
11749         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11750         correctly.
11751         (decode_weak_list_type): Decode full-assoc type.
11752         (encode_weak_list_type): Encode full-assoc type.
11753         (Fmake_weak_list): Update doc string.
11754
11755 2000-05-30  Andy Piper  <andy@xemacs.org>
11756
11757         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11758
11759         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11760         (decode_hash_table_weakness): ditto.
11761         (Fhash_table_weakness): ditto.
11762         (Fhash_table_type): ditto.
11763         (finish_marking_weak_hash_tables): ditto.
11764         (hash_table_weakness_validate): ditto.
11765         (syms_of_elhash): ditto.
11766
11767 2000-05-28  Martin Buchholz <martin@xemacs.org>
11768
11769         * XEmacs 21.2.34 is released.
11770
11771 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11772
11773         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11774         start cache.
11775         (updating_line_start_cache): Gone.
11776         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11777         generic code to force a minimum of 1 line laid out in the
11778         CMOTION_DISP case.
11779
11780 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11781
11782         * glyphs.c (instantiate_image_instantiator): Check for initialized
11783         height & width no longer special cases IMAGE_NOTHING.
11784         (nothing_instantiate): Set height and width of instance.
11785
11786 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11787
11788         * unexelf.c (unexec): Search for ".data" section.
11789         Initialize new_data2_offset from old_data_index.
11790         Remove redundant check for ElfW.
11791
11792 2000-05-23  Andy Piper  <andy@xemacs.org>
11793
11794         * glyphs.c (get_image_instantiator_governing_domain): allow more
11795         specific domains as the governing domain rather than expecting an
11796         exact match. This fixes problems with layouts.
11797
11798 2000-05-22  Andy Piper  <andy@xemacs.org>
11799
11800         * redisplay-output.c (compare_runes): check for non-images
11801
11802         * glyphs.c (set_glyph_dirty_p): ditto.
11803         (update_glyph_cachel_data): ditto.
11804
11805         * glyphs-widget.c (layout_post_instantiate): ditto.
11806         (layout_post_instantiate): ditto.
11807
11808         * event-msw.c (mswindows_wnd_proc): warning removal.
11809
11810 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11811
11812         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11813
11814         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11815
11816         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11817
11818         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11819         (mswindows_executable_type): mingw32 now has enough headers for
11820         this to work.
11821
11822 2000-05-20  Andy Piper  <andy@xemacs.org>
11823
11824         * console-msw.c (mswindows_output_last_error): ; -> ,
11825
11826 2000-05-12  Andy Piper  <andy@xemacs.org>
11827
11828         * console-msw.c (FROB): compare ints with ints.
11829
11830 2000-05-11  Andy Piper  <andy@xemacs.org>
11831
11832         * glyphs-x.c (x_finalize_image_instance): make minimal build
11833         happy.
11834
11835 2000-05-20  Ben Wing  <ben@xemacs.org>
11836
11837         * event-Xt.c:
11838         * event-Xt.c (vars_of_event_Xt):
11839         move modifier-keys-are-sticky to event-stream.c.
11840
11841         * event-msw.c:
11842         * event-msw.c (mswindows_enqueue_mouse_button_event):
11843         * event-msw.c (key_needs_default_processing_p):
11844         * event-msw.c (XEMSW_LCONTROL):
11845         * event-msw.c (mswindows_handle_sticky_modifiers):
11846         * event-msw.c (FROB):
11847         * event-msw.c (clear_sticky_modifiers):
11848         * event-msw.c (output_modifier_keyboard_state):
11849         * event-msw.c (output_alt_keyboard_state):
11850         * event-msw.c (mswindows_wnd_proc):
11851         * event-msw.c (mswindows_modifier_state):
11852         * event-msw.c (emacs_mswindows_handle_magic_event):
11853         implement sticky modifiers.
11854
11855         * event-stream.c:
11856         * event-stream.c (vars_of_event_stream):
11857         move modifier-keys-are-sticky here.
11858
11859         * lisp.h:
11860         add CHECK_FUNCTION.
11861
11862         * rangetab.c:
11863         implement map-range-table.
11864
11865
11866 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
11867
11868         * redisplay-tty.c (reset_tty_modes):
11869         (tty_redisplay_shutdown): Adjust argument type to
11870         tty_frame_output_end.
11871
11872 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11873
11874         * eval.c (Fbacktrace): Don't output a line with only right
11875         parenthesis.
11876
11877 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
11878
11879         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
11880         (Fpq_reset_poll): Ditto.
11881
11882 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
11883
11884         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
11885
11886 2000-05-16  Ben Wing  <ben@xemacs.org>
11887
11888         * buffer.c:
11889         * buffer.c (dfc_convert_to/from_internal_format):
11890         * buffer.c (reinit_vars_of_buffer):
11891         Fix conversion functions to allow reentrancy.
11892
11893         * console-msw.c:
11894         * console-msw.c (mswindows_output_last_error):
11895         New fun, generally useful -- output a human-readable
11896         version of GetLastError() on the console.
11897
11898         * console-msw.h:
11899         * console-msw.h (struct mswindows_frame):
11900         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
11901
11902         * console-stream.c (stream_output_begin):
11903         * console-stream.c (stream_output_end):
11904         * console-stream.c (stream_output_vertical_divider):
11905         * console-stream.c (stream_clear_region):
11906         * console-stream.c (stream_flash):
11907         * console-stream.c (console_type_create_stream):
11908         Delete blank stream methods, not needed.
11909
11910         * console.h (struct console_methods):
11911         Split begin/end methods into window and frame.
11912
11913         * event-msw.c:
11914         * event-msw.c (mswindows_handle_paint):
11915         * event-msw.c (output_alt_keyboard_state):
11916         * event-msw.c (mswindows_wnd_proc):
11917         * event-msw.c (vars_of_event_mswindows):
11918         Comment about problems with ignored-expose.
11919         Define mswindows-debug-events; not really implemented.
11920
11921         * frame-msw.c (mswindows_init_frame_1):
11922         random cleanups.
11923
11924         * glyphs-msw.c:
11925         * glyphs-msw.c (begin_defer_window_pos):
11926         * glyphs-msw.c (mswindows_unmap_subwindow):
11927         * glyphs-msw.c (mswindows_map_subwindow):
11928         * glyphs-msw.c (mswindows_resize_subwindow):
11929         Use DeferWindowPos to reduce flashing when mapping/unmapping.
11930
11931         * glyphs.c (make_image_instance_1):
11932         Fix crash.
11933
11934         * gutter.c (Fredisplay_gutter_area):
11935         Use new begin/end methods.
11936
11937         * lisp.h (Dynarr_new2):
11938         New creation fun.
11939
11940         * redisplay-msw.c:
11941         * redisplay-msw.c (mswindows_frame_output_begin):
11942         * redisplay-msw.c (mswindows_frame_output_end):
11943         * redisplay-msw.c (console_type_create_redisplay_mswindows):
11944         New begin/end methods -- handle DeferWindowPos.
11945
11946         * redisplay-output.c (redisplay_move_cursor):
11947         * redisplay-output.c (redraw_cursor_in_window):
11948         * redisplay-output.c (redisplay_update_line):
11949         * redisplay-output.c (redisplay_output_window):
11950         New begin/end methods.
11951
11952         * redisplay-tty.c:
11953         * redisplay-tty.c (tty_frame_output_begin):
11954         * redisplay-tty.c (tty_frame_output_end):
11955         * redisplay-tty.c (console_type_create_redisplay_tty):
11956         New begin/end methods.
11957
11958         * redisplay-x.c:
11959         * redisplay-x.c (x_window_output_begin):
11960         * redisplay-x.c (x_window_output_end):
11961         * redisplay-x.c (console_type_create_redisplay_x):
11962         New begin/end methods.
11963
11964         * redisplay.c (redisplay_frame):
11965         * redisplay.c (Fredisplay_echo_area):
11966         New begin/end methods.
11967         use MAYBE_DEVMETH for clear_frame; it may not exist.
11968
11969         * window.h (WINDOW_XFRAME):
11970         WINDOW_XFOO macros -- get locale and decode struct pointer.
11971
11972
11973 2000-05-12  Ben Wing  <ben@xemacs.org>
11974
11975         * emacs.c:
11976         * emacs.c (ensure_no_quitting_from_now_on):
11977         * emacs.c (fatal_error_signal):
11978         * emacs.c (mswindows_handle_hardware_exceptions):
11979         * emacs.c (main):
11980         * emacs.c (Fkill_emacs):
11981         * emacs.c (shut_down_emacs):
11982         * emacs.c (assert_failed):
11983         various improvements in fatal error handling.
11984
11985         * eval.c:
11986         move preparing_for_armageddon to emacs.c.
11987
11988         * lisp.h:
11989         declare fatal_error_in_progress.
11990
11991         * print.c:
11992         * print.c (std_handle_out_external):
11993         * print.c (std_handle_out_va):
11994         * print.c (stderr_out):
11995         * print.c (stdout_out):
11996         use console under mswin when no standard output.
11997         don't do code conversion during fatal error.
11998
11999         * scrollbar.c (Fscrollbar_page_up):
12000         * scrollbar.c (Fscrollbar_page_down):
12001         fix missing else.  reindent.
12002
12003 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12004
12005         Emergency fix.
12006
12007         * glyphs.h (GLYPH_CACHEL_DESCENT):
12008         (GLYPH_CACHEL_DESCENT):
12009         (GLYPH_CACHEL_DESCENT):
12010         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12011         used in case these are inline functions.
12012         Use more absurd values to error check.
12013
12014         include window.h for error check functions.
12015
12016 2000-05-11  Ben Wing  <ben@xemacs.org>
12017
12018         * cmdloop.c (Freally_early_error_handler):
12019         Display message box under windows; otherwise, message will disappear
12020         before it can be viewed.
12021
12022         * console-msw.c:
12023         * console-msw.c (Fmswindows_message_box):
12024         * console-msw.c (FROB):
12025         * console-msw.c (syms_of_console_mswindows):
12026         Define new fun `mswindows-message-box'.
12027         #### I will merge this into `popup-dialog-box'; just give me
12028         a bit of time.
12029
12030         * general.c:
12031         * general.c (syms_of_general):
12032         Some new symbols used in `mswindows-message-box'.
12033
12034         * glyphs.c:
12035         * glyphs.c (Fset_image_instance_property):
12036         put warning in this fun.
12037
12038         * glyphs.h:
12039         * glyphs.h (GLYPH_CACHEL_WIDTH):
12040         * glyphs.h (GLYPH_CACHEL_ASCENT):
12041         * glyphs.h (GLYPH_CACHEL):
12042         * glyphs.h (GLYPH_CACHEL_GLYPH):
12043         define error-checking versions to try to catch a bug i've seen --
12044         redisplay gets in an infinite loop because the glyph width of the
12045         continuation glyph is 65535.
12046
12047         * lisp.h:
12048         Extern message-box stuff.
12049
12050         * window.c (allocate_window):
12051         * window.c (make_dummy_parent):
12052         * window.c (Fset_window_configuration):
12053         Use EQUAL not EQ for subwindow caches to make them work a bit
12054         better. (Something is still very broken.)
12055
12056
12057 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12058
12059         * glyphs.c (image_instantiate): Suppress gcc warnings.
12060         (Fmake_image_instance): Fix doc string.
12061         * specifier.c (Fmake_specifier): Ditto.
12062
12063 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12064
12065         * paths.h.in (PATH_LOCK): Removed.
12066         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12067         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12068
12069 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12070
12071         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12072         Document (featurep '(and xemacs 21.02)).
12073
12074 2000-05-09  Ben Wing  <ben@xemacs.org>
12075
12076         * buffer.c (complex_vars_of_buffer):
12077         update modeline-format doc.
12078
12079         * device.h:
12080         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12081
12082         * emacs.c:
12083         timeline of all released versions of Emacs, for use in creating
12084         authorship comments and in synching up.
12085
12086         * glyphs-widget.c (image_instantiator_buttons):
12087         * glyphs-widget.c (image_instantiator_edit_fields):
12088         * glyphs-widget.c (image_instantiator_combo_box):
12089         * glyphs-widget.c (image_instantiator_scrollbar):
12090         * glyphs-widget.c (image_instantiator_progress_guage):
12091         * glyphs-widget.c (image_instantiator_tree_view):
12092         * glyphs-widget.c (image_instantiator_tab_control):
12093         * glyphs-widget.c (image_instantiator_labels):
12094         * glyphs-widget.c (image_instantiator_layout):
12095         * glyphs-widget.c (image_instantiator_native_layout):
12096         rename decode_domain method to governing_domain.
12097
12098         * glyphs.c:
12099         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12100         * glyphs.c (add_entry_to_device_ii_format_list):
12101         make sure we don't put an entry more than once into the list.
12102         * glyphs.c (check_instance_cache_mapper):
12103         *************************************************************
12104         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12105         HAVE BEEN GETTING.
12106         *************************************************************
12107         * glyphs.c (get_image_instantiator_governing_domain):
12108         clean up, expand on new concept of governing domain.
12109         * glyphs.c (instantiate_image_instantiator):
12110         * glyphs.c (allocate_image_instance):
12111         use governing_domain instead of cache_domain in naming.
12112         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12113         * glyphs.c (make_image_instance_1):
12114         * glyphs.c (Fmake_image_instance):
12115         allow for any domain (not just device), and process the
12116         governing domain correctly.  very big doc fix.
12117         * glyphs.c (Fimage_instance_domain):
12118         new primitive, to retrieve the governing domain of an image instance.
12119         * glyphs.c (image_instantiate):
12120         use new governing_domain stuff.  this fixes a crash you could get
12121         by instantiating certain widget glyphs in frame locales. (should
12122         signal an error instead of crashing.)
12123         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12124         * glyphs.c (Fglyphp): clean up doc.
12125         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12126         * glyphs.c (syms_of_glyphs):
12127         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12128         * glyphs.c (image_instantiator_format_create): add some comments about
12129         bogus code.
12130         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12131         for current-display-table. (Apparently Hrjove implemented in 1998 a
12132         design I wrote up in 1996, but didn't update the doc string.)
12133
12134         * glyphs.h: clean up a doc string.
12135         * glyphs.h (governing_domain):
12136         * glyphs.h (struct image_instantiator_methods):
12137         changes for governing_domain stuff.
12138
12139         * gutter.c:
12140         * gutter.c (Fgutter_specifier_p):
12141         * gutter.c (Fgutter_size_specifier_p):
12142         * gutter.c (Fgutter_visible_specifier_p):
12143         * objects.c:
12144         * objects.c (Fcolor_specifier_p):
12145         * objects.c (Ffont_specifier_p):
12146         * objects.c (Fface_boolean_specifier_p):
12147         doc strings moved to make-*-specifier.
12148
12149         * redisplay.c (add_disp_table_entry_runes_1):
12150         * redisplay.c (generate_fstring_runes):
12151         * redisplay.c (screen):
12152         add random comments and doc strings.
12153
12154         * specifier.c:
12155         * specifier.c (Fmake_specifier):
12156         major overhaul of this doc string.
12157
12158         * specifier.c (Fvalid_specifier_domain_p):
12159         comment about the bogosity of image instances being domains.
12160         * specifier.c (decode_domain):
12161         now non-static, used in glyphs.c.
12162         * specifier.c (specifier_instance):
12163         comment about the bogosity of image instances being domains.
12164         * specifier.c (Fgeneric_specifier_p):
12165         move doc string to make-generic-specifier.
12166         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12167         rebackslashify.
12168
12169         * specifier.h:
12170         * specifier.h (DOMAIN_FRAME):
12171         * specifier.h (DOMAIN_LIVE_P):
12172         * specifier.h (DOMAIN_XDEVICE):
12173         rebackslashify.
12174         add comments about problems with these macros.
12175         prototype for decode_domain.
12176
12177         * toolbar.c:
12178         * toolbar.c (Ftoolbar_specifier_p):
12179         move doc string to `make-toolbar-specifier'.
12180
12181         * window.c (window_unmap_subwindows_cache_mapper):
12182         *************************************************************
12183         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12184         HAVE BEEN GETTING.
12185         *************************************************************
12186
12187 2000-05-09  Andy Piper  <andy@xemacs.org>
12188
12189         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12190
12191         * window.c (Fset_window_configuration): reset the frame subwindow
12192         cache and re-initialize the window subwindow caches.
12193
12194         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12195
12196 2000-05-09  Ben Wing  <ben@xemacs.org>
12197
12198         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12199         DWORD.
12200
12201 2000-04-26  Mike Woolley  <mike@bulsara.com>
12202
12203         * ntheap.c: Changed recreate_heap to limit the amount reserved
12204         for the heap to that which is actually available. Also now
12205         displays a message box (with some dignostics) in the event that
12206         it still can't start.
12207
12208 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12209
12210         * callproc.c (Fold_call_process_internal): GCPRO path
12211
12212 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12213
12214         Patch by Bill Perry.
12215
12216         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12217         back data instead of #ifdef.
12218         (Fscrollbar_page_down): ditto.
12219
12220 2000-05-07  Ben Wing  <ben@xemacs.org>
12221
12222         * buffer.h:
12223         Kludge for defining Qmswindows_tstr.
12224
12225         * nt.c:
12226         * nt.c (open_input_file):
12227         * nt.c (open_output_file):
12228         * nt.c (rva_to_section):
12229         * nt.c (mswindows_executable_type):
12230         Move all memory-mapped-file routines here (some were in unexnt.c,
12231         which is bad because they are used by process-nt.c, and unexnt
12232         won't be around when portable dumping).  Synched the above routines
12233         with FSF 20.6.
12234
12235         * nt.h:
12236         Removed ifdef'd out bogus code.
12237         Fixed some prototypes.
12238
12239         * nt.h (file_data):
12240         * nt.h (OFFSET_TO_RVA):
12241         * nt.h (RVA_TO_OFFSET):
12242         * nt.h (RVA_TO_PTR):
12243         Moved the memory-mapped-file structures, macros and prototypes
12244         here, to parallel nt.c.  ntheap.h should really be removed
12245         entirely, and it's a non-portable-dumper specific file.
12246
12247         * ntheap.h (round_to_next):
12248         Moved the memory-mapped-file structures, macros and prototypes
12249         to nt.h.
12250
12251         * ntproc.c (compare_env):
12252         Moved rva_to_section and mswindows_executable_type to nt.c.
12253         Moved compare_env to process-nt.c.
12254         ntproc.c will die, one day.
12255
12256         * ntproc.c (sys_spawnve):
12257         Account for win32_ -> mswindows_.
12258
12259         * process-nt.c:
12260         * process-nt.c (struct nt_process_data):
12261         * process-nt.c (ensure_console_window_exists):
12262         * process-nt.c (compare_env):
12263         * process-nt.c (nt_create_process):
12264         * process-nt.c (nt_kill_process_by_pid):
12265         * process-nt.c (syms_of_process_nt):
12266         * process-nt.c (vars_of_process_nt):
12267         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12268         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12269         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12270         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12271         Move compare_env here from ntproc.c.
12272
12273         * process.c (Fprocess_send_region):
12274         Takes an optional fourth argument, BUFFER, which should fix some
12275         problems with call-process.
12276
12277         * syscommctrl.h:
12278         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12279
12280         * syswindows.h:
12281         Move ICC_BAR_CLASSES to syscommctrl.h.
12282         Add preliminary macros for MSWindows/Mule.  More to come.
12283
12284         * unexnt.c:
12285         * unexnt.c (unexec):
12286         open_output_file moved to nt.c.
12287
12288
12289 2000-05-05  Andy Piper  <andy@xemacs.org>
12290
12291         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12292         instance from the frame cache also since GC may catch up too late
12293         to make frame deletion sane.
12294
12295 2000-05-04  Andy Piper  <andy@xemacs.org>
12296
12297         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12298         (x_finalize_image_instance): ungcpro on deletion.
12299
12300         * glyphs.c (image_instantiator_format_create): give pointers a
12301         query geometry method so that the geometry is at least set.
12302
12303         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12304         initialize layouts if using widgets.
12305
12306 2000-05-03  Andy Piper  <andy@xemacs.org>
12307
12308         * nt.c: remove bogus reference to sysmmsystem.h
12309
12310         * gui-x.c (popup_selection_callback): fix no selection abort.
12311
12312 2000-05-02  Andy Piper  <andy@xemacs.org>
12313
12314         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12315         (mswindows_widget_instantiate): ditto.
12316
12317         * glyphs-widget.c (initialize_widget_image_instance): initialize
12318         children correctly.
12319         (widget_instantiate): cope with children and items in the same
12320         instance.
12321
12322         * glyphs.c (mark_image_instance): cope with children as a first
12323         class member.
12324         (image_instance_equal): ditto.
12325         (image_instance_hash): ditto.
12326         (image_instance_changed): ditto.
12327
12328 2000-04-30  Andy Piper  <andy@xemacs.org>
12329
12330         * glyphs.c (subwindow_query_geometry): new function. Return some
12331         defaults.
12332         (subwindow_instantiate): don't assign dimensions if none have been
12333         given.
12334         (image_instantiator_format_create): add subwindow_query_geometry.
12335         (print_image_instance): cope with layouts as widgets.
12336
12337 2000-04-29  Andy Piper  <andy@xemacs.org>
12338
12339         * frame.c (delete_frame_internal): call
12340         free_frame_subwindow_instance_cache so that all subwindows are
12341         finalized before their parent.
12342         (mark_frame): remove subwindow_cachels.
12343         (Fmake_frame): remove subwindow_cachel manipulation.
12344         (allocate_frame_core): subwindow_instance_cache is a weak list.
12345         (delete_frame_internal): set subwindow_instance_cache to nil.
12346
12347         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12348         finalization safe.
12349         (mswindows_finalize_image_instance): use the device
12350         not the domain as the domain may have died already.
12351
12352         * glyphs-x.c (x_finalize_image_instance): ditto.
12353         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12354         HEIGHT.
12355
12356         * redisplay-output.c (redisplay_unmap_subwindows): update for
12357         subwindow instance cache as a weak list.
12358         (redisplay_unmap_subwindows_maybe): ditto.
12359         (redisplay_unmap_subwindows_except_us): ditto.
12360
12361         * glyphs.c (unmap_subwindow): error checking will check the domain
12362         so don't deal with it here. Don't use cachels anymore.
12363         (map_subwindow): ditto.
12364         (update_subwindow_cachel_data): remove old accessor names.
12365         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12366         (Fresize_subwindow): don't update cachel.
12367         (mark_subwindow_cachels):
12368         (update_subwindow_cachel_data):
12369         (add_subwindow_cachel):
12370         (get_subwindow_cachel_index):
12371         (update_subwindow_cachel):
12372         (reset_subwindow_cachels):
12373         (mark_subwindow_cachels_as_not_updated): deleted.
12374         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12375         subwindow instance to the frame cache.
12376         (find_matching_subwindow): update for subwindow instance cache as
12377         a weak list.
12378         (update_widget_instances): ditto.
12379         (image_instance_type_to_mask):inlined.
12380         (free_frame_subwindow_instance_cache): new function. finalize all
12381         subwindows that are instantiated.
12382
12383         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12384         of cachel information.
12385         (IMAGE_INSTANCE_DISPLAY_X):
12386         (IMAGE_INSTANCE_DISPLAY_Y):
12387         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12388         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12389         (XIMAGE_INSTANCE_DISPLAY_X):
12390         (XIMAGE_INSTANCE_DISPLAY_Y):
12391         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12392         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12393         remove subwindow_cachel structure and function references.
12394         (image_instance_type_to_mask): inline from glyphs.c
12395
12396         * redisplay.c (redisplay_frame): remove subwindow_cachel
12397         references.
12398
12399         * frame.h (struct frame): remove subwindow_cachels.
12400         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12401
12402         * frameslots.h: add subwindow_instance_cache.
12403
12404         * window.c (replace_window): check subwindow cache of replacement.
12405         (window_unmap_subwindows_cache_mapper):
12406         (window_unmap_subwindows): new functions. Unmap all subwindows
12407         cached on this window.
12408         (mark_window_as_deleted): unmap all subwindows.
12409
12410 2000-04-27  Andy Piper  <andy@xemacs.org>
12411
12412         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12413
12414         * glyphs-widget.c (widget_layout): return something.
12415         (layout_layout): return something. Fail if not initialized.
12416         (layout_query_geometry): ditto.
12417         (image_instantiator_native_layout): new function. Initialized the
12418         native layout type.
12419         (widget_instantiate): don't do layout stuff here.
12420
12421         * glyphs.c (instantiate_image_instantiator): reorded calling or
12422         instantiate and post_instantiate with layout in between.
12423         (image_instance_layout): be more selective about deciding whether
12424         the layout has been done or not.
12425
12426         * glyphs.h (struct image_instantiator_methods): return a value
12427         from layout_method.
12428
12429 2000-04-26  Andy Piper  <andy@xemacs.org>
12430
12431         * glyphs.c (allocate_image_instance): make initial width and
12432         height unspecified. Set initialized to 0.
12433
12434         * syscommctrl.h new file. Encapsulates commctrl.h.
12435
12436         * syswindows.h new file. Encapsulates windows.h.
12437
12438         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12439         * nt.c: ditto.
12440         * console-msw.h: ditto.
12441
12442         * redisplay-tty.c (tty_output_display_block): remove layout references.
12443
12444         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12445         window handle rather than just the frame.
12446
12447         * glyphs.c (mark_image_instance): remove layout references.
12448         (print_image_instance): ditto.
12449         (image_instance_equal): ditto.
12450         (image_instance_hash): ditto.
12451         (decode_image_instance_type): ditto.
12452         (encode_image_instance_type): ditto.
12453         (image_instantiate): ditto.
12454         (allocate_glyph): ditto.
12455         (Fimage_instance_height): ditto.
12456         (Fimage_instance_width): ditto.
12457         (update_subwindow): ditto.
12458
12459         * redisplay-x.c (x_output_display_block): recode for layouts as
12460         widgets.
12461
12462         * redisplay-output.c (redisplay_output_layout): recode for layouts
12463         as widgets.
12464         (compare_runes): remove layout references.
12465
12466         * redisplay-msw.c (mswindows_output_display_block): recode for
12467         layouts as widgets.
12468
12469         * glyphs-widget.c (image_instantiator_layout): remove
12470         layout_possible_dest_types.
12471         (layout_possible_dest_types): deleted.
12472
12473         * glyphs.h (image_instance_type): remove layout references.
12474         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12475         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12476         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12477
12478 2000-04-25  Andy Piper  <andy@xemacs.org>
12479
12480         * glyphs-widget.c (image_instantiator_buttons):
12481         (image_instantiator_edit_fields):
12482         (image_instantiator_combo_box):
12483         (image_instantiator_scrollbar):
12484         (image_instantiator_progress_guage):
12485         (image_instantiator_tree_view):
12486         (image_instantiator_tab_control):
12487         (image_instantiator_labels):
12488         (image_instantiator_layout): call default post_instantiate method.
12489         (widget_post_instantiate): new function. Simply lays out the
12490         widgets.
12491
12492         * glyphs.h (struct image_instantiator_methods): add
12493         post_instantiate method.
12494
12495         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12496         method calls.
12497
12498 2000-04-23  Andy Piper  <andy@xemacs.org>
12499
12500         * glyphs.h (struct image_instantiator_methods): add
12501         decode_domain_method.
12502         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12503         derived from the domain.
12504         (IMAGE_INSTANCE_FRAME): new accessor.
12505         (XIMAGE_INSTANCE_FRAME): ditto.
12506
12507         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12508         instead of _SUBWINDOW_FRAME.
12509         (finalize_image_instance): ditto.
12510         (Fimage_instance_foreground): ditto.
12511         (Fimage_instance_background): ditto.
12512         (image_instantiate): ditto.
12513         (update_subwindow_cachel): ditto.
12514         (update_subwindow): ditto.
12515         (unmap_subwindow): ditto.
12516         (map_subwindow): ditto
12517         (subwindow_instantiate): ditto.
12518         * glyphs-msw.c (mswindows_update_widget): ditto.
12519         (mswindows_progress_gauge_instantiate): ditto.
12520         (mswindows_tab_control_update): ditto.
12521         * glyphs-x.c (x_update_widget): ditto.
12522         (x_widget_instantiate): ditto.
12523         (x_tab_control_instantiate): ditto.
12524         (x_tab_control_update): ditto.
12525         * event-msw.c (mswindows_wnd_proc): ditto
12526
12527         * glyphs-widget.c (image_instantiator_layout): use
12528         subwindow_decode_domain.
12529         (image_instantiator_buttons): ditto.
12530         (image_instantiator_edit_fields): ditto.
12531         (image_instantiator_combo_box): ditto.
12532         (image_instantiator_scrollbar): ditto.
12533         (image_instantiator_progress_guage): ditto.
12534         (image_instantiator_tree_view): ditto.
12535         (image_instantiator_tab_control): ditto.
12536         (image_instantiator_labels): ditto.
12537         (image_instantiator_layout): ditto.
12538
12539         * glyphs.c: add instance error checking to many functions.
12540         (instantiate_image_instantiator): decode device from cache_domain.
12541         (image_instantiate): partially rewrite by using
12542         decode_image_instantiator_domain to determine what domain the
12543         instance needs to be cached in.
12544         (decode_image_instantiator_domain): new function. Determine what
12545         domain the image needs to be cached in.
12546         (check_window_subwindow_cache): new error checking function.
12547         (check_instance_cache_mapper): ditto.
12548         (check_image_instance_structure): ditto.
12549         (subwindow_decode_domain): new function. Encodes a window as a
12550         subwindow's cache domain.
12551         (image_instantiator_format_create): use it for text and
12552         subwindows.
12553
12554 2000-04-21  Andy Piper  <andy@xemacs.org>
12555
12556         * glyphs.c (image_instance_device): new function.
12557         (image_instance_frame): new function.
12558         (image_instance_window): new function.
12559         (image_instance_live_p): new function.
12560
12561         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12562         cache to nil.
12563
12564         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12565         (IMAGE_INSTANCE_DOMAIN): new accessor.
12566         (XIMAGE_INSTANCE_DOMAIN): ditto.
12567
12568         * glyphs-x.c (x_finalize_image_instance): device->domain.
12569
12570         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12571         (mswindows_finalize_image_instance): ditto.
12572
12573         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12574         (gif_instantiate): ditto.
12575         (png_instantiate): ditto.
12576         (tiff_instantiate): ditto.
12577
12578         * glyphs.c (instantiate_image_instantiator): use domain rather
12579         than device.
12580         (mark_image_instance): device -> domain.
12581         (print_image_instance): ditto.
12582         (finalize_image_instance): ditto.
12583         (image_instance_equal): ditto.
12584         (allocate_image_instance): ditto.
12585         (Fcolorize_image_instance): ditto.
12586         (query_string_geometry): ditto.
12587         (image_instantiate): ditto
12588         (query_string_font): ditto.
12589         (image_instantiate): ditto.
12590         (update_subwindow): ditto.
12591         (unmap_subwindow): ditto.
12592         (map_subwindow): ditto.
12593         (subwindow_instantiate): ditto.
12594
12595         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12596         (DOMAIN_FRAME): ditto.
12597         (DOMAIN_WINDOW): ditto.
12598         (DOMAIN_LIVE_P): ditto.
12599         (XDOMAIN_DEVICE): ditto.
12600         (XDOMAIN_FRAME): ditto.
12601         (XDOMAIN_WINDOW): ditto.
12602
12603         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12604         a valid specifier domain.
12605
12606 2000-04-19  Andy Piper  <andy@xemacs.org>
12607
12608         * glyphs-widget.c (syms_of_glyphs_widget): remove
12609         widget-callback-current-channel.
12610         (vars_of_glyphs_widget): ditto.
12611         * glyphs.h: ditto
12612
12613         * gui.c (get_gui_callback): revert to previous behaviour.
12614
12615 2000-04-18  Andy Piper  <andy@xemacs.org>
12616
12617         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12618         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12619         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12620
12621         * glyphs.c (image_instance_equal): add margin_width.
12622         (image_instance_hash): ditto.
12623
12624         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12625         (layout_query_geometry): ditto.
12626         (layout_layout): ditto.
12627         (syms_of_glyphs_widget): add margin-width.
12628         (image_instantiator_layout): allow margin-width.
12629
12630         * glyphs.c (update_widget_instances): make a normal function.
12631         (syms_of_glyphs): remove Qupdate_widget_instances.
12632         * glyphs.h: ditto.
12633
12634         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12635         so that we don't corrupt ideas about the last event or
12636         command. Remove widget-callback-current-channel fiddling.
12637         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12638
12639 2000-05-01  Martin Buchholz <martin@xemacs.org>
12640
12641         * XEmacs 21.2.33 is released.
12642
12643 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12644
12645         * make-src-depend: Allow dots in header file name.
12646
12647 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12648
12649         * mule-charset.h (struct charset_lookup): Add
12650         next_allocated_1_byte_leading_byte and
12651         next_allocated_2_byte_leading_byte.
12652         * mule-charset.c: Move above two variables so that those values
12653         will be dumped.
12654
12655 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12656
12657         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12658         when string length is zero.
12659         (find_charsets_in_emchar_string): Ditto.
12660
12661 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12662
12663         * lisp.h: extern Qdialog and Qmenubar.
12664
12665         * gui-x.c: added events.h.
12666                 also fixed typo which made the file uncompilable.
12667
12668         * general.c: Added Qmenubar and Qdialog
12669
12670 2000-04-28  Ben Wing  <ben@xemacs.org>
12671
12672         * frame-msw.c (mswindows_init_frame_1):
12673         * frame-msw.c (mswindows_mark_frame):
12674         * event-msw.c (mswindows_enqueue_dispatch_event):
12675         * console-msw.h:
12676         * console-msw.h (struct mswindows_frame):
12677         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12678         there are now three hash tables for callbacks.
12679         mswindows_enqueue_dispatch_event is no longer static.
12680
12681         * dialog-x.c (maybe_run_dbox_text_callback):
12682         * dialog-x.c (dbox_descriptor_to_widget_value):
12683         switch to new cons3 form for callbacks.
12684
12685         * glyphs-msw.c (mswindows_register_gui_item):
12686         * glyphs-msw.c (mswindows_widget_instantiate):
12687         * glyphs-msw.c (add_tree_item):
12688         * glyphs-msw.c (add_tab_item):
12689         new image instance parameter, so it can be passed to callback-ex.
12690         respect :callback-ex as well as :callback.
12691
12692         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12693         add :callback-ex.
12694
12695         * glyphs.c (print_image_instance):
12696         prettify, e.g. now prints widget type.
12697
12698         * gui-x.h:
12699         certain funs have new image instance parameter.
12700
12701         * gui.c:
12702         * gui.c (get_gui_callback):
12703         * gui.c (gui_item_add_keyval_pair):
12704         * gui.c (gui_item_init):
12705         * gui.c (gui_add_item_keywords_to_plist):
12706         * gui.c (mark_gui_item):
12707         * gui.c (gui_item_hash):
12708         * gui.c (gui_item_equal):
12709         * gui.c (copy_gui_item):
12710         * gui.c (syms_of_gui):
12711         recognize callback-ex in a number of places.
12712         also, fix the annoying "can't get out of yes-no dialog" bug.
12713
12714         * gui.h:
12715         * gui.h (struct Lisp_Gui_Item):
12716         recognize callback-ex in a number of places.
12717
12718         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12719         new parameter in button_item_to_widget_value.
12720
12721         * glyphs-x.c (x_update_widget):
12722         * glyphs-x.c (x_button_instantiate):
12723         * glyphs-x.c (x_button_update):
12724         * glyphs-x.c (x_progress_gauge_instantiate):
12725         * glyphs-x.c (x_edit_field_instantiate):
12726         * glyphs-x.c (x_combo_box_instantiate):
12727         * glyphs-x.c (x_tab_control_instantiate):
12728         * glyphs-x.c (x_label_instantiate):
12729         new image instance parameter in various places.
12730
12731         * event-Xt.c:
12732         * event-Xt.c (enqueue_Xt_dispatch_event):
12733         this fun gets exported.
12734
12735         * gui-msw.c:
12736         * gui-msw.c (mswindows_handle_gui_wm_command):
12737         handle both :callback and :callback-ex, and generate our own
12738         event because it's one of the callback-ex arguments.
12739
12740         * gui-x.c:
12741         * gui-x.c (popup_selection_callback):
12742         handle both :callback and :callback-ex, and generate our own
12743         event because it's one of the callback-ex arguments.
12744         * gui-x.c (button_item_to_widget_value):
12745         * gui-x.c (gui_items_to_widget_values_1):
12746         * gui-x.c (gui_item_children_to_widget_values):
12747         * gui-x.c (gui_items_to_widget_values):
12748         new image instance parameter in various places.
12749
12750         * fns.c (Freplace_list):
12751         fix small typo in doc string.
12752
12753         * lisp.h:
12754         declare enqueue_Xt_dispatch_event.
12755
12756 2000-04-28  Ben Wing  <ben@xemacs.org>
12757
12758         * buffer.c:
12759         * buffer.c (Frecord_buffer):
12760         * buffer.c (syms_of_buffer):
12761         delete record-buffer-hook.
12762
12763         * fns.c:
12764         * fns.c (Freplace_list):
12765         * fns.c (syms_of_fns):
12766         new primitive replace-list.
12767
12768         * frameslots.h:
12769         slot for old buffer-alist.
12770
12771         * lisp.h:
12772         exfun replace-list.
12773
12774         * redisplay.c:
12775         * redisplay.c (redisplay_frame):
12776         * redisplay.c (syms_of_redisplay):
12777         * redisplay.c (vars_of_redisplay):
12778         new hook buffer-list-changed-hook.
12779         call it.
12780
12781 2000-04-27  Ben Wing  <ben@xemacs.org>
12782
12783         * extents.h: extern in_modeline_generation.
12784
12785         * redisplay.c (generate_formatted_string_db): set
12786         in_modeline_generation.
12787
12788         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12789         flags if in modeline generation.  otherwise frame-modified-tick
12790         is ticked far too often.
12791         Declare in_modeline_generation.
12792
12793 2000-04-26  Ben Wing  <ben@xemacs.org>
12794
12795         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12796         option.
12797         (vars_of_emacs): add quick-build as an error-checking option.
12798         A bit kludgy, but there doesn't seem much point in creating
12799         a real var for this.
12800
12801         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12802
12803 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12804
12805         * redisplay.h (struct display_line): Add a new variable,
12806         line_continuation.
12807
12808         * redisplay.c (create_text_block): Set dl->line_continuation if
12809         the line continues.
12810         (create_string_text_block): Ditto.
12811         (regenerate_window_incrementally): Use line_continuation instead
12812         of searching continuation glyph.
12813         (add_margin_runes): Call add_glyph_rune.
12814         (add_glyph_rune): Handle margin glyph.
12815
12816 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12817
12818         * filelock.c (fill_in_lock_file_name):
12819         ANSIfy.
12820         Check for IS_ANY_SEP instead of '/'.
12821         (lock_file_1):
12822         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12823         Never check errno without first seeing that system call failed.
12824         (unlock_file): Add GCPRO.
12825         (Flock_buffer): Fix docstring.
12826         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12827
12828 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12829
12830         * sysdep.c (get_pty_max_bytes):
12831         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12832         strings longer than 252 bytes.
12833
12834         * md5.c: Unconditionally include ANSI header <limits.h>
12835
12836         * glyphs-x.c (convert_EImage_to_XImage):
12837         * lisp-union.h (union Lisp_Object):
12838         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12839
12840 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12841
12842         * filelock.c (current_lock_owner): Remove unused variable o, p.
12843
12844 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12845
12846         * callint.c: Remove multiply defined symbol Qlet
12847         (syms_of_callint): ditto.
12848
12849 2000-04-14  Andy Piper  <andy@xemacs.org>
12850
12851         * general.c (syms_of_general): add last-command, this-command, let
12852         and funcall.
12853
12854         * lisp.h: declare various symbols.
12855
12856         * glyphs.h: declare Qwidget_callback_current_channel;
12857
12858         * glyphs-widget.c (syms_of_glyphs_widget): add
12859         Qgui_callback_current_channel.
12860         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
12861
12862         * gui-msw.c (mswindows_handle_gui_wm_command): bind
12863         widget-callback-current-channel when invoking the interactive
12864         arg. Also bind last-command and next-command when invoking the
12865         widget updates.
12866         * gui-x.c (popup_selection_callback): ditto.
12867
12868         * gui.c (get_gui_callback): massage args so that we are always
12869         calling eval. This allows us to add our own variable bindings
12870         outside.
12871
12872         * glyphs-x.c (x_button_instantiate): use
12873         gui_items_to_widget_values since this is GC safe.
12874         (x_progress_gauge_instantiate): ditto.
12875         (x_edit_field_instantiate): ditto.
12876         (x_label_instantiate): ditto.
12877
12878         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
12879         (emacs_Xt_event_widget_focus_out): new function
12880         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
12881         focus.
12882         (emacs_Xt_event_add_widget_actions): new function. add focus
12883         functions as actions.
12884         (init_event_Xt_late): use it.
12885
12886 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
12887
12888         * event-stream.c (Fdispatch_event): Doc fix.
12889
12890 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
12891
12892         * postgresql.c: Remove all references to PQsetenv*.
12893
12894         * postgresql.h: Remove references to PGsetenvHandler object.
12895         * lrecord.h (lrecord_type): Ditto.
12896
12897 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12898
12899         * glyphs-msw.h (struct mswindows_image_instance_data): Added
12900         real_heigh and real_width members, and accessor macros for these.
12901
12902         * glyphs-msw.c (init_image_instance_geometry): New function.
12903         (init_image_instance_from_dibitmap): Use it.
12904         (mswindows_resource_instantiate): Use it.
12905         (init_image_instance_from_xbm_inline): Use it.
12906         (mswindows_initialize_image_instance_mask): Use real bitmap
12907         geometry.
12908         (mswindows_create_resized_bitmap): Ditto.
12909         (mswindows_create_resized_mask): Ditto.
12910
12911         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
12912         and bitmap to their surface size.
12913
12914 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
12915
12916         * process-unix.c (unix_send_process): Guard against process MIA
12917         after Faccept_process_output.
12918
12919 2000-04-11  Ben Wing  <ben@xemacs.org>
12920
12921         * eval.c (unbind_to_hairy): fix brokenness introduced by
12922         nanosecond speed improvements.
12923
12924 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
12925
12926         * sunplay.c (init_device): To play sounds correctly, the device
12927         apparently needs to be initialized at least once by XEmacs.  Make
12928         it so.
12929
12930 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12931
12932         * redisplay.c (add_margin_runes): Add text image glyph
12933           handling.
12934
12935 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
12936
12937         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
12938         gcc is newer than 2.5.
12939
12940 2000-04-06  Colin Rafferty  <colin@xemacs.org>
12941
12942         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
12943
12944         * fns.c (size_bit_vector):
12945         * alloc.c (size_vector):
12946         (make_vector_internal):
12947         (make_bit_vector_internal):
12948         (sweep_bit_vectors_1):
12949         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
12950
12951 2000-04-06  Andy Piper  <andy@xemacs.org>
12952
12953         * gmalloc.c (malloc): undo previous change.
12954         (malloc): ditto.
12955         (free): ditto.
12956         (realloc): ditto.
12957
12958 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
12959
12960         * line-number.c (buffer_line_number): Revert to former version.
12961
12962 2000-04-06  Andy Piper  <andy@xemacs.org>
12963
12964         * gmalloc.c (malloc): add error checking.
12965         (malloc): ditto.
12966         (free): ditto.
12967         (realloc): ditto.
12968
12969         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
12970         button_item_to_widget_value arg.
12971
12972         * glyphs-x.c (x_button_instantiate): add extra
12973         button_item_to_widget_value arg.
12974         (x_progress_gauge_instantiate): ditto.
12975         (x_edit_field_instantiate): ditto.
12976         (x_label_instantiate): ditto.
12977
12978         * gui-x.c (gui_items_to_widget_values_1): add extra
12979         button_item_to_widget_value arg.
12980         (button_item_to_widget_value): add extra menu_item_p arg.
12981
12982         * gui-x.h: change signature of button_item_to_widget_value.
12983
12984         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
12985         button_item_to_widget_value arg.
12986
12987 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
12988
12989         * buffer.h (struct buffer): auto_save_modified should be long.
12990
12991 2000-04-05  Andy Piper  <andy@xemacs.org>
12992
12993         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
12994         type.
12995         (button_query_geometry): give a little more room so that athena
12996         buttons fit.
12997
12998 2000-04-05  Andy Piper  <andy@xemacs.org>
12999
13000         * faces.c (complex_vars_of_faces): The widget face should inherit
13001         the font of the gui-element face.
13002
13003 2000-04-04  Andy Piper  <andy@xemacs.org>
13004
13005         * glyphs-x.c (x_button_update): new function. unconditionally
13006         update a button's state when the instance is dirty.
13007         (image_instantiator_format_create_glyphs_x): add x_button_update.
13008         (x_widget_instantiate): remove old resize cruft.
13009
13010 2000-04-02  Andy Piper  <andy@xemacs.org>
13011
13012         * frame.c (change_frame_size_1): The introduction of gutters means
13013         that we need to allow 0 as a potential frame dimension.
13014
13015 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13016
13017         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13018         image glyph if allow_cursor.
13019         (add_hscroll_rune): Don't allow cursor to border glyph.
13020         (create_text_block): Ditto.
13021
13022         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13023         text not in buffer.
13024         (redisplay_output_layout): Call ensure_face_cachel_complete for
13025         text image glyph.
13026
13027
13028 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13029
13030         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13031
13032         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13033         not in buffer
13034
13035         * redisplay-tty.c (tty_output_display_block): Delete the routine
13036         for text image glyph
13037         * redisplay-x.c (x_output_display_block): ditto
13038         * redisplay-msw.c (mswindows_output_display_block): ditto
13039
13040 2000-02-02  Mike Alexander  <mta@arbortext.com>
13041
13042         Note: Some of these were committed by accident as part of other
13043         patches.
13044
13045         * regex.c (regex_compile): Avoid compiler warnings.
13046
13047         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13048
13049         * nt.h: Declare term_ntproc correctly.
13050
13051         * nt.c: Remove incorrect declaration of get_home_directory which
13052         is declared correctly in lisp.h.
13053
13054         * keymap.c (get_keyelt): Avoid compiler warnings.
13055         (raw_lookup_key_mapper): Avoid compiler warnings.
13056
13057         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13058
13059         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13060
13061         * filemode.c (mode_string): Avoid compiler warnings.
13062
13063         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13064         avoid warning.
13065
13066         * events-mod.h: Undef some things that winuser.h defines differently.
13067
13068         * data.c (Faset): Avoid compiler warnings.
13069
13070         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13071
13072 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13073
13074         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13075         Fall through to simple beep on error.
13076         Replace "extern" by real header file.
13077
13078         * linuxplay.c: Use nativesound.h
13079         (play_sound_data): Return error code. Be less verbose on error.
13080
13081         * sunplay.c: Use nativesound.h
13082         (play_sound_data): Return error code. Be less verbose on error.
13083
13084         * ntplay.c: Use nativesound.h
13085         (play_sound_data): Return fake error code
13086
13087         * sgiplay.c: Use nativesound.h
13088         (play_sound_data): Return error code
13089
13090         * hpplay.c: Use nativesound.h, partially implement
13091         new error code. Break compilation until finished.
13092         (play_sound_data): error code.
13093
13094         * nativesound.h (play_sound_file):
13095           (play_sound_data): Prototype in new header.
13096
13097 2000-03-31  Andy Piper  <andy@xemacs.org>
13098
13099         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13100         for toggle and radio buttons.
13101         (image_instantiator_buttons): use it.
13102
13103 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13104
13105         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13106         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13107         found. Scrollbar event probably belonged to some old config.
13108
13109 2000-03-31  Andy Piper  <andy@xemacs.org>
13110
13111         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13112         than 1.
13113         (initialize_widget_image_instance): default layout to
13114         LAYOUT_HORIZONTAL rather than 0.
13115         (widget_instantiate): reverse the item list at the end rather than
13116         every iteration.
13117         (layout_layout): re-code for the border text at the front of the
13118         item list rather than at the end.
13119         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13120         provided by the user.
13121         (widget_query_geometry): comment.
13122
13123 2000-03-30  Andy Piper  <andy@xemacs.org>
13124
13125         * glyphs-widget.c (image_instantiator_layout): allow standard
13126         widget keywords in layouts.
13127
13128         * gutter.c (output_gutter): cope with nil gutter contents.
13129
13130         * frame.c (Fset_frame_properties): add gutter docs.
13131
13132 2000-03-29  Andy Piper  <andy@xemacs.org>
13133
13134         * toolbar-msw.c (TBSTYLE_FLAT): add.
13135         (mswindows_output_toolbar): minor fiddling.
13136
13137 2000-03-29  Andy Piper  <andy@xemacs.org>
13138
13139         * gutter.c (output_gutter): force gutter size recalculation if
13140         what we are trying to display won't fit.
13141         (update_gutter_geometry): new function. A per-gutter version of
13142         update_frame_gutter_geometry.
13143         (update_frame_gutter_geometry): use it.
13144         (redraw_exposed_gutter): add extra debugging output.
13145
13146 2000-03-28  Mike Alexander  <mta@arbortext.com>
13147
13148         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13149         (pdump_file_unmap): Implement it on Windows
13150         (pdump_file_get): Save alocated handles for pdump_file_unmap
13151
13152 2000-03-28  Andy Piper  <andy@xemacs.org>
13153
13154         * gui.c (get_gui_callback): treat Quit specially.
13155
13156 2000-03-27  Andy Piper  <andy@xemacs.org>
13157
13158         * glyphs.c (image_instantiate): be careful to check in the same
13159         way we assigned.
13160
13161 2000-03-27  Didier Verna  <didier@xemacs.org>
13162
13163         * config.h.in: define the proper SMART_INCLUDE macro.
13164         handle renaming of `foo_h_path' to `foo_h_file'.
13165
13166         * database.c: ditto.
13167
13168         * emacs.c: ditto.
13169
13170         * linuxplay.c: ditto.
13171
13172         * terminfo.c: ditto.
13173
13174         * tooltalk.h: ditto.
13175
13176 2000-03-27  Andy Piper  <andy@xemacs.org>
13177
13178         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13179         gets updated whenever the face might have changed.
13180
13181 2000-03-26  Mike Alexander  <mta@arbortext.com>
13182
13183         * dumper.c (pdump_resource_free): Fix the comment.
13184
13185 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13186
13187         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13188
13189 2000-03-22  Mike Alexander  <mta@arbortext.com>
13190
13191         * dumper.c: Include Windows headers on Windows
13192         (pdump_resource_free): Add a body to the function
13193         (pdump_load): exe_name -> exe_path and add some comments.
13194
13195 2000-03-25  Mike Alexander  <mta@arbortext.com>
13196
13197         * gui.c (copy_gui_item_tree): Return a value in all cases
13198
13199 2000-03-21  Didier Verna  <didier@xemacs.org>
13200
13201         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13202         lwlib/config.h.in.
13203         (SMART_INCLUDE): new macro.
13204         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13205         the proper location.
13206
13207         * postgresql.c: use it.
13208
13209         * inline.c: ditto.
13210
13211 2000-03-24  Andy Piper  <andy@xemacs.org>
13212
13213         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13214         do this.
13215
13216 2000-03-24  Andy Piper  <andy@xemacs.org>
13217
13218         * redisplay-output.c (compare_runes): use image_instance_changed
13219         to detect changes. Do not depend on glyphs_changed, only depend on
13220         dirtiness.
13221          (redisplay_output_layout): add debug messages.
13222         (compare_runes): ditto.
13223
13224         * glyphs.h: declare new functions.
13225         (struct Lisp_Image_Instance): remove percent and associated
13226         accessors.
13227
13228         * gui.h: declare new copying functions.
13229
13230         * gui.c (copy_gui_item_tree): new function.
13231         (copy_gui_item): new function.
13232         (gui_item_id_hash): revert to standard hash.
13233         (gui_item_hash): ditto.
13234         (gui_item_hash_internal): deleted.
13235         (mark_gui_item): mark value.
13236         (gui_item_add_keyval_pair): add value.
13237         (gui_item_init): ditto.
13238         (gui_add_item_keywords_to_plist): ditto.
13239         (gui_item_equal): ditto.
13240         (syms_of_gui): add Q_value.
13241
13242         * glyphs-x.c (x_progress_gauge_update): use pending items and
13243         value for setting the state.
13244         (x_update_widget): don't set items from pending here.
13245
13246         * glyphs-widget.c (update_widget): update items here.
13247         (progress_gauge_set_property): use items for storing value. Put
13248         new value in pending items.
13249
13250         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13251         items for new value. Convert percent -> value.
13252         (mswindows_tab_control_update): don't update items here.
13253
13254         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13255         (update_subwindow): ditto.
13256         (image_instance_changed): new function. Compare hash values and
13257         past and present widget items.
13258         (image_instantiate): We more careful about where we instantiate
13259         things.
13260         (image_instantiate): add error checking.
13261
13262         * gutter.c (syms_of_gutter): use -hook.
13263
13264 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13265
13266         * console-tty.c (Fset_console_tty_input_coding_system): Use
13267         Qkeyboard.
13268         (Fset_console_tty_output_coding_system): Use Qterminal.
13269         (tty_init_console): Use Qkeyboard and Qterminal.
13270
13271 2000-03-21  Ben Wing  <ben@xemacs.org>
13272
13273         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13274         From Mike Alexander <mta@arbortext.com>.
13275
13276 2000-03-21  Ben Wing  <ben@xemacs.org>
13277
13278         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13279         process brokenness.  Proper implementation to come.
13280         * callproc.c:
13281         Rename call-process-internal to old-call-process-internal.
13282         New impl. in process.el.
13283
13284 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13285
13286         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13287
13288 2000-03-20  Andy Piper  <andy@xemacs.org>
13289
13290         * glyphs.c (full_list_hash): make hashes of the same elements in
13291         different orders return different values.
13292
13293 2000-03-20  Martin Buchholz <martin@xemacs.org>
13294
13295         * XEmacs 21.2.32 is released.
13296
13297 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13298
13299         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13300         (DFC_MALLOC_USE_CONVERTED_DATA):
13301         Add aliasing-safe casts to allow use with char* or unsigned char*
13302         lvalues.
13303
13304         * eldap.c (Fldap_open):
13305         (Fldap_search_basic):
13306         (Fldap_add):
13307         (Fldap_modify):
13308         Make C++-compilable.
13309         Make sure GCPRO'ed variables are initialized.
13310         Use temp variables to avoid repeated calls to Flength.
13311
13312 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13313
13314         * sysfile.h:
13315         Make sure PATH_MAX is always defined.
13316         Include limits.h for PATH_MAX.
13317         Deprecate use of MAXPATHLEN.
13318
13319 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13320
13321         * emacs.c: Add reinit_vars_of_fileio.
13322         * symsinit.h: Add reinit_vars_of_fileio.
13323         * fileio.c (reinit_vars_of_fileio): New.
13324         * fileio.c (Fmake_temp_name):
13325         Initialize temp_name random number from microseconds to make
13326         collisions even less likely.  Initialize always at process startup
13327         time.  (make-temp-name) used to return the same file name twice in
13328         a row when PDUMP.
13329         Random stylistic fiddling.
13330         Comment fixes.
13331
13332 2000-03-20  Andy Piper  <andy@xemacs.org>
13333
13334         * glyphs.c (image_instantiate): allow text glyphs to be
13335         instantiated in the minibuffer window.
13336
13337 2000-03-19  Andy Piper  <andy@xemacs.org>
13338
13339         * glyphs.c (image_instance_hash): be careful about which items we
13340         hash on.
13341
13342         * glyphs-widget.c (tab_control_set_property): record into pending
13343         items rather than the actual items.
13344
13345         * glyphs-x.c (x_update_widget): use pending items to update with.
13346
13347         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13348         to update with.
13349
13350         * glyphs.c (mark_image_instance): mark pending items.
13351
13352         * window.c (Fset_window_configuration): record the buffer.
13353         (Fselect_window): totally revert previous change which breaks many
13354         things.
13355
13356 2000-03-18  Andy Piper  <andy@xemacs.org>
13357
13358         * glyphs-msw.c (mswindows_tab_control_update): force selected
13359         item.
13360
13361         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13362         window domain cache, otherwise we get inconsistencies at
13363         startup. There is something fishy at startup which can lead to the
13364         minibuffer being the selected window when the gutter content is
13365         instantiated.
13366
13367         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13368         gcpros.
13369         (parse_gui_item_tree_children): ditto.
13370         (parse_gui_item_tree_item): ditto.
13371
13372         * glyphs.c (Fupdate_widget_instances): return something.
13373
13374 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13375
13376         * window.c (Fselect_window): Undo 2000-03-17 change.
13377
13378 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13379
13380         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13381         against v7.0 libraries.  Insta-coredump city until the postgres
13382         folks fix it.
13383
13384 2000-03-17  Andy Piper  <andy@xemacs.org>
13385
13386         * faces.c (complex_vars_of_faces): don't give the widget face an
13387         inherited background pixmap.
13388
13389         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13390         selected item.
13391
13392         * event-stream.c (Fdispatch_non_command_events): return something.
13393
13394         * gutter.c (output_gutter): use widget face.
13395         (clear_gutter): ditto.
13396
13397         * NEWS: adjust again.
13398
13399         * window.c (Fselect_window): make sure this runs to completion to
13400         avoid oddities with Fset_window_configuration.
13401         (Fcurrent_window_configuration): in general do not save the
13402         minibuffer as the selected window.
13403
13404         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13405
13406 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13407
13408         * emacs.c (Frunning_temacs_p): Revert previous patch.
13409         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13410
13411 2000-03-16  Andy Piper  <andy@xemacs.org>
13412
13413         * glyphs-x.c (x_tab_control_update): if no widget values then
13414         return.
13415
13416         * NEWS: update for new features.
13417
13418         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13419         synthetic event to the native system.
13420         (reinit_vars_of_event_Xt): set force_event_pending to
13421         emacs_Xt_force_event_pending.
13422
13423         * events.h (struct event_stream): add force_event_pending.
13424
13425         * specifier.c (recompute_one_cached_specifier_in_window): add
13426         comment.
13427
13428         * redisplay.c (redisplay_frame): don't call
13429         update_frame_subwindows. Reset subwindow cachels when
13430         subwindows_changed, removing this was an optimization too far.
13431
13432         * redisplay-output.c (compare_runes): reorganize so that we catch
13433         glyph changes when we want them. Set optimize_output when this
13434         would help layouts.
13435         (redisplay_output_layout): remove frame_really_changed, use
13436         optimize_output instead.
13437
13438         * redisplay-msw.c (mswindows_output_display_block): reset
13439         optimize_output after outputting a glyph.
13440         * redisplay-x.c (x_output_display_block): ditto.
13441         * redisplay-tty.c (tty_output_display_block): ditto.
13442
13443         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13444         functions.
13445         (gutter_specs_changed): do specific gutter positions.
13446         (top_gutter_specs_changed): new function. Only update the
13447         specified gutter specs.
13448         (bottom_gutter_specs_changed): ditto.
13449         (left_gutter_specs_changed): ditto.
13450         (right_gutter_specs_changed): ditto.
13451
13452         * gui.c (gui_item_hash_internal): new function, does a real hash.
13453         (gui_item_id_hash): use it.
13454         (gui_item_hash): hash the eval'ed gui_item.
13455
13456         * gui-x.c (popup_selection_callback): send an eval event to call
13457         Fupdate_widget_instances.
13458
13459         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13460         to call Fupdate_widget_instances.
13461
13462         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13463         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13464
13465         * glyphs.c: (update_frame_subwindows): deleted.
13466         (Fupdate_widget_instances): new function for updating the dirty
13467         state of widgets that might have changed.
13468         (syms_of_glyphs): add Qupdate_widget_instances.
13469         (full_list_hash): hash a list completely.
13470         (image_instance_hash): use it for items and properties.
13471
13472         * frame-msw.c (mswindows_size_frame_internal): remove unused
13473         variable.
13474
13475         * faces.h (struct face_cachel): fix comment.
13476
13477         * event-stream.c (Fdispatch_non_command_events): new
13478         function. Process non-command events, forcing an event cycle
13479         beforehand.
13480         (syms_of_event_stream): declare.
13481         (event_stream_force_event_pending): new function. Force an event
13482         on the native event queue so that an event cycle will occur next
13483         time we check.
13484
13485         * event-msw.c:
13486         (struct ntpipe_shove_stream):
13487         (mswindows_enqueue_dispatch_event):
13488         (mswindows_dequeue_dispatch_event):
13489         (mswindows_cancel_dispatch_event):
13490         (mswindows_pump_outstanding_events):
13491         (mswindows_drain_windows_queue):
13492         (mswindows_handle_paint):
13493         (mswindows_wnd_proc):
13494         (mswindows_key_to_emacs_keysym):
13495         (get_process_input_waitable):
13496         (emacs_mswindows_delete_stream_pair): re-indent file.
13497         (mswindows_need_event): do not process further fds if the windows
13498         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13499         fixes the 100% cpu problem.
13500         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13501
13502 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13503
13504         * alloc.h: New.
13505         * dumper.h: New.
13506         * dumper.c: New.
13507
13508         * emacs.c: Moved dump file searching to dumper.c.
13509         (Frunning_temacs_p): Fixed.
13510
13511         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13512         last_lrecord_type_index_assigned.
13513
13514 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13515
13516         * symsinit.h: Added reinit parameter to init_console_stream
13517         declaration.
13518
13519         * lisp.h: Added file parameter to pdump_load declaration.
13520
13521         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13522         support.  Added dump file searching.
13523
13524         * config.h.in: Added EMACS_PROGNAME.
13525
13526         * console-stream.c (init_console_stream): Fix reinitialisation
13527         when running from temacs.
13528
13529         * alloc.c (pdump): Add id support.
13530         (pdump_load): Add file parameter and signature/id support.
13531
13532         * Makefile.in.in: Add full pdump support.
13533
13534 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13535
13536         * postgresql.c: Update documentation to reflect latest code
13537         status.
13538         (print_result): Show tuple counts in printed representation when
13539         appropriate.
13540         (Fpq_put_nbytes): MULE-ize.
13541         (Fpq_get_line_async): Ditto.
13542
13543 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13544
13545         * postgresql.c (Fpq_lo_import): Fix return value.
13546         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13547
13548 2000-03-13  Ben Wing  <ben@xemacs.org>
13549
13550         * alloc.c (pdump_load):
13551         Fix compile warning under mswin.
13552
13553 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13554
13555         * postgresql.c: Mule-ization, bug fixes.
13556         Use PG_CODING to encapsulate coding system name changes.
13557         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13558         (pg-coding-system): Create.
13559
13560         (Fpq_conn_defaults): Mule-ize.
13561         (Fpq_connectdb): Mule-ize & bug fix.
13562         (Fpq_connect_start): Mule-ize.
13563         (Fpq_set_client_encoding): Mule-ize.
13564         (Fpq_finish): Document `DEAD' connection status.
13565         (Fpq_clear): Ditto.
13566         (Fpq_pgconn): Mule-ize.
13567         (Fpq_exec): Mule-ize & bug fix.
13568         (Fpq_send_query): Ditto.
13569         (Fpq_get_result): Ditto.
13570         (Fpq_res_status): Mule-ize.
13571         (Fpq_result_error_message): Mule-ize.
13572         (Fpq_ntuples): fix comments.
13573         (Fpq_fname): Mule-ize.
13574         (Fpq_fnumber): Mule-ize.
13575         (Fpq_ftype): fix comments.
13576         (Fpq_get_value): Mule-ize.
13577         (Fpq_cmd_status): Ditto.
13578         (Fpq_cmd_tuples): Ditto.
13579         (Fpq_oid_value): Ditto.
13580         (Fpq_notifies): Ditto.
13581         (Fpq_lo_import): Ditto.
13582         (Fpq_lo_export): Ditto.
13583         (Fpq_get_line): Ditto.
13584         (Fpq_put_line): Mule-ize and bug fix.
13585         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13586
13587 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13588
13589         * postgresql.c (vars_of_postgresql): Mule-ize.
13590         (Fpq_conn_defaults): Ditto.
13591
13592 2000-03-12  Ben Wing  <ben@xemacs.org>
13593
13594         * alloc.c (Fmake_byte_code):
13595         * alloc.c (debug_string_purity_print):
13596         * alloc.c (pdump_backtrace):
13597         * alloc.c (pdump_get_indirect_count):
13598         * alloc.c (pdump_register_sub):
13599         * alloc.c (pdump_register_object):
13600         * alloc.c (pdump_register_struct):
13601         * alloc.c (pdump_dump_data):
13602         * alloc.c (pdump_reloc_one):
13603         Minor cleanups.
13604
13605         * console-msw.c:
13606         * console-msw.c (GetConsoleHwnd):
13607         * console-msw.c (msw_hide_console):
13608         * console-msw.c (msw_show_console):
13609         * console-msw.c (msw_ensure_console_buffered):
13610         * console-msw.c (msw_output_console_string):
13611         * console-msw.c (console_type_create_mswindows):
13612
13613         a) Added functions to manipulate the console window for use with
13614         shell support.
13615
13616         b) Added support for writing text to the console, which is now
13617         used under Windows when xemacs is not being run non-interactively,
13618         to write text that would otherwise be destined for stdout because
13619         under these circumstances, text written to stdout tends to
13620         disappear and not be seen.
13621
13622         * console-msw.h:
13623         * event-Xt.c:
13624         * event-Xt.c (x_event_to_emacs_event):
13625         * event-Xt.c (describe_event_window):
13626         * events-mod.h (XEMACS_MOD_CONTROL):
13627         * events.c:
13628         * events.c (Fmake_event):
13629         * events.c (character_to_event):
13630         * events.c (event_to_character):
13631         * events.c (format_event_object):
13632         * events.c (Fevent_modifiers):
13633         * events.h:
13634         * events.h (struct key_data):
13635         * events.h (struct button_data):
13636         * events.h (struct misc_user_data):
13637         * frame-x.c (Fcde_start_drag_internal):
13638         * frame-x.c (Foffix_start_drag_internal):
13639         * gpmevent.c (Freceive_gpm_event):
13640         * keymap.c:
13641         * keymap.c (bucky_sym_to_bucky_bit):
13642         * keymap.c (control_meta_superify):
13643         * keymap.c (make_key_description):
13644         * keymap.c (keymap_lookup_directly):
13645         * keymap.c (create_bucky_submap):
13646         * keymap.c (keymap_store):
13647         * keymap.c (define_key_check_and_coerce_keysym):
13648         * keymap.c (define_key_parser):
13649         * keymap.c (define_key_alternate_name):
13650         * keymap.c (Fdefine_key):
13651         * keymap.c (raw_lookup_key_mapper):
13652         * keymap.c (struct map_keymap_unsorted_closure):
13653         * keymap.c (map_keymap_unsorted_mapper):
13654         * keymap.c (map_keymap_sort_predicate):
13655         * keymap.c (map_keymap_sorted):
13656         * keymap.c (accessible_keymaps_mapper_1):
13657         * keymap.c (where_is_recursive_mapper):
13658         * keymap.c (describe_map_mapper):
13659         * keymap.c (describe_map_sort_predicate):
13660         * keymap.c (describe_map):
13661         * keymap.c (complex_vars_of_keymap):
13662         And a number of other files, the key modifier preprocessor
13663         constants that xemacs uses have names that conflict with constants
13664         defined under MS Windows for other purposes, so they were renamed
13665         to begin with the prefix XEMACS_. The variables that hold such
13666         modifiers were changed to consistently be of type int to fix
13667         various compile warnings.
13668
13669         * console.c (complex_vars_of_console):
13670         * device.c:
13671         * device-msw.c:
13672         * device-msw.c (mswindows_finish_init_device):
13673         * device-msw.c (msw_get_workspace_coords):
13674         * device-msw.c (mswindows_device_system_metrics):
13675         and various other files, added support for a new
13676         device property called offset-workspace which returns the position
13677         of the upper left corner of the workspace area and goes along with
13678         the existing size-workspace property.
13679
13680         * dialog-msw.c:
13681         * dialog-msw.c (push_bufbyte_string_as_unicode):
13682         * dialog-msw.c (mswindows_popup_dialog_box):
13683         Added support for XEmacs-style accelerator specifications in
13684         button text.  Note: I didn't add support for this under X Windows,
13685         and somebody needs to do this.
13686
13687         * dialog.c:
13688         * dialog.c (Fpopup_dialog_box):
13689         Documented the support for accelerators that was just mentioned.
13690
13691         editfns.c (get_home_directory): Changed behavior under Windows
13692         when HOME not defined; former behavior was irretrievably broken.
13693
13694         * emacs.c:
13695         * emacs.c (main_1):
13696         * emacs.c (main):
13697         * minibuf.c (clear_echo_area_internal):
13698         * minibuf.c (echo_area_append):
13699         * print.c:
13700         * print.c (std_handle_out_external):
13701         * print.c (std_handle_out_va):
13702         * print.c (fatal):
13703         * print.c (write_string_to_stdio_stream):
13704         * print.c (output_string):
13705         * print.c (debug_print):
13706         * print.c (debug_backtrace):
13707         * print.c (debug_short_backtrace):
13708         Cleaned up the code that prints text to stdout so that this can be
13709         changed to output into a console window instead under MS Windows,
13710         as described above.
13711
13712         * eval.c:
13713         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13714         * eval.c (internal_catch):
13715         * eval.c (unwind_to_catch):
13716         * eval.c (throw_or_bomb_out):
13717         * eval.c (condition_case_1):
13718         * eval.c (signal_1):
13719         * eval.c (check_error_state_sanity):
13720         * eval.c (call_with_suspended_errors_1):
13721         * eval.c (call_with_suspended_errors):
13722         * eval.c (reinit_vars_of_eval):
13723         Added code to catch throw loops and check for a pesky bug that may
13724         be gone now.
13725
13726         * event-msw.c:
13727         * event-msw.c (key_needs_default_processing_p):
13728         * event-msw.c (mswindows_wnd_proc):
13729         * event-msw.c (mswindows_modifier_state):
13730         * event-msw.c (emacs_mswindows_quit_p):
13731         * event-msw.c (vars_of_event_mswindows):
13732         a) Added support for using the alt key to select menu items as is
13733         standard under MS Windows.  This is controlled using the variable
13734         menu-accelerator-enabled, just like under X Windows.  There is an
13735         option on the options menu to turn this support on.  I really
13736         think that it should be on by default under Windows, but I'm not
13737         going to make this change yet.
13738
13739         b)  Added support for dynamic display size changes under Windows.
13740
13741         * event-stream.c:
13742         * event-stream.c (maybe_echo_keys):
13743         * event-stream.c (Fnext_event):
13744         * event-stream.c (command_builder_find_leaf):
13745         * event-stream.c (lookup_command_event):
13746         * event-stream.c (execute_command_event):
13747         * event-stream.c (pre_command_hook):
13748         * event-stream.c (post_command_hook):
13749         * event-stream.c (syms_of_event_stream):
13750         * event-stream.c (vars_of_event_stream):
13751         * event-stream.c (complex_vars_of_event_stream):
13752         * events.h (struct command_builder):
13753
13754         a) Tried to clean up a little bit the horribly written x-specific
13755         accelerator code that crept into this file.  I moved this code
13756         into menubar-x.c where it belongs. I also needed to move the
13757         command builder structure into the file events.h because it is
13758         accessed directly by this accelerator code.  What I didn't do, but
13759         which should be done at some point, is to properly abstract this
13760         code using device methods instead of the kludgy way that it
13761         currently hooks into the event code.
13762
13763         b) Added the lisp variables this-command-properties and
13764         last-command- properties, which should be used to synchronize two
13765         adjacent commands in preference to playing games with the variable
13766         this-command, which is typically what happens.
13767
13768         c) Added some slightly nasty code to hook into the lisp support
13769         for shifted- motion-key selection.  This is actually necessary for
13770         somewhat complicated reasons, which are described in
13771         simple.el. (NB: I think the proper thing would be to have the code
13772         that calls the pre and post command hooks also call out to generic
13773         lisp functions in simple.el, where all built-in stuff could be
13774         added.  I will think about this more.)
13775
13776         * event-unixoid.c (poll_fds_for_input):
13777         * lread.c (readchar):
13778         * redisplay-tty.c (tty_clear_frame):
13779         * redisplay-x.c (x_get_gc):
13780         * signal.c (interrupt_signal):
13781         And a whole bunch of other files: fixed up places that printed
13782         directly to stderr to instead call the function stderr_out so that
13783         the changes I made under Windows work correctly.
13784
13785         * filemode.c (mode_string):
13786         Warning fixes.
13787
13788         * frame-msw.c:
13789         * frame-msw.c (mswindows_size_frame_internal):
13790         Fixed the computation of frame size and position to keep the frame
13791         within the workspace area, rather than within the physical
13792         dimensions of the screen, so that the frame doesn't overlap window
13793         manager decorations, such as the start menu and toolbar, typically
13794         at the bottom of the screen.
13795
13796         * frame.c (vars_of_frame):
13797         Changed the default frame title format under MS Windows to consist
13798         of buffername-XEmacs, which is standard under MS Windows.  I think
13799         it might be a good idea to change this everywhere because I think
13800         it is superior to the current frame title format, but this is the
13801         kind of change that is likely to cause some people to get annoyed,
13802         so I'm not making it.
13803
13804         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13805
13806         * gui-msw.c (mswindows_handle_gui_wm_command):
13807         Fixed compile warnings.
13808
13809         * gui-x.c:
13810         * gui-x.c (strdup_and_add_accel):
13811         * gui-x.c (button_item_to_widget_value):
13812         * gui-x.h:
13813         Added code to automatically put an accelerator onto the beginning
13814         of menu items that don't have one as is now the standard, and is
13815         described more later.  Also fixed things so that the menu item
13816         name can be an evaluated expression, again a new standard.
13817
13818         * gui.c:
13819         * gui.c (gui_item_add_keyval_pair):
13820         * gui.c (make_gui_item_from_keywords_internal):
13821         * gui.c (gui_add_item_keywords_to_plist):
13822         * gui.c (gui_item_accelerator):
13823         * gui.c (gui_name_accelerator):
13824         * gui.c (gui_item_included_p):
13825         * gui.c (gui_item_display_flush_left):
13826         * gui.c (gui_item_display_flush_right):
13827         * gui.c (parse_gui_item_tree_item):
13828         * gui.c (parse_gui_item_tree_children):
13829         * gui.c (parse_gui_item_tree_list):
13830         Mule-ized.  Cleanup.  GCPRO addition.
13831
13832         * line-number.c (buffer_line_number):
13833         * lisp.h:
13834         * lisp.h (EMACS_INT_MAX):
13835         Added the manifest constant EMACS_INT_MIN corresponding to the
13836         existing constant EMACS_INT_MAX.  This is partially to fix compile
13837         warnings under Windows, and partly for cleanliness.
13838
13839         * menubar-msw.c:
13840         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13841         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13842         * menubar-msw.c (displayable_menu_item):
13843         * menubar-msw.c (populate_menu_add_item):
13844         * menubar-msw.c (populate_or_checksum_helper):
13845         * menubar-msw.c (populate_menu):
13846         * menubar-msw.c (update_frame_menubar_maybe):
13847         * menubar-msw.c (prune_menubar):
13848         * menubar-msw.c (msw_char_is_accelerator):
13849         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13850         * menubar-msw.c (mswindows_handle_wm_command):
13851         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13852         * menubar-msw.c (mswindows_handle_wm_initmenu):
13853         * menubar-msw.c (mswindows_update_frame_menubars):
13854         * menubar-msw.c (mswindows_free_frame_menubars):
13855         * menubar-msw.c (mswindows_popup_menu):
13856         Fixed a bug in handling accelerators where an extra character
13857         would be displayed in the menu item.  Also generalized the
13858         function displayable_menu_item because it is now used by the
13859         dialog box code as well.  And finally, added code in the functions
13860         that create the menubar to extract a list of accelerators for the
13861         top level menubar, which is used in the event code to determine
13862         whether a particular alt-key combination should be used to invoke
13863         a menu item, or should be passed through to access the standard
13864         XEmacs keymap binding for this key combination.
13865
13866         Much needed GCPROing.
13867
13868         * menubar-x.c:
13869         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13870         * menubar-x.c (menu_item_descriptor_to_widget_value):
13871         * menubar-x.c (restore_in_menu_callback):
13872         * menubar-x.c (x_popup_menu):
13873         * menubar-x.c (menu_move_up):
13874         * menubar-x.c (menu_move_down):
13875         * menubar-x.c (menu_move_left):
13876         * menubar-x.c (menu_move_right):
13877         * menubar-x.c (menu_select_item):
13878         * menubar-x.c (command_builder_operate_menu_accelerator):
13879         * menubar-x.c (menu_accelerator_junk_on_error):
13880         * menubar-x.c (command_builder_find_menu_accelerator):
13881         * menubar-x.c (Faccelerate_menu):
13882         * menubar.h:
13883         Moved a whole bunch of code here that was previously in
13884         event-stream.c as described above.  There is also code connected
13885         to the new standard of adding an accelerator to the beginning of
13886         menu items that don't have one as described above and below.
13887
13888         * menubar.c:
13889         * menubar.c (menu_parse_submenu_keywords):
13890         * menubar.c (Fmenu_find_real_submenu):
13891         * menubar.c (Fnormalize_menu_item_name):
13892         * menubar.c (syms_of_menubar):
13893         * menubar.c (vars_of_menubar):
13894         * menubar.c (complex_vars_of_menubar):
13895
13896         a) Cleaned up a bunch of documentation and improved it.
13897
13898         b) XEmacs now automatically adds an accelerator onto the beginning
13899         of any menu items that don't have one.  I did this because there
13900         will inevitably be some menu items on the main menubar that don't
13901         have accelerators on them because the package that adds that
13902         particular menu item hasn't yet been fixed up to have accelerators
13903         in them and it looked rather strange to have some items with and
13904         some items without accelerators, especially since even in items
13905         without accelerators, you can, at least under windows, still
13906         access the item through an accelerator corresponding to the first
13907         character in the item's name.  If people don't like this behavior,
13908         I can add a variable to turn it off optionally, but I'm not sure
13909         this is a good idea because we really do need to have accelerators
13910         on all of the menu items, and if a package doesn't like the
13911         accelerators being put on the first character, then it should put
13912         the accelerators where they belong.
13913
13914         c) I made a behavior change, which is that the descriptor that
13915         specifies the text of the menu item, which formerly was just a
13916         string, can now also be an evaluated expression.  This makes this
13917         descriptor parallel with all of the others, which could also be
13918         evaluated expressions.  This also obviates the need for the
13919         keyword :label, which was previously listed in the documentation
13920         as unimplemented, and which was for the same purpose.
13921
13922         d) GCPROing.
13923
13924         * ntproc.c:
13925         * ntproc.c (new_child):
13926         * ntproc.c (sys_spawnve):
13927         * ntproc.c (find_child_console):
13928         * ntproc.c (sys_kill):
13929         Fixed compile warnings.  By the way, this file should really go
13930         away entirely, and this will happen as soon as Kirill makes his
13931         final round of process cleanups, which affect the function
13932         call-process.
13933
13934         * process-nt.c:
13935         * process-nt.c (struct nt_process_data):
13936         * process-nt.c (find_process_from_pid):
13937         * process-nt.c (send_signal_the_nt_way):
13938         * process-nt.c (enable_child_signals):
13939         * process-nt.c (find_child_console):
13940         * process-nt.c (send_signal_the_95_way):
13941         * process-nt.c (nt_finalize_process_data):
13942         * process-nt.c (ensure_console_window_exists):
13943         * process-nt.c (nt_create_process):
13944         * process-nt.c (nt_kill_child_process):
13945         * process-nt.c (nt_kill_process_by_pid):
13946         * process-nt.c (nt_open_network_stream):
13947         * process-nt.c (vars_of_process_nt):
13948         Copied over code from Emacs 20.5 to correctly send signals to sub-
13949         processes under Windows 95.  Also added code to automatically
13950         create and hide console window when a sub-process is created under
13951         Windows 95, which obviates the need for the separate runemacs.exe
13952         executable, and finally implemented some variables that were
13953         implemented in Emacs 20.5, but previously not in XEmacs.  These
13954         include mswindows- start-process-share-console and
13955         mswindows-start-process-inherit-error-mode. (Both of these only
13956         apply to Windows 95.)
13957
13958         * regex.c (regex_compile): Fixed a compile warning.
13959
13960         * select-msw.c:
13961         * select-msw.c (mswindows_own_selection):
13962         * select-msw.c (mswindows_get_foreign_selection):
13963         * select-msw.c (mswindows_disown_selection):
13964         * select-msw.c (console_type_create_select_mswindows):
13965         * select-msw.c (syms_of_select_mswindows):
13966         Cleaned up the file and implemented the device method
13967         selection_exists_p, which had accidentally been left out.  Also
13968         removed four lisp functions that were remnants from before the
13969         time when the selection code was properly device abstracted.
13970         These functions are no longer needed because there are generic
13971         equivalents, and because they were added recently and don't exist
13972         in FSF Emacs, I don't think there's any problem with just deleting
13973         them.
13974
13975         * sysdep.c:
13976         * sysdep.c (sys_subshell):
13977         Fixed a compile warning, although in this case there's probably
13978         something wrong with this code, and it ought to be looked into
13979         more thoroughly by somebody who understands it.
13980
13981         * window.c:
13982         * window.c (Fwindow_text_area_height):
13983         * window.c (Fwindow_width):
13984         * window.c (Fwindow_full_width):
13985         * window.c (Fwindow_pixel_width):
13986         * window.c (debug_print_window):
13987         * window.c (syms_of_window):
13988         Added functions window-text-area-height and window-full-width,
13989         which are functions for returning various width and height
13990         characteristics of a window. (One of these functions is necessary
13991         for making the file dialog box work correctly, and the other one
13992         was added for completeness.)  Also added a table to the
13993         documentation for window-height which describes the entire scheme
13994         for accessing width and height characteristics of a window.
13995
13996 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13997
13998         * nt.c (fstat): Added a comment for another problem with
13999         non-encapsulated [f]stat(), reported by Adrian Aichner
14000         <aichner@ecf.teradyne.com>.
14001
14002 2000-03-11  Andy Piper  <andy@xemacs.org>
14003
14004         * window.c (make_dummy_parent): initialize subwindow instance
14005         cache.
14006         (Fset_window_configuration): zero extent_modiff.
14007
14008 2000-03-10  Andy Piper  <andy@xemacs.org>
14009
14010         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14011         more changes can be triggered.
14012         (Fredisplay_frame): ditto.
14013         (Fredraw_device): ditto.
14014         (Fredisplay_device): ditto.
14015         (redisplay_frame): make non-static.
14016         (redisplay_frame): call update_frame_gutter_geometry outside of
14017         display proper.
14018
14019         * gutter.h: declare update_frame_gutter_geometry.
14020
14021         * redisplay.h: declare redisplay_frame.
14022
14023         * gutter.c (update_frame_gutter_geometry): move geometry changes
14024         in update_frame_gutters here. Geometry changes can only occur
14025         outside of redisplay.
14026         (update_frame_gutters): remove geometry change code.
14027         (Fredisplay_gutter_area): make sure that we are in display when we
14028         update and that we have flushed any size changes.
14029
14030 2000-03-11  Andy Piper  <andy@xemacs.org>
14031
14032         * alloc.c (pdump_dump_data): remove i & count shadows.
14033
14034 2000-02-27  Mike Alexander  <mta@arbortext.com>
14035
14036         * sysdep.h: Declare pdump_read_file
14037
14038         * sysdep.c (pdump_read_file): New function
14039
14040         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14041         dump data
14042
14043 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14044
14045         * lrecord.h: add `lrecord_type_pgsetenv'.
14046
14047 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14048
14049         * symsinit.h: declare (vars|syms)_of* functions.
14050         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14051
14052 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14053
14054         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14055
14056         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14057         GCCs.
14058
14059         * emacs.c (main_1): Call postgres initialization code.
14060
14061         * postgresql.h: New file.  PostgreSQL RDBMS support.
14062         * postgresql.c: New file.
14063
14064 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14065
14066         * redisplay-output.c (redisplay_output_display_block): Disable
14067         redundant code.
14068
14069 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14070
14071         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14072         (Fcanna_henkan_next): Ditto.
14073         (Fcanna_bunsetu_henkou): Ditto.
14074         (Fcanna_henkan_kakutei): Ditto.
14075         (Fcanna_henkan_end): Ditto.
14076         (Fcanna_henkan_quit): Ditto.
14077         (Fcanna_henkan_next): Set retun value correctly.
14078         (c2mu): Use unsigned char instead of signed char.
14079
14080 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14081
14082         * emacs.c (main_1): Always call syms_of_gui.
14083         * inline.c: include gui.h
14084
14085 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14086
14087         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14088         converted to Lisp_Object.
14089         (Qtop_bottom): New variable.
14090         (syms_of_redisplay): Initialize it.
14091         * redisplay.h (Vvisible_bell): Ditto.
14092         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14093         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14094         only flash top and bottom.
14095
14096 2000-03-08  Andy Piper  <andy@xemacs.org>
14097
14098         * buffer.c (Frename_buffer): record new buffer name the right way.
14099
14100 2000-03-08  Andy Piper  <andy@xemacs.org>
14101
14102         * glyphs.c (update_subwindow): increase hash depth so that widget
14103         items get picked up properly.
14104
14105         * redisplay-output.c (compare_runes): increase hash depth so that
14106         widget items get picked up properly.
14107
14108 2000-03-08  Andy Piper  <andy@xemacs.org>
14109
14110         * gutter.c (output_gutter): add some debug.
14111
14112         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14113         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14114         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14115
14116         * redisplay-output.c (compare_runes): use display_hash to
14117         determine if glyphs really are not the same.
14118
14119         * glyphs.c (update_subwindow): check display_hash to see if
14120         anything really needs to be updated. If not then do
14121         nothing. Record the display_hash after updating.
14122         (image_instance_equal): compare the image_instance face also.
14123
14124 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14125
14126         * redisplay.h: Fix comment style.
14127
14128 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14129
14130         * consle-msw.h (struct mswindows_frame):
14131         Added new member paint_pending to indicate whether a WM_PAINT
14132         magic event has been queued for this frame.
14133
14134         * event-msw.c (mswindows_drain_windows_queue):
14135         Don't queue a WM_PAINT magic event if one is already queued.
14136         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14137
14138         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14139
14140 2000-03-07  Didier Verna  <didier@xemacs.org>
14141
14142         * dired.c: #include `regex.h' after `sysfile.h'.
14143
14144 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14145
14146         * sound.c (init_nas_sound): Fix compiler warning.
14147
14148         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14149         (FREE_STRUCT_P):
14150         (MARK_STRUCT_AS_FREE):
14151         (MARK_STRUCT_AS_NOT_FREE):
14152         Make `gcc -fstrict-aliasing' work properly.
14153
14154 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14155
14156         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14157         (mswindows_delete_device): Call CoUnnitialize().
14158
14159         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14160
14161 2000-02-25    <CraigL@DyCon.com>
14162
14163         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14164         <errno.h>.
14165
14166         * sysdep.c: This extern declaration for environ prevents MinGW
14167         from finding the variable in CRTDLL.DLL.
14168
14169         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14170         windows headers.
14171         (SHGFI_EXETYPE): ..
14172         (WM_MOUSEWHEEL): ..
14173         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14174         definitions.
14175         (MMRESULT): Removed, now defined in cygwin's windows headers.
14176         (TIMECAPS): ..
14177         (uid_t,gid_t,pid_t,ssize_t): ..
14178         (_timeb): Removed, MinGW defines both _timeb and timeb.
14179         (HAVE_H_ERRNO): Added.
14180         (HAVE_TZNAME): Added, configure is not detecting this.
14181
14182 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14183
14184         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14185         * syntax.c (syntax_match): Use it.
14186
14187         * cmds.c: Import auto-fill-chars from FSF Emacs.
14188         (Vauto_fill_chars): New variables.
14189         (internal_self_insert): Check Vauto_fill_chars.
14190         (vars_of_cmds):
14191         Declare auto-fill-chars as a Lisp variable and initialize it.
14192
14193 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14194
14195         * fileio.c (Fmake_symbolic_link):
14196         (Ffile_symlink_p):
14197         Run handlers even if local machine doesn't have symlinks.
14198
14199 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14200
14201         * event-msw.c (mswindows_drain_windows_queue):
14202         Don't generate paint magic events for non-XEmacs frames.
14203
14204 2000-03-05  Andy Piper  <andy@xemacs.org>
14205
14206         * redisplay.c (redisplay_frame): generate_displayable_area and
14207         friends assumes that we are not in GC, we therefore have to make
14208         sure that this doesn't happen.
14209
14210         * gutter.c (calculate_gutter_size): generate_displayable_area
14211         assumes that we are not in GC, we therefore have to make sure that
14212         this doesn't happen.
14213
14214 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14215
14216         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14217
14218 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14219
14220         * redisplay.c (regenerate_window): Make sure we set a sane value
14221         for end_pos even if we jump out of the loop.
14222         (regenerate_window): Answer Ben's question :-).
14223         (start_end_of_last_line): Add may_error argument.
14224         (start_of_last_line):
14225         (end_of_last_line): Pass may_error = 0.
14226         (end_of_last_line_may_error): New function.
14227         (pixel_to_glyph_translation): Use it, so we don't crash in
14228         event_to_glyph.
14229
14230 2000-03-04  Andy Piper  <andy@xemacs.org>
14231
14232         * window.h (struct window): add gutter_extent_modiff.
14233
14234         * window.c (allocate_window): zero out gutter_extent_modiff.
14235
14236         * redisplay.h: declare sync_display_line_structs.
14237
14238         * redisplay.c (add_glyph_rune): add a better comment.
14239
14240         * redisplay-output.c (sync_display_line_structs): made non-static.
14241         (compare_runes): remove unneccesary glyph cachel access.
14242
14243         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14244
14245         * gutter.c (output_gutter): don't output the gutter if extent
14246         changes only involve extents in buffers. use 4 sets of display
14247         lines.
14248         (gutter_extent_signal_changed_region_maybe): new function. Mark
14249         extents in gutters as changed.
14250         (update_frame_gutters): use 4 sets of display lines.
14251         (reset_gutter_display_lines): ditto.
14252         (free_frame_gutters): ditto.
14253         (redraw_exposed_gutter): force output of gutters.
14254
14255         * frame.h (struct frame): add 4 sets of gutter display lines.
14256
14257         * extents.c: (extent_changed_for_redisplay): signal changes to
14258         extents in strings in the gutter as well as extents in buffers.
14259
14260 2000-03-02  Andy Piper  <andy@xemacs.org>
14261
14262         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14263
14264         * frame.c (Fmake_frame): make sure the gutters get initialized
14265         after the frame is visible.
14266         (set_frame_selected_window): re-arrange compilation macros a
14267         little.
14268         (change_frame_size_1): mark gutters changed.
14269
14270         * device.c (Fset_device_class): mark gutters changed.
14271
14272 2000-03-01  Andy Piper  <andy@xemacs.org>
14273
14274         * window.c (window_top_frame_gutter_height): deleted.
14275         (window_bottom_frame_gutter_height): ditto.
14276         (window_left_frame_gutter_height): ditto.
14277         (window_right_frame_gutter_height): ditto.
14278         (window_top_gutter_height): don't use them.
14279         (window_bottom_gutter_height): ditto.
14280         (window_left_gutter_width): ditto.
14281         (window_right_gutter_width): ditto.
14282         (Fsplit_window): ditto.
14283         (Fwindow_pixel_edges): don't use border dimensions here.
14284
14285         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14286         (update_scrollbar_instance): ditto.
14287
14288         * redisplay.c (generate_modeline): don't take gutters into account.
14289         (generate_modeline): ditto.
14290         (redisplay_frame): small gutter display optimization.
14291
14292         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14293
14294         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14295         gutters into account.
14296
14297         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14298         for window position and type.
14299
14300         * gutter.c (get_gutter_coords): fix for frame gutters.
14301         (update_frame_gutters): update frame geometry if the gutters have
14302         changed.
14303         (init_frame_gutters): record current gutter geometries.
14304
14305         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14306         var.
14307         (mswindows_widget_instantiate): ditto.
14308
14309         * frame.h (struct frame): add current_gutter_bounds.
14310
14311         * frame.c (change_frame_size_1): position window and minibuffer
14312         appropriately taking into account the frame gutters.
14313
14314         * frame-x.c: (x_initialize_frame_size): take into account the
14315         frame gutters.
14316
14317 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14318
14319         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14320
14321 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14322
14323         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14324
14325 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14326
14327         * file-coding.c (reset_decoding_stream): Clear previous
14328         detection state when autodetect.
14329
14330 2000-02-29  Didier Verna  <didier@xemacs.org>
14331
14332         * extents.c (set_extent_glyph_1): don't require extents to be
14333         attached.
14334
14335 2000-02-27  Andy Piper  <andy@xemacs.org>
14336
14337         * gutter.c (Fset_default_gutter_position): don't default left and
14338         right gutter visibility to t.
14339         (Fset_default_gutter_position): run
14340         default-gutter-position-changed-hook.
14341         (syms_of_gutter): add default-gutter-position-changed-hook.
14342
14343 2000-02-26  Andy Piper  <andy@xemacs.org>
14344
14345         * specifier.c (Fmake_specifier): add gutter references.
14346
14347         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14348
14349         * lisp.h: declare Fvalid_plist_p.
14350
14351         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14352         as changed.
14353         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14354         well as its visibility so that it gets reconstructed.
14355         (construct_window_gutter_spec): new function. Construct a string
14356         to be displayed in the gutter from a plist of strings. Take care
14357         to only use elements that are declared as visible.
14358         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14359         WINDOW_GUTTER.
14360         (gutter_validate): allow plists of strings in the specifier.
14361         (gutter_specs_changed): construct the real_gutter from the gutter
14362         specs using construct_window_gutter_spec.
14363         (gutter_visible_validate): gutter-visible is a new specifier type.
14364         (Fgutter_visible_specifier_p): new function for the new specifier.
14365         (syms_of_gutter): declare gutter-visible and
14366         Fgutter_visible_specifier_p.
14367         (specifier_type_create_gutter): intitalize new gutter-visible
14368         specifier.
14369         (reinit_specifier_type_create_gutter): ditto.
14370         (specifier_vars_of_gutter): use new specifier type for gutter
14371         visibility.
14372         (init_frame_gutters): construct real_gutter correctly.
14373         (Fgutter_specifier_p): beef up documentation.
14374         (Fgutter_size_specifier_p): ditto.
14375
14376         * winslots.h: add real_gutter slots.
14377
14378 2000-02-25  Andy Piper  <andy@xemacs.org>
14379
14380         * device-msw.c: Be kind to older cygwin versions. From Raymond
14381         Toy <toy@rtp.ericsson.se>.
14382
14383         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14384         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14385
14386 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14387
14388         * elhash.c (MARK_OBJ): Practice macro hygiene.
14389
14390 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14391
14392         * miscplay.c: s/__inline__/inline/g;
14393         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14394         (get_device_compdc): INLINE ==> static inline
14395         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14396         find -name '*.h' | \
14397         xargs global-replace \
14398         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14399
14400 2000-02-25  Andy Piper  <andy@xemacs.org>
14401
14402         * window.c (window_top_frame_gutter_height): new function.
14403         (window_top_window_gutter_height): ditto.
14404         (window_top_gutter_height): use them.
14405         (window_bottom_frame_gutter_height): new function.
14406         (window_bottom_window_gutter_height): ditto.
14407         (window_bottom_gutter_height): use them.
14408         (window_left_window_gutter_width): new function.
14409         (window_left_frame_gutter_width): ditto.
14410         (window_left_gutter_width): use them.
14411         (window_right_window_gutter_width): new function.
14412         (window_right_frame_gutter_width): ditto.
14413         (window_right_gutter_width): use them.
14414         (window_pixel_height): new function. calulate window pixel height
14415         with frame gutter involvement.
14416         (Fsplit_window): calculate new sizes taking frame gutters into
14417         account.
14418         (window_char_height_to_pixel_height): don't include frame gutters.
14419         (window_char_height): use window_pixel_height.
14420         (window_pixheight): rename from window_pixel_height.
14421         (change_window_height): use it.
14422         (window_pixel_height_to_char_height): don't include frame gutters.
14423         (window_char_width_to_pixel_width): ditto.
14424
14425 2000-02-25  Andy Piper  <andy@xemacs.org>
14426
14427         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14428         if it is.
14429
14430 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14431
14432         * alloc.c (staticpro):
14433         (staticpro_nodump):
14434         (dumpstruct):
14435         (dumpopaque):
14436         (pdump_wire):
14437         (pdump_wire_list):
14438         (compact_string_chars):
14439         (pdump_dump_wired):
14440         Convert:  if (foo) abort();  ==>  assert (! foo);
14441
14442         * eldap.c (Fldap_search_basic):
14443         (Fldap_add):
14444         (Fldap_modify):
14445         (Fldap_delete):
14446         Fix compiler warnings, and possible crashes if (random) return
14447         value were to be used.
14448
14449 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14450
14451         * device-msw.c: Workaround ResetDC failure.
14452
14453         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14454         applying a devmode.
14455
14456         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14457         (mswindows_text_width): Do not start printer page.
14458
14459         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14460
14461         * glyphs-msw.c: Added image methods to msprinter console and
14462         msprinter-specific image instantiation.
14463
14464 2000-02-20  Mike Alexander  <mta@arbortext.com>
14465
14466         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14467         to avoid crashes when selection-sets-clipboard is on
14468         (mswindows_own_selection): ditto
14469
14470 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14471
14472         * glyphs-msw.c:
14473         * redisplay-msw.c (get_frame_dc):
14474         (get_frame_compdc):
14475         * console-msw.h:
14476         * device-msw.c (mswindows_init_device):
14477         (mswindows_delete_device):
14478         (msprinter_init_device):
14479         (msprinter_delete_device):
14480         * frame-msw.c (mswindows_init_frame_1):
14481         (mswindows_delete_frame):
14482         (msprinter_init_frame_3):
14483         (msprinter_delete_frame): Move compatible DC to device object from
14484         frame object, for both mswindows and msprinter. Only one at a time
14485         is needed, it is a real waste to have one per frame!
14486
14487 2000-02-23  Andy Piper  <andy@xemacs.org>
14488
14489         * glyphs.c: add dynamic width and height elements.
14490         (image_instance_equal): ditto.
14491
14492         * glyphs-widget.c (widget_query_geometry): calculate width and
14493         height dynamically if required.
14494         (initialize_widget_image_instance): initialize dynamic dimensions.
14495         (widget_instantiate): pick-up dynamic dimensions.
14496
14497         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14498         dynamic determination. Add appropriate macros.
14499
14500         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14501         dimensions safe.
14502         (WINDOW_GUTTER_SIZE): ditto.
14503         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14504
14505         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14506         inline.
14507         (get_frame_dc): ditto.
14508
14509         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14510         here.
14511
14512 2000-02-23  Martin Buchholz <martin@xemacs.org>
14513
14514         * XEmacs 21.2.31 is released.
14515
14516 2000-02-22  Ben Wing <ben@xemacs.org>
14517
14518         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14519
14520 2000-02-22  Andy Piper  <andy@xemacs.org>
14521
14522         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14523
14524 2000-02-21  Mike Sperber <mike@xemacs.org>
14525
14526         * .dbxrc:
14527         * .gdbinit:
14528         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14529         variables.
14530
14531 2000-02-21  Mike Sperber <mike@xemacs.org>
14532
14533         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14534
14535 2000-02-21  Martin Buchholz <martin@xemacs.org>
14536
14537         * XEmacs 21.2.30 is released.
14538
14539 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14540
14541         Performance hacking.
14542         * *.c (syms_of_*):
14543         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14544         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14545         * emacs.c (main_1):
14546         * lisp.h (DEFUN):
14547         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14548         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14549         * symeval.h (DEFVAR_SYMVAL_FWD):
14550         * symbols.c (guts_of_unbound_marker):
14551         Make all c_readonly objects also lisp_readonly and marked for life.
14552         * lrecord.h (struct lrecord_implementation):
14553         Document flags better.
14554         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14555         * lrecord.h (DECLARE_LRECORD):
14556         * lrecord.h (XSETRECORD):
14557         * lrecord.h (RECORDP):
14558         * lrecord.h (RECORD_TYPEP):
14559         * lrecord.h (RECORD_MARKER): New.
14560         * lrecord.h (error_check_*):
14561         * lrecord.h (CONCHECK_NONRECORD):
14562         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14563         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14564         * lrecord.h (set_lheader_implementation):
14565         * lrecord.h (enum lrecord_type): New.
14566         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14567         * alloc.c (disksave_object_finalization_1):
14568         * alloc.c (mark_object):
14569         * alloc.c (lrecord_type_index):
14570         * alloc.c (tick_lcrecord_stats):
14571         * alloc.c (Fgarbage_collect):
14572         * alloc.c (init_alloc_once_early):
14573         * alloc.c (pdump_load):
14574         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14575         * alloc.c (lrecord_type_index): Delete.
14576         Make lisp object type indexes be constant.
14577           Makes (byte-compile) 5% faster.
14578         Put all marker functions into their own array.
14579           Makes (garbage-collect) 5% faster.
14580         Optimize SYMBOL_VALUE_MAGIC_P.
14581           Makes (byte-compile) 2-3% faster.
14582         * config.h.in (gc_checking_assert): New.
14583         * alloc.c: Use gc_checking_assert().
14584         * .dbxrc: Make compatible with new object type implementation.
14585         * .gdbinit: Make compatible with new object type implementation.
14586         * alloc.c: Delete all symbols defined only for debugging, such as
14587         Lisp_Type_Vector and lrecord_charset.
14588
14589 2000-02-21  Andy Piper  <andy@xemacs.org>
14590
14591         * gui-msw.c (Fmswindows_shell_execute): fix file location
14592         problems.
14593
14594         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14595         unshowing so that set_window_buffer doesn't undo
14596         kill_buffer_hook's hard work.
14597
14598         * glyphs-widget.c (tab_control_query_geometry): don't count the
14599         first item when calculating geometry.
14600
14601         * glyphs.c (map_subwindow): remove redundant code.
14602         (update_frame_subwindows): be more circumspect about when to
14603         update subwindows.
14604
14605         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14606         when items haven't changed. Update faces if faces have changed as
14607         well as just the widget face.
14608         (x_tab_control_update): Update faces if faces have changed as well
14609         as just the widget face.
14610
14611 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14612
14613         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14614         registration.
14615         (build_syscolor_string): Use mswindows_color_to_string to try to
14616         get a named color.
14617         (mswindows_device_system_metrics): Reverse the foreground and
14618         background colors so that they match the documentation.
14619
14620         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14621         they match the default Windows palette.
14622         (mswindows_color_to_string): New function.
14623
14624 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14625
14626         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14627
14628 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14629
14630         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14631         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14632
14633         * symbols.c (init_symbols_once_early): Removed obsolete
14634         DATA_SEG_BITS related kludge.
14635         (defvar_magic): Ditto.
14636
14637         * malloc.c: Removed obsolete DATA_SEG_BITS
14638         * ralloc.c: Ditto.
14639         * mem-limits.h: Ditto.
14640
14641         * Makefile.in.in: Removed obsolete HAVE_SHM
14642         * emacs.c: Ditto.
14643
14644 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14645
14646         *  device-msw.c (mswindows_delete_device): Free DDE string
14647         handles.
14648
14649 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14650
14651         * keymap.c (get_keyelt):
14652         * unexnt.c (unexec):
14653         * vm-limit.c (memory_warnings):
14654         * ntheap.c (recreate_heap):
14655         * ntheap.h (UNINIT_PTR):
14656         * select-msw.c (Fmswindows_get_clipboard):
14657         (Fmswindows_set_clipboard):
14658         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14659         * objects-msw.c:
14660         * menubar-msw.c (displayable_menu_item):
14661         * glyphs-msw.c:
14662         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14663         * sysdep.c (sys_subshell):
14664         * process-nt.c (nt_create_process):
14665         * nt.c (normalize_filename):
14666         (dostounix_filename):
14667         (unixtodos_filename):
14668         * ntproc.c (win32_executable_type):
14669         * ntplay.c (play_sound_data_1):
14670         (play_sound_file):
14671         * editfns.c (get_home_directory):
14672         * event-msw.c (struct winsock_stream):
14673         (mswindows_dde_callback):
14674         * device-msw.c (msprinter_init_device):
14675         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14676
14677         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14678         mswindows_clear_toolbar were swapped!
14679
14680         * objects-msw.c:(colormap_t):
14681         (fontmap_t):
14682         * emacs.c (struct standard_args): Fixed const jumble.
14683
14684         * glyphs-widget.c (update_widget): Fixed comparison notation.
14685
14686         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14687
14688         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14689         __declspec(noreturn) syntax.
14690
14691 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14692
14693         * eldap.c (Fldap_open):
14694         (Fldap_search_basic):
14695         (Fldap_add):
14696         (Fldap_modify):
14697         Use new coding system conversion macros.
14698
14699 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14700
14701         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14702
14703 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14704
14705         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14706         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14707
14708         * eldap.c (Qadd, Qreplace): New constant symbols
14709         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14710         interruptions by XEmacs signals
14711         Remove unnecessary calls to slow_down_interrupts and
14712         speed_up_interrupts
14713         (Fldap_search_basic): Renamed from Fldap_search_internal
14714         Added new optional parameter VERBOSE that triggers the
14715         display of progress messages
14716         Remove unnecessary calls to slow_down_interrupts and
14717         speed_up_interrupts
14718         LDAP result code analysis rewritten
14719         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14720         (syms_of_eldap): Define the new symbols and functions
14721
14722
14723 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14724
14725         * realpath.c: Determine PATH_MAX maximally portably.
14726
14727         * insdel.c (bytecount_to_charcount): Optimize.
14728         The function used to be optimized for entirely ASCII sequences.
14729         Now it is optimized for successive characters from the same
14730         charset.  This also wins big for _mostly_ ASCII sequences.
14731
14732         * fileio.c (Ffile_truename): convert return from realpath() using
14733         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14734         - Rewrite GCPROing slightly.
14735
14736         * sysdep.c (sys_open): Do filename conversion, like all other
14737         sys_* functions.  Fixes bug:
14738         (let ((file-name-coding-system 'iso-8859-2))
14739            (write-region x y latin2-name))
14740         ==> writes filename using internal encoding.
14741
14742 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14743
14744         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14745         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14746         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14747         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14748         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14749         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14750         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14751         (CONST_IF_NOT_DEBUG): Delete.
14752         * alloc.c (this_one_is_unmarkable): Delete.
14753         (mark_object): Don't check for this_one_is_unmarkable. Use the
14754         c_readonly flag instead.
14755         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14756
14757 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14758
14759         * event-msw.c (mswindows_drain_windows_queue):
14760         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14761         away redundant repaint events.
14762
14763 2000-02-17  Andy Piper  <andy@xemacs.org>
14764
14765         * redisplay.h: declare mark_redisplay_structs.
14766
14767         * redisplay.c (redisplay_window):
14768         (redisplay_frame): don't check subwindows_state_changed.
14769         (mark_redisplay): mark gutters here.
14770
14771         * glyphs.c: (instantiate_image_instantiator): always layout if we
14772         haven't done so already.
14773         (allocate_image_instance): don't mark as dirty.
14774         (update_subwindow): bind inhibit_quit.
14775
14776         * gutter.c (mark_gutters): new function.
14777
14778         * glyphs-x.c (x_update_widget): Always resize to get round a
14779         widget bug.
14780
14781         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14782         breaking absolutely everything.
14783
14784         * gutter.h: declare mark_gutters.
14785
14786 2000-02-16  Martin Buchholz <martin@xemacs.org>
14787
14788         * XEmacs 21.2.29 is released.
14789
14790 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14791
14792         * fns.c (size_bit_vector): Fix computation of the size.
14793
14794 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14795
14796         * *.[ch]: Change CONST to const globally.
14797         find -name '*.[ch]' | \
14798         xargs global-replace \
14799         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14800         - Remove vestigial references to CONST_IS_LOSING
14801
14802 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14803
14804         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14805         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14806         events instead of dispatching them directly.
14807         (mswindows_handle_paint): New function to do repainting.
14808         (mswindows_wnd_proc):
14809         (emacs_mswindows_handle_magic_event): Call above function.
14810
14811 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14812
14813         * objects-msw.c (mswindows_create_font_variant): Return the new
14814         font handle.
14815         (initialize_font_instance): Get font metrics from the underlined
14816         variant of the font to cope with the case where the underlined
14817         font has a bigger descent.
14818
14819 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14820
14821         * gui.c (gui_item_accelerator): Return the first underlined
14822         character in item name.
14823
14824 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14825
14826         * lisp.h: Added Qprinter.
14827
14828         * general.c (syms_of_general): Initialized it.
14829
14830         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14831         (get_frame_dc):
14832         (get_frame_compdc): Made inline.
14833
14834         * console.h (struct console_methods): Added eject_page method.
14835
14836         * frame.h: Added FRAME_DISPLAY_P and friends.
14837         Aligned backslahes in many macros in more readable fashion.
14838         Added page_number to struct frame, and an accessor macro
14839         for it.
14840
14841         * defice.h: Added DEVICE_DISPLAY_P and friends.
14842
14843         * device.c (Fdevice_printer_p): Used these.
14844
14845         * frame.c (allocate_frame_core): Initialize page number.
14846         (Fprint_job_page_number):
14847         (Fprint_job_eject_page): Implemented.
14848
14849         * frame-msw.c (msprinter_eject_page): Added method.
14850         (msprinter_start_page): Added.
14851
14852         * window.c (Fwindow_truncated_p): Fixed docstring.
14853         (Fwindow_last_line_visible_height): Implemented.
14854
14855 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14856
14857         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
14858
14859 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14860
14861         * syntax.c (scan_words): Always advance at least one character.
14862
14863 2000-02-13  Andy Piper  <andy@xemacs.org>
14864
14865         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
14866         to make sure the glyph is in the cachels.
14867
14868         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
14869         global image instance flag.
14870         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
14871         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
14872
14873         * glyphs.c (allocate_image_instance): set dirty bits correctly.
14874         (Fset_image_instance_property): mark layout as changed.
14875         (invalidate_glyph_geometry_maybe): mark layout as changed.
14876         (glyph_width): use new NEEDS_LAYOUT macro.
14877         (glyph_ascent): ditto.
14878         (glyph_descent): ditto.
14879         (glyph_height): ditto.
14880         (image_instance_layout): mark layout as clean after laying out.
14881         (update_subwindow): don't mark layout as clean here.
14882
14883         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
14884         should no longer be needed.
14885
14886         * glyphs-x.c (x_update_widget): sanitize asserts.
14887         (x_finalize_image_instance): sanitize assignment to widgets.
14888
14889         * glyphs-widget.c (widget_instantiate): don't need to clear the
14890         layout flag here.
14891
14892 2000-02-13  Martin Buchholz  <martin@xemacs.org>
14893
14894         * sysdep.c (getcwd): Use standard prototype.
14895         * sysdep.h (getcwd): Use standard prototype.
14896
14897         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
14898         (sequence, start, end).
14899         Remove redundant type checking.
14900         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
14901         view of `caller-protects') to avoid a crash where the real fix was
14902         found elsewhere.
14903
14904 2000-02-12  Martin Buchholz  <martin@xemacs.org>
14905
14906         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
14907
14908         * s/sol2.h: Remove feature macro initialization.
14909
14910         * alloc.c (alloc_lcrecord): Add more type checking assertions.
14911         (vector_hash): New.  Code from internal_hash.
14912         * lrecord.h:
14913         Fix up allocation subsystem comments.
14914
14915         * config.h.in: Add __EXTENSIONS__ for Solaris.
14916
14917         * systime.h (EMACS_GETTIMEOFDAY): New.
14918         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
14919         Remove Solaris-specific code.
14920         Use void* for the (ignored) second arg for gettimeofday().
14921
14922         * elhash.c (hash_table_hash): Implement it, finally.
14923         * elhash.c:  Use hashcode_t.
14924
14925         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
14926         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
14927
14928         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
14929         * fns.c (size_bit_vector):
14930         * alloc.c (size_vector):
14931         (make_vector_internal):
14932         (make_bit_vector_internal):
14933         (sweep_bit_vectors_1):
14934         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
14935
14936 2000-02-10  Martin Buchholz  <martin@xemacs.org>
14937
14938         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
14939         Include strings.h to avoid warnings for bzero and strcasecmp.
14940
14941 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14942
14943         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
14944         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
14945
14946         * fns.c (size_bit_vector): New.  Declare bit vectors as a
14947         sequence.
14948
14949 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14950
14951         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
14952         use a value field instead.
14953         (symbol_value_forward_forward): Use value field.
14954         (DEFVAR_SYMVAL_FWD): Use value field.
14955         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
14956         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
14957         (DEFVAR_CONST_INT): Ditto.
14958         (DEFVAR_BOOL): Ditto.
14959         (DEFVAR_CONST_BOOL): Ditto.
14960         (DEFVAR_INT_MAGIC): Ditto.
14961         (DEFVAR_BOOL_MAGIC): Ditto.
14962
14963         * symbols.c (guts_of_unbound_marker): Use value field.
14964         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
14965         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
14966
14967         * lisp.h: Declare dumpopaque and noninteractive1.
14968
14969         * alloc.c (dumpopaque): Added.
14970         (pdump_dump_opaquevec): Added.
14971         (pdump): Call pdump_dump_opaquevec to dump opaque data.
14972         (pdump_load): Reload opaque data.  Sync noninteractive1 with
14973         noninteractive.
14974
14975 2000-02-10  Andy Piper  <andy@xemacs.org>
14976
14977         * glyphs.c (image_instance_layout): if the size changes, mark it
14978         as such.
14979
14980         * redisplay-output.c (redisplay_output_layout): Update the
14981         subwindow here.
14982         (redisplay_output_subwindow): ditto.
14983
14984         * glyphs.c (update_subwindow): make sure we reset flags for
14985         layouts as well as everything else.
14986
14987         * glyphs-widget.c (layout_layout): don't need to set the instances
14988         dimensions here.
14989
14990 2000-02-09  Martin Buchholz  <martin@xemacs.org>
14991
14992         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
14993         not HAVE_DLOPEN, which is a lower-level thing.
14994
14995         * .cvsignore: Ignore gmon.out
14996
14997 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
14998
14999         * .cvsignore: Ignore portable dumper xemacs.dmp file
15000
15001 2000-02-09  Andy Piper  <andy@xemacs.org>
15002
15003         * redisplay-output.c (redisplay_output_layout): be more clever
15004         about when we output based on the changed flags.
15005
15006         * glyphs.h (struct image_instantiator_methods): add update_method.
15007         (struct Lisp_Image_Instance): add changed flags. Declare new
15008         macros for manipulating them.
15009
15010         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15011         (image_instance_parent_glyph): find an image_instance's parent
15012         glyph or image_instance.
15013         (image_instance_layout): mark the size as changed.
15014         (set_image_instance_dirty_p): new function. mark an image
15015         instance, plus all of its parents, as dirty.
15016         (Fset_image_instance_property): use it.
15017         (Fglyph_animated_timeout_handler): use it.
15018         (update_subwindow): call update_widget and device methods for
15019         update_subwindow. Mark all changed flags as clean.
15020         (Fresize_subwindow): mark size as changed.
15021
15022         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15023         failures.
15024         (x_update_subwindow): only resize subwindows here.
15025         (x_update_widget): new function. Update all changed properties of
15026         a widget.
15027         (x_resize_subwindow): deleted.
15028         (x_widget_set_property): deleted.
15029         (x_progress_gauge_set_property): deleted.
15030         (x_progress_gauge_update): new function. Implement recorded
15031         changes.
15032         (x_tab_control_update): ditto.
15033         (x_tab_control_set_property): deleted.
15034         (console_type_create_glyphs_x): declare new functions.
15035         (image_instantiator_format_create_glyphs_x): ditto.
15036
15037         * glyphs-widget.c (widget_set_property): mark text changed.
15038         (update_widget): new function. Update properties of a widget.
15039         (widget_instantiate): for layouts make sure we set their
15040         children's parent correctly.
15041         (tab_control_set_property): new function. Record changes that will
15042         take place under redisplay's control.
15043         (progress_gauge_set_property): ditto.
15044         (image_instantiator_progress_guage): declare new functions.
15045         (image_instantiator_tab_control): ditto.
15046
15047         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15048         now.
15049         (mswindows_update_widget): new function. Update all properties on
15050         a widget that have changed.
15051         (mswindows_button_update): new function. Update a button's set
15052         state.
15053         (mswindows_tab_control_update): new function. Update the items in
15054         a tab.
15055         (mswindows_tab_control_set_property): deleted.
15056         (mswindows_progress_gauge_update): new function. Update the
15057         progress gauge's progress.
15058         (mswindows_widget_set_property): deleted. This is all done
15059         asynchronously now.
15060         (mswindows_progress_gauge_set_property): ditto.
15061         (console_type_create_glyphs_mswindows): declare new methods.
15062         (image_instantiator_format_create_glyphs_mswindows): ditto.
15063
15064         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15065         (msprinter_set_frame_properties): ditto.
15066
15067         * console.h (struct console_methods): Add update_widget_method.
15068
15069 2000-02-09  Andy Piper  <andy@xemacs.org>
15070
15071         * gui-msw.c (Fmswindows_shell_execute): Make
15072         mswindows-shell-execute industrial strength.
15073
15074 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15075
15076         * lrecord.h: Make macro argument `props' match member function `plist'.
15077         * fns.c (Fget):
15078         * fns.c (Fput):
15079         * fns.c (Fremprop):
15080         * fns.c (Fobject_plist):
15081         * alloc.c:
15082         * symbols.c:
15083         Object property list frobbing cleanup.
15084         - Allow any lisp object (compared with `eq'), not just symbols, as
15085           keys in object plists.
15086         - Move symbol plist frobbing into symbols.c, where it belongs.
15087         - Move string plist frobbing into alloc.c, where it belongs.
15088         - Everything's an lrecord now, so no need to test for symbolp, etc.
15089         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15090
15091         * extents.c: Reorder code to remove declarations.
15092
15093         * frame.h (store_in_alist): Remove useless declaration.
15094
15095 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15096
15097         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15098         * config.h.in: Add HAVE_XCONVERTCASE.
15099
15100 2000-02-07  Andy Piper  <andy@xemacs.org>
15101
15102         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15103         it breaks many things.
15104
15105 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15106
15107         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15108         actually can start a common comment type.
15109         * src/syntax.h (SYNTAX_END_P): ditto for end.
15110
15111 2000-02-07  Martin Buchholz <martin@xemacs.org>
15112
15113         * XEmacs 21.2.28 is released.
15114
15115 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15116
15117         * event-Xt.c (x_keysym_to_character): New.
15118         (maybe_define_x_key_as_self_inserting_character): New.
15119         (x_has_keysym): New.
15120         Auto-define all keys on the keyboard as self-insert-key.
15121
15122 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15123
15124         * menubar.c (vars_of_menubar): A small code simplification.
15125
15126         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15127
15128         * ExternalShell.c:
15129         * ExternalClient.c:
15130         * EmacsShell-sub.c:
15131         * EmacsManager.c:
15132         * EmacsFrame.c:
15133         Use consistent style for specifying X resources.
15134
15135         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15136         This makes (dontusethis-set-symbol-value-handler) actually usable.
15137
15138         * lrecord.h (lrecord_decription_type):
15139         * alloc.c (pdump_register_sub):
15140         (pdump_dump_data):
15141         (pdump_reloc_one):
15142         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15143         Comply with XEmacs coding style.
15144         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15145         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15146
15147         * keymap.c (Faccessible_keymaps):
15148         Make (accessible-keymaps map "\C-h") do the Right Thing.
15149         Make (accessible-keymaps map []) do the Right Thing.
15150         Make (accessible-keymaps map "") do the Right Thing.
15151         (check_keymap_definition_loop): New function.
15152         (keymap_store_internal): Keep luser from shooting self in foot,
15153           via (define-key ctl-x-4-map "p" global-map).
15154         Remove fullness slot from struct Lisp_Keymap, since hash tables
15155         are now reliable.
15156         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15157
15158 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15159
15160         * redisplay.c (init_redisplay): Fix small memory leak.
15161         * elhash.h:
15162         * elhash.c (pdump_reorganize_hash_table):
15163         Rename from reorganize_hash_table. Change prototype.
15164         Reuse the original memory for hentries.  Save 100k.
15165         * alloc.c (PDUMP_READ): new macro.
15166         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15167         * alloc.c: No need to #ifndef before #undef.
15168
15169         * print.c: Allow debug_print() to print readably by modifying
15170         debug_print_readably.  Use consistent variable names.
15171
15172         * .dbxrc: Try to get things to work even if stopped in a function
15173         without source available by explicitly specifying source files.
15174 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15175
15176         * unexnt.c (_start): Removed bogus code which caused loading heap
15177         from differrent executable file.
15178         Removed bogus assignment to _fmode, which caused inconsistencies.
15179
15180 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15181
15182         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15183         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15184         Do not preliminary `#define signal sigset'.
15185
15186         * systime.h: Do not prototype environ on windows nt and cygwin,
15187         this conflicts with system header.
15188
15189         * syssignal.h: Use correct define for WINDOWSNT
15190
15191         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15192         with system header.
15193
15194         * sysdep.c (near start of file): Fixed commentary and rearranged
15195         ifdefs in readable order.
15196         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15197         (start_of_text):
15198         (end_of_text):
15199         (end_of_data): Do not compile in if using PDUMP.
15200
15201         * symsinit.h: Prototyped vars_of_nt().
15202
15203         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15204         (find_child_console): Use it.
15205         (sys_kill): Use it.
15206
15207         * ntheap.h: Do not extern os_subtype.
15208
15209         * ntheap.c (cache_system_info): Do not cache unneeded:
15210         nt_major_version, nt_minor_version and os_subtype.
15211         (recreate_heap): Do not compile in when PDUMPing.
15212
15213         * nt.c (geteuid and friends): Use the new varibale
15214         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15215         (init_user_info): Removed the above mentioned hackery.
15216         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15217         stat has been fixed in the C runtime.
15218         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15219
15220         * file-coding.c (struct file_coding_dump): Do not define
15221         ucs_to_mule_table in the struct if not MULE.
15222         (struct struct lrecord_description fcd_description_1): Do not dump
15223         the above.
15224
15225         * emacs.c (main_1): Call vars_of_nt().
15226         (right before Fdump_emacs_data): Don't need lastfile if using both
15227         portabe dumper and system malloc.
15228
15229         * alloc.c (Fmemory_limit): Conditionalized out.
15230         (pdump): Use OPEN_BINARY for the portable dump file.
15231         (pdump_load): Ditto.
15232
15233 2000-02-02  Mike Alexander  <mta@arbortext.com>
15234
15235         * nt.c (convert_time): Set tm_isdst before calling mktime and
15236         avoid calling it at all if the compiler supports 64 bit integers.
15237         Also initialize utc_base_ft before using it.
15238
15239 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15240
15241         * frame.c (change_frame_size_1): Take f->internal_border_width
15242         into consideration when calculating the width of the frame.
15243
15244 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15245
15246         * window.c (frame_min_height):
15247         (frame_size_valid_p):
15248         (frame_pixsize_valid_p): Added.
15249         (check_frame_size): Generalized.
15250
15251         * window.h: Prototyped the above.
15252
15253         * lisp.h:
15254         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15255         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15256         Deleted Vwin32_* and Vbinary_process_* unused variables.
15257
15258         * device-msw.c (msprinter_init_device): Do not get printer font
15259         list; Added DEVMODE functions.
15260
15261         * frame-msw.c: Added lots of printer code.
15262
15263         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15264         general.c.
15265
15266         * console-msw.h: Added more msprinter device private slots.
15267
15268 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15269
15270         * event-msw.c (key_needs_default_processing_p): Added.
15271         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15272
15273 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15274
15275         * glyphs.c (image_instance_layout): Mark image instance as clean
15276         after layout.
15277         (glyph_dirty_p): Removed redundant function.
15278         (invalidate_glyph_geometry_maybe): Added.
15279         (update_glyph_cachel_data): Call it.
15280
15281         * glyphs.h: Prototyped it.
15282
15283         * redisplay.c (add_glyph_rune): Call it.
15284         (redisplay_window): Reset glyphs cachels when frame faces have
15285         changed, thus forcing recomputation of built-in border glyphs.
15286
15287 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15288
15289         * Makefile.in.in: Make portable dumper and purify play well together.
15290         Add imperfect, but better than nothing, support for pdump.
15291         Remove xemacs.dmp when temacs is re-generated.
15292         Don't ignore errors when dumping xemacs.
15293
15294         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15295
15296 2000-01-28  Andy Piper  <andy@xemacs.org>
15297
15298         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15299         (setup_normal_frame): ditto.
15300         (setup_frame_without_minibuffer): ditto.
15301         (setup_minibuffer_frame): ditto.
15302         (delete_frame_internal): ditto.
15303         (Fmake_frame_invisible): ditto.
15304         (Ficonify_frame): ditto.
15305
15306         * window.h: change Fset_window_buffer signature.
15307
15308         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15309         (Fset_window_buffer): allow recording of buffer if the window is
15310         the selected window.
15311         (window_loop): Use new Fset_window signature.
15312
15313 2000-01-23  Daniel Pittman  <daniel@danann.net>
15314
15315         * config.h.in: Added template for `HAVE_ATHENA_3D'
15316
15317 2000-01-29  Andy Piper  <andy@xemacs.org>
15318
15319         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15320
15321         * gutter.c (output_gutter): Don't output if the window isn't live.
15322
15323 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15324
15325         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15326         of 01/12/00: Moved SetFocus back here where it belongs.
15327
15328 2000-01-23  Andy Piper  <andy@xemacs.org>
15329
15330         * s/cygwin32.h: declare printer things.
15331
15332 2000-01-26  Andy Piper  <andy@xemacs.org>
15333
15334         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15335         Alexander.
15336
15337 2000-01-24  Andy Piper  <andy@xemacs.org>
15338
15339         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15340         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15341
15342         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15343
15344         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15345
15346         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15347
15348         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15349         (mswindows_output_display_block): Avoid local shadows.
15350
15351         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15352         (mswindows_enqueue_mouse_button_event): ditto.
15353         (mswindows_handle_gui_wm_command): remove declaration.
15354
15355         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15356         warnings.
15357
15358         * console-msw.h: Avoid shadows.
15359         (mswindows_get_toolbar_button_text):
15360         (emacs_mswindows_create_stream_pair):
15361         (emacs_mswindows_delete_stream_pair):
15362         (mswindows_handle_toolbar_wm_command): declare.
15363
15364         * device-msw.c (build_syscolor_string): Avoid shadows.
15365
15366 2000-01-23  Andy Piper  <andy@xemacs.org>
15367
15368         * glyphs-widget.c (widget_instantiate): reverse the items for
15369         layouts so that children are in the expected order.
15370
15371 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15372
15373         * ralloc.c: safe_bcopy ==> memmove
15374         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15375         * s/msdos.h: Remove BCOPY macros.
15376         * insdel.c (gap_right): Remove BCOPY conditional code.
15377         * insdel.c (gap_left): Remove BCOPY conditional code.
15378         XEmacs demands a working ANSI C compiler - hence memmove.
15379
15380         * regex.c (regex_compile): Remove accidental use of trigraphs.
15381
15382 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15383
15384         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15385         event timestamp.
15386
15387 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15388
15389         * event-msw.c (mswindows_drain_windows_queue): Added the
15390         parameter.
15391         (mswindows_need_event): Commented the call to
15392         mswindows_drain_windows_queue().
15393         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15394         only.
15395
15396         * console-msw.h: Moved a few function prototypes here from
15397         event-msw.c.
15398
15399         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15400         parameter from unsigned short to unsigned long.
15401         (Fmswindows_shell_execute): Added return value.
15402
15403 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15404
15405         * sysdep.c (init_system_name):
15406           process-unix.c (unix_canonicalized_host_name):
15407         Don't call freeaddrinfo() if getaddrinfo() fails.
15408
15409         * process-unix.c (unix_open_unix_network_stream):
15410         Moved the code to get a port # into address loop.
15411
15412 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15413
15414         * buffer.c (reinit_vars_of_buffer):
15415         The right place to initialize conversion_in_dynarr and
15416         conversion_out_dynarr.
15417
15418         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15419
15420         * process-unix.c (unix_canonicalize_host_name): Muleize.
15421         (unix_open_network_stream): Muleize.
15422
15423         * buffer.h: Fix up prototypes for ralloc.c functions.
15424
15425 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15426         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15427         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15428                 instead of gethostbyname()
15429         * process-unix.c: In unix_canonicalize_host_name() and
15430                 unix_open_network_stream(), add code to use getaddrinfo()
15431                 instead of gethostbyname().
15432
15433 2000-01-27  Daniel Pittman <daniel@danann.net>
15434
15435         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15436         libs when built with flat Athena.
15437
15438 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15439
15440         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15441         Use coding standards for function prototypes.
15442
15443 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15444
15445         * dialog-msw.c (push_lisp_string_as_unicode):
15446         * doc.c (unparesseuxify_doc_string):
15447         * dired.c (Fuser_name_completion_1):
15448         * dired.c (Fuser_name_all_completions):
15449         * dired.c (free_user_cache):
15450         * dired.c (user_name_completion):
15451         * console-x.c (get_display_arg_connection):
15452         * minibuf.c (clear_echo_area_internal):
15453         * minibuf.c (echo_area_append):
15454         * eldap.c (Fldap_open):
15455         * eldap.c (Fldap_search_internal):
15456         * frame-x.c (x_set_frame_text_value):
15457         * frame-x.c (x_set_frame_properties):
15458         * frame-x.c (x_create_widgets):
15459         * redisplay-tty.c (term_get_fkeys_1):
15460         * objects-x.c (x_parse_nearest_color):
15461         * objects-x.c (x_valid_color_name_p):
15462         * objects-x.c (x_initialize_font_instance):
15463         * objects-x.c (x_list_fonts):
15464         * objects-x.c (x_find_charset_font):
15465         * tooltalk.c (Fadd_tooltalk_message_arg):
15466         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15467         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15468         * process-unix.c (unix_create_process):
15469         * ntproc.c (sys_spawnve):
15470         * sound.c (Fplay_sound_file):
15471         * sound.c (Fplay_sound):
15472         * buffer.c (init_initial_directory):
15473         * buffer.c (init_buffer):
15474         * editfns.c (init_editfns):
15475         * editfns.c (Ftemp_directory):
15476         * editfns.c (Fuser_full_name):
15477         * editfns.c (uncache_home_directory):
15478         * editfns.c (get_home_directory):
15479         * editfns.c (Fuser_home_directory):
15480         * editfns.c (Fformat_time_string):
15481         * editfns.c (Fcurrent_time_string):
15482         * gui-x.c (button_item_to_widget_value):
15483         * database.c (Fopen_database):
15484         * event-Xt.c (x_to_emacs_keysym):
15485         * event-Xt.c (x_event_to_emacs_event):
15486         * event-Xt.c (describe_event_window):
15487         * event-msw.c (mswindows_wnd_proc):
15488         * glyphs-eimage.c (jpeg_instantiate):
15489         * glyphs-eimage.c (gif_instantiate):
15490         * glyphs-eimage.c (png_instantiate):
15491         * glyphs-eimage.c (tiff_instantiate):
15492         * glyphs-x.c (xbm_instantiate_1):
15493         * glyphs-x.c (x_xbm_instantiate):
15494         * glyphs-x.c (x_xface_instantiate):
15495         * glyphs-x.c (autodetect_instantiate):
15496         * glyphs-x.c (cursor_font_instantiate):
15497         * glyphs-x.c (x_widget_instantiate):
15498         * glyphs-x.c (x_widget_set_property):
15499         * glyphs-x.c (x_widget_property):
15500         * glyphs-x.c (BUILD_GLYPH_INST):
15501         * print.c (write_string_to_stdio_stream):
15502         * print.c (output_string):
15503         * print.c (Falternate_debugging_output):
15504         * print.c (Fexternal_debugging_output):
15505         * glyphs-msw.c (extract_xpm_color_names):
15506         * glyphs-msw.c (mswindows_xpm_instantiate):
15507         * glyphs-msw.c (bmp_instantiate):
15508         * glyphs-msw.c (resource_name_to_resource):
15509         * glyphs-msw.c (mswindows_resource_instantiate):
15510         * glyphs-msw.c (xbm_instantiate_1):
15511         * glyphs-msw.c (mswindows_xbm_instantiate):
15512         * glyphs-msw.c (mswindows_xface_instantiate):
15513         * glyphs-msw.c (mswindows_widget_instantiate):
15514         * glyphs-msw.c (add_tree_item):
15515         * glyphs-msw.c (add_tab_item):
15516         * glyphs-msw.c (mswindows_combo_box_instantiate):
15517         * glyphs-msw.c (mswindows_widget_property):
15518         * glyphs-msw.c (mswindows_combo_box_property):
15519         * glyphs-msw.c (mswindows_widget_set_property):
15520         * console.c (stuff_buffered_input):
15521         * objects-msw.c (mswindows_initialize_color_instance):
15522         * objects-msw.c (mswindows_valid_color_name_p):
15523         * objects-msw.c (mswindows_list_fonts):
15524         * objects-msw.c (mswindows_font_instance_truename):
15525         * bytecode.c (optimize_compiled_function):
15526         * select-x.c (symbol_to_x_atom):
15527         * select-x.c (x_atom_to_symbol):
15528         * select-x.c (hack_motif_clipboard_selection):
15529         * select-x.c (selection_data_to_lisp_data):
15530         * select-x.c (lisp_data_to_selection_data):
15531         * select-x.c (Fx_get_cutbuffer_internal):
15532         * select-x.c (Fx_store_cutbuffer_internal):
15533         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15534         * buffer.h (TO_INTERNAL_FORMAT): New function.
15535         * emacs.c (make_arg_list_1):
15536         * emacs.c (make_argc_argv):
15537         * emacs.c (main_1):
15538         * emacs.c (Fdump_emacs):
15539         * emacs.c (split_string_by_emchar_1):
15540         * file-coding.h:
15541         * lisp.h:
15542         * lstream.h:
15543         * symsinit.h:
15544         * device-x.c (x_init_device):
15545         * device-x.c (Fx_valid_keysym_name_p):
15546         * device-x.c (Fx_get_font_path):
15547         * device-x.c (Fx_set_font_path):
15548         * glyphs.c (bitmap_to_lisp_data):
15549         * glyphs.c (pixmap_to_lisp_data):
15550         * alloc.c (make_ext_string): Use coding system arguments.  Update
15551         all callers.
15552         * alloc.c (build_string):
15553         * callproc.c (child_setup):
15554         * callproc.c (init_callproc):
15555         * fileio.c (lisp_strerror):
15556         * fileio.c (directory_file_name):
15557         * fileio.c (Fexpand_file_name):
15558         * fileio.c (Ffile_truename):
15559         * fileio.c (Fsysnetunam):
15560         * fileio.c (Fdo_auto_save):
15561         * sysdep.c (sys_readdir):
15562         * tests.c: New file.  Allow adding C tests.
15563         Replace GET_* macros with a more comprehensible and flexible
15564         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15565         Modify all calls.
15566         Any coding system can be used to do format conversion.
15567         Eliminate enum external_data_format.
15568         Eliminate convert_to_external_format.
15569         Eliminate convert_to_internal_format.
15570         Make sure file-name, keyboard, terminal, and ctext are always
15571         defined as coding systems or aliases.  Make
15572         file-name-coding-system, terminal-coding-system, and
15573         keyboard-coding-system magical variables that are equivalent to
15574         defining the corresponding coding system aliases.
15575
15576         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15577         * file-coding.c (Fcoding_system_alias_p): New function.
15578         * file-coding.c (Fcoding_system_aliasee): New function.
15579         * file-coding.c (append_suffix_to_symbol): New function.
15580         * file-coding.c (dangling_coding_system_alias_p): New function.
15581         * file-coding.c (Ffind_coding_system):
15582         * file-coding.c (Fcopy_coding_system):
15583         * file-coding.c (encode_coding_no_conversion):
15584         * file-coding.c (syms_of_file_coding):
15585         * file-coding.c (vars_of_file_coding):
15586         Rewrite coding system alias code.
15587         Allow nested aliases, like symbolic links.
15588         Allow redefinition of coding system aliases.
15589         Prevent existence of dangling coding system aliases.
15590
15591         * dired.c (Fuser_name_completion_1):
15592         * dired.c (Fuser_name_all_completions):
15593         A crash would happen if user did QUIT in the middle of building
15594         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15595
15596         * lisp.h:
15597         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15598
15599         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15600         an unsigned char *.  Update all callers.
15601
15602 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15603
15604         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15605
15606 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15607
15608         * elhash.c (hentry_description): Use more portable definition.
15609         (resize_hash_table): Initialize new hentries using
15610         xnew_array_and_zero, thereby simplifying the code.
15611
15612         * mule-charset.c (make_charset): Make sure entire object is
15613         initialized, to avoid Purify warnings.
15614
15615         * alloc.c (resize_string): Fix unlikely crash with big strings.
15616
15617 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15618
15619         * realpath.c (xrealpath):
15620         Don't call getwd().
15621
15622 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15623
15624         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15625
15626 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15627
15628         * unexelfsgi.c (unexec): Change the way we decide which segment
15629         should be extended.
15630
15631         Assumption that .bss section should be outside the PT_LOADable
15632         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15633         it's present) is inside the 'data' segment. This would fail the
15634         test which was used to find a segment to grow and cover new
15635         heap. Instead of this assumption, I created another one - on IRIX
15636         the segment to grow should start below .bss and it's address
15637         should extent above the end of .bss. Once this segment is
15638         identified, it's grown to accommodate the new heap and new
15639         zero-length .bss section is added at the end of .data2.
15640
15641 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15642
15643         * eval.c (Feval): Wrong number of arguments should use original
15644         function, not the indirect_function version of it.
15645
15646 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15647
15648         * glyphs-x.c (x_button_instantiate): Don't add image if
15649         it is not a pixmap.
15650         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15651         is relative.
15652
15653 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15654
15655         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15656         declaration.
15657         (DEFVAR_INT_MAGIC): Ditto.
15658         (DEFVAR_BOOL_MAGIC): Ditto.
15659         * glyphs.h: Reindent backslash.
15660
15661 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15662
15663         * glyphs-widget.c (layout_query_geometry):
15664         (layout_layout): Use correct types for gheight, gwidth.
15665
15666 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15667
15668         * EmacsManager.c (QueryGeometry): Purified.
15669
15670 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15671
15672         * alloc.c (make_float): Make sure entire object is initialized, to
15673         avoid Purify warnings.
15674         (pdump_register_sub): Remove useless assignment.
15675         (pdump): Use xmalloc, not malloc.
15676         (pdump_load): Use xmalloc, not malloc.
15677
15678 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15679
15680         * callproc.c:
15681         * dired-msw.c:
15682         * fileio.c:
15683         * process-nt.c:
15684         * redisplay-msw.c:
15685         * sysdep.c: Removed redundant #include <windows.h>
15686
15687 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15688
15689         * frame.c (delete_frame_internal): Do not delete device when its
15690         implementation so declares.
15691         (delete_frame_internal): Set device selected frame to nil when
15692         last frame goes away.
15693
15694         * device-msw.c (msprinter_device_system_metrics): Implemented.
15695         (mswindows_device_system_metrics): Added 'device-dpi property.
15696
15697         * device.c: (Fdevice_printer_p): Added.
15698         Added 'offset-workspace device metric.
15699
15700         * console.h (device_metrics): Declared DM_offset_workspace.
15701
15702 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15703
15704         * fileio.c (Ffile_truename): Remove pointless and confusing
15705         initialization of elen.
15706
15707         * glyphs-widget.c: Compiler warning fixes.
15708
15709 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15710
15711         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15712         instead of a Lisp_Object as argument to make it consistent with
15713         the other LIVE_P macros.
15714         (CHECK_LIVE_PROCESS): New macro.
15715
15716         * process.c: Declare Qprocess_live_p.
15717         (Fprocess_live_p): New function.
15718         (create_process): Use PROCESS_LIVE_P.
15719         (read_process_output): Ditto.
15720         (set_process_filter): Ditto.
15721         (Fdelete_process): Ditto.
15722         (kill_buffer_processes): Ditto
15723         (process_send_signal): Use CHECK_LIVE_PROCESS.
15724         (Fprocess_input_coding_system): Check whether process is still
15725         alive (fix PR#1061).
15726         (Fprocess_output_coding_system): Ditto.
15727         (Fprocess_coding_system): Ditto.
15728         (Fset_process_input_coding_system): Ditto.
15729         (Fset_process_output_coding_system): Ditto.
15730
15731 2000-01-23  Andy Piper  <andy@xemacs.org>
15732
15733         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15734         layout and widget.
15735
15736         * glyphs.c (mark_image_instance): take into account changed
15737         image_instance format.
15738         (image_instance_equal): ditto.
15739         (image_instance_hash): ditto.
15740
15741         * glyphs-widget.c (widget_instantiate): Incorporate layout
15742         instantiation here. Delay layout of the layout until later.
15743         (layout_instantiate): deleted.
15744         (layout_query_geometry): new function. get the geometry of a
15745         layout.
15746         (layout_layout): layout a layout dynamically.
15747         (image_instantiator_widget): New function - splitting up
15748         image_instantiator_format_create_glyphs_widget for netwinder
15749         compilation.
15750         (image_instantiator_buttons):
15751         (image_instantiator_edit_fields):
15752         (image_instantiator_combo_box):
15753         (image_instantiator_scrollbar):
15754         (image_instantiator_progress_guage):
15755         (image_instantiator_tree_view):
15756         (image_instantiator_tab_control):
15757         (image_instantiator_labels):
15758         (image_instantiator_layout): ditto.
15759         (image_instantiator_format_create_glyphs_widget): Call preceding
15760         functions.
15761
15762 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15763
15764         * process.c (Fset_process_coding_system):
15765         * device-x.c (Fx_keysym_hash_table):
15766         Docstring fixes.
15767
15768         * lstream.c (Lstream_write): Return documented value, not 0.
15769
15770         * fileio.c (directory_file_name):
15771         (Fsubstitute_in_file_name):
15772         (Fsubstitute_insert_file_contents_internal):
15773         (Fwrite_region_internal):
15774         * emacs.c:
15775         * sysdep.c:
15776         * getloadavg.c:
15777         * systty.h:
15778         Remove vestigial APOLLO-conditional code.
15779
15780 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15781
15782         * getpagesize.h: Add guard macros.
15783         * libsst.h: Add guard macros.
15784         * libst.h: Add guard macros.
15785         * line-number.h: Add guard macros.
15786         * ndir.h: Add guard macros.
15787         * sysfloat.h: Add guard macros.
15788         * sysfile.h: Add guard macros.
15789         * sysproc.h: Add guard macros.
15790         * syswait.h: Add guard macros.
15791         * xintrinsic.h: Add guard macros.
15792         * xintrinsicp.h: Add guard macros.
15793         * xmmanager.h: Add guard macros.
15794         * xmmanagerp.h: Add guard macros.
15795         * xmprimitive.h: Add guard macros.
15796         * xmu.h: Add guard macros.
15797         * gpmevent.h: Add copyright statement. Add guard macros.
15798         * miscplay.h: Add guard macros.
15799         * *.h: Use consistent C-standards-approved guard macro names.
15800
15801         * opaque.c (make_opaque): Switch parameter order.
15802         * opaque.h (make_opaque): Switch parameter order.
15803         Update all callers.
15804         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15805
15806         * config.h.in (type_checking_assert): Added.
15807         (bufpos_checking_assert): Added.
15808
15809 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15810
15811         * alloc.c: Harmless pdump changes.
15812         - Use countof().
15813         - spell alignment correctly.
15814         * sysdep.c: Use countof()
15815
15816 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15817
15818         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15819         initially_selected_for_input() console method, default to 0.
15820         (semi_canonicalize_console_connection): Try to delegate to
15821         canonicalize_console_connection if no such console method.
15822         (canonicalize_console_connection): Vice versa.
15823         (print_console): Do not print nil connection.
15824
15825         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15826         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15827         (XDEVIMPF_FRAMELESS_OK): Added.
15828         (CONSOLE_INHERITS_METHOD): Added.
15829
15830         * console-msw.c (mswindows_canonicalize_console_connection):
15831         Added.
15832         (mswindows_canonicalize_device_connection): Added.
15833
15834         * console-msw.h (struct msprinter_device): Added this struct and
15835         accessor macros.
15836         (mswindows_device): Made fontlist a lisp object.
15837
15838         * device.c (semi_canonicalize_device_connection):  Try to delegate
15839         to canonicalize_device_connection if no such console method.
15840         (canonicalize_device_connection): Vice versa.
15841         (print_device): Do not print nil connection.
15842
15843         * device-msw.c (mswindows_init_device): Call InitCommonControls
15844         when have widgets.
15845         (mswindows_delete_device): Removed fontlist deallocation.
15846         (mswindows_mark_device): Added.
15847
15848         * events.c (event_equal): Added abort() at unreached code.
15849         (event_hash): Ditto.
15850
15851         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15852         fallback tags of Windows devices.
15853
15854         * general.c (syms_of_general): Initialized Qmsprinter.
15855
15856         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
15857         of fallback tags of Windows devices.
15858
15859         * lisp.h: Declared Qmsprinter.
15860
15861         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
15862         of strings.
15863         (mswindows_list_fonts): Ditto.
15864         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
15865         that it can be used by both mswindows and msprinter devices.
15866         (initialize_font_instance): Added.
15867         (mswindows_initialize_font_instance): Use it.
15868         (msprinter_initialize_font_instance): Added.
15869
15870         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
15871         and implementation flags check.
15872         (redisplay_without_hooks): Changed the call to the above.
15873         (Fredraw_device): Ditto.
15874         (Fredisplay_device): Ditto.
15875
15876         * redisplay-msw.c (get_frame_dc): Implemented.
15877         (get_frame_compdc): Implemented.
15878         (many functions): Use the two functions above to get device
15879         contexts, ether for a window or a printer.
15880
15881 2000-01-21  Olivier Galibert  <galibert@pobox.com>
15882
15883         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
15884         initialization here.
15885         (init_symbols_once_early): Call it.
15886         * emacs.c (main_1): Call it.
15887         * symsinit.h: Declare it.
15888
15889 2000-01-19  Olivier Galibert  <galibert@pobox.com>
15890
15891         * alloc.c: Use a lrecord_header * in the backtrace instead of a
15892         Lisp_Object.
15893         (pdump_backtrace): Ditto.
15894         (pdump_register_object): Ditto.  Cleanup use of the pointers.
15895         (pdump_get_entry): Abort if trying to register a null pointer.
15896         (pdump_dump_data): Cleanup types when relocating.
15897         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
15898         (pdump_dump_rtables): Remove bad casts.
15899         (pdump_load): Cleanup relocation w.r.t union type.  Use a
15900         Lisp_Object instead of a EMACS_INT for the hashtable
15901         reorganization.
15902
15903 2000-01-20  Martin Buchholz  <martin@xemacs.org>
15904
15905         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
15906
15907         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
15908
15909         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
15910
15911         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
15912
15913 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15914
15915         * faces.h (FACE_STRIKETHRU_P): Added.
15916
15917         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
15918         of font variants.
15919
15920         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
15921         (mswindows_set_dc_font): New function, aware of font variants,
15922         separated from mswindows_update_dc.
15923
15924         * objects-msw.h (struct mswindows_font_instance_data): Added
15925         definition.
15926
15927         * objects-msw.c (mswindows_finalize_font_instance): Delete all
15928         cached fonts and the data structure.
15929         (mswindows_initialize_font_instance): Added creation of font data
15930         structure.
15931         (mswindows_print_font_instance): Print at least something.
15932         (mswindows_create_font_variant): Implemented.
15933         (mswindows_get_hfont): Implemented.
15934
15935 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
15936
15937         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
15938         prototyping problem with msvc.
15939
15940         * emacs.c (main_1): added syms_of_gui_mswindows() call
15941
15942         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
15943         syms_of_gui_mswindows() function
15944
15945         * symsinit.h: added the prototype for syms_of_gui_mswindows()
15946
15947 2000-01-18  Martin Buchholz <martin@xemacs.org>
15948
15949         * XEmacs 21.2.27 is released.
15950
15951 2000-01-18  Martin Buchholz  <martin@xemacs.org>
15952
15953         * glyphs-eimage.c (struct tiff_error_struct):
15954         (tiff_error_func):
15955         (tiff_warning_func):
15956         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
15957
15958         * unexmips.c:
15959         * unexhp9k3.c:
15960         * unexfreebsd.c:
15961         * unexec.c: Remove vestigial Lucid C code.
15962         * unexalpha.c:
15963         * unexaix.c:
15964         * termcap.c:
15965         * libsst.c: Ansify.
15966         Remove declarations of errno and strerror().
15967
15968         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
15969
15970         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
15971
15972 2000-01-16  Martin Buchholz  <martin@xemacs.org>
15973
15974         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
15975         Optimize.
15976
15977 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15978
15979         * md5.c:
15980         * file-coding.c:
15981         * file-coding.h:
15982         Change enum eol_type to eol_type_t.
15983
15984 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15985
15986         * gui.c (get_gui_callback): Check cons before accessing car.
15987
15988 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15989
15990         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
15991         (XSETSPECIFIER_TYPE): Ditto.
15992
15993 2000-01-17  Didier Verna  <didier@xemacs.org>
15994
15995         * redisplay.c (generate_fstring_runes): compute string size in
15996         characters, not bytes.
15997
15998 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15999
16000         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16001
16002 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16003
16004         * print.c (print_error_message): Call print_prepare().
16005
16006 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16007
16008         * .dbxrc: Renamed from dbxrc.
16009
16010         * events.c (event_to_character):
16011         Use `assert (foo)' instead of `if (!foo) abort()'
16012
16013         * .gdbinit (xtype): Add documentation.
16014         * .gdbinit (check-temacs): New function.
16015         * .gdbinit (check-xemacs): New function.
16016         * dbxrc (check-xemacs): New function.
16017         * dbxrc (check-xemacs): New function.
16018
16019 2000-01-14  Andy Piper  <andy@xemacs.org>
16020
16021         * glyphs-widget.c (widget_query_geometry): Make sure that we
16022         calculate default dimensions correctly.
16023
16024 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16025
16026         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16027
16028         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16029         pdump_wire'd variable.
16030
16031         * emacs.c: (main_1): Conditionalized calls to
16032         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16033
16034 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16035
16036         * window.c (Fset_window_configuration):
16037         * sysdep.c (_start):
16038         * input-method-motif.c (res):
16039         * event-Xt.c (Xt_process_to_emacs_event):
16040         Simple compiler warning fixes.
16041
16042         * bytecode.c (funcall_compiled_function): Use the original
16043         function symbol on the backtrace list in preference to the
16044         compiled_function object in error messages.
16045
16046 2000-01-13  Andy Piper  <andy@xemacs.org>
16047
16048         * glyphs-x.c (update_widget_face): Make sure we update the widget
16049         background as well as foreground.
16050
16051 2000-01-13  Andy Piper  <andy@xemacs.org>
16052
16053         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16054         fields to subwindow.
16055         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16056         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16057         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16058         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16059
16060         * glyphs-widget.c (check_valid_tab_orientation): new function.
16061         (initialize_widget_image_instance): zero orientation and
16062         justification.
16063         (widget_instantiate): pick up orientation.
16064         (tab_control_query_geometry): return appropriate values for
16065         vertical tabs.
16066
16067         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16068         appropriate creation flags for left, right and bottom tabs.
16069
16070         * s/cygwin32.h: add tab definitions.
16071
16072 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16073
16074         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16075         frame upon hiding a subwindow.
16076         (mswindows_button_instantiate): Changed the push button style to
16077         BS_PUSHBUTTON.
16078         (mswindows_button_instantiate): Removed button BS_NOTIFY
16079         style.
16080         (mswindows_button_instantiate): Removed redundant check for
16081         a disabled gui item.
16082         (mswindows_button_instantiate): Made use of WS_TABSTOP
16083         consistent: "operable" controls (edit, button, tree, scroll) have
16084         this style, "display-only" ones (static, progress gauge) do
16085         not. This style is currently ignored by XEmacs though. Also,
16086         removed the WS_EX_CONTROLPARENT style - it is not for children,
16087         it is for their parents!
16088         (mswindows_edit_field_instantiate): Ditto.
16089         (mswindows_progress_gauge_instantiate): Ditto.
16090         (mswindows_tree_view_instantiate): Ditto.
16091         (mswindows_tab_control_instantiate): Ditto.
16092         (mswindows_scrollbar_instantiate): Ditto.
16093         (mswindows_combo_box_instantiate): Ditto.
16094         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16095         style to the "clip" window.
16096         (mswindows_button_instantiate): Removed compilation warning by
16097         equally typing terms of the ?: operator.
16098
16099 2000-01-12  Didier Verna  <didier@xemacs.org>
16100
16101         * redisplay.c (generate_fstring_runes): new parameter holding the
16102         last modeline-format extent.
16103         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16104         extent, fill the glyph block with it.
16105         (generate_fstring_runes): handle these parameters.
16106         (generate_formatted_string_db): ditto.
16107
16108         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16109         glyphs'extents in the modeline.
16110
16111 1999-01-11  Mike Woolley  <mike@bulsara.com>
16112
16113         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16114         256Mb, as a workaround for the non-starting problem many people
16115         have experienced.
16116
16117 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16118
16119         * console-tty.c (Fset_console_tty_output_coding_system):
16120         Force redrawing tty frame.
16121
16122 2000-01-10  Didier Verna  <didier@xemacs.org>
16123
16124         * redisplay.c (generate_fstring_runes): fix size computation bug.
16125
16126 2000-01-09  William M. Perry <wmperry@aventail.com>
16127
16128         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16129
16130 2000-01-09  Andy Piper  <andy@xemacs.org>
16131
16132         * glyphs-msw.c: index -> i to avoid shadows.
16133         (xbm_create_bitmap_from_data): make static.
16134         (check_valid_string_or_int): deleted.
16135         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16136
16137         * glyphs-x.c (x_update_subwindow): remove unused args.
16138
16139         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16140         back pointer - this is done in allocate_image_instance.
16141         (query_string_font): return Qnil to make the compiler happy.
16142         (unmap_subwindow): set to ~0 to make the compiler happy.
16143         (glyph_query_geometry): comment out until used.
16144         (glyph_layout): ditto.
16145
16146 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16147
16148         * insdel.c (signal_after_change): Remove extraneous unbind_to().